Open CASCADE Technology
7.2.0
|
This class describes a MultiCurve approximating a Multiline. As a Multiline is a set of n lines, a MultiCurve is a set of n curves. These curves are Bezier curves. A MultiCurve is composed of m MultiPoint. The approximating degree of these n curves is the same for each one. More...
#include <AppParCurves_MultiCurve.hxx>
Public Member Functions | |
AppParCurves_MultiCurve () | |
returns an indefinite MultiCurve. More... | |
AppParCurves_MultiCurve (const Standard_Integer NbPol) | |
creates a MultiCurve, describing Bezier curves all containing the same number of MultiPoint. An exception is raised if Degree < 0. More... | |
AppParCurves_MultiCurve (const AppParCurves_Array1OfMultiPoint &tabMU) | |
creates a MultiCurve, describing Bezier curves all containing the same number of MultiPoint. Each MultiPoint must have NbCurves Poles. More... | |
virtual | ~AppParCurves_MultiCurve () |
void | SetNbPoles (const Standard_Integer nbPoles) |
The number of poles of the MultiCurve will be set to <nbPoles>. More... | |
void | SetValue (const Standard_Integer Index, const AppParCurves_MultiPoint &MPoint) |
sets the MultiPoint of range Index to the value <MPoint>. An exception is raised if Index <0 or Index >NbMPoint. More... | |
Standard_Integer | NbCurves () const |
Returns the number of curves resulting from the approximation of a MultiLine. More... | |
virtual Standard_Integer | NbPoles () const |
Returns the number of poles on curves resulting from the approximation of a MultiLine. More... | |
virtual Standard_Integer | Degree () const |
returns the degree of the curves. More... | |
Standard_Integer | Dimension (const Standard_Integer CuIndex) const |
returns the dimension of the CuIndex curve. An exception is raised if CuIndex<0 or CuIndex>NbCurves. More... | |
void | Curve (const Standard_Integer CuIndex, TColgp_Array1OfPnt &TabPnt) const |
returns the Pole array of the curve of range CuIndex. An exception is raised if the dimension of the curve is 2d. More... | |
void | Curve (const Standard_Integer CuIndex, TColgp_Array1OfPnt2d &TabPnt) const |
returns the Pole array of the curve of range CuIndex. An exception is raised if the dimension of the curve is 3d. More... | |
const AppParCurves_MultiPoint & | Value (const Standard_Integer Index) const |
returns the Index MultiPoint. An exception is raised if Index <0 or Index >Degree+1. More... | |
const gp_Pnt & | Pole (const Standard_Integer CuIndex, const Standard_Integer Nieme) const |
returns the Nieme pole of the CuIndex curve. the curve must be a 3D curve. More... | |
const gp_Pnt2d & | Pole2d (const Standard_Integer CuIndex, const Standard_Integer Nieme) const |
returns the Nieme pole of the CuIndex curve. the curve must be a 2D curve. More... | |
void | Transform (const Standard_Integer CuIndex, const Standard_Real x, const Standard_Real dx, const Standard_Real y, const Standard_Real dy, const Standard_Real z, const Standard_Real dz) |
Applies a transformation to the curve of range <CuIndex>. newx = x + dx*oldx newy = y + dy*oldy for all points of the curve. newz = z + dz*oldz. More... | |
void | Transform2d (const Standard_Integer CuIndex, const Standard_Real x, const Standard_Real dx, const Standard_Real y, const Standard_Real dy) |
Applies a transformation to the Curve of range <CuIndex>. newx = x + dx*oldx newy = y + dy*oldy for all points of the curve. More... | |
virtual void | Value (const Standard_Integer CuIndex, const Standard_Real U, gp_Pnt &Pt) const |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d. More... | |
virtual void | Value (const Standard_Integer CuIndex, const Standard_Real U, gp_Pnt2d &Pt) const |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d. More... | |
virtual void | D1 (const Standard_Integer CuIndex, const Standard_Real U, gp_Pnt &Pt, gp_Vec &V1) const |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d. More... | |
virtual void | D1 (const Standard_Integer CuIndex, const Standard_Real U, gp_Pnt2d &Pt, gp_Vec2d &V1) const |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d. More... | |
virtual void | D2 (const Standard_Integer CuIndex, const Standard_Real U, gp_Pnt &Pt, gp_Vec &V1, gp_Vec &V2) const |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d. More... | |
virtual void | D2 (const Standard_Integer CuIndex, const Standard_Real U, gp_Pnt2d &Pt, gp_Vec2d &V1, gp_Vec2d &V2) const |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d. More... | |
virtual void | Dump (Standard_OStream &o) const |
Prints on the stream o information on the current state of the object. Is used to redefine the operator <<. More... | |
Protected Attributes | |
Handle< AppParCurves_HArray1OfMultiPoint > | tabPoint |
This class describes a MultiCurve approximating a Multiline. As a Multiline is a set of n lines, a MultiCurve is a set of n curves. These curves are Bezier curves. A MultiCurve is composed of m MultiPoint. The approximating degree of these n curves is the same for each one.
Example of a MultiCurve composed of MultiPoints:
P1______P2_____P3______P4________........_____PNbMPoints
Q1______Q2_____Q3______Q4________........_____QNbMPoints . . . . . . R1______R2_____R3______R4________........_____RNbMPoints
Pi, Qi, ..., Ri are points of dimension 2 or 3.
(Pi, Qi, ...Ri), i= 1,...NbPoles are MultiPoints. each MultiPoint has got NbPol Poles.
AppParCurves_MultiCurve::AppParCurves_MultiCurve | ( | ) |
returns an indefinite MultiCurve.
AppParCurves_MultiCurve::AppParCurves_MultiCurve | ( | const Standard_Integer | NbPol | ) |
creates a MultiCurve, describing Bezier curves all containing the same number of MultiPoint. An exception is raised if Degree < 0.
AppParCurves_MultiCurve::AppParCurves_MultiCurve | ( | const AppParCurves_Array1OfMultiPoint & | tabMU | ) |
creates a MultiCurve, describing Bezier curves all containing the same number of MultiPoint. Each MultiPoint must have NbCurves Poles.
|
virtual |
void AppParCurves_MultiCurve::Curve | ( | const Standard_Integer | CuIndex, |
TColgp_Array1OfPnt & | TabPnt | ||
) | const |
returns the Pole array of the curve of range CuIndex. An exception is raised if the dimension of the curve is 2d.
void AppParCurves_MultiCurve::Curve | ( | const Standard_Integer | CuIndex, |
TColgp_Array1OfPnt2d & | TabPnt | ||
) | const |
returns the Pole array of the curve of range CuIndex. An exception is raised if the dimension of the curve is 3d.
|
virtual |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.
Reimplemented in AppParCurves_MultiBSpCurve.
|
virtual |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.
Reimplemented in AppParCurves_MultiBSpCurve.
|
virtual |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.
Reimplemented in AppParCurves_MultiBSpCurve.
|
virtual |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.
Reimplemented in AppParCurves_MultiBSpCurve.
|
virtual |
returns the degree of the curves.
Reimplemented in AppParCurves_MultiBSpCurve.
Standard_Integer AppParCurves_MultiCurve::Dimension | ( | const Standard_Integer | CuIndex | ) | const |
returns the dimension of the CuIndex curve. An exception is raised if CuIndex<0 or CuIndex>NbCurves.
|
virtual |
Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.
Reimplemented in AppParCurves_MultiBSpCurve.
Standard_Integer AppParCurves_MultiCurve::NbCurves | ( | ) | const |
Returns the number of curves resulting from the approximation of a MultiLine.
|
virtual |
Returns the number of poles on curves resulting from the approximation of a MultiLine.
const gp_Pnt& AppParCurves_MultiCurve::Pole | ( | const Standard_Integer | CuIndex, |
const Standard_Integer | Nieme | ||
) | const |
returns the Nieme pole of the CuIndex curve. the curve must be a 3D curve.
const gp_Pnt2d& AppParCurves_MultiCurve::Pole2d | ( | const Standard_Integer | CuIndex, |
const Standard_Integer | Nieme | ||
) | const |
returns the Nieme pole of the CuIndex curve. the curve must be a 2D curve.
void AppParCurves_MultiCurve::SetNbPoles | ( | const Standard_Integer | nbPoles | ) |
The number of poles of the MultiCurve will be set to <nbPoles>.
void AppParCurves_MultiCurve::SetValue | ( | const Standard_Integer | Index, |
const AppParCurves_MultiPoint & | MPoint | ||
) |
sets the MultiPoint of range Index to the value <MPoint>. An exception is raised if Index <0 or Index >NbMPoint.
void AppParCurves_MultiCurve::Transform | ( | const Standard_Integer | CuIndex, |
const Standard_Real | x, | ||
const Standard_Real | dx, | ||
const Standard_Real | y, | ||
const Standard_Real | dy, | ||
const Standard_Real | z, | ||
const Standard_Real | dz | ||
) |
Applies a transformation to the curve of range <CuIndex>. newx = x + dx*oldx newy = y + dy*oldy for all points of the curve. newz = z + dz*oldz.
void AppParCurves_MultiCurve::Transform2d | ( | const Standard_Integer | CuIndex, |
const Standard_Real | x, | ||
const Standard_Real | dx, | ||
const Standard_Real | y, | ||
const Standard_Real | dy | ||
) |
Applies a transformation to the Curve of range <CuIndex>. newx = x + dx*oldx newy = y + dy*oldy for all points of the curve.
const AppParCurves_MultiPoint& AppParCurves_MultiCurve::Value | ( | const Standard_Integer | Index | ) | const |
returns the Index MultiPoint. An exception is raised if Index <0 or Index >Degree+1.
|
virtual |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.
Reimplemented in AppParCurves_MultiBSpCurve.
|
virtual |
returns the value of the point with a parameter U on the Bezier curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.
Reimplemented in AppParCurves_MultiBSpCurve.
|
protected |