Files
Extern/C3d/Include/shell_history.h
Dario Sassi e8f0fa2d27 Extern :
- C3d aggiornamento delle librerie.
2020-09-14 16:42:31 +00:00

61 lines
2.6 KiB
C++

////////////////////////////////////////////////////////////////////////////////
/**
\file
\brief \ru История граней.
\en Faces history. \~
*/
////////////////////////////////////////////////////////////////////////////////
#ifndef __SHELL_HISTORY_H
#define __SHELL_HISTORY_H
#include <topology.h>
class MATH_CLASS MbFaceShell;
//------------------------------------------------------------------------------
/** \brief \ru История граней.
\en Faces history. \~
\details \ru История граней содержит два синхронных множества граней:
исходных граней и их копий. \n
История используется после операции для замены в результирующей оболочке
неизменённых операцией копий гриней их оригиналами. \n
\en Faces history contains two synchronous sets of faces:
initial faces and their copies. \n
A faces history is used after the operation of replacement in a result shell
of unchanged faces copies by their originals. \n \~
\ingroup Data_Structures
*/
// ---
class MATH_CLASS MbShellHistory {
private:
RPArray<MbFace> originFaces; ///< \ru Множество исходных граней. \en A set of initial faces.
RPArray<MbFace> copyFaces; ///< \ru Множество копий граней. \en A set of faces copies.
public:
/// \ru Конструктор без параметров. \en Constructor without parameters.
MbShellHistory();
/// \ru Деструктор. \en Destructor.
~MbShellHistory();
public:
/// \ru Очистить массивы для повторного использования. \en Clear arrays for reuse.
void Clear();
/// \ru Запомнить оригиналы. \en Save originals.
void InitOrigins( const RPArray<MbFace> & origin );
/// \ru Выдать контейнер оригиналов для заполнения. \en Get container of originals for filling.
RPArray<MbFace> & SetOriginFaces() { return originFaces; }
/// \ru Выдать контейнер копий для заполнения. \en Get container of copies for filling.
RPArray<MbFace> & SetCopyFaces() { return copyFaces; }
/// \ru Заменить в shell неизменённые copy-объекты на origin-объекты. \en Replace in 'shell' the unchanged 'copy'-objects by the 'origin'-objects.
void SetOrigins ( MbFaceShell & shell );
OBVIOUS_PRIVATE_COPY( MbShellHistory )
};
#endif // __SHELL_HISTORY_H