C3D Toolkit
Kernel - 117950, Vision - 2.7.5.29
|
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... | |
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.
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.