C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
Three-Dimensional Base Objects
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...

## ◆ MbeLocalSystemType3D

 enum 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.

## ◆ 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.