C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
+ Collaboration diagram for Two-Dimensional uv-Curves:

Classes

class  MbArc
 Elliptical arc in two-dimensional space. More...
 
class  MbBezier
 Bezier spline in two-dimensional space. More...
 
class  MbCharacterCurve
 Functionally defined two-dimensional curve. More...
 
class  MbContour
 Contour in two-dimensional space. More...
 
class  MbContourWithBreaks
 Contour with breaks. More...
 
class  MbCosinusoid
 Cosinusoid in two-dimensional space. More...
 
class  MbCubicSpline
 Cubic spline in two-dimensional space. More...
 
class  MbHermit
 Composite Hermite cubic spline in two-dimensional space. More...
 
class  MbLine
 Line in two-dimensional space. More...
 
class  MbLineSegment
 Line segment in two-dimensional space. More...
 
class  MbNurbs
 NURBS curve in two-dimensional space. More...
 
class  MbOffsetCurve
 Offset extended curve. More...
 
class  MbPointCurve
 The curve degenerated to a point. More...
 
class  MbPolyCurve
 Curve in two-dimensional space, defined by points. More...
 
class  MbPolyline
 Polyline in two-dimensional space. More...
 
class  MbReparamCurve
 Reparametrized curve in two-dimensional space. More...
 
class  MbTrimmedCurve
 Trimmed curve in two-dimensional space. More...
 
class  MbCurve
 Curve in two-dimensional 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 self-intersections. 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...
 

Detailed Description

Function Documentation

◆ CreateOffsetElliptic()

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 self-intersections.

Creation of the offset curve (arc) of ellipse with different semiaxes subject to self-intersections.
Not for (arc of) a circle - exits with flag true but constructs nothing.

◆ EllipticWrite()

void EllipticWrite ( writer out,
const MbArc curve 
)

Writes to the stream for older versions.

Writes to the stream for older versions.

◆ TrimmedWrite()

void TrimmedWrite ( writer out,
const MbTrimmedCurve curve 
)

Writes to the stream for older versions.

Writes to the stream for older versions.

◆ PointOn()

virtual void MbCurve::PointOn ( double &  t,
MbCartPoint p 
) const
pure virtual

Calculate a point on the curve.

Correct parameter when getting out of domain bounds and calculate a point on the curve.

Parameters
[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.

◆ _PointOn()

virtual void MbCurve::_PointOn ( double  t,
MbCartPoint p 
) const
virtual

Calculate point at curve and its extension.

Calculate a point on the curve including the outside area determination parameter.

Parameters
[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.

◆ Explore()

virtual void MbCurve::Explore ( double &  t,
bool  ext,
MbCartPoint pnt,
MbVector fir,
MbVector sec,
MbVector thir 
) const
virtual

Calculate point and derivatives of object for given parameter.

Values of point and derivatives are calculated on parameter area and on extended curve.

Parameters
[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.