![]() |
Open CASCADE Technology Reference Manual 8.0.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. | |
| AppParCurves_MultiCurve (const int NbPol) | |
| creates a MultiCurve, describing Bezier curves all containing the same number of MultiPoint. An exception is raised if Degree < 0. | |
| AppParCurves_MultiCurve (const NCollection_Array1< AppParCurves_MultiPoint > &tabMU) | |
| creates a MultiCurve, describing Bezier curves all containing the same number of MultiPoint. Each MultiPoint must have NbCurves Poles. | |
| virtual | ~AppParCurves_MultiCurve () |
| void | SetNbPoles (const int nbPoles) |
| The number of poles of the MultiCurve will be set to <nbPoles>. | |
| void | SetValue (const int 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. | |
| int | NbCurves () const |
| Returns the number of curves resulting from the approximation of a MultiLine. | |
| virtual int | NbPoles () const |
| Returns the number of poles on curves resulting from the approximation of a MultiLine. | |
| virtual int | Degree () const |
| returns the degree of the curves. | |
| int | Dimension (const int CuIndex) const |
| returns the dimension of the CuIndex curve. An exception is raised if CuIndex<0 or CuIndex>NbCurves. | |
| void | Curve (const int CuIndex, NCollection_Array1< gp_Pnt > &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 | Curve (const int CuIndex, NCollection_Array1< gp_Pnt2d > &TabPnt) const |
| returns the Pole array of the curve of range CuIndex. An exception is raised if the dimension of the curve is 3d. | |
| const AppParCurves_MultiPoint & | Value (const int Index) const |
| returns the Index MultiPoint. An exception is raised if Index <0 or Index >Degree+1. | |
| const gp_Pnt & | Pole (const int CuIndex, const int Nieme) const |
| returns the Nieme pole of the CuIndex curve. the curve must be a 3D curve. | |
| const gp_Pnt2d & | Pole2d (const int CuIndex, const int Nieme) const |
| returns the Nieme pole of the CuIndex curve. the curve must be a 2D curve. | |
| void | Transform (const int CuIndex, const double x, const double dx, const double y, const double dy, const double z, const double 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 | Transform2d (const int CuIndex, const double x, const double dx, const double y, const double dy) |
| Applies a transformation to the Curve of range <CuIndex>. newx = x + dx*oldx newy = y + dy*oldy for all points of the curve. | |
| virtual void | Value (const int CuIndex, const double 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. | |
| virtual void | Value (const int CuIndex, const double 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. | |
| virtual void | D1 (const int CuIndex, const double 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. | |
| virtual void | D1 (const int CuIndex, const double 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. | |
| virtual void | D2 (const int CuIndex, const double 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. | |
| virtual void | D2 (const int CuIndex, const double 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. | |
| 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 <<. | |
Protected Attributes | |
| occ::handle< NCollection_HArray1< AppParCurves_MultiPoint > > | 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 int | 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 NCollection_Array1< AppParCurves_MultiPoint > & | 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 int | CuIndex, |
| NCollection_Array1< gp_Pnt > & | 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 int | CuIndex, |
| NCollection_Array1< gp_Pnt2d > & | 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.
returns the degree of the curves.
Reimplemented in AppParCurves_MultiBSpCurve.
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.
| int AppParCurves_MultiCurve::NbCurves | ( | ) | const |
Returns the number of curves resulting from the approximation of a MultiLine.
Returns the number of poles on curves resulting from the approximation of a MultiLine.
returns the Nieme pole of the CuIndex curve. the curve must be a 3D curve.
returns the Nieme pole of the CuIndex curve. the curve must be a 2D curve.
The number of poles of the MultiCurve will be set to <nbPoles>.
| void AppParCurves_MultiCurve::SetValue | ( | const int | 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 int | CuIndex, |
| const double | x, | ||
| const double | dx, | ||
| const double | y, | ||
| const double | dy, | ||
| const double | z, | ||
| const double | 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 int | CuIndex, |
| const double | x, | ||
| const double | dx, | ||
| const double | y, | ||
| const double | dy ) |
Applies a transformation to the Curve of range <CuIndex>. newx = x + dx*oldx newy = y + dy*oldy for all points of the curve.
|
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.
| const AppParCurves_MultiPoint & AppParCurves_MultiCurve::Value | ( | const int | Index | ) | const |
returns the Index MultiPoint. An exception is raised if Index <0 or Index >Degree+1.
|
protected |