C3D Toolkit
Kernel - 112346, Vision - 2.6.2.8
|
Трехмерный проволочный каркас. Подробнее...
#include <wire_frame.h>
Открытые члены | |
MbWireFrame () | |
Конструктор без параметров. | |
MbWireFrame (const MbCurve3D &, const MbCreator *=c3d_null) | |
Конструктор по кривой и строителю. | |
MbWireFrame (const RPArray< MbCurve3D > &, const MbCreator *=c3d_null) | |
Конструктор по множеству кривых и строителю. | |
MbWireFrame (const c3d::SpaceCurvesSPtrVector &, const MbCreator *=c3d_null) | |
Конструктор по множеству кривых и строителю. | |
MbWireFrame (const MbEdge &, const MbCreator *=c3d_null, bool same=true) | |
Конструктор по ребру и строителю. | |
MbWireFrame (const RPArray< MbEdge > &, const MbCreator *=c3d_null, bool same=true) | |
Конструктор по множеству рёбер и строителю. | |
MbWireFrame (const c3d::WireEdgesSPtrVector &, const MbCreator *=c3d_null, bool same=true) | |
Конструктор по множеству рёбер и строителю. | |
virtual | ~MbWireFrame () |
Деструктор. | |
virtual MbeSpaceType | IsA () const |
Получить тип объекта. | |
virtual MbSpaceItem & | Duplicate (MbRegDuplicate *iReg=c3d_null) const |
Создать копию объекта. Подробнее... | |
virtual void | Transform (const MbMatrix3D &, MbRegTransform *=c3d_null) |
Преобразовать объект согласно матрице. Подробнее... | |
virtual void | Move (const MbVector3D &, MbRegTransform *=c3d_null) |
Сдвинуть объект вдоль вектора. Подробнее... | |
virtual void | Rotate (const MbAxis3D &, double angle, MbRegTransform *=c3d_null) |
Повернуть объект вокруг оси на заданный угол. Подробнее... | |
virtual bool | IsSame (const MbSpaceItem &, double accuracy=LENGTH_EPSILON) const |
Определить, являются ли объекты равными. Подробнее... | |
virtual bool | IsSimilar (const MbSpaceItem &) const |
Определить, являются ли объекты подобными. Подробнее... | |
virtual bool | SetEqual (const MbSpaceItem &) |
Сделать объекты равным, если они подобны. Подробнее... | |
virtual double | DistanceToPoint (const MbCartPoint3D &) const |
Определить расстояние до точки. Подробнее... | |
virtual void | AddYourGabaritTo (MbCube &) const |
Расширить присланный габаритный куб так, чтобы он включал в себя данный объект. Подробнее... | |
virtual void | CalculateLocalGabarit (const MbMatrix3D &into, MbCube &cube) const |
Рассчитать габарит в локальной системы координат. Подробнее... | |
virtual void | CalculateMesh (const MbStepData &stepData, const MbFormNote ¬e, MbMesh &mesh) const |
Построить полигональную копию mesh. Подробнее... | |
virtual void | GetProperties (MbProperties &) |
Выдать свойства объекта. Подробнее... | |
virtual void | SetProperties (const MbProperties &) |
Изменить свойства объекта. Подробнее... | |
virtual void | GetBasisItems (RPArray< MbSpaceItem > &) |
Выдать базовые объекты в присланный контейнер. | |
virtual void | GetBasisPoints (MbControlData3D &) const |
Выдать контрольные точки объекта. | |
virtual void | SetBasisPoints (const MbControlData3D &) |
Изменить объект по контрольным точкам. | |
virtual bool | GetPlacement (MbPlacement3D &) const |
Получить систему координат объекта, если она есть. Функция вернет true, если объект имеет собственную подсистему координат, иначе считается, что ЛСК объекта всегда "стандартная" (MbPlacement3D::global). | |
virtual bool | RebuildItem (MbeCopyMode sameShell, RPArray< MbSpaceItem > *items, IProgressIndicator *progInd) |
Перестроить объект по журналу построения. Подробнее... | |
virtual MbItem * | CreateMesh (const MbStepData &stepData, const MbFormNote ¬e, MbRegDuplicate *iReg) const |
Создать полигональный объект. Подробнее... | |
void | SetOwnChangedThrough (MbeChangedType) |
Установить заданный флаг измененности для всех рёбер и вершин. | |
Общие функции каркаса. | |
size_t | GetEdgesCount () const |
Выдать количество ребер каркаса. | |
const MbEdge * | GetEdge (size_t i) const |
Выдать объект по индексу. | |
MbEdge * | SetEdge (size_t i) |
Выдать объект по индексу для возможного редактирования. | |
template<class EdgesVector > | |
void | GetEdges (EdgesVector &dstEdges) const |
Получить ребра. | |
template<class EdgesVector > | |
void | SetEdges (EdgesVector &dstEdges) |
Получить ребра для возможного редактирования. | |
void | AddEdge (const MbCurve3D &, bool sense=true) |
Добавить ребро по кривой и ее ориентации в ребре. | |
void | AddEdge (const MbEdge &, bool same=true) |
Добавить ребро (оригинал, не копию). | |
template<class WireEdgesVector > | |
void | AddEdges (const WireEdgesVector &, bool same=true) |
Добавить массив ребер (оригиналы, не копии). | |
void | InsertEdge (size_t index, const MbEdge &item, bool same=true) |
Вставить ребро по индексу (оригинал, не копию). | |
MbEdge * | DetachEdge (size_t index) |
Отцепить ребро по индексу. | |
void | DeleteEdges () |
Удалить все рёбра. | |
bool | DeleteEdge (size_t index) |
Удалить ребро по индексу. | |
bool | DeleteEdge (MbEdge *) |
Удалить ребро, если таковое имеется. | |
void | GetVerticesArray (RPArray< MbVertex > &) |
Выдать массив вершин ребер каркаса. | |
void | GetVerticesArray (RPArray< const MbVertex > &) const |
Выдать массив вершин ребер каркаса. | |
size_t | GetVertexIndex (const MbVertex &find) const |
выдать индекс вершины. | |
MbVertex * | GetVertex (size_t index) const |
выдать вершину по индексу | |
size_t | GetEdgeIndex (const MbEdge &find) const |
выдать индекс ребра. | |
template<class VerticesSet > | |
void | GetVerticesSet (VerticesSet &dstVertices) const |
Получить вершины. | |
const MbVertex * | GetBegVertex () const |
Выдать вершину-начало каркаса. | |
const MbVertex * | GetEndVertex () const |
Выдать вершину-конец каркаса. | |
const MbVertex * | FindVertexByName (const MbName &) const |
Найти вершину по имени. | |
const MbEdge * | FindEdgeByName (const MbName &) const |
Найти ребро по имени. | |
bool | CuttingEdge (MbEdge *&targetEdge, SArray< double > ¶ms, bool beginSafe, double eps, RPArray< MbEdge > &edges) |
Разбить ребро по параметрам его кривой на несколько его частей. Подробнее... | |
bool | IsClosed () |
Замкнут ли каркас? | |
bool | IsMultiWireFrame () |
Является ли каркас многосвязным? | |
size_t | GetPartsCount () |
Количество связных частей каркаса. | |
bool | IsPlanar () const |
Является ли объект плоским? | |
bool | MakePlaneCurves (RPArray< MbCurve > &curves, MbPlacement3D &place) const |
Дать плоскую кривую и ее систему координат, если пространственная кривая плоская (после использования вызывать DeleteItem на двумерные кривые). | |
bool | MakeSurfaceCurves (RPArray< MbCurve > &curves, MbSurface *&surface) const |
Дать кривую на поверхности, если пространственная кривая на поверхности (после использования вызывать DeleteItem на двумерные кривые). | |
bool | MakeCurves (RPArray< MbCurve3D > &) const |
Построить контуры из копий кривых. | |
template<class CurvesVector > | |
void | GetCurves (CurvesVector &) const |
Положить в массив оригиналы кривых. | |
bool | IsNormalizeWire () const |
Разложен ли каркас на связные части? | |
bool | NormalizeWire (double precision=METRIC_REGION) |
Переставить кривые и переориентировать ребра, создав связные цепочки с общими вершинами. | |
size_t | CreateParts (RPArray< MbWireFrame > &parts) |
Отделение частей каркаса. Подробнее... | |
![]() | |
MbItem () | |
Конструктор. | |
virtual | ~MbItem () |
Деструктор. | |
virtual MbeSpaceType | Type () const |
Получить групповой тип объекта. | |
virtual MbeSpaceType | Family () const |
Получить семейство объекта. | |
virtual MbeImplicationType | ImplicationType () const |
Выдать тип контейнера атрибутов. | |
virtual MbProperty & | CreateProperty (MbePrompt n) const |
Создать собственное свойство с заданием его имени. | |
virtual void | GetBasisPoints (MbControlData &) const |
virtual void | SetBasisPoints (const MbControlData &) |
virtual bool | SetPlacement (const MbPlacement3D &) |
Установить систему координат объекта, если возможно. | |
virtual bool | AddYourMesh (const MbStepData &stepData, const MbFormNote ¬e, MbMesh &mesh) const |
Добавить полигональный объект. Подробнее... | |
virtual MbItem * | CutMesh (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 MbItem * | GetItemByPath (const MbPath &path, size_t ind, MbMatrix3D &from, size_t currInd=0) const |
Дать объект по его пути. Подробнее... | |
virtual const MbItem * | FindItem (const MbSpaceItem *s, MbPath &path, MbMatrix3D &from) const |
Найти объект по геометрическому объекту. Подробнее... | |
virtual const MbItem * | FindItem (const MbPlaneItem *s, MbPath &path, MbMatrix3D &from) const |
Найти объект по геометрическому объекту. Подробнее... | |
virtual const MbItem * | FindItem (const MbItem *s, MbPath &path, MbMatrix3D &from) const |
Найти объект по объекту геометрической модели. Подробнее... | |
virtual const MbItem * | GetItemByName (SimpleName n, MbPath &path, MbMatrix3D &from) const |
Найти объект по имени. Подробнее... | |
virtual void | TransformSelected (const MbMatrix3D &matr, MbRegTransform *iReg=c3d_null) |
Преобразовать выбранный объект согласно матрице. Подробнее... | |
virtual void | MoveSelected (const MbVector3D &to, MbRegTransform *iReg=c3d_null) |
Сдвинуть выбранный объект вдоль вектора. Подробнее... | |
virtual void | RotateSelected (const MbAxis3D &axis, double angle, MbRegTransform *iReg=c3d_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) |
Соответствует ли знаковый атрибут объекту? | |
![]() | |
virtual | ~MbSpaceItem () |
Деструктор. | |
void | PrepareWrite () const |
Регистрация объекта. Подробнее... | |
virtual MbeRefType | RefType () const |
Получить регистрационный тип (для копирования, дублирования). | |
virtual bool | IsFamilyRegistrable () const |
Принадлежит ли объект к регистрируемому семейству. | |
virtual void | Refresh () |
Перевести все временные (mutable) данные объекта в неопределённое (исходное) состояние. | |
void | CalculateWire (const MbStepData &stepData, MbMesh &mesh) const |
void | CalculateWire (double sag, MbMesh &mesh) const |
![]() | |
TapeBase (RegistrableRec regs=noRegistrable) | |
Конструктор. | |
TapeBase (const TapeBase &) | |
Конструктор копирования | |
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 () | |
Конструктор без параметров. | |
refcount_t | GetUseCount () const |
Выдать количество ссылок (выдать количество владельцев объекта). | |
refcount_t | AddRef () const |
Увеличить количество ссылок на единицу. | |
refcount_t | DecRef () const |
Уменьшить количество ссылок на единицу. | |
refcount_t | Release () const |
Уменьшить количество ссылок на единицу и, если количество ссылок стало равным нулю, удалить себя. | |
![]() | |
MbTransactions () | |
Конструктор без параметров. | |
template<class Creators > | |
MbTransactions (const Creators &creators) | |
Конструктор по строителям. | |
virtual | ~MbTransactions () |
Деструктор. | |
void | CreatorsCopy (MbTransactions &other, MbRegDuplicate *iReg=c3d_null) const |
Очистить присланный журнал и скопировать в него строители. | |
void | CreatorsAssign (const MbTransactions &other) |
Очистить журнал и скопировать в него строители из присланного журнала. | |
bool | SetCreatorsEqual (const MbTransactions &other) |
Сделать строители равными соответствующим строителям присланного журнала, если строители подобны. | |
bool | IsCreatorsSimilar (const MbTransactions &other) const |
Проверить, являются ли соответствующие строители присланного журнала подобными. | |
void | CreatorsTransform (const MbMatrix3D &, MbRegTransform *=c3d_null) |
Преобразовать согласно матрице строители. | |
void | CreatorsMove (const MbVector3D &, MbRegTransform *=c3d_null) |
Сдвинуть вдоль вектора строители. | |
void | CreatorsRotate (const MbAxis3D &, double angle, MbRegTransform *=c3d_null) |
Повернуть вокруг оси строители на заданный угол. | |
size_t | GetCreatorsCount () const |
Выдать количество строителей. | |
void | Reserve (size_t count) |
Зарезервировать место для строителей. | |
const MbCreator * | GetCreator (size_t ind) const |
Выдать строитель по его индексу. | |
MbCreator * | SetCreator (size_t ind) |
Выдать строитель по его индексу с возможностью редактирования. | |
virtual bool | GetCreators (RPArray< MbCreator > &) const |
Добавить свои строители в присланный массив. | |
virtual bool | GetCreators (c3d::CreatorsSPtrVector &) const |
Добавить свои строители в присланный массив. | |
template<class CreatorsVector > | |
bool | GetCreatorsCopies (CreatorsVector &creators, MbRegDuplicate *iReg) 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) в журнал. | |
template<class CreatorsVector > | |
void | AddCreators (const CreatorsVector &creators) |
Добавить строители в журнал. | |
MbCreator * | DetachCreator (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 (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) |
Изменить цвет объекта. | |
void | SetColor (int R, int G, int B) |
Изменить цвет объекта (0-255). | |
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 (bool onDeleteOwner=false) |
Удалить все атрибуты из контейнера. | |
MbAttribute * | AddAttribute (MbAttribute *, bool checkSame=true) |
Добавить атрибут в контейнер. | |
MbAttribute * | AddAttribute (const MbAttribute &, bool checkSame=true) |
Добавить атрибут в контейнер (всегда копирует атрибут). | |
void | GetAttributes (c3d::AttrVector &, MbeAttributeType aFamily, MbeAttributeType subType) const |
Выдать атрибуты заданного семейства. | |
void | GetAttributes (c3d::AttrVector &, MbeAttributeType aType) const |
Выдать атрибуты заданного типа. | |
void | GetCommonAttributes (c3d::AttrVector &, const c3d::string_t &samplePrompt, MbeAttributeType subType=at_Undefined) const |
Выдать атрибуты по строке описания. | |
void | GetStringAttributes (c3d::AttrVector &, const c3d::string_t &sampleContent) const |
Выдать строковые атрибуты по строке содержания. | |
bool | RemoveAttribute (const MbAttribute *, bool checkAccuracySame=false, double accuracy=LENGTH_EPSILON) |
Выдать атрибут заданного типа, если их несколько - то первый попавшийся. Подробнее... | |
bool | RemoveAttributes (MbeAttributeType type, MbeAttributeType subType) |
Удалить атрибуты заданного типа. | |
const MbAttribute * | GetSimpleAttribute (MbeAttributeType) const |
Выдать простой атрибут данного подтипа. | |
MbAttribute * | SetSimpleAttribute (MbeAttributeType) |
Выдать простой атрибут данного подтипа. | |
MbAttribute * | SetSimpleAttribute (MbAttribute *simpAttr) |
Установить простой атрибут данного подтипа. | |
MbAttribute * | SetSimpleAttribute (const MbAttribute &simpAttr) |
Установить простой атрибут данного подтипа (всегда копирует атрибут). | |
void | RemoveSimpleAttribute (MbeAttributeType) |
Удалить простой атрибут(один и более) данного подтипа. | |
MbAttribute * | DetachSimpleAttribute (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 *=c3d_null) |
Выполнить действия при трансформировании атрибутов. | |
void | AttributesMove (const MbVector3D &, MbRegTransform *=c3d_null) |
Выполнить действия при перемещении атрибутов. | |
void | AttributesRotate (const MbAxis3D &, double angle, MbRegTransform *=c3d_null) |
Выполнить действия при вращении атрибутов. | |
void | AttributesCopy (MbAttributeContainer &other, MbRegDuplicate *=c3d_null) const |
Выполнить действия при копировании атрибутов. | |
void | AttributesMerge (MbAttributeContainer &other) |
Выполнить действия при объединении атрибутов. | |
void | AttributesReplace (MbAttributeContainer &other) |
Выполнить действия при замене атрибутов. | |
void | AttributesSplit (const std::vector< MbAttributeContainer *> &others) |
Выполнить действия при разделении атрибутов. | |
void | AttributesDelete () |
Выполнить действия при удалении атрибутов. | |
![]() | |
void | Lock () const |
Включить блокировку (блокировка происходит только при наличии параллельности). | |
void | Unlock () const |
Снять блокировку, если она была установлена. | |
Защищенные данные | |
c3d::WireEdgesVector | edges |
Множество рёбер каркаса. | |
size_t | partsCount |
Количество связных частей объекта. | |
bool | closed |
Замкнутость указывает на возможность получит множество замкнутых кривых. | |
bool | normal |
Разложен ли каркас на связные части? | |
Дополнительные унаследованные члены | |
![]() | |
static MbUserAttribute * | ReduceUserAttrib (const MbExternalAttribute &) |
Преобразовать из пользовательского в "системный". | |
static MbExternalAttribute * | AdvanceUserAttrib (const MbUserAttribute &) |
Преобразовать из "системного" в пользовательский | |
![]() | |
MbItem (const MbItem &, MbRegDuplicate *) | |
Конструктор копирования с регистратором дублирования. | |
void | LockItem () const |
Захватить объект, если ядро работает в многопоточном режиме. | |
void | UnlockItem () const |
Освободить объект, если ядро работает в многопоточном режиме. | |
![]() | |
MbSpaceItem () | |
Конструктор без параметров. | |
![]() | |
MbTransactions (const MbTransactions &, MbRegDuplicate *iReg) | |
Конструктор копирования с регистратором. | |
![]() | |
MbAttributeContainer (const MbAttributeContainer &, MbRegDuplicate *) | |
Конструктор копирования с регистратором. | |
Трехмерный проволочный каркас.
Трехмерный проволочный каркас состоит из множества рёбер MbEdge.
Каркас может состоять из нескольких связных частей. Связная часть может иметь топологию звезды, при которой в одной вершине стыкуется более двух рёбер. Каркас может быть разбит на отдельные связные части. Каждая связная часть обладает функциями составной кривой.
|
virtual |
Создать копию объекта.
Создать копию объекта с использованием регистратора. Регистратор используется для предотвращения многократного копирования объекта. Если объект содержит ссылки на другие объекты, то вложенные объекты так же копируются. Допустимо не передавать регистратор в функцию. Тогда будет создана новая копия объекта. При копировании одиночного объекта или набора не связанных между собой объектов допустимо не использовать регистратор. Регистратор необходимо использовать, если надо последовательно копировать несколько взаимосвязанных объектов. Возможно, что связь объектов обусловлена наличием в них ссылок на общие объекты. Тогда, при копировании без использования регистратора, можно получить набор копий, содержащих ссылки на разные копии одного и того же вложенного объекта, что ведет к потере связи между копиями.
[in] | iReg | - Регистратор. |
Замещает MbItem.
|
virtual |
Преобразовать объект согласно матрице.
Преобразовать исходный объект согласно матрице c использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то вложенные объекты так же преобразуются согласно матрице. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих трансформации.
[in] | matr | - Матрица преобразования. |
[in] | iReg | - Регистратор. |
Замещает MbItem.
|
virtual |
Сдвинуть объект вдоль вектора.
Сдвинуть геометрический объект вдоль вектора с использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то к вложенным объектам так же применяется операция сдвига. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих сдвигу.
[in] | to | - Вектор сдвига. |
[in] | iReg | - Регистратор. |
Замещает MbItem.
|
virtual |
Повернуть объект вокруг оси на заданный угол.
Повернуть объект вокруг оси на заданный угол с использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то к вложенным объектам так же применяется операция поворота. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих повороту.
[in] | axis | - Ось поворота. |
[in] | angle | - Угол поворота. |
[in] | iReg | - Регистратор. |
Замещает MbItem.
|
virtual |
Определить, являются ли объекты равными.
Равными считаются однотипные объекты, все данные которых одинаковы (равны).
[in] | item | - Объект для сравнения. |
[in] | accuracy | - Точность сравнения. |
Замещает MbItem.
|
virtual |
Определить, являются ли объекты подобными.
Подобными считаются однотипные объекты, данные которых можно приравнять или данные так же являются подобными (указатели). Подобный объект можно инициализировать по данным подобного ему объекта (приравнять один другому без изменения адресов).
[in] | item | - Объект для сравнения. |
Переопределяет метод предка MbSpaceItem.
|
virtual |
Сделать объекты равным, если они подобны.
Равными можно сделать только подобные объекты. Подобный объект приравнивается присланному путем изменения численных данных.
[in] | item | - Объект для инициализации. |
Замещает MbItem.
|
virtual |
Определить расстояние до точки.
Определить расстояние до точки.
[in] | point | - Точка. |
Замещает MbItem.
|
virtual |
Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
[in,out] | cube | - Принимающий габаритный куб с информацией по габаритам. |
Замещает MbItem.
|
virtual |
Рассчитать габарит в локальной системы координат.
Для получения габарита объекта относительно локальной системы координат, присланный куб делается пустым. Затем вычисляются габариты объекта в локальной системе координат и сохраняются в кубе cube.
[in] | into | - Матрица перехода от текущей для объекта системы координат к локальной системе координат. |
[in,out] | cube | - Куб с информацией по габаритам. |
Замещает MbItem.
|
virtual |
Построить полигональную копию mesh.
Построить полигональную копию данного объекта, представленную полигонами, или/и плоскими пластинами.
[in] | stepData | - Данные для вычисления шага при построении полигонального. |
[in] | note | - Способ построения полигонального объекта. |
[in,out] | mesh | - Построенный полигональный объект. |
Замещает MbItem.
|
virtual |
Выдать свойства объекта.
Выдать внутренние данные (свойства) объекта для их просмотра и модификации.
[in] | properties | - Контейнер для внутренних данных объекта. |
Переопределяет метод предка MbItem.
|
virtual |
Изменить свойства объекта.
Изменение внутренних данных (свойств) объекта выполняется копированием соответствующих значений из присланного объекта.
[in] | properties | - Контейнер для внутренних данных объекта. |
Переопределяет метод предка MbItem.
|
virtual |
Перестроить объект по журналу построения.
Создать заново объект по журналу построения.
[in] | sameShell | - Полнота копирования элементов. |
[out] | items | - Контейнер для складывания элементов невыполненных построений (может быть c3d_null). |
Переопределяет метод предка MbItem.
|
virtual |
Создать полигональный объект.
Создать полигональный объект - упрощенную копию данного объекта.
[in] | stepData | - Данные для вычисления шага при триангуляции. |
[in] | note | - Способ построения полигонального объекта. |
Замещает MbItem.
bool MbWireFrame::CuttingEdge | ( | MbEdge *& | targetEdge, |
SArray< double > & | params, | ||
bool | beginSafe, | ||
double | eps, | ||
RPArray< MbEdge > & | edges | ||
) |
Разбить ребро по параметрам его кривой на несколько его частей.
. Если beginSafe == true - ребро сохранит начальный участок, Если beginSafe == false - ребро сохранит конечный участок. По параметру 'eps' отсеиваются значения в контейнере 'params', совпадающие друг с другом и с начальным и конечным параметрами кривой. Контейнер 'edges' содержит отрезанные части.
[in, out] targetEdge - Ребро для разрезания. Возвращается урезанный кусок с учетом флага beginSafe или c3d_null, если параметр разрезания находится на расстоянии меньшим еps от соответствующего конца кривой, Параметры кривой для разбиения ребра,
[in] | beginSafe | - Ребро сохранит начальную часть (true) или ребро сохранит конечную часть (false), |
[in] | eps | - Точность совпадения параметров разбиения, |
[out] | edges | - Отрезанные части ребра. \return Возвращает true, если ребро было разрезано. |
size_t MbWireFrame::CreateParts | ( | RPArray< MbWireFrame > & | parts | ) |
Отделение частей каркаса.
Отделение частей каркаса с сохранением исходного объекта. Если исходный каркас распадается на части, то все части складываются в parts.
[out] | parts | - Каркасы, полученные из frame. |