C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
+ Collaboration diagram for Three-Dimensional Base Objects:

Classes

class  MbAxis3D
 The axis-vector which is attached to a fixed point. More...
 
class  MbCartPoint3D
 The three-dimensional point. More...
 
class  MbCube
 The bounding box. More...
 
class  MbHomogeneous3D
 Extended point with homogeneous coordinates in the three-dimensional space. More...
 
class  MbMatrix3D
 The extended matrix of transformation in a three-dimensional space. More...
 
class  MbOrientedBox
 An arbitrarily oriented bounding box (OBB) that includes some geometric object within box boundaries. More...
 
class  MbPlacement3D
 Local coordinate system in three dimensional space. More...
 
class  MbRect1D
 One-dimensional box. More...
 
class  MbRect2D
 A two-dimensional box. More...
 
class  MbRect3D
 Three-dimensional box. More...
 
class  MbVector3D
 Vector in three-dimensional space. More...
 

Enumerations

enum  MbeLocalSystemType3D { ls_CartesianSystem , ls_CylindricalSystem , ls_SphericalSystem }
 Types of local coordinate systems in three dimensional space. More...
 

Functions

template<class BBox >
bool c3d::EqualCubes (const BBox &c1, const BBox &c2, double eps)
 Check for equality of boxes with controlled tolerance. More...
 
MbCartPoint3D operator* (const MbCartPoint3D &pnt, double factor)
 The multiplication of a point by a number. More...
 
MbCartPoint3D operator/ (const MbCartPoint3D &pnt, double factor)
 The division of a point by a number. More...
 
MbCartPoint3D operator* (double factor, const MbCartPoint3D &pnt)
 The multiplication of point coordinates by a number. More...
 
bool MbPlacement3D::LineIntersectionPoint (const MbCartPoint3D &origin, const MbVector3D &direction, MbCartPoint3D &p, double &d, double eps=ANGLE_EPSILON) const
 Find the nearest point of intersection with line. More...
 
void CartesianToCylindrical (double &x, double &y, double &z)
 Function for transforming coordinates from the Cartesian coordinate system to a cylindrical coordinate system. More...
 
void CylindricalToCartesian (double &x, double &y, double &z)
 Function for transforming coordinates from a cylindrical coordinate system to a Cartesian coordinate system. More...
 
void CylindricalToSpherical (double &x, double &y, double &z)
 Function for transforming coordinates from a cylindrical coordinate system to a spherical coordinate system. More...
 
void CartesianToSpherical (double &x, double &y, double &z)
 Function for transforming coordinates from a Cartesian coordinate system to a spherical coordinate system. More...
 
void SphericalToCartesian (double &x, double &y, double &z)
 Function for transforming coordinates from a spherical coordinate system to a Cartesian coordinate system. More...
 
void SphericalToCylindrical (double &x, double &y, double &z)
 Function for transforming coordinates from a spherical coordinate system to a cylindrical coordinate system. More...
 
bool c3d::Nonzero (const MbVector3D &vec, double eps)
 Check equality of vector to zero with given tolerance. More...
 

Detailed Description

Enumeration Type Documentation

◆ MbeLocalSystemType3D

Types of local coordinate systems in three dimensional space.

Enumerator
ls_CartesianSystem 

Cartesian coordinate system.

ls_CylindricalSystem 

Cylindrical coordinate system.

ls_SphericalSystem 

Spherical coordinate system.

Function Documentation

◆ EqualCubes()

template<class BBox >
bool c3d::EqualCubes ( const BBox &  c1,
const BBox &  c2,
double  eps 
)

Check for equality of boxes with controlled tolerance.

Check for equality of boxes with controlled tolerance.

◆ operator*() [1/2]

MbCartPoint3D operator* ( const MbCartPoint3D pnt,
double  factor 
)
inline

The multiplication of a point by a number.

Parameters
[in]pnt- A point.
[in]factor- A number.
Returns
Returns a point multiplied by a number.

◆ operator/()

MbCartPoint3D operator/ ( const MbCartPoint3D pnt,
double  factor 
)
inline

The division of a point by a number.

Parameters
[in]pnt- A point.
[in]factor- A number.
Returns
Returns a point divided by a number.

◆ operator*() [2/2]

MbCartPoint3D operator* ( double  factor,
const MbCartPoint3D pnt 
)
inline

The multiplication of point coordinates by a number.

Parameters
[in]factor- A number.
[in]pnt- A point.
Returns
A point with coordinates multiplied by factor.

◆ LineIntersectionPoint()

bool MbPlacement3D::LineIntersectionPoint ( const MbCartPoint3D origin,
const MbVector3D direction,
MbCartPoint3D p,
double &  d,
double  eps = ANGLE_EPSILON 
) const

Find the nearest point of intersection with line.

Find the nearest point of intersection with a line. The line is set by its origin and direction: p(d) = origin + d * direction.

Parameters
[in]origin- The origin of the input line.
[in]direction- The direction of the input line.
[out]p- The found intersection point.
[out]d- A parameter of the intersection point along the line.
[in]eps- A tolerance determining the situation when the line is parallel to the plane.
Returns
Returns true if the intersection point has been found.

◆ CartesianToCylindrical()

void CartesianToCylindrical ( double &  x,
double &  y,
double &  z 
)

Function for transforming coordinates from the Cartesian coordinate system to a cylindrical coordinate system.

Function for transforming coordinates from Cartesian coordinate system to a cylindrical coordinate system

Parameters
[in,out]x,y,z- Source coordinates.

◆ CylindricalToCartesian()

void CylindricalToCartesian ( double &  x,
double &  y,
double &  z 
)

Function for transforming coordinates from a cylindrical coordinate system to a Cartesian coordinate system.

Function for transforming coordinates from a cylindrical coordinate system to a Cartesian coordinate system

Parameters
[in,out]x,y,z- Source coordinates.

◆ CylindricalToSpherical()

void CylindricalToSpherical ( double &  x,
double &  y,
double &  z 
)

Function for transforming coordinates from a cylindrical coordinate system to a spherical coordinate system.

Function for transforming coordinates from a cylindrical coordinate system to a spherical coordinate system

Parameters
[in,out]x,y,z- Source coordinates.

◆ CartesianToSpherical()

void CartesianToSpherical ( double &  x,
double &  y,
double &  z 
)

Function for transforming coordinates from a Cartesian coordinate system to a spherical coordinate system.

Function for transforming coordinates from a Cartesian coordinate system to a spherical coordinate system

Parameters
[in,out]x,y,z- Source coordinates.

◆ SphericalToCartesian()

void SphericalToCartesian ( double &  x,
double &  y,
double &  z 
)

Function for transforming coordinates from a spherical coordinate system to a Cartesian coordinate system.

Function for transforming coordinates from a spherical coordinate system to a Cartesian coordinate system

Parameters
[in,out]x,y,z- Source coordinates.

◆ SphericalToCylindrical()

void SphericalToCylindrical ( double &  x,
double &  y,
double &  z 
)

Function for transforming coordinates from a spherical coordinate system to a cylindrical coordinate system.

Function for transforming coordinates from a spherical coordinate system to a cylindrical coordinate system

Parameters
[in,out]x,y,z- Source coordinates.

◆ Nonzero()

bool c3d::Nonzero ( const MbVector3D vec,
double  eps 
)
inline

Check equality of vector to zero with given tolerance.

Check equality of vector to zero with given tolerance. Vector is nonzero if its coordinates are greater than given tolerance.

Parameters
[in]vec- A vector.
[in]eps- Coordinate tolerance.
Returns
Returns true if the vector is nonzero.