Files
Extern/C3d/Include/shell_history.h
T
Dario Sassi 2067718d64 Extern :
- C3d primo salvataggio.
2019-10-28 07:56:44 +00:00

65 lines
3.3 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 );
private:
// \ru Объявление конструктора копирования без реализации, чтобы не было копирования по умолчанию. \en Declaration without implementation of the copy-constructor to prevent copying by default.
MbShellHistory( const MbShellHistory & ); // \ru Не реализовано \en Not implemented
// \ru Объявление оператора присваивания без реализации, чтобы не было присваивания по умолчанию. \en The declaration of the assignment operator without implementation to prevent an assignment by default.
void operator = ( const MbShellHistory & ); // \ru Не реализовано \en Not implemented
};
#endif // __SHELL_HISTORY_H