C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Three-dimensional point. More...

#include <mesh_float_point3d.h>

Public Member Functions

 MbFloatPoint3D ()
 Default constructor. More...
 
 MbFloatPoint3D (const MbCartPoint3D &)
 Constructor by Euclidean point.
 
 MbFloatPoint3D (const MbVector3D &)
 Constructor by a radius-vector.
 
 MbFloatPoint3D (const MbFloatPoint3D &p)
 Copy-constructor.
 
 MbFloatPoint3D (const MbFloatVector3D &)
 Constructor by a radius-vector.
 
 MbFloatPoint3D (double xx, double yy, double zz)
 Constructor.
 
Functions of point.
void Init (const MbCartPoint3D &)
 Initialize by point.
 
void Init (const MbVector3D &)
 Initialization by a radius-vector.
 
void Init (double xx, double yy, double zz)
 Initialization by coordinates.
 
void Set (const MbFloatPoint3D &v1, float t1, const MbFloatPoint3D &v2, float t2)
 
MbFloatPoint3DSet (const MbFloatPoint3D &v1, const MbFloatVector3D &v2, float t2)
 Equate coordinates to sum of point coordinates and vector coordinates. More...
 
void Transform (const MbMatrix3D &)
 Transform according to the matrix.
 
void Move (const MbVector3D &)
 Translate along a vector.
 
void Rotate (const MbAxis3D &, double angle)
 Rotate about an axis by an angle.
 
void TransformAsVector (const MbMatrix3D &)
 Transform an element as vector according to the matrix (without taking translation into account).
 
void RotateAsVector (const MbAxis3D &, double angle)
 Rotate an element as a vector by an angle about an axis (without taking translation into account).
 
void GetCartPoint (MbCartPoint3D &p) const
 Get the Cartesian point.
 
void GetVector (MbVector3D &p) const
 Get the vector.
 
void operator= (const MbCartPoint3D &)
 Assign values of point.
 
void operator= (const MbVector3D &)
 Assign values of vector.
 
void operator= (const MbFloatPoint3D &)
 Assign values of point.
 
bool operator== (const MbFloatPoint3D &) const
 Check for equality.
 
float DistanceToPoint (const MbFloatPoint3D &) const
 Calculate distance to point.
 
float DistanceToPoint2 (const MbFloatPoint3D &) const
 Calculate squared distance to point.
 
void operator+= (const MbFloatPoint3D &)
 Add coordinates of point.
 
void operator-= (const MbFloatPoint3D &)
 Subtract coordinates of point.
 
void operator+= (const MbFloatVector3D &)
 Add coordinates of vector.
 
void operator-= (const MbFloatVector3D &)
 Subtract coordinates of vector.
 
MbFloatPoint3D operator+ (const MbFloatVector3D &) const
 Addition of point and vector.
 
MbFloatPoint3D operator- (const MbFloatVector3D &) const
 Subtraction of vector from point.
 
MbFloatVector3D operator+ (const MbFloatPoint3D &) const
 Addition of two points.
 
MbFloatVector3D operator- (const MbFloatPoint3D &) const
 Subtraction of two points.
 
float & operator[] (size_t i)
 Get coordinate by its index.
 
float operator[] (size_t i) const
 Get coordinate by its index.
 
bool IsZero (double eps=Math::lengthEpsilon) const
 Whether coordinates is equal to zero with specified tolerance.
 
void GetProperties (MbProperties &)
 Get properties of the object.
 
void SetProperties (const MbProperties &)
 Set properties of the object.
 
bool IsSame (const MbFloatPoint3D &, double accuracy) const
 Are the objects equal? More...
 

Public Attributes

float x
 First coordinate of point.
 
float y
 Second coordinate of point.
 
float z
 Third coordinate of point.
 

Detailed Description

Three-dimensional point.

MbFloatPoint3D class is used for a three-dimensional point representation as well as a similar MbCartPoint3D class which differs by higher precision of representation. MbFloatPoint3D has data structure consisting of a triple of a single precision floating point numbers (float). Used for polygonal representation of a three-dimensional geometric objects in such data structures as polygon (MbPolygon3D) or triangulation (MbGrid).

Constructor & Destructor Documentation

◆ MbFloatPoint3D()

MbFloatPoint3D::MbFloatPoint3D ( )
inline

Default constructor.

Constructs a point with coordinates (0.0, 0.0, 0.0).

Member Function Documentation

◆ Set()

MbFloatPoint3D & MbFloatPoint3D::Set ( const MbFloatPoint3D v1,
const MbFloatVector3D v2,
float  t2 
)
inline

Equate coordinates to sum of point coordinates and vector coordinates.

Equate coordinates to sum of v1 point coordinates and v2 vector coordinates multiplied by t2.

Parameters
[in]v1- The initial point.
[in]v2- The initial vector.
[in]t2- Factor the coordinates of the initial vector v2 are multiplied by.

◆ IsSame()

bool MbFloatPoint3D::IsSame ( const MbFloatPoint3D other,
double  accuracy 
) const
inline

Are the objects equal?

The objects are equal if their data are equal with a given accuracy.

Parameters
[in]other- The object to compare.
[in]accuracy- The accuracy to compare.
Returns
Whether the objects are equal.

The documentation for this class was generated from the following file: