C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Коллекция элементов. Подробнее...

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

Открытые типы

enum  CollectionType { coll_PointCloud = 0, coll_Tessellation = 1, coll_Elements = 2, coll_Segmentation = 3 }
 Типы коллекций 3D объектов. Подробнее...
 

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

 MbCollection ()
 Конструктор.
 
 MbCollection (const MbMesh &mesh)
 Конструктор.
 
virtual ~MbCollection ()
 Деструктор.
 
virtual MbeSpaceType IsA () const
 Получить тип объекта.
 
virtual MbeSpaceType Type () const
 Получить групповой тип объекта.
 
virtual MbSpaceItemDuplicate (MbRegDuplicate *=NULL) const
 Создать копию объекта. Подробнее...
 
virtual void Transform (const MbMatrix3D &, MbRegTransform *=NULL)
 Преобразовать объект согласно матрице. Подробнее...
 
virtual void Move (const MbVector3D &, MbRegTransform *=NULL)
 Сдвинуть объект вдоль вектора. Подробнее...
 
virtual void Rotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Повернуть объект вокруг оси на заданный угол. Подробнее...
 
virtual bool IsSame (const MbSpaceItem &init, double accuracy=LENGTH_EPSILON) const
 Определить, являются ли объекты равными. Подробнее...
 
virtual bool SetEqual (const MbSpaceItem &init)
 Сделать объекты равным, если они подобны. Подробнее...
 
virtual double DistanceToPoint (const MbCartPoint3D &) const
 Определить расстояние до точки. Подробнее...
 
virtual void AddYourGabaritTo (MbCube &r) const
 Расширить присланный габаритный куб так, чтобы он включал в себя данный объект. Подробнее...
 
virtual void CalculateLocalGabarit (const MbMatrix3D &into, MbCube &cube) const
 Рассчитать габарит в локальной системы координат. Подробнее...
 
virtual void CalculateMesh (const MbStepData &stepData, const MbFormNote &note, MbMesh &mesh) const
 Построить полигональную копию mesh. Подробнее...
 
virtual MbPropertyCreateProperty (MbePrompt n) const
 Создать собственное свойство с заданием его имени.
 
virtual void GetProperties (MbProperties &)
 Выдать свойства объекта. Подробнее...
 
virtual void SetProperties (const MbProperties &)
 Изменить свойства объекта. Подробнее...
 
virtual MbItemCreateMesh (const MbStepData &stepData, const MbFormNote &note, MbRegDuplicate *iReg) const
 Создать полигональный объект. Подробнее...
 
Общие функции коллекции.
size_t PointsCount () const
 Выдать количество точек.
 
size_t NormalsCount () const
 Выдать количество нормалей.
 
size_t EscortsCount () const
 Выдать количество значений.
 
size_t TrianglesCount () const
 Выдать количество треугольников.
 
size_t QuadranglesCount () const
 Выдать количество четырехугольников.
 
size_t ElementsCount () const
 Выдать количество объемных элементов.
 
size_t SegmentsCount () const
 Выдать количество сегментов.
 
ptrdiff_t PointsMaxIndex () const
 Выдать количество триангуляций.
 
ptrdiff_t NormalsMaxIndex () const
 Выдать количество нормалей минус 1 (максимальный индекс).
 
void AddPoint (const MbCartPoint3D &p3D, const MbVector3D &n3D)
 Добавить в коллекцию точку и нормаль в точке.
 
void AddPoint (const MbCartPoint3D &p3D)
 Добавить в коллекцию точку.
 
void AddNormal (const MbVector3D &n3D)
 Добавить в коллекцию нормаль.
 
void AddPoints (const std::vector< MbCartPoint3D > &pnts)
 Добавить в коллекцию точки.
 
void AddNormals (const SArray< MbFloatVector3D > &nrms)
 Добавить в коллекцию нормали.
 
void AddEscorts (const std::vector< double > &scores)
 Добавить в коллекцию данных.
 
void AddTriangle (const MbTriangle &triangle)
 Добавить треугольник.
 
void AddTriangle (uint j0, uint j1, uint j2, bool o)
 Добавить треугольник с заданными номерами вершин.
 
void AddQuadrangle (const MbQuadrangle &quadrangle)
 Добавить четырёхугольник.
 
void AddQuadrangle (uint j0, uint j1, uint j2, uint j3, bool o)
 Добавить четырёхугольник с заданными номерами вершин.
 
void AddElement (const MbElement &element)
 Добавить объемный элемент.
 
void AddElement (uint j0, uint j1, uint j2, uint j3, uint j4, uint j5, uint j6, uint j7)
 Добавить объемный элемент.
 
void AddSegment (const MbGridSegment &segment)
 
void AddSegment (const std::vector< size_t > &initFaces)
 
bool GetTrianglePointIndex (size_t i, uint &ind0, uint &ind1, uint &ind2) const
 Добавить полигон. Подробнее...
 
bool GetQuadranglePointIndex (size_t i, uint &ind0, uint &ind1, uint &ind2, uint &ind3) const
 Выдать индексы точек в массиве points для i-го четырехугольника (связанного или несвязанного).
 
bool GetTrianglePoints (size_t i, MbCartPoint3D &p0, MbCartPoint3D &p1, MbCartPoint3D &p2) const
 Выдать для треугольника с номером i в общей нумерации (с полосами) точки вершин.
 
bool GetTriangleNormals (size_t i, MbVector3D &n0, MbVector3D &n1, MbVector3D &n2) const
 Выдать для треугольника с номером i в общей нумерации (с полосами) нормали в вершинах.
 
bool GetQuadranglePoints (size_t i, MbCartPoint3D &p0, MbCartPoint3D &p1, MbCartPoint3D &p2, MbCartPoint3D &p3) const
 Выдать для четырёхугольника с номером i в общей нумерации (с полосами) точки вершин.
 
bool GetQuadrangleNormals (size_t i, MbVector3D &n0, MbVector3D &n1, MbVector3D &n2, MbVector3D &n3) const
 Выдать для четырёхугольника с номером i в общей нумерации (с полосами) нормали в вершинах.
 
void PointsRemove ()
 Удалить точки.
 
void PointRemove (size_t i)
 Удалить точку с заданным номером.
 
void NormalRemove (size_t i)
 Удалить нормаль с заданным номером.
 
void SetType (CollectionType t)
 Установить тип объекта.
 
CollectionType GetType () const
 Выдать тип объекта.
 
void SetXSize (uint32 n)
 Установить количество объектов вдоль первой координаты.
 
void SetYSize (uint32 n)
 Установить количество объектов вдоль второй координаты.
 
void SetZSize (uint32 n)
 Установить количество объектов вдоль третьей координаты.
 
uint32 GetXSize () const
 Выдать количество объектов вдоль первой координаты.
 
uint32 GetYSize () const
 Выдать количество объектов вдоль второй координаты.
 
uint32 GetZSize () const
 Выдать количество объектов вдоль третьей координаты.
 
void GetPoint (size_t i, MbCartPoint3D &p) const
 Выдать точку по её номеру.
 
const std::vector< MbCartPoint3D > & GetPoints () const
 Выдать множество точек.
 
void GetNormal (size_t i, MbVector3D &n) const
 Выдать нормаль по её номеру.
 
const std::vector< MbVector3D > & GetNormals () const
 Выдать множество нормалей.
 
double GetEscort (size_t i) const
 Выдать точку по её номеру.
 
void GetElement (size_t i, MbElement &elem) const
 Выдать элемент по его номеру.
 
bool GetElementIndex (size_t i, uint &ind0, uint &ind1, uint &ind2, uint &ind3, uint &ind4, uint &ind5, uint &ind6, uint &ind7) const
 Выдать индексы точек в массиве points для i-го объемного элемента.
 
bool GetElementPoints (size_t i, MbCartPoint3D &p0, MbCartPoint3D &p1, MbCartPoint3D &p2, MbCartPoint3D &p3, MbCartPoint3D &p4, MbCartPoint3D &p5, MbCartPoint3D &p6, MbCartPoint3D &p7) const
 Выдать для элемента с номером i точки вершин.
 
void GetSegment (size_t i, MbGridSegment &seg) const
 Выдать сегмент по его номеру.
 
const MbCartPoint3DGetPoint (size_t i) const
 Выдать точку с заданным номером.
 
const MbVector3DGetNormal (size_t i) const
 Выдать нормаль с заданным номером.
 
const MbTriangleGetTriangle (size_t i) const
 Выдать треугольник с номером i.
 
const MbQuadrangleGetQuadrangle (size_t i) const
 Выдать четырёхугольник с номером i.
 
const MbElementGetElement (size_t i) const
 Выдать четырёхугольник с номером i.
 
const MbGridSegmentGetSegment (size_t i) const
 Выдать сегмент по его номеру.
 
void TrianglesDelete ()
 Выдать полигон с номером i. Подробнее...
 
void QuadranglesDelete ()
 Удалить все четырехугольники.
 
void ElementsDelete ()
 Удалить все объемные элементы.
 
void SegmentsDelete ()
 Удалить все сегменты.
 
void ReservePointsNormals (size_t n)
 Удалить все nhbfyuekzwbb. Подробнее...
 
void PointsReserve (size_t n)
 Зарезервировать память для контейнера точек.
 
void NormalsReserve (size_t n)
 Зарезервировать память для контейнера нормалей.
 
void EscordsReserve (size_t n)
 Зарезервировать память для контейнера параметров. Зарезервировать память для контейнера параметров.
 
void TrianglesReserve (size_t n)
 Зарезервировать память для контейнера треугольников.
 
void QuadranglesReserve (size_t n)
 Зарезервировать память для контейнера четырехугольников.
 
void ElementsReserve (size_t n)
 Зарезервировать память для контейнера элементов.
 
void SegmentsReserve (size_t n)
 Зарезервировать память для контейнера сегментов.
 
void Flush ()
 Зарезервировать память для контейнера полигонов. Подробнее...
 
void HardFlush ()
 Удалить всю триангуляцию и освободить память.
 
void Adjust ()
 Освободить лишнюю память.
 
void Init (const MbCollection &init)
 Инициализировать объект.
 
void Init (const MbGrid &init)
 Инициализировать объект.
 
void Init (const MbMesh &init)
 Инициализировать объект.
 
void ConvertQuadranglesToTriangles ()
 Преобразовать четырёхугольники в треугольники.
 
void ConvertAllToTriangles ()
 Преобразовать все объекты в треугольники и уравнять число точек и нормалей.
 
bool RemoveRedundantPoints (bool deleteNormals, double epsilon=LENGTH_EPSILON)
 Удалить дублирующие с заданной точностью друг друга точки.
 
- Открытые члены унаследованные от MbItem
 MbItem ()
 Конструктор.
 
virtual ~MbItem ()
 Деструктор.
 
virtual MbeSpaceType Family () const
 Получить семейство объекта.
 
virtual MbeImplicationType ImplicationType () const
 Выдать тип контейнера атрибутов.
 
virtual void GetBasisPoints (MbControlData3D &) const
 Выдать контрольные точки объекта.
 
virtual void SetBasisPoints (const MbControlData3D &)
 Изменить объект по контрольным точкам.
 
virtual void GetBasisPoints (MbControlData &) const
 
virtual void SetBasisPoints (const MbControlData &)
 
virtual bool GetPlacement (MbPlacement3D &p) const
 Получить систему координат объекта, если она есть. Функция вернет true, если объект имеет собственную подсистему координат, иначе считается, что ЛСК объекта всегда "стандартная" (MbPlacement3D::global).
 
virtual bool SetPlacement (const MbPlacement3D &)
 Установить систему координат объекта, если возможно.
 
virtual bool RebuildItem (MbeCopyMode sameShell, RPArray< MbSpaceItem > *items, IProgressIndicator *progInd)
 Перестроить объект по журналу построения. Подробнее...
 
virtual bool AddYourMesh (const MbStepData &stepData, const MbFormNote &note, MbMesh &mesh) const
 Добавить полигональный объект. Подробнее...
 
virtual MbItemCutMesh (const MbPlacement3D &cutPlace, double distance) const
 Разрезать полигональный объект одной или двумя параллельными плоскостями. Подробнее...
 
virtual bool NearestMesh (MbeSpaceType sType, MbeTopologyType tType, MbePlaneType pType, const MbAxis3D &axis, double maxDistance, bool gridPriority, double &t, double &dMin, MbItem *&find, SimpleName &findName, MbRefItem *&element, SimpleName &elementName, MbPath &path, MbMatrix3D &from) const
 Найти ближайший объект или имя ближайшего объекта. Подробнее...
 
virtual bool GetItems (MbeSpaceType type, const MbMatrix3D &from, RPArray< MbItem > &items, SArray< MbMatrix3D > &matrs)
 Дать все объекты указанного типа. Подробнее...
 
virtual bool GetUniqItems (MbeSpaceType type, CSSArray< const MbItem *> &items) const
 Дать все уникальные объекты указанного типа. Подробнее...
 
virtual const MbItemGetItemByPath (const MbPath &path, size_t ind, MbMatrix3D &from, size_t currInd=0) const
 Дать объект по его пути. Подробнее...
 
virtual const MbItemFindItem (const MbSpaceItem *s, MbPath &path, MbMatrix3D &from) const
 Найти объект по геометрическому объекту. Подробнее...
 
virtual const MbItemFindItem (const MbPlaneItem *s, MbPath &path, MbMatrix3D &from) const
 Найти объект по геометрическому объекту. Подробнее...
 
virtual const MbItemFindItem (const MbItem *s, MbPath &path, MbMatrix3D &from) const
 Найти объект по объекту геометрической модели. Подробнее...
 
virtual const MbItemGetItemByName (SimpleName n, MbPath &path, MbMatrix3D &from) const
 Найти объект по имени. Подробнее...
 
virtual void TransformSelected (const MbMatrix3D &matr, MbRegTransform *iReg=NULL)
 Преобразовать выбранный объект согласно матрице. Подробнее...
 
virtual void MoveSelected (const MbVector3D &to, MbRegTransform *iReg=NULL)
 Сдвинуть выбранный объект вдоль вектора. Подробнее...
 
virtual void RotateSelected (const MbAxis3D &axis, double angle, MbRegTransform *iReg=NULL)
 Повернуть выбранный объект вокруг оси на заданный угол. Подробнее...
 
virtual bool GetMatrixFrom (MbMatrix3D &from) const
 Дать матрицу преобразования из локальной системы объекта.
 
virtual bool GetMatrixInto (MbMatrix3D &into) const
 Дать матрицу преобразования в локальную систему объекта.
 
void Assign (const MbItem &other)
 Копировать строители и атрибуты.
 
void CopyItemName (const MbItem &other)
 Копировать имя объекта.
 
SimpleName GetItemName () const
 Выдать имя объекта.
 
void SetItemName (SimpleName n)
 Установить имя объекта.
 
bool IsAttributeEqual (int attribute)
 Соответствует ли знаковый атрибут объекту?
 
- Открытые члены унаследованные от MbSpaceItem
virtual ~MbSpaceItem ()
 Деструктор.
 
void PrepareWrite ()
 Регистрация объекта. Подробнее...
 
virtual MbeRefType RefType () const
 Получить регистрационный тип (для копирования, дублирования).
 
virtual bool IsFamilyRegistrable () const
 Принадлежит ли объект к регистрируемому семейству.
 
virtual bool IsSimilar (const MbSpaceItem &item) const
 Определить, являются ли объекты подобными. Подробнее...
 
virtual void Refresh ()
 Перевести все временные (mutable) данные объекта в неопределённое (исходное) состояние.
 
void CalculateWire (const MbStepData &stepData, MbMesh &mesh) const
 
void CalculateWire (double sag, MbMesh &mesh) const
 
virtual void GetBasisItems (RPArray< MbSpaceItem > &)
 Выдать базовые объекты в присланный контейнер.
 
- Открытые члены унаследованные от 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
 Получить имя класса.
 
- Открытые члены унаследованные от MbRefItem
 MbRefItem ()
 Конструктор без параметров.
 
refcount_t GetUseCount () const
 Выдать количество ссылок (выдать количество владельцев объекта).
 
refcount_t AddRef () const
 Увеличить количество ссылок на единицу.
 
refcount_t DecRef () const
 Уменьшить количество ссылок на единицу.
 
refcount_t Release () const
 Уменьшить количество ссылок на единицу и, если количество ссылок стало равным нулю, удалить себя.
 
- Открытые члены унаследованные от MbTransactions
 MbTransactions ()
 Конструктор без параметров.
 
template<class Creators >
 MbTransactions (const Creators &creators)
 Конструктор по строителям.
 
 ~MbTransactions ()
 Деструктор.
 
void CreatorsCopy (MbTransactions &other, MbRegDuplicate *iReg=NULL) const
 Очистить присланный журнал и скопировать в него строители.
 
void CreatorsAssign (const MbTransactions &other)
 Очистить журнал и скопировать в него строители из присланного журнала.
 
bool SetCreatorsEqual (const MbTransactions &other)
 Сделать строители равными соответствующим строителям присланного журнала, если строители подобны.
 
bool IsCreatorsSimilar (const MbTransactions &other) const
 Проверить, являются ли соответствующие строители присланного журнала подобными.
 
void CreatorsTransform (const MbMatrix3D &, MbRegTransform *=NULL)
 Преобразовать согласно матрице строители.
 
void CreatorsMove (const MbVector3D &, MbRegTransform *=NULL)
 Сдвинуть вдоль вектора строители.
 
void CreatorsRotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Повернуть вокруг оси строители на заданный угол.
 
size_t GetCreatorsCount () const
 Выдать количество строителей.
 
void Reserve (size_t count)
 Зарезервировать место для строителей.
 
const MbCreatorGetCreator (size_t ind) const
 Выдать строитель по его индексу.
 
MbCreatorSetCreator (size_t ind)
 Выдать строитель по его индексу с возможностью редактирования.
 
virtual bool GetCreators (RPArray< MbCreator > &) const
 Добавить свои строители в присланный массив.
 
bool GetCreatorsCopies (RPArray< MbCreator > &) const
 Добавить копии своих строителей в присланный массив.
 
size_t FindCreator (const MbCreator *creator)
 Найти номер строителя в журнале или вернуть SYS_MAX_T в случае отсутствия.
 
bool AddCreator (const MbCreator &, bool addSame=false)
 Добавить строитель (addSame = false) или его копию (addSame = true) в журнал.
 
bool AddCreator (const MbCreator *, bool addSame=false)
 Добавить строитель (addSame = false) или его копию (addSame = true) в журнал.
 
void AddCreators (const RPArray< MbCreator > &)
 Добавить строители в журнал.
 
MbCreatorDetachCreator (size_t ind)
 Вытереть строитель с указанным номером из журнала и отдать его.
 
bool DeleteCreator (size_t ind)
 Удалить строитель с указанным номером и вытереть его из журнала.
 
void DeleteCreators ()
 Удалить все строители и очистить журнал.
 
int GetCreatorStatus (size_t ind) const
 Дать статус строителя с указанным номером.
 
bool SetCreatorStatus (size_t ind, MbeProcessState)
 Установить строителю с указанным номером статус.
 
size_t GetActiveCreatorsCount () const
 Дать количество активных строителей.
 
bool SetActiveCreatorsCount (size_t activeCount)
 Установить количество активных строителей от начала до заданного номера.
 
void BreakCreatorsToBasisItem (size_t c, RPArray< MbSpaceItem > &)
 Выдать создаваемый заданным числом строителей объект и базовые объекты остальных строителей.
 
void GetCreatorsBasisItems (RPArray< MbSpaceItem > &)
 Выдать базовые объекты строителей.
 
void GetCreatorsBasisPoints (MbControlData3D &) const
 Выдать базовые точки строителей.
 
void SetCreatorsBasisPoints (const MbControlData3D &)
 Изменить объект по контрольным точкам.
 
void GetProperties (MbProperties &, bool sameCreators=false)
 Выдать свойства строителей (на копиях или на оригиналах строителей).
 
void SetProperties (const MbProperties &)
 Установить свойства строителей.
 
void CreatorsRead (reader &in)
 Прочитать строители из потока.
 
void CreatorsWrite (writer &out) const
 Записать строители в поток.
 
- Открытые члены унаследованные от MbAttributeContainer
 MbAttributeContainer ()
 Конструктор без параметров.
 
 MbAttributeContainer (MbAttribute &)
 Конструктор по атрибуту.
 
virtual ~MbAttributeContainer ()
 Деструктор.
 
void AttributesRead (reader &)
 Прочитать атрибуты из потока.
 
void AttributesWrite (writer &) const
 Записать атрибуты в поток.
 
void GetProperties (MbProperties &)
 Выдать свойства атрибутов.
 
void SetProperties (const MbProperties &)
 Установить свойства атрибутов.
 
void SetDensity (double)
 Установить плотность объекта.
 
double GetDensity () const
 Выдать плотность объекта.
 
void SetVisual (float a, float d, float sp, float sh, float t, float e)
 Установить визуальные свойства объекта.
 
bool GetVisual (float &a, float &d, float &sp, float &sh, float &t, float &e) const
 Выдать визуальные свойства объекта. Подробнее...
 
bool IsColored () const
 Есть ли у объекта свой цвет. Подробнее...
 
void SetColor (uint32)
 Изменить цвет объекта.
 
uint32 GetColor () const
 Выдать цвет объекта.
 
void SetWidth (int)
 Установить толщину линий для отображения объекта.
 
int GetWidth () const
 Выдать толщину линий для отображения объекта.
 
void SetStyle (int)
 Установить стиль линий для отображения объекта.
 
int GetStyle () const
 Выдать стиль линий для отображения объекта.
 
void SetSelected (bool s=true)
 Выделить или не выделить объект.
 
bool IsSelected () const
 Выделен ли объект?
 
bool ReverseSelected ()
 Инвертировать выделение объекта.
 
void SetChanged (bool c=true)
 Задать: объект изменен или не изменён.
 
bool IsChanged () const
 Изменен ли объект?
 
void SetVisible (bool)
 Установить видимость.
 
bool IsVisible () const
 Видимый ли объект?
 
bool IsInvisible () const
 Не видимый ли элемент?
 
void AttributesAssign (const MbAttributeContainer &)
 Cдублировать атрибуты присланного объекта, свои отпустить.
 
size_t AttributesCount () const
 Выдать количество объектов.
 
void RemoveAttributes ()
 Удалить все атрибуты из контейнера.
 
MbAttributeAddAttribute (MbAttribute *attr, bool checkSame=true)
 Добавить атрибут в контейнер.
 
MbAttributeAddAttribute (const MbAttribute &attr, bool checkSame=true)
 Добавить атрибут в контейнер (всегда копирует атрибут).
 
void GetAttributes (std::vector< MbAttribute *> &attrs, MbeAttributeType type, MbeAttributeType subType) const
 Выдать атрибуты заданного типа.
 
void GetCommonAttributes (std::vector< MbAttribute *> &attrs, const c3d::string_t &samplePrompt, MbeAttributeType subType=at_Undefined) const
 Выдать атрибуты по строке описания.
 
void GetStringAttributes (std::vector< MbAttribute *> &attrs, const c3d::string_t &sampleContent) const
 Выдать строковые атрибуты по строке содержания.
 
bool RemoveAttribute (const MbAttribute *)
 Выдать атрибут заданного типа, если их несколько - то первый попавшийся. Подробнее...
 
bool RemoveAttributes (MbeAttributeType type, MbeAttributeType subType)
 Удалить атрибуты заданного типа.
 
const MbAttributeGetSimpleAttribute (MbeAttributeType) const
 Выдать простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (MbeAttributeType)
 Выдать простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (MbAttribute *simpAttr)
 Установить простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (const MbAttribute &simpAttr)
 Установить простой атрибут данного подтипа (всегда копирует атрибут).
 
void RemoveSimpleAttribute (MbeAttributeType)
 Удалить простой атрибут(один и более) данного подтипа.
 
MbAttributeDetachSimpleAttribute (MbeAttributeType)
 Отдать простой атрибут данного подтипа.
 
void GetUserAttributes (std::vector< MbUserAttribute *> &attrs, const MbUserAttribType &type) const
 Выдать пользовательский атрибут данного подтипа.
 
void RemoveUserAttributes (const MbUserAttribType &type)
 Удалить пользовательский атрибут (один и более) данного подтипа.
 
void DetachUserAttributes (std::vector< MbUserAttribute *> &attrs, const MbUserAttribType &type)
 Отдать пользовательский атрибут данного подтипа.
 
void AttributesChange ()
 Выполнить действия при изменении атрибутов.
 
void AttributesConvert (MbAttributeContainer &other) const
 Выполнить действия при конвертации атрибутов.
 
void AttributesTransform (const MbMatrix3D &, MbRegTransform *=NULL)
 Выполнить действия при трансформировании атрибутов.
 
void AttributesMove (const MbVector3D &, MbRegTransform *=NULL)
 Выполнить действия при перемещении атрибутов.
 
void AttributesRotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Выполнить действия при вращении атрибутов.
 
void AttributesCopy (MbAttributeContainer &other, MbRegDuplicate *=NULL) const
 Выполнить действия при копировании атрибутов.
 
void AttributesMerge (MbAttributeContainer &other)
 Выполнить действия при объединении атрибутов.
 
void AttributesReplace (MbAttributeContainer &other)
 Выполнить действия при замене атрибутов.
 
void AttributesSplit (const std::vector< MbAttributeContainer *> &others)
 Выполнить действия при разделении атрибутов.
 
void AttributesDelete ()
 Выполнить действия при удалении атрибутов.
 

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

- Открытые статические члены унаследованные от MbAttributeContainer
static MbUserAttributeReduceUserAttrib (const MbExternalAttribute &source)
 Преобразовать из пользовательского в "системный".
 
static MbExternalAttributeAdvanceUserAttrib (const MbUserAttribute &source)
 Преобразовать из "системного" в пользовательский
 
- Защищенные члены унаследованные от MbItem
 MbItem (const MbItem &, MbRegDuplicate *)
 Конструктор копирования с регистратором дублирования.
 
void LockItem () const
 Захватить объект, если ядро работает в многопоточном режиме.
 
void UnlockItem () const
 Освободить объект, если ядро работает в многопоточном режиме.
 
- Защищенные члены унаследованные от MbSpaceItem
 MbSpaceItem ()
 Конструктор без параметров.
 
- Защищенные члены унаследованные от MbTransactions
 MbTransactions (const MbTransactions &, MbRegDuplicate *iReg)
 Конструктор копирования с регистратором.
 
- Защищенные члены унаследованные от MbAttributeContainer
 MbAttributeContainer (const MbAttributeContainer &, MbRegDuplicate *)
 Конструктор копирования с регистратором.
 

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

Коллекция элементов.

Коллекция элементов - это объект геометрической модели, наследник MbItem, являющийся множеством элементов в трехмерном пространстве.

Перечисления

◆ CollectionType

Типы коллекций 3D объектов.

Элементы перечислений
coll_PointCloud 

Облако точек.

coll_Tessellation 

Триангуляция.

coll_Elements 

Набор элементов.

coll_Segmentation 

Сегментированная полигональная сетка.

Методы

◆ Duplicate()

virtual MbSpaceItem& MbCollection::Duplicate ( MbRegDuplicate iReg = NULL) const
virtual

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

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

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

Замещает MbItem.

◆ Transform()

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

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

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

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

Замещает MbItem.

◆ Move()

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

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

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

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

Замещает MbItem.

◆ Rotate()

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

Повернуть объект вокруг оси на заданный угол.

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

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

Замещает MbItem.

◆ IsSame()

virtual bool MbCollection::IsSame ( const MbSpaceItem other,
double  accuracy = LENGTH_EPSILON 
) const
virtual

Определить, являются ли объекты равными.

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

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

Замещает MbItem.

◆ SetEqual()

virtual bool MbCollection::SetEqual ( const MbSpaceItem item)
virtual

Сделать объекты равным, если они подобны.

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

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

Замещает MbItem.

◆ DistanceToPoint()

virtual double MbCollection::DistanceToPoint ( const MbCartPoint3D point) const
virtual

Определить расстояние до точки.

Определить расстояние до точки.

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

Замещает MbItem.

◆ AddYourGabaritTo()

virtual void MbCollection::AddYourGabaritTo ( MbCube cube) const
virtual

Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.

Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.

Аргументы
[in,out]cube- Принимающий габаритный куб с информацией по габаритам.

Замещает MbItem.

◆ CalculateLocalGabarit()

virtual void MbCollection::CalculateLocalGabarit ( const MbMatrix3D into,
MbCube cube 
) const
virtual

Рассчитать габарит в локальной системы координат.

Для получения габарита объекта относительно локальной системы координат, присланный куб делается пустым. Затем вычисляются габариты объекта в локальной системе координат и сохраняются в кубе cube.

Аргументы
[in]into- Матрица перехода от текущей для объекта системы координат к локальной системе координат.
[in,out]cube- Куб с информацией по габаритам.

Замещает MbItem.

◆ CalculateMesh()

virtual void MbCollection::CalculateMesh ( const MbStepData stepData,
const MbFormNote note,
MbMesh mesh 
) const
virtual

Построить полигональную копию mesh.

Построить полигональную копию данного объекта, представленную полигонами, или/и плоскими пластинами.

Аргументы
[in]stepData- Данные для вычисления шага при построении полигонального.
[in]note- Способ построения полигонального объекта.
[in,out]mesh- Построенный полигональный объект.

Замещает MbItem.

◆ GetProperties()

virtual void MbCollection::GetProperties ( MbProperties properties)
virtual

Выдать свойства объекта.

Выдать внутренние данные (свойства) объекта для их просмотра и модификации.

Аргументы
[in]properties- Контейнер для внутренних данных объекта.

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

◆ SetProperties()

virtual void MbCollection::SetProperties ( const MbProperties properties)
virtual

Изменить свойства объекта.

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

Аргументы
[in]properties- Контейнер для внутренних данных объекта.

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

◆ CreateMesh()

virtual MbItem* MbCollection::CreateMesh ( const MbStepData stepData,
const MbFormNote note,
MbRegDuplicate iReg 
) const
virtual

Создать полигональный объект.

Создать полигональный объект - упрощенную копию данного объекта.

Аргументы
[in]stepData- Данные для вычисления шага при триангуляции.
[in]note- Способ построения полигонального объекта.
Возвращает
Построенный полигональный объект.

Замещает MbItem.

◆ GetTrianglePointIndex()

bool MbCollection::GetTrianglePointIndex ( size_t  i,
uint &  ind0,
uint &  ind1,
uint &  ind2 
) const

Добавить полигон.

Выдать индексы точек в массиве points для i-го треугольника (связанного или несвязанного).

◆ TrianglesDelete()

void MbCollection::TrianglesDelete ( )
inline

Выдать полигон с номером i.

Удалить все xтреугольники.

◆ ReservePointsNormals()

void MbCollection::ReservePointsNormals ( size_t  n)
inline

Удалить все nhbfyuekzwbb.

Зарезервировать память для контейнеров.

◆ Flush()

void MbCollection::Flush ( )
inline

Зарезервировать память для контейнера полигонов.

Удалить всю триангуляцию без освобождения памяти, занятую контейнерами.


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