C3D Kernel  104598
Открытые члены | Открытые статические члены | Открытые атрибуты | Статические открытые данные

Трехмерная точка. Подробнее...

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

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

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

 MbCartPoint3D ()
 Конструктор без параметров, точка расположена в начале глобальных координат.
 MbCartPoint3D (const MbCartPoint3D &p)
 Конструктор копирования.
 MbCartPoint3D (const MbFloatPoint3D &)
 Конструктор копирования.
 MbCartPoint3D (double xx, double yy, double zz)
 Конструктор по координатам.
 MbCartPoint3D (const MbCartPoint3D &p, const MbMatrix3D &matr)
 Конструктор по точке в локальной системе координат.
 MbCartPoint3D (const MbCartPoint &p, const MbPlacement3D &place)
 Конструктор по двумерной точке.
void Init (const MbCartPoint &p, const MbPlacement3D &place)
 Инициализация по двумерной точке.
void Init (const MbCartPoint &p)
 Инициализация по двумерной точке.
template<class Point >
void Init (const Point &p)
 Инициализировать по другой точке.
void Init (double xx, double yy, double zz)
 Инициализировать по координатам.
MbCartPoint3DTransform (const MbMatrix3D &)
 Преобразовать согласно матрице.
MbCartPoint3DMove (double dx, double dy, double dz)
 Сдвинуть вдоль вектора.
MbCartPoint3DMove (const MbVector3D &to)
 Сдвинуть вдоль вектора.
MbCartPoint3DRotate (const MbAxis3D &, double angle)
 Повернуть вокруг оси.
double DistanceToPoint (const MbCartPoint3D &) const
 Расстояние до точки.
void SetZero ()
 Обнулить координаты.
double DistanceToPoint2 (const MbCartPoint3D &to) const
 Квадрат расстояния от точки до точки.
void MoveAlongLine (const MbCartPoint3D &to, double delta)
 Сдвинуть по направлению точки to на расстояние delta.
void GoNearToPoint (const MbCartPoint3D &to, double ratio)
 Сдвинуть по направлению.
void Maximum (const MbCartPoint3D &p)
 Инициализация максимальными координатами.
void Minimum (const MbCartPoint3D &p)
 Инициализация минимальными координатами.
void Perspective (double znear)
 Увеличить координаты x и y в ( znear / z ) раз.
void Mirror (const MbCartPoint3D &p0, const MbVector3D &dir)
 Зеркальное отражение точки относительно плоскости.
void Scale (double sx, double sy, double sz)
 Масштабировать координаты.
void Scale (double s)
 Масштабировать координаты.
double MaxFactor () const
 Дать максимальную по модулю координату
bool SetRoundedValue (bool total, double eps)
 Округлить с точностью до eps.
void GetProperties (MbProperties &)
 Выдать свойства объекта.
void SetProperties (const MbProperties &)
 Записать свойства объекта.
bool IsSame (const MbCartPoint3D &other, double accuracy) const
 Являются ли объекты равными?
bool IsUndefined () const
 Является ли точка неопределенной?
Логические и арифметические операции.
void operator+= (const MbVector3D &)
 Добавить вектор.
void operator-= (const MbVector3D &)
 Вычесть вектор.
void operator+= (const MbCartPoint3D &)
 Добавить координаты точки.
void operator-= (const MbCartPoint3D &)
 Вычесть координаты точки.
void operator*= (double factor)
 Умножить координаты на число.
void operator/= (double factor)
 Разделить координаты на число.
bool operator== (const MbCartPoint3D &) const
 Проверить на равенство.
bool operator!= (const MbCartPoint3D &) const
 Проверить на неравенство.
bool operator< (const MbCartPoint3D &) const
 Проверить на меньше.
bool operator> (const MbCartPoint3D &) const
 Проверить на больше.
MbCartPoint3Doperator= (const MbCartPoint3D &)
 Присвоить точке координаты другой точки.
MbCartPoint3Doperator= (const MbFloatPoint3D &)
 Присвоить точке координаты другой точки.
MbCartPoint3Doperator= (const MbVector3D &)
 Присвоить точке компоненты вектора.
MbCartPoint3Doperator= (const MbHomogeneous3D &)
 Присвоить точке значения однородных координат.
MbCartPoint3D operator+ (const MbVector3D &) const
 Сложить точку и вектор.
MbCartPoint3D operator- (const MbVector3D &) const
 Вычесть из точки вектор.
MbVector3D operator+ (const MbCartPoint3D &) const
 Сложить две точки.
MbVector3D operator- (const MbCartPoint3D &) const
 Вычесть из точки точку.
MbCartPoint3D operator- ()
 Унарный минус.
MbCartPoint3D operator* (const MbMatrix3D &) const
 Вычислить точку как копию данной точки, преобразованную матрицей.
double & operator[] (size_t i)
 Доступ к координате по индексу.
double operator[] (size_t i) const
 Значение координаты по индексу.
Функции сложения и умножения точек с точками и с векторами.
MbCartPoint3DSetAdd (const MbCartPoint3D &v1, const MbVector3D &v2)
 Приравнять координаты сумме координат точки и вектора.
MbCartPoint3DSetDec (const MbCartPoint3D &v1, const MbVector3D &v2)
 Приравнять координаты разности координат точки и вектора.
MbCartPoint3DSet (const MbCartPoint3D &v1, const MbVector3D &v2, double t2)
 Приравнять координаты сумме координат точки и вектора.
MbCartPoint3DSet (const MbCartPoint3D &v1, const MbVector3D &v2, double t2, const MbVector3D &v3, double t3)
 Приравнять координаты сумме координат точки и двух векторов.
MbCartPoint3DSet (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2)
 Приравнять координаты сумме компонент двух векторов.
MbCartPoint3DSet (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2, const MbVector3D &v3, double t3, const MbVector3D &v4, double t4)
 Приравнять координаты сумме компонент четырех векторов.
MbCartPoint3DSet (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2)
 Приравнять координаты сумме координат двух точек.
MbCartPoint3DSet (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2, const MbCartPoint3D &v3, double t3)
 Приравнять координаты сумме координат трех точек.
MbCartPoint3DSet (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2, const MbCartPoint3D &v3, double t3, const MbCartPoint3D &v4, double t4)
 Приравнять координаты сумме координат четырех точек.
void Add (const MbVector3D &v1, double t1)
 Увеличить координаты на значения компонент вектора.
void Add (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2)
 Увеличить координаты на значения компонент двух векторов.
void Add (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2, const MbVector3D &v3, double t3)
 Увеличить координаты на значения компонент трех векторов.
void Add (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2, const MbVector3D &v3, double t3, const MbVector3D &v4, double t4)
 Увеличить координаты на значения компонент четырех векторов.
void Add (const MbCartPoint3D &v1, double t1)
 Увеличить координаты на значения координат точки.
void Add (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2, const MbCartPoint3D &v3, double t3)
 Увеличить координаты на значения координат трех точек.
void Add (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2, const MbCartPoint3D &v3, double t3, const MbCartPoint3D &v4, double t4)
 Увеличить координаты на значения координат четырех точек.

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

static size_t GetDimension ()
 Количество координат точки.

Открытые атрибуты

double x
 Первая координата точки.
double y
 Вторая координата точки.
double z
 Третья координата точки.

Статические открытые данные

static const MbCartPoint3D origin
 Начало координат или { 0, 0, 0 }.

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

Трехмерная точка (картезианская точка) описывается тремя координатами в декартовой системе координат. Точка названа картезианской в честь французского учёного геометра Рене Декарта (Rene Descartes, по латыни Renatus Cartesius).
Точку можно описать радиусом-вектором. Радиус-вектор описывает преобразование, переводящее начальную точку декартовой системы координат в точку пространства с заданными координатами в этой декартовой системе координат.


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

MbCartPoint3D::MbCartPoint3D ( const MbCartPoint3D p,
const MbMatrix3D matr 
)

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

Аргументы:
[in]p- Точка в локальной системе координат.
[in]matr- Матрица перехода из локальной системы координат в глобальную.
MbCartPoint3D::MbCartPoint3D ( const MbCartPoint p,
const MbPlacement3D place 
)

Двумерная точка лежит в плоскости XOY заданной локальной системы координат.

Аргументы:
[in]p- Двумерная точка.
[in]place- Исходная локальная система координат.

Методы

void MbCartPoint3D::Init ( const MbCartPoint p,
const MbPlacement3D place 
)

Двумерная точка лежит в плоскости XOY заданной локальной системы координат.

Аргументы:
[in]p- Двумерная точка.
[in]place- Исходная локальная система координат.
double MbCartPoint3D::DistanceToPoint2 ( const MbCartPoint3D to) const [inline]

Вычислить квадрат расстояния от точки до точки.

Аргументы:
[in]to- Точка.
Возвращает:
Квадрат расстояния от точки до точки.
void MbCartPoint3D::GoNearToPoint ( const MbCartPoint3D to,
double  ratio 
) [inline]

Сдвиг по направлению точки to на расстояние, определяемое отношением величины ratio к расстоянию между точками.

Аргументы:
[in]to- Точка.
[in]ratio- Доля расстояния.
void MbCartPoint3D::Maximum ( const MbCartPoint3D p) [inline]

Координата x (или y,z) точки инициализируется максимальным значением получаемым из сравнения соответствующей координаты исходной точки и точки заданной в аргументе функции.

Аргументы:
[in]p- Заданная точка.
void MbCartPoint3D::Minimum ( const MbCartPoint3D p) [inline]

Координата x (или y,z) точки инициализируется минимальным значением получаемым из сравнения соответствующей координаты исходной точки и точки заданной в аргументе функции.

Аргументы:
[in]p- Заданная точка.
void MbCartPoint3D::Perspective ( double  znear)

Увеличение координат производится для учета перспективного преобразования. Точка должна находится в локальной или видовой системе координат. z - координата точки не может быть равна нулю.

Аргументы:
[in]znear- Величина znear/z определяет масштаб увеличения.
void MbCartPoint3D::Mirror ( const MbCartPoint3D p0,
const MbVector3D dir 
) [inline]

Зеркальное отражение точки относительно плоскости с началом p0 и нормалью dir.

Аргументы:
[in]p0- Точка плоскости симметрии.
[in]dir- Направление нормали плоскости симметрии.
MbCartPoint3D & MbCartPoint3D::SetAdd ( const MbCartPoint3D v1,
const MbVector3D v2 
) [inline]
Аргументы:
[in]v1- Исходная точка.
[in]v2- Исходный вектор.
MbCartPoint3D & MbCartPoint3D::SetDec ( const MbCartPoint3D v1,
const MbVector3D v2 
) [inline]
Аргументы:
[in]v1- Исходная точка.
[in]v2- Исходный вектор.
MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
const MbVector3D v2,
double  t2 
) [inline]

Приравнять координаты сумме координат точки v1 и вектора v2, умноженного на число t2.

Аргументы:
[in]v1- Исходная точка.
[in]v2- Исходный вектор.
[in]t2- Число, на которое умножаются координаты исходного вектора v2.
MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
const MbVector3D v2,
double  t2,
const MbVector3D v3,
double  t3 
) [inline]

Приравнять координаты сумме координат точки v1 и векторов v2 и v3, умноженных на числа t2 и t3, соответственно.

Аргументы:
[in]v1- Исходная точка.
[in]v2,v3- Исходные векторы.
[in]t2,t3- Числа, на которые умножаются координаты векторов v2 и v3 соответственно.
MbCartPoint3D & MbCartPoint3D::Set ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2 
) [inline]

Приравнять координаты сумме компонент векторов v1 и v2, умноженных на числа t1 и t2, соответственно.

Аргументы:
[in]v1,v2- Исходные векторы.
[in]t1,t2- Числа, на которые умножаются координаты векторов v1 и v2 соответственно.
MbCartPoint3D & MbCartPoint3D::Set ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2,
const MbVector3D v3,
double  t3,
const MbVector3D v4,
double  t4 
) [inline]

Приравнять координаты сумме компонент векторов v1, v2, v3 и v4, умноженных на числа t1, t2, t3 и t4, соответственно.

Аргументы:
[in]v1,v2,v3,v4- Исходные векторы.
[in]t1,t2,t3,t4- Числа, на которые умножаются координаты векторов v1, v2, v3 и v4 соответственно.
MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2 
) [inline]

Приравнять координаты сумме координат точек v1 и v2, умноженных на числа t1 и t2, соответственно.

Аргументы:
[in]v1,v2- Исходные точки.
[in]t1,t2- Числа, на которые умножаются координаты точек v1 и v2 соответственно.
MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2,
const MbCartPoint3D v3,
double  t3 
) [inline]

Приравнять координаты сумме координат точек v1, v2 и v3, умноженных на числа t1, t2 и t3, соответственно.

Аргументы:
[in]v1,v2,v3- Исходные точки.
[in]t1,t2,t3- Числа, на которые умножаются координаты точек v1, v2 и v3 соответственно.
MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2,
const MbCartPoint3D v3,
double  t3,
const MbCartPoint3D v4,
double  t4 
) [inline]

Приравнять координаты сумме координат точек v1, v2, v3 и v4, умноженных на числа t1, t2, t3 и t4, соответственно.

Аргументы:
[in]v1,v2,v3,v4- Исходные точки.
[in]t1,t2,t3,t4- Числа, на которые умножаются координаты точек v1, v2, v3 и v4 соответственно.
void MbCartPoint3D::Add ( const MbVector3D v1,
double  t1 
) [inline]

Увеличить координаты на значения компонент вектора v1, умноженных на число t1.

Аргументы:
[in]v1- Исходный вектор.
[in]t1- Число, на которое умножаются координаты исходного вектора v1.
void MbCartPoint3D::Add ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2 
) [inline]

Увеличить координаты на значения компонент векторов v1 и v2, умноженных на числа t1 и t2, соответственно.

Аргументы:
[in]v1,v2- Исходные векторы.
[in]t1,t2- Числа, на которые умножаются координаты векторов v1 и v2 соответственно.
void MbCartPoint3D::Add ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2,
const MbVector3D v3,
double  t3 
) [inline]

Увеличить координаты на значения компонент векторов v1, v2 и v3, умноженных на числа t1, t2 и t3, соответственно.

Аргументы:
[in]v1,v2,v3- Исходные векторы.
[in]t1,t2,t3- Числа, на которые умножаются координаты векторов v1, v2 и v3 соответственно.
void MbCartPoint3D::Add ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2,
const MbVector3D v3,
double  t3,
const MbVector3D v4,
double  t4 
) [inline]

Увеличить координаты на значения компонент векторов v1, v2, v3 и v4, умноженных на числа t1, t2, t3 и t4, соответственно.

Аргументы:
[in]v1,v2,v3,v4- Исходные векторы.
[in]t1,t2,t3,t4- Числа, на которые умножаются координаты векторов v1, v2, v3 и v4 соответственно.
void MbCartPoint3D::Add ( const MbCartPoint3D v1,
double  t1 
) [inline]

Увеличить координаты на значения координат точки v1, умноженных на число t1.

Аргументы:
[in]v1- Исходная точка.
[in]t1- Число, на которое умножаются координаты исходной точки v1.
void MbCartPoint3D::Add ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2,
const MbCartPoint3D v3,
double  t3 
) [inline]

Увеличить координаты на значения координат точек v1, v2 и v3, умноженных на числа t1, t2 и t3, соответственно.

Аргументы:
[in]v1,v2,v3- Исходные точки.
[in]t1,t2,t3- Числа, на которые умножаются координаты точек v1, v2 и v3 соответственно.
void MbCartPoint3D::Add ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2,
const MbCartPoint3D v3,
double  t3,
const MbCartPoint3D v4,
double  t4 
) [inline]

Увеличить координаты на значения координат точек v1, v2, v3 и v4, умноженных на числа t1, t2, t3 и t4, соответственно.

Аргументы:
[in]v1,v2,v3,v4- Исходные точки.
[in]t1,t2,t3,t4- Числа, на которые умножаются координаты точек v1, v2, v3 и v4 соответственно.
void MbCartPoint3D::Scale ( double  sx,
double  sy,
double  sz 
) [inline]
Аргументы:
[in]sx,sy,sz- Масштабирующие коэффициенты для компонент x, y и z соответственно.
void MbCartPoint3D::Scale ( double  s) [inline]
Аргументы:
[in]s- Масштабирующий коэффициент.
bool MbCartPoint3D::SetRoundedValue ( bool  total,
double  eps 
)

Округляются координаты точки с заданное точностью.

Аргументы:
[in]total- Если true, то округлять в любом случае.
[in]eps- Точность округления.
Возвращает:
true, если округление было выполнено.
bool MbCartPoint3D::IsSame ( const MbCartPoint3D other,
double  accuracy 
) const [inline]

Равными считаются объекты, данные которых равны с заданной точностью.

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

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