C3D Toolkit  Kernel - 106477, Vision - 190409.106477
+ Граф связей класса Двумерные базовые объекты:

Классы

class  MbCartPoint
 Декартова двумерная точка. Подробнее...
 
class  MbHomogeneous
 Расширенная точка с однородными координатами в двумерном пространстве. Подробнее...
 
class  MbMatrix
 Расширенная матрица преобразования в двумерном пространстве. Подробнее...
 
class  MbPlacement
 Локальная система координат в двумерном пространстве. Подробнее...
 
class  MbRect
 Габаритный прямоугольник. Подробнее...
 
class  MbVector
 Двумерный вектор. Подробнее...
 
class  MbDirection
 Двумерный нормализованный вектор. Подробнее...
 

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

enum  MbeLocalSystemType { ls_CartesSystem, ls_PolarSystem }
 Типы локальных систем координат в двумерном пространстве. Подробнее...
 
enum  TaeTwoRectPos { rp_FirstInside, rp_SecondInside, rp_Intersect, rp_NoIntersect }
 Возможные положения двух габаритов относительно друг друга. Подробнее...
 

Функции

template<typename ParamContainer , typename PointContainer >
void c3d::SplitHomoVector (const SArray< MbHomogeneous > &hList, PointContainer &uvList, ParamContainer *tList=NULL)
 Разделение координат и весов. Подробнее...
 
void MulMatrix (const MbMatrix &m1, const MbMatrix &m2, MbMatrix &res)
 Перемножить матрицы. Подробнее...
 
double Angle2Vectors (const MbVector &v1, const MbVector &v2)
 Вычисление минимального угла между двумя векторами Подробнее...
 

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

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

◆ MbeLocalSystemType

Типы локальных систем координат в двумерном пространстве.

Типы локальных систем координат в двумерном пространстве.

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

Декартова система координат.

ls_PolarSystem 

Полярная система координат.

◆ TaeTwoRectPos

Возможные положения двух габаритов относительно друг друга.

Возможные положения двух габаритов относительно друг друга.

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

Первый включает в себя второй габарит.

rp_SecondInside 

Второй включает в себя первый габарит.

rp_Intersect 

Габариты пересекаются.

rp_NoIntersect 

Габариты не пересекаются.

Функции

◆ SplitHomoVector()

template<typename ParamContainer , typename PointContainer >
void c3d::SplitHomoVector ( const SArray< MbHomogeneous > &  hList,
PointContainer &  uvList,
ParamContainer *  tList = NULL 
)

Разделение координат и весов.

Разделение координат и весов.
Дополнительная координата точки (вес) вводится для удобства работы с неоднородными рациональными сплайнами.

◆ MulMatrix()

void MulMatrix ( const MbMatrix m1,
const MbMatrix m2,
MbMatrix res 
)

Перемножить матрицы.

Умножение матрицы m1 на матрицу m2 (вместо res = m1 * m2).

Аргументы
[in]m1,m2- Исходные матрицы.
[out]res- Результирующая матрица.

◆ Angle2Vectors()

double Angle2Vectors ( const MbVector v1,
const MbVector v2 
)
inline

Вычисление минимального угла между двумя векторами

Вычисление угла между двумя векторами (-пи ... пи) Возвращает результат со знаком:
<0 находится слева от вектора v1
>0 находится справа от вектора v2

Заметки
Нормализация векторов не требуется