C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Строитель булевой операции. Подробнее...

Граф наследования:MbBooleanSolid:
[см. легенду]
Граф связей класса MbBooleanSolid:
[см. легенду]

Открытые члены

virtual MbeCreatorType IsA () const
 Получить тип объекта.
 
virtual void Transform (const MbMatrix3D &, MbRegTransform *ireg=NULL)
 Преобразовать согласно матрице. Подробнее...
 
virtual void Move (const MbVector3D &, MbRegTransform *ireg=NULL)
 Сдвинуть вдоль вектора. Подробнее...
 
virtual void Rotate (const MbAxis3D &, double angle, MbRegTransform *ireg=NULL)
 Повернуть объект вокруг оси. Подробнее...
 
virtual MbCreatorDuplicate (MbRegDuplicate *=NULL) const
 Создать копию объекта. Подробнее...
 
virtual MbePrompt GetPropertyName ()
 Выдать заголовок свойства объекта.
 
virtual void GetProperties (MbProperties &properties)
 Выдать свойства объекта.
 
virtual void SetProperties (const MbProperties &properties)
 Записать свойства объекта.
 
virtual void GetBasisItems (RPArray< MbSpaceItem > &)
 Дать базовые объекты.
 
virtual void GetBasisPoints (MbControlData3D &) const
 Выдать контрольные точки объекта.
 
virtual void SetBasisPoints (const MbControlData3D &)
 Изменить объект по контрольным точкам.
 
virtual bool GetInternalCreators (MbeCreatorType, c3d::ConstCreatorsSPtrVector &) const
 Получить внутренние построители по типу.
 
virtual bool SetInternalCreators (MbeCreatorType, c3d::CreatorsSPtrVector &)
 Получить внутренние построители по типу.
 
virtual bool IsSame (const MbCreator &, double accuracy) const
 Являются ли объекты равными? Подробнее...
 
virtual bool IsSimilar (const MbCreator &) const
 Являются ли объекты подобными? Подробнее...
 
virtual bool SetEqual (const MbCreator &)
 Сделать объекты равными, если они подобны.
 
virtual bool CreateShell (MbFaceShell *&shell, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=NULL)
 Построить оболочку по исходным данным. Подробнее...
 
virtual void SetYourVersion (VERSION version, bool forAll)
 Установить версию объектов.
 
OperationType GetOperationType () const
 Тип булевой операции над телами.
 
size_t GetSharedCount () const
 Количество общих строителей тел.
 
size_t GetFirstCount () const
 Количество строителей первого тела.
 
size_t GetCreatorsCount () const
 Общее количество строителей.
 
const MbCreatorGetCreator (size_t k) const
 Дать строитель.
 
bool DeleteFirstCreators ()
 Удалить из журнала строители первого тела.
 
- Открытые члены унаследованные от MbCreator
virtual ~MbCreator ()
 Деструктор.
 
virtual MbeRefType RefType () const
 Получить регистрационный тип (для копирования, дублирования).
 
virtual MbeCreatorType Type () const
 Получить групповой тип объекта.
 
bool CreateShell (SPtr< MbFaceShell > &shell, MbeCopyMode sameShell)
 Построить оболочку по исходным данным. Подробнее...
 
virtual bool CreateWireFrame (MbWireFrame *&frame, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=NULL)
 Построить проволочный каркас по исходным данным. Подробнее...
 
bool CreateWireFrame (SPtr< MbWireFrame > &frame, MbeCopyMode sameShell)
 Построить проволочный каркас по исходным данным. Подробнее...
 
virtual bool CreatePointFrame (MbPointFrame *&frame, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=NULL)
 Построить точечный каркас по исходным данным. Подробнее...
 
bool CreatePointFrame (SPtr< MbPointFrame > &frame, MbeCopyMode sameShell)
 Построить точечный каркас по исходным данным. Подробнее...
 
virtual void Refresh (MbFaceShell &)
 Обновить форму оболочки.
 
virtual void Refresh (MbWireFrame &)
 Обновить форму каркаса.
 
VERSION GetYourVersion () const
 Выдать версию объекта.
 
const MbSNameMakerGetYourName () const
 Выдать именователь объекта.
 
MbSNameMakerSetYourName ()
 Выдать именователь объекта для редактирования.
 
void SetName (const MbSNameMaker &n)
 Установить именователь объекта.
 
SimpleName GetMainName () const
 Выдать главное имя объекта.
 
void SetMainName (SimpleName n)
 Установить главное имя объекта.
 
MbeProcessState GetStatus () const
 Выдать флаг состояния.
 
void SetStatus (MbeProcessState l)
 Установить флаг состояния.
 
void PrepareWrite ()
 Регистрировать объект. Подробнее...
 
- Открытые члены унаследованные от MbRefItem
 MbRefItem ()
 Конструктор без параметров.
 
refcount_t GetUseCount () const
 Выдать количество ссылок (выдать количество владельцев объекта).
 
refcount_t AddRef () const
 Увеличить количество ссылок на единицу.
 
refcount_t DecRef () const
 Уменьшить количество ссылок на единицу.
 
refcount_t Release () const
 Уменьшить количество ссылок на единицу и, если количество ссылок стало равным нулю, удалить себя.
 
- Открытые члены унаследованные от TapeBase
 TapeBase (RegistrableRec regs=noRegistrable)
 Конструктор.
 
 TapeBase (const TapeBase &other)
 Конструктор копирования
 
virtual ~TapeBase ()
 Деструктор.
 
RegistrableRec GetRegistrable () const
 Является ли потоковый класс регистрируемым.
 
void SetRegistrable (RegistrableRec regs=registrable) const
 Установить состояние регистрации потокового класса.
 
virtual ClassDescriptor GetClassDescriptor (const VersionContainer &) const =0
 Получить дескриптор класса
 
virtual const char * GetPureName (const VersionContainer &) const
 Получить имя класса.
 
virtual bool IsFamilyRegistrable () const
 Принадлежит ли объект к регистрируемому семейству.
 

Защищенные данные

RPArray< MbCreatorcreators
 Журнал построения: 0<=i<countOne - оболочки первого тела-операнда; countOne<=i<creators.Count() - оболочки второго тела-операнда.
 
size_t sharedCount
 Количество общих строителей обоих тел.
 
size_t firstCount
 Количество строителей первого тела.
 
OperationType operation
 Тип булевой операции над оболочками.
 
bool mergeFaces
 Сливать подобные грани (true).
 
bool mergeEdges
 Сливать подобные ребра (true).
 
bool closed
 Замкнутость оболочек операндов.
 
bool allowNonIntersecting
 Выдавать конечную оболочку, если нет пересечений.
 
double buildSag
 Угловое отклонение при движении по кривым и поверхностям.
 
- Защищенные данные унаследованные от MbCreator
MbSNameMaker names
 Именователь создаваемых строителем элементов и объектов.
 
MbeProcessState status
 Состояние строителя и результата выполнения операции.
 

Дополнительные унаследованные члены

- Защищенные члены унаследованные от MbCreator
 MbCreator (MbSNameMaker *)
 Конструктор по именователю.
 
 MbCreator (const MbSNameMaker &)
 Конструктор по именователю.
 
 MbCreator (const MbCreator &)
 Конструктор копирования.
 

Подробное описание

Строитель булевой операции.

Строитель булевой операции выполняет операции объединения, пересечения и вычитания множеств точек двух тел.
.

Методы

◆ Transform()

virtual void MbBooleanSolid::Transform ( const MbMatrix3D matr,
MbRegTransform iReg = NULL 
)
virtual

Преобразовать согласно матрице.

Преобразовать исходный объект согласно матрице c использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то вложенные объекты так же преобразуются согласно матрице. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих трансформации.

Аргументы
[in]matr- Матрица преобразования.
[in]iReg- Регистратор.

Замещает MbCreator.

◆ Move()

virtual void MbBooleanSolid::Move ( const MbVector3D to,
MbRegTransform iReg = NULL 
)
virtual

Сдвинуть вдоль вектора.

Сдвинуть геометрический объект вдоль вектора с использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то к вложенным объектам так же применяется операция сдвига. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих сдвигу.

Аргументы
[in]to- Вектор сдвига.
[in]iReg- Регистратор.

Замещает MbCreator.

◆ Rotate()

virtual void MbBooleanSolid::Rotate ( const MbAxis3D axis,
double  angle,
MbRegTransform iReg = NULL 
)
virtual

Повернуть объект вокруг оси.

Повернуть объект вокруг оси на заданный угол с использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то к вложенным объектам так же применяется операция поворота. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих повороту.

Аргументы
[in]axis- Ось поворота.
[in]angle- Угол поворота.
[in]iReg- Регистратор.

Замещает MbCreator.

◆ Duplicate()

virtual MbCreator& MbBooleanSolid::Duplicate ( MbRegDuplicate iReg = NULL) const
virtual

Создать копию объекта.

Создать копию объекта с использованием регистратора. Регистратор используется для предотвращения многократного копирования объекта. Если объект содержит ссылки на другие объекты, то вложенные объекты так же копируются. Допустимо не передавать регистратор в функцию. Тогда будет создана новая копия объекта. При копировании одиночного объекта или набора не связанных между собой объектов допустимо не использовать регистратор. Регистратор необходимо использовать, если надо последовательно копировать несколько взаимосвязанных объектов. Возможно, что связь объектов обусловлена наличием в них ссылок на общие объекты. Тогда, при копировании без использования регистратора, можно получить набор копий, содержащих ссылки на разные копии одного и того же вложенного объекта, что ведет к потере связи между копиями.

Аргументы
[in]iReg- Регистратор.
Возвращает
Копия объекта.

Замещает MbCreator.

◆ IsSame()

virtual bool MbBooleanSolid::IsSame ( const MbCreator other,
double  accuracy 
) const
virtual

Являются ли объекты равными?

Равными считаются однотипные объекты, все данные которых одинаковы (равны).

Аргументы
[in]other- Объект для сравнения.
[in]accuracy- Точность сравнения.
Возвращает
Равны ли объекты.

Замещает MbCreator.

◆ IsSimilar()

virtual bool MbBooleanSolid::IsSimilar ( const MbCreator item) const
virtual

Являются ли объекты подобными?

Подобными считаются однотипные объекты, данные которых можно приравнять или данные так же являются подобными (указатели). Подобный объект можно инициализировать по данным подобного ему объекта (приравнять один другому без изменения адресов).

Аргументы
[in]item- Объект для сравнения.
Возвращает
Подобны ли объекты.

Переопределяет метод предка MbCreator.

◆ CreateShell()

virtual bool MbBooleanSolid::CreateShell ( MbFaceShell *&  shell,
MbeCopyMode  sameShell,
RPArray< MbSpaceItem > *  items = NULL 
)
virtual

Построить оболочку по исходным данным.

Построение новой или модификация присланной оболочки по исходным данным согласно строителю.

Аргументы
[in]shell- Подлежащая модификации или новая оболочка.
[in]sameShell- Полнота копирования элементов при построении.
[in]items- Контейнер для складывания элементов невыполненных построений (может быть NULL).
Возвращает
Выполнено ли построение.

Переопределяет метод предка MbCreator.


Объявления и описания членов класса находятся в файле: