C3D Kernel  104065
Открытые члены | Защищенные члены

Вставка объекта. Подробнее...

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

Полный список членов класса

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

 MbInstance (MbItem &, const MbPlacement3D &)
 Конструктор по объекту и его системе координат.
virtual ~MbInstance ()
 Деструктор.
 VISITING_CLASS (MbInstance)
virtual MbeSpaceType IsA () const
 Получить тип объекта.
virtual MbSpaceItemDuplicate (MbRegDuplicate *iReg=NULL) 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 bool IsSame (const MbSpaceItem &other, double accuracy=LENGTH_EPSILON) const
 Определить, являются ли объекты равными.
virtual bool IsSimilar (const MbSpaceItem &init) 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 CalculateWire (const MbStepData &stepData, MbMesh &) const
 Создать полигональную копию.
virtual MbPropertyCreateProperty (MbePrompt n) const
 Создать собственное свойство с заданием его имени.
virtual void GetProperties (MbProperties &properties)
 Выдать свойства атрибутов.
virtual void SetProperties (const MbProperties &properties)
 Установить свойства атрибутов.
virtual void GetBasisPoints (MbControlData3D &) const
 Выдать контрольные точки объекта.
virtual void SetBasisPoints (const MbControlData3D &)
 Изменить объект по контрольным точкам.
virtual bool GetPlacement (MbPlacement3D &) const
 Получить систему координат объекта, если она есть. Функция вернет true, если объект имеет собственную подсистему координат, иначе считается, что ЛСК объекта всегда "стандартная" (MbPlacement3D::global).
virtual bool SetPlacement (const MbPlacement3D &)
 Установить систему координат объекта, если возможно.
virtual bool RebuildItem (MbeCopyMode sameShell, RPArray< MbSpaceItem > *items, IProgressIndicator *progInd)
 Перестроить объект по журналу построения.
virtual MbItemCreateMesh (const MbStepData &stepData, const MbFormNote &note, MbRegDuplicate *iReg) const
 Создать полигональный объект.
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)
 Повернуть выбранный объект вокруг оси на заданный угол.
Функции вставки объекта.
const MbItemGetItem () const
 Выдать геометрический объект.
MbItemSetItem ()
 Выдать геометрический объект для модификации.
void SetItem (MbItem *init)
 Установить другой геометрический объект.
bool ReplaceItem (const MbItem &item, MbItem &newItem, bool saveName=false)
 Заменить объект.
size_t GetFacesCount () const
 Выдать количество граней.
template<class Faces >
void GetFacesSet (Faces &faces) const
 Заполнить контейнер гранями тела.
const MbPlacement3DGetPlacement () const
 Выдать систему координат объекта.
MbPlacement3DSetPlacement ()
 Выдать систему координат объекта для редактирования.

Защищенные члены

 MbInstance (const MbInstance &, MbRegDuplicate *)
 Конструктор копирования с регистратором.

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

Вставка объекта геометрической модели MbItem в локальной системе координат MbPlacement3D позволяет накладывать геометрические ограничения на объект в сборке и позиционоровать объект. Вставка не может содержать другую вставку.


Методы

virtual MbSpaceItem& MbInstance::Duplicate ( MbRegDuplicate iReg = NULL) const [virtual]

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

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

Замещает MbItem.

virtual void MbInstance::Transform ( const MbMatrix3D matr,
MbRegTransform iReg = NULL 
) [virtual]

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

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

Замещает MbItem.

virtual void MbInstance::Move ( const MbVector3D to,
MbRegTransform iReg = NULL 
) [virtual]

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

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

Замещает MbItem.

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

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

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

Замещает MbItem.

virtual bool MbInstance::IsSame ( const MbSpaceItem other,
double  accuracy = LENGTH_EPSILON 
) const [virtual]

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

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

Замещает MbItem.

virtual bool MbInstance::IsSimilar ( const MbSpaceItem item) const [virtual]

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

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

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

virtual bool MbInstance::SetEqual ( const MbSpaceItem item) [virtual]

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

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

Замещает MbItem.

virtual double MbInstance::DistanceToPoint ( const MbCartPoint3D point) const [virtual]

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

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

Замещает MbItem.

virtual void MbInstance::AddYourGabaritTo ( MbCube cube) const [virtual]

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

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

Замещает MbItem.

virtual void MbInstance::CalculateLocalGabarit ( const MbMatrix3D into,
MbCube cube 
) const [virtual]

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

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

Замещает MbItem.

virtual void MbInstance::CalculateWire ( const MbStepData stepData,
MbMesh mesh 
) const [virtual]

Создать полигональную копию данного объекта, представленную полигонами. Полигональный объект будет содержать только полигоны MbPolygon3D.

Аргументы:
[in]sag- Максимальное отклонение полигонального объекта от оригинала по прогибу.
[in,out]mesh- Принимающий полигональный объект.

Замещает MbItem.

virtual bool MbInstance::RebuildItem ( MbeCopyMode  sameShell,
RPArray< MbSpaceItem > *  items,
IProgressIndicator progInd 
) [virtual]

Создать заново объект по журналу построения.

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

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

virtual MbItem* MbInstance::CreateMesh ( const MbStepData stepData,
const MbFormNote note,
MbRegDuplicate iReg 
) const [virtual]

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

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

Замещает MbItem.

virtual bool MbInstance::AddYourMesh ( const MbStepData stepData,
const MbFormNote note,
MbMesh mesh 
) const [virtual]

Добавить свою полигональную копию в присланный полигональный объект.

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

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

virtual MbItem* MbInstance::CutMesh ( const MbPlacement3D cutPlace,
double  distance 
) const [virtual]

Построить полигональный объект из части исходного полигонального объекта, лежащей под плоскостью XY локальной системы координат на заданном расстоянии.
Функция "режет" только полигональный объект MbMesh. Функция "режет" объект двумя плоскостями: плоскостью XY локальной системы координат place и плоскостью, параллельной ей и расположенной на расстоянии distance ниже неё. Если distance<=0, то функция "режет" объект только одной плоскостью XY локальной системы.
Содержимое объекта, необходимое для построения разрезанного объекта и не затронутое режущими плоскостями, добавляется в возвращаемый разрезанный объект без копирования.

Аргументы:
[in]place- Локальная система координат, плоскость XY которой задаёт режущую плоскость.
[in]distance- Расстояние до параллельной режущей плоскости откладывается в отрицательную сторону оси Z локальной системы.
Возвращает:
Возвращает новый полигональный объект, лежащий под плоскость XY локальной системы координат на заданном расстоянии.

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

virtual bool MbInstance::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]

Найти ближайший трехмерный объект или его имя по типу объекта и составляющий элемент искомого объекта или его имя по топологическому или двумерному типу элемента (по требованию) на расстоянии от прямой, не превышающем заданной величины. Функция предназначена для идентификации геометрического объекта, породившего полигональный объект. Реальный поиск выполняется для элементов MbPrimitive полигонального объекта MbMesh, у которых берётся информация о породившем примитив геометрическом объекте.

Аргументы:
[in]sType- Тип искомого объекта.
[in]tType- Топологический тип составляющего элемента искомого объекта.
[in]pType- Двумерный тип составляющего элемента искомого объекта.
[in]axis- Прямая поиска.
[in]maxDistance- Расстояние от прямой, на котором ищется объект.
[in]gridPriority- Повышенный приоритет триангуляционной сетки при поиске.
[out]t- Параметр прямой для найденной точки.
[out]dMin- Найденное расстояние объекта от прямой.
[out]find- Найденный объект.
[out]findName- Имя найденного объекта.
[out]element- Найденный составляющий элемент объекта.
[out]elementName- Имя найденного составляющего элемента объекта.
[out]path- Путь положения объекта в модели.
[out]from- Матрица преобразования найденного объекта в глобальную систему координат.
Возвращает:
Найден ли объект или его имя.

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

virtual bool MbInstance::GetItems ( MbeSpaceType  type,
const MbMatrix3D from,
RPArray< MbItem > &  items,
SArray< MbMatrix3D > &  matrs 
) [virtual]

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

Аргументы:
[in]type- Тип объекта.
[in]from- Исходная матрица преобразования в глобальную систему координат.
[out]items- Множество найденных объектов.
[out]matrs- Матрицы преобразования найденных объектов в глобальную систему координат.
Возвращает:
Добавлен ли данный объект.

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

virtual bool MbInstance::GetUniqItems ( MbeSpaceType  type,
CSSArray< const MbItem * > &  items 
) const [virtual]

Дать все уникальные объекты указанного типа.

Аргументы:
[in]type- Тип объекта.
[out]items- Множество найденных объектов.
Возвращает:
Добавлен ли данный объект.

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

virtual const MbItem* MbInstance::GetItemByPath ( const MbPath path,
size_t  ind,
MbMatrix3D from,
size_t  currInd = 0 
) const [virtual]

Дать объект по его пути положения в модели и дать матрицу преобразования объекта в глобальную систему координат. Объект может содержаться в другом объекте (в сборке или вставке).

Аргументы:
[in]path- Путь объекта.
[in]ind- Индекс требуемого объекта в path.
[out]from- Матрица преобразования объекта в глобальную систему координат.
[in]currInd- Индекс текущего объекта в path.
Возвращает:
Найден ли путь и матрица объекта.

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

virtual const MbItem* MbInstance::FindItem ( const MbSpaceItem s,
MbPath path,
MbMatrix3D from 
) const [virtual]

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

Аргументы:
[in]s- Геометрический объект.
[out]path- Путь к объекту в модели.
[out]from- Матрица преобразования объекта в глобальную систему координат.
Возвращает:
Найден ли путь и матрица объекта.

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

virtual const MbItem* MbInstance::FindItem ( const MbPlaneItem s,
MbPath path,
MbMatrix3D from 
) const [virtual]

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

Аргументы:
[in]s- Геометрический объект.
[out]path- Путь к объекту в модели.
[out]from- Матрица преобразования объекта в глобальную систему координат.
Возвращает:
Найден ли путь и матрица объекта.

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

virtual const MbItem* MbInstance::FindItem ( const MbItem s,
MbPath path,
MbMatrix3D from 
) const [virtual]

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

Аргументы:
[in]s- Геометрический объект.
[out]path- Путь к объекту в модели.
[out]from- Матрица преобразования объекта в глобальную систему координат.
Возвращает:
Найден ли путь и матрица объекта.

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

virtual const MbItem* MbInstance::GetItemByName ( SimpleName  n,
MbPath path,
MbMatrix3D from 
) const [virtual]

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

Аргументы:
[in]n- Имя объекта.
[out]path- Путь к объекту в модели.
[out]from- Матрица преобразования объекта в глобальную систему координат.
Возвращает:
Найден ли путь и матрица объекта.

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

virtual void MbInstance::TransformSelected ( const MbMatrix3D matr,
MbRegTransform iReg = NULL 
) [virtual]

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

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

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

virtual void MbInstance::MoveSelected ( const MbVector3D to,
MbRegTransform iReg = NULL 
) [virtual]

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

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

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

virtual void MbInstance::RotateSelected ( const MbAxis3D axis,
double  angle,
MbRegTransform iReg = NULL 
) [virtual]

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

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

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

bool MbInstance::ReplaceItem ( const MbItem item,
MbItem newItem,
bool  saveName = false 
)

Заменить объект новым.

Аргументы:
[in]item- Заменяемый объект.
[in]newItem- Новый объект.
Возвращает:
Возвращает true, если замена была выполнена.

Объявления и описания членов класса находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы