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

Классы

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 PointParamVector , typename PointVector >
void c3d::SplitHomoVector (const PointParamVector &hList, PointVector &uvList)
 Разделение координат и весов. Подробнее...
 
template<typename PointParamVector , typename PointVector , typename ParamVector >
void c3d::SplitHomoVector (const PointParamVector &hList, PointVector &uvList, ParamVector &tList)
 Разделение координат и весов. Подробнее...
 
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() [1/2]

template<typename PointParamVector , typename PointVector >
void c3d::SplitHomoVector ( const PointParamVector &  hList,
PointVector &  uvList 
)

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

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

◆ SplitHomoVector() [2/2]

template<typename PointParamVector , typename PointVector , typename ParamVector >
void c3d::SplitHomoVector ( const PointParamVector &  hList,
PointVector &  uvList,
ParamVector &  tList 
)

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

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

◆ 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

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