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

Криволинейная направляющая для кинематической поверхности. Подробнее...

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

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

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

 VISITING_CLASS (MbSpine)
 DECLARE_RESET_FUNCS (MbSpine)
Базовые функции
MbeSpaceType IsA () const
 Тип элемента.
MbSpineDuplicate (MbRegDuplicate *=NULL) const
 Сделать копию элемента.
bool SetEqual (const MbSpine &)
 Сделать равным.
bool IsSimilar (const MbSpine &) const
 Являются ли объекты подобными.
bool IsSame (const MbSpine &other, double accuracy=LENGTH_EPSILON) const
 Равны ли объекты.
void Transform (const MbMatrix3D &, MbRegTransform *=NULL)
 Преобразовать элемент согласно матрице.
void Move (const MbVector3D &, MbRegTransform *=NULL)
 Сдвиг.
void Rotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Повернуть вокруг оси.
void Inverse (MbRegTransform *iReg=NULL)
 Изменить направление.
void Reset ()
 Сбросить временные данные объекта.
Общие описания области определения направляющей кривой
double GetTMax () const
 Вернуть максимальное значение параметра.
double GetTMin () const
 Вернуть минимальное значение параметра.
bool IsClosed () const
 Проверка замкнутости кривой.
Функции для работы в области определения направляющей кривой

Функции PointOn, FirstDer... корректируют параметры при выходе их за пределы области определения параметров направляющей кривой.

void PointOn (double &t, MbCartPoint3D &p) const
 Точка на кривой.
void FirstDer (double &t, MbVector3D &p) const
 Первая производная.
void SecondDer (double &t, MbVector3D &p) const
 Вторая производная.
void ThirdDer (double &t, MbVector3D &p) const
 Третья производная.
Функции для работы внутри и вне области определения направляющей кривой

функции _PointOn, _FirstDer... корректируют параметры при выходе их за пределы области определения параметров направляющей кривой.

void _PointOn (double t, MbCartPoint3D &p) const
 Точка на кривой.
void _FirstDer (double t, MbVector3D &p) const
 Первая производная.
void _SecondDer (double t, MbVector3D &p) const
 Вторая производная.
void _ThirdDer (double t, MbVector3D &p) const
 Третья производная.
virtual void Explore (double &t, bool ext, MbCartPoint3D &pnt, MbVector3D &fir, MbVector3D *sec, MbVector3D *thir) const
 Вычислить значения точки и производных для заданного параметра.
Функции движения по направляющей кривой
double Step (double t, double sag) const
 Вычисление шага аппроксимации по величине прогиба.
double DeviationStep (double t, double angle) const
 Вычисление шага аппроксимации по углу отклонения нормали.
Функции изменения и доступа к данным
void TransformMatrix (double v, MbMatrix3D &matrix) const
 Определение матрицы переноса для образующей.
void MoveVector (double &v, MbVector3D &vect) const
 Определение вектора переноса для образующей.
const MbVector3DGetOrt0 () const
 Первой вектор базиса в рассчитанной направляющей.
void CalculateMatrix (double &v, bool ext, MbMatrix3D &matrix0, MbMatrix3D &matrix1, MbMatrix3D &matrix2) const
 Вычисление матриц преобразования.
void CalculateMatrix (double &v, bool ext, MbMatrix3D &matrix0, MbMatrix3D &matrix1) const
void CalculateMatrix0 (double &v, bool ext, MbMatrix3D &matrix0) const
void CalculateMatrix1 (double &v, bool ext, MbMatrix3D &matrix1) const
void CalculateMatrix2 (double &v, bool ext, MbMatrix3D &matrix2) const
MbPlacement3D GetPlacement (double v) const
 Построить плейсмент в заданной точке.
const MbCurve3DGetCurve () const
 Направляющая кривая.
MbCurve3DSetCurve ()
 Дать направляющую кривую для изменения.
const MbCurve3DGetDirectionCurve () const
 Ориентирующая кривая.
VERSION GetVersion () const
 Версия расчета вектора ориентации матрицы преобразования.
void ChangeCurve (const MbCurve3D &c)
 Изменить направляющую кривую.
void ChangeDirectionCurve (const MbCurve3D *d)
 Изменить ориентирующую кривую.
const MbVector3DGetDirection () const
 Вектор ориентации матрицы преобразования.
bool SetDirection (const MbVector3D &d, bool checkBySpineCurve=false)
 Изменить вектор ориентации матрицы преобразования.
bool IsParallel () const
 Признак параллельного переноса.
void SetParallel (bool p)
 Изменить признак параллельного переноса.
bool IsUserDirection () const
 Признак пользовательского направления.
double GetOrtParam () const
 Параметр кривой, для которой расчитан базис направляющей.
void SetOrtParam (double t)
 Установить параметр кривой, для которой расчитан базис направляющей.
size_t GetSegmentsCount () const
 Количество сегментов направляющей кривой.
void PrepareWrite ()
 Функция регистрации по количеству ссылок для предотвращения многократной записи.

Открытые статические члены

static MbSpineCreate (const MbCurve3D &c, bool parallel, bool same, VERSION version=Math::DefaultMathVersion())
 Конструктор по направляющей кривой.
static MbSpineCreate (const MbCurve3D &c, bool same, const MbVector3D &dir, bool parallel, VERSION version=Math::DefaultMathVersion())
 Конструктор по направляющей кривой и вектору ориентации матрицы преобразования.
static MbSpineCreate (const MbCurve3D &sp, bool sameS, const MbCurve3D &dc, bool sameD, bool paral, VERSION version=Math::DefaultMathVersion())
 Конструктор по направляющей кривой и кривой векторa ориентации матрицы преобразования.

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

 MbSpine (const MbCurve3D &c, bool parallel, bool same, VERSION version=Math::DefaultMathVersion())
 Конструктор по направляющей кривой.
 MbSpine (const MbCurve3D &c, bool same, const MbVector3D &dir, bool parallel, VERSION version=Math::DefaultMathVersion())
 Конструктор по направляющей кривой и вектору ориентации матрицы преобразования.
 MbSpine (const MbCurve3D &sp, bool sameS, const MbCurve3D &dc, bool sameD, bool paral, VERSION version=Math::DefaultMathVersion())
 Конструктор по направляющей кривой и кривой векторa ориентации матрицы преобразования.
 MbSpine (const MbSpine &, MbRegDuplicate *)

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

Криволинейная направляющая для кинематической поверхности служит для расчёта в каждой точке направляющей кривой местной система координат.
Местная ось Z ориентирована по касательной к кривой curve.
Местная ось X ориентирована по вектору direction.
Местная ось Y дополняет систему до правой системы координат.


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

MbSpine::MbSpine ( const MbCurve3D c,
bool  parallel,
bool  same,
VERSION  version = Math::DefaultMathVersion() 
) [protected]

Конструктор по направляющей кривой.

Аргументы:
[in]c- Направляющая кривая
[in]parallel- Признак параллельного переноса
[in]same- Признак использования оригинала направляющей кривой, а не ее копии
[in]version- Версия операции
MbSpine::MbSpine ( const MbCurve3D c,
bool  same,
const MbVector3D dir,
bool  parallel,
VERSION  version = Math::DefaultMathVersion() 
) [protected]

Конструктор по направляющей кривой и вектору ориентации матрицы преобразования.

Аргументы:
[in]c- Направляющая кривая
[in]same- Признак использования оригинала направляющей кривой, а не ее копии
[in]direction- Вектор ориентации матрицы преобразования.
[in]parallel- Признак параллельного переноса
[in]version- Версия операции
MbSpine::MbSpine ( const MbCurve3D sp,
bool  sameS,
const MbCurve3D dc,
bool  sameD,
bool  paral,
VERSION  version = Math::DefaultMathVersion() 
) [protected]

Конструктор по направляющей кривой и кривой векторa ориентации матрицы преобразования.

Аргументы:
[in]sp- Направляющая кривая
[in]sameS- Признак использования оригинала направляющей кривой, а не ее копии
[in]dc- Кривая векторa ориентации матрицы преобразования
[in]sameD- Признак использования оригинала кривой векторa ориентации матрицы преобразования, а не ее копии
[in]paral- Признак параллельного переноса

Методы

void MbSpine::TransformMatrix ( double  v,
MbMatrix3D matrix 
) const

Определение матрицы переноса для образующей.

Аргументы:
[in]v- Параметр на направляющей кривой
[out]matrix- Результат - матрица
void MbSpine::MoveVector ( double &  v,
MbVector3D vect 
) const

Определение вектора переноса для образующей.

Аргументы:
[in]v- Параметр на направляющей кривой
[out]vect- Результат - вектор
const MbVector3D& MbSpine::GetOrt0 ( ) const [inline]

Первой вектор базиса в рассчитанной направляющей.

Возвращает:
Вектор
void MbSpine::CalculateMatrix ( double &  v,
bool  ext,
MbMatrix3D matrix0,
MbMatrix3D matrix1,
MbMatrix3D matrix2 
) const

Вычисление матриц преобразования радиуса-вектора (matrix0) и его первой и второй производных (matrix1, matrix2) для параметра на направляющей. При ext==true функция переносит параметр v в область определения направляющей кривой.

Аргументы:
[in,out]v- Параметр на направляющей кривой
MbPlacement3D MbSpine::GetPlacement ( double  v) const

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

Аргументы:
[in]v- Параметр на направляющей кривой
void MbSpine::PrepareWrite ( ) [inline]

Функция регистрации по количеству ссылок для предотвращения многократной записи.

static MbSpine& MbSpine::Create ( const MbCurve3D c,
bool  parallel,
bool  same,
VERSION  version = Math::DefaultMathVersion() 
) [static]

Конструктор по направляющей кривой.

Аргументы:
[in]c- Направляющая кривая
[in]parallel- Признак параллельного переноса
[in]same- Признак использования оригинала направляющей кривой, а не ее копии
[in]version- Версия операции
static MbSpine* MbSpine::Create ( const MbCurve3D c,
bool  same,
const MbVector3D dir,
bool  parallel,
VERSION  version = Math::DefaultMathVersion() 
) [static]

Конструктор по направляющей кривой и вектору ориентации матрицы преобразования.

Аргументы:
[in]c- Направляющая кривая
[in]same- Признак использования оригинала направляющей кривой, а не ее копии
[in]direction- Вектор ориентации матрицы преобразования.
[in]parallel- Признак параллельного переноса
[in]version- Версия операции
static MbSpine* MbSpine::Create ( const MbCurve3D sp,
bool  sameS,
const MbCurve3D dc,
bool  sameD,
bool  paral,
VERSION  version = Math::DefaultMathVersion() 
) [static]

Конструктор по направляющей кривой и кривой векторa ориентации матрицы преобразования.

Аргументы:
[in]sp- Направляющая кривая
[in]sameS- Признак использования оригинала направляющей кривой, а не ее копии
[in]dc- Кривая векторa ориентации матрицы преобразования
[in]sameD- Признак использования оригинала кривой векторa ориентации матрицы преобразования, а не ее копии
[in]paral- Признак параллельного переноса

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