C3D Toolkit
Kernel  105435, Vision  121811.105435

Classes  
class  MbVertex 
Vertex. More...  
class  MbEdge 
Edge. More...  
class  MbCurveEdge 
Face edge. More...  
class  MbOrientedEdge 
Oriented edge. More...  
class  MbLoop 
Face loop. More...  
struct  LoopCrossParam 
Parameter of loops selfintersection. More...  
class  MbFace 
Face. More...  
class  MbFaceShell 
Shell or set of faces. More...  
class  MbLabel 
A label for performing of operations. More...  
class  MbTopItem 
Topological object in threedimensional space. More...  
class  MbTopologyItem 
Topological object with name. More...  
Enumerations  
enum  MbeTopologyType { tt_Undefined = 0, tt_TopItem = 1, tt_Vertex = 101, tt_Edge = 201, tt_CurveEdge = 202, tt_OrientedEdge = 203, tt_Loop = 301, tt_Face = 401, tt_FaceShell = 501, tt_FreeItem = 600 } 
Types of topological objects. More...  
enum  MbeChangedType { tct_Unchanged = 0x0000, tct_Modified = 0x0001, tct_Created = 0x0002, tct_Transformed = 0x0004, tct_Reoriented = 0x0008, tct_Deleted = 0x0010, tct_Truncated = 0x0020, tct_Merged = 0x0040, tct_Replaced = 0x0080, tct_Added = 0x0100, tct_Renamed = 0x0200 } 
The types of modification states of a topological object. More...  
Functions  
double  MbFace::DistanceToBorder (const MbCartPoint &point, double &precision) const 
Find a parametric distance to the nearest boundary. More...  
double  MbFace::DistanceToBorder (const MbCartPoint &point, MbVector &normal, size_t &loopNumber, size_t &edgeNumber, ptrdiff_t &corner, double &tEdgeCurve, double &precision) const 
Find a parametric distance to the nearest boundary. More...  
MbeItemLocation  MbFace::NearPointProjection (const MbCartPoint3D &point, double &u, double &v, MbVector3D &normal, c3d::IndicesPair &edgeLoc, ptrdiff_t &corner) const 
Find the nearest projection of the point on face. More...  
virtual void  MbTopologyItem::Transform (const MbMatrix3D &matr, MbRegTransform *iReg=NULL)=0 
Transform according to the matrix. More...  
virtual void  MbTopologyItem::Move (const MbVector3D &to, MbRegTransform *iReg=NULL)=0 
Move along a vector. More...  
virtual void  MbTopologyItem::Rotate (const MbAxis3D &axis, double angle, MbRegTransform *iReg=NULL)=0 
Rotate around an axis. More...  
enum MbeTopologyType 
Types of topological objects.
enum MbeChangedType 
The types of modification states of a topological object.
double MbFace::DistanceToBorder  (  const MbCartPoint &  point, 
double &  precision  
)  const 
Find a parametric distance to the nearest boundary.
The calculated distance is positive if the point is inside, and is negative if it is outside.
[in]  point   A point. 
[out]  precision   Precision of calculation. 
double MbFace::DistanceToBorder  (  const MbCartPoint &  point, 
MbVector &  normal,  
size_t &  loopNumber,  
size_t &  edgeNumber,  
ptrdiff_t &  corner,  
double &  tEdgeCurve,  
double &  precision  
)  const 
Find a parametric distance to the nearest boundary.
The calculated distance is positive if the point is inside, and is negative if it is outside.
[in]  point   A point. 
[out]  normal   Twodimensional normal of border at its closest point. 
[out]  loopNumber   Index of nearest loop. 
[out]  loopNumber   Index of nearest edge. 
[out]  corner   0, if the projection is not located on the edge, 1, if the projection is located at the end of the oriented edge with index edgeLoc, 1, if the projection is located at the begining of the oriented edge with index edgeLoc. 
[out]  tEdgeCurve   Curve parameter of the nearest edge. 
[out]  precision   Precision of calculation. 
MbeItemLocation MbFace::NearPointProjection  (  const MbCartPoint3D &  point, 
double &  u,  
double &  v,  
MbVector3D &  normal,  
c3d::IndicesPair &  edgeLoc,  
ptrdiff_t &  corner  
)  const 
Find the nearest projection of the point on face.
Find the nearest projection of the point on face or it border.
[in]  point   A point. 
[out]  u   Found u parameter of surface. 
[out]  v   Found v parameter of surface. 
[out]  normal   Normal of surface or boundaries (edges or vertices) at the point of the projection. 
[out]  edgeLoc   If the projection is not no the edge, then SYS_MAX_T, SYS_MAX_T. If the projection is on the edge, then the loop index and edge index in the loop. 
[out]  corner   0, if the projection is not located on the edge, 1, if the projection is located at the end of the oriented edge with index edgeLoc, 1, if the projection is located at the begining of the oriented edge with index edgeLoc. 

pure virtual 
Transform according to the matrix.
Transformation of an object according to the matrix. This object can be contained as pointer in several other objects for transformations. Registrar is used to prevent multiple transformation of this object. When transforming the object with registrator, the existence of the object inside the registrator is verified. If such object is absent, it is stored to the registrator and transformed, otherwise, a transformation of the object is not performed.
[in]  matr   A transformation matrix. 
[in]  iReg   Registrator. 

pure virtual 
Move along a vector.
Move an object along a vector. When transforming the object with registrator, the existence of the object inside the registrator is verified. If such object is absent, it is stored to the registrator and transformed, otherwise, a transformation of the object is not performed.
[in]  to   Translation vector. 
[in]  iReg   Registrator. 

pure virtual 
Rotate around an axis.
Rotate an object at a given angle around an axis. When transforming the object with registrator, the existence of the object inside the registrator is verified. If such object is absent, it is stored to the registrator and transformed, otherwise, a transformation of the object is not performed.
[in]  axis   Rotation axis. 
[in]  angle   The rotation angle. 
[in]  iReg   Registrator. 