C3D Kernel  104598
Открытые члены | Защищенные данные
Класс DuplicationMeshValues

Размножение по сетке. Подробнее...

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

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

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

 DuplicationMeshValues (bool polar=false)
 Конструктор по типу.
 DuplicationMeshValues (bool isPolar, const MbVector3D &dir1, const double step1, const unsigned int num1, const MbVector3D &dir2, const double step2, const unsigned int num2, const MbCartPoint3D *center=NULL, bool isAlongAxis=false)
 Конструктор по параметрам и типу.
virtual ~DuplicationMeshValues ()
 Деструктор.
void Init (const DuplicationMeshValues &other)
 Функция копирования.
virtual bool Init (const DuplicationValues &other)
 Функция копирования.
virtual MbeDuplicatesType Type () const
 Тип параметров.
virtual void Transform (const MbMatrix3D &, MbRegTransform *ireg=NULL)
 Преобразовать сетку согласно матрице.
virtual void Move (const MbVector3D &, MbRegTransform *ireg=NULL)
 Сдвинуть сетку вдоль вектора.
virtual void Rotate (const MbAxis3D &, double ang, MbRegTransform *ireg=NULL)
 Повернуть сетку вокруг оси на заданный угол.
virtual void GetProperties (MbProperties &)
 Выдать свойства объекта
virtual void SetProperties (const MbProperties &)
 Записать свойства объекта
virtual bool IsSame (const DuplicationValues &, double accuracy) const
 Являются ли объекты равными?
virtual DuplicationValuesDuplicate (MbRegDuplicate *ireg=NULL) const
 Построить копию объекта.
virtual void GenerateTransformMatrices (SArray< MbMatrix3D > &tfMatr) const
 Сгенерировать матрицы трансформации.
virtual size_t Count () const
 Количество создаваемых копий.
void SetDirection (bool first, const MbVector3D &dir)
 Установить одно из направлений сетки.
void GetDirection (bool first, MbVector3D &dir) const
 Получить одно из направлений сетки.
void SetStep (bool first, const double step)
 Установить шаг по одному из направлений сетки.
void GetStep (bool first, double &step) const
 Получить шаг по одному из направлений сетки.
void SetNumStep (bool first, const uint num)
 Установить количество шагов по одному из направлений сетки.
bool IsPolar () const
 Полярная ли сетка?
void SetPolar (bool p)
 Задать тип сетки.
void GetNumStep (bool first, uint &num) const
 Получить количество шагов по одному из направлений сетки.
bool IsAlongAxis () const
 Тело вдоль радиальной оси?
MbCartPoint3D GetCenter () const
 Вернуть центр полярной системы.
void SetCenter (MbCartPoint3D &cntr)
 Установить центр полярной системы.

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

MbVector3D axis1
 Направление размножения (dt_Grid и dt_Polar).
MbVector3D axis2
 Направление размножения (dt_Grid), направление оси вращения (dt_Polar).
double step1
 Шаг по направлению axis1 (dt_Grid и dt_Polar).
double step2
 Шаг по направлению axis2 (dt_Grid), угол поворота (dt_Polar).
uint num1
 Кол-во шагов по направлению axis1 (dt_Grid и dt_Polar).
uint num2
 Кол-во шагов по направлению axis2 (dt_Grid), кол-во угловых шагов (dt_Polar).
bool isPolar
 Тип сетки, false - dt_Grid, true - dt_Polar. Type of grid, false - dt_Grid, true - dt_Polar.
bool isAlongAxis
 true - тела расположены вдоль радиальной оси, false - параллельно исходному телу.
MbCartPoint3D center
 Центр локальной системы координат (и точка приложения оси вращения в случае подярной системы).

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

Параметры размножение по размножение по декартовой сетке или по полярной сетке.
Тип сетки определяется флагом 'isPolar':
false - dt_Grid, true - dt_Polar.
Исходное тело находится в центре сетки.
Вектор 'axis1' задает одно из направлений декартовой сетки или направление луча в полярной сетке.
Вектор 'axis2' задает другое направление декартовой сетки или ось вращения в полярной сетке, точка оси не важна т.к. поворачиваются только вектора.
'step1' и step2' задают шаги по направлениям декартовой сетки.
'step1' - задает шаг по лучу полярной сетки, 'step2' задает угол поворота.
'num1' и 'num2' задают кол-во шагов 'step1' и 'step2' соответственно.
Ориентация тел на сетке определяется флагом 'isAlongAxis'.
Если флаг 'isAlongAxis' = true, то тела ориентированы вдоль радиальной оси, false - параллельно исходному телу.
'center' задает центр локальной системы коолдинат.
ВАЖНО! У векторов 'axis1', 'axis2' учитываются только направления, при инициализации или изменении происходит нормирование.


Конструктор(ы)

DuplicationMeshValues::DuplicationMeshValues ( bool  polar = false)

Конструктор размножения по сетке.
Вектора и значения инициализируются нулевыми, тип сетки инициализируется параметром, по умолчанию 'false'.

DuplicationMeshValues::DuplicationMeshValues ( bool  isPolar,
const MbVector3D dir1,
const double  step1,
const unsigned int  num1,
const MbVector3D dir2,
const double  step2,
const unsigned int  num2,
const MbCartPoint3D center = NULL,
bool  isAlongAxis = false 
)

Конструктор размножения по сетке.
Тип сетки, направления осей, шаги и кол-во шагов инициализируются параметрами.


Методы

virtual bool DuplicationMeshValues::IsSame ( const DuplicationValues ,
double  accuracy 
) const [virtual]

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

Замещает DuplicationValues.

void DuplicationMeshValues::SetDirection ( bool  first,
const MbVector3D dir 
)

Установить одно из направлений сетки.

void DuplicationMeshValues::GetDirection ( bool  first,
MbVector3D dir 
) const

Получить одно из направлений сетки.

void DuplicationMeshValues::SetStep ( bool  first,
const double  step 
)

Установить шаг по одному из направлений сетки.

void DuplicationMeshValues::GetStep ( bool  first,
double &  step 
) const

Получить шаг по одному из направлений сетки.

void DuplicationMeshValues::SetNumStep ( bool  first,
const uint  num 
)

Установить количество шагов по одному из направлений сетки.

bool DuplicationMeshValues::IsPolar ( ) const [inline]

Задана ли сетка в полярной системе координат?

void DuplicationMeshValues::SetPolar ( bool  p) [inline]

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

void DuplicationMeshValues::GetNumStep ( bool  first,
uint &  num 
) const

Получить количество шагов по одному из направлений сетки.

bool DuplicationMeshValues::IsAlongAxis ( ) const [inline]

Тело вдоль радиальной оси?

MbCartPoint3D DuplicationMeshValues::GetCenter ( ) const [inline]

Вернуть центр полярной системы.

void DuplicationMeshValues::SetCenter ( MbCartPoint3D cntr) [inline]

Установить центр полярной системы.


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