C3D Toolkit
Kernel  117950, Vision  2.7.5.29

Classes  
class  MbArc 
Elliptical arc in twodimensional space. More...  
class  MbBezier 
Bezier spline in twodimensional space. More...  
class  MbCharacterCurve 
Functionally defined twodimensional curve. More...  
class  MbContour 
Contour in twodimensional space. More...  
class  MbContourWithBreaks 
Contour with breaks. More...  
class  MbCosinusoid 
Cosinusoid in twodimensional space. More...  
class  MbCubicSpline 
Cubic spline in twodimensional space. More...  
class  MbHermit 
Composite Hermite cubic spline in twodimensional space. More...  
class  MbLine 
Line in twodimensional space. More...  
class  MbLineSegment 
Line segment in twodimensional space. More...  
class  MbNurbs 
NURBS curve in twodimensional space. More...  
class  MbOffsetCurve 
Offset extended curve. More...  
class  MbPointCurve 
The curve degenerated to a point. More...  
class  MbPolyCurve 
Curve in twodimensional space, defined by points. More...  
class  MbPolyline 
Polyline in twodimensional space. More...  
class  MbReparamCurve 
Reparametrized curve in twodimensional space. More...  
class  MbTrimmedCurve 
Trimmed curve in twodimensional space. More...  
class  MbCurve 
Curve in twodimensional space. More...  
Functions  
bool  CreateOffsetElliptic (const MbArc &curve, double rad, RPArray< MbCurve > &segments, size_t &count, bool setArcLimits=false) 
Creation of the offset curve (arc) of ellipse with different semiaxes subject to selfintersections. More...  
void  EllipticWrite (writer &out, const MbArc *curve) 
Writes to the stream for older versions. More...  
void  TrimmedWrite (writer &out, const MbTrimmedCurve *curve) 
Writes to the stream for older versions. More...  
Functions for working in the curve's domain.  
Functions PointOn, FirstDer, SecondDer, ThirdDer,... correct parameter when it is out of domain bounds. The exception is MbLine (line).  
virtual void  MbCurve::PointOn (double &t, MbCartPoint &p) const =0 
Calculate a point on the curve. More...  
virtual void  MbCurve::FirstDer (double &t, MbVector &v) const =0 
Calculate first derivative.  
virtual void  MbCurve::SecondDer (double &t, MbVector &v) const =0 
Calculate second derivative.  
virtual void  MbCurve::ThirdDer (double &t, MbVector &v) const =0 
Calculate third derivative.  
void  MbCurve::Tangent (double &t, MbVector &v) const 
Calculate tangent vector (normalized).  
void  MbCurve::Tangent (double &t, MbDirection &d) const 
Calculate tangent vector (normalized).  
void  MbCurve::Normal (double &t, MbVector &v) const 
Calculate main normal vector (normalized).  
void  MbCurve::Normal (double &t, MbDirection &d) const 
Calculate main normal vector (normalized).  
Functions for working inside and outside the curve's domain.  
Functions _PointOn, _FirstDer, _SecondDer, _ThirdDer,... do not correct parameter when it is out of domain bounds. When parameter is out of domain bounds, an unclosed curve is extended by tangent vector at corresponding end point in general case. The exceptions are arcs of ellipse and arcs of circle  they are extended according to their equations.  
virtual void  MbCurve::_PointOn (double t, MbCartPoint &p) const 
Calculate point at curve and its extension. More...  
virtual void  MbCurve::_FirstDer (double t, MbVector &v) const 
Calculate first derivative at curve and its extension.  
virtual void  MbCurve::_SecondDer (double t, MbVector &v) const 
Calculate second derivative at curve and its extension.  
virtual void  MbCurve::_ThirdDer (double t, MbVector &v) const 
Calculate third derivative at curve and its extension.  
void  MbCurve::_Tangent (double t, MbVector &v) const 
Calculate tangent vector (normalized).  
void  MbCurve::_Tangent (double t, MbDirection &d) const 
Calculate tangent vector (normalized).  
void  MbCurve::_Normal (double t, MbVector &v) const 
Calculate main normal vector (normalized) at curve and its extension.  
void  MbCurve::_Normal (double t, MbDirection &d) const 
Calculate main normal vector (normalized) at curve and its extension.  
virtual void  MbCurve::Explore (double &t, bool ext, MbCartPoint &pnt, MbVector &fir, MbVector *sec, MbVector *thir) const 
Calculate point and derivatives of object for given parameter. More...  
bool CreateOffsetElliptic  (  const MbArc &  curve, 
double  rad,  
RPArray< MbCurve > &  segments,  
size_t &  count,  
bool  setArcLimits = false 

) 
Creation of the offset curve (arc) of ellipse with different semiaxes subject to selfintersections.
Creation of the offset curve (arc) of ellipse with different semiaxes subject to selfintersections.
Not for (arc of) a circle  exits with flag true but constructs nothing.
Writes to the stream for older versions.
Writes to the stream for older versions.
void TrimmedWrite  (  writer &  out, 
const MbTrimmedCurve *  curve  
) 
Writes to the stream for older versions.
Writes to the stream for older versions.

pure virtual 
Calculate a point on the curve.
Correct parameter when getting out of domain bounds and calculate a point on the curve.
[in]  t   Curve parameter. 
[out]  p   A point on the curve. 
Implemented in MbOffsetCurve, MbNurbs, MbTrimmedCurve, MbReparamCurve, MbProjCurve, MbPolyline, MbPointCurve, MbLineSegment, MbLine, MbHermit, MbCosinusoid, MbBezier, MbCharacterCurve, MbArc, MbCubicSpline, and MbContour.

virtual 
Calculate point at curve and its extension.
Calculate a point on the curve including the outside area determination parameter.
[in]  t   Curve parameter. 
[out]  p   A point on the curve. 
Reimplemented in MbContour, MbTrimmedCurve, MbReparamCurve, MbProjCurve, MbPointCurve, MbOffsetCurve, MbLineSegment, MbLine, MbHermit, MbCosinusoid, and MbArc.

virtual 
Calculate point and derivatives of object for given parameter.
Values of point and derivatives are calculated on parameter area and on extended curve.
[in]  t   Parameter. 
[in]  ext   On parameters area (false), on extended curve (true). 
[out]  pnt   Point. 
[out]  fir   Derivative with respect to t. 
[out]  sec   Second derivative with respect to t, if not nullptr. 
[out]  thir   Third derivative with respect to t, if not nullptr. 
Reimplemented in MbTrimmedCurve, MbReparamCurve, MbProjCurve, MbPolyline, MbPointCurve, MbOffsetCurve, MbNurbs, MbLineSegment, MbLine, MbHermit, MbCubicSpline, MbCosinusoid, MbContour, MbCharacterCurve, MbBezier, and MbArc.