Open CASCADE Technology 6.6.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.
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.
#include <AppParCurves_MultiCurve.hxx>
Public Member Functions | |
AppParCurves_MultiCurve () | |
returns an indefinite 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 (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 | Delete () |
virtual | ~AppParCurves_MultiCurve () |
void | SetNbPoles (const Standard_Integer nbPoles) |
The number of poles of the MultiCurve will be set to <nbPoles>. | |
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. | |
Standard_Integer | NbCurves () const |
Returns the number of curves resulting from the approximation of a MultiLine. | |
virtual Standard_Integer | NbPoles () const |
Returns the number of poles on curves resulting from the approximation of a MultiLine. | |
virtual Standard_Integer | Degree () const |
returns the degree of the curves. | |
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. | |
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. | |
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. | |
const AppParCurves_MultiPoint & | Value (const Standard_Integer Index) const |
returns the Index MultiPoint. An exception is raised if Index <0 or Index >Degree+1. | |
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. | |
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. | |
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 | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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 | |
Handle_AppParCurves_HArray1OfMultiPoint | tabPoint |
AppParCurves_MultiCurve::AppParCurves_MultiCurve | ( | ) |
AppParCurves_MultiCurve::AppParCurves_MultiCurve | ( | const Standard_Integer | NbPol | ) |
AppParCurves_MultiCurve::AppParCurves_MultiCurve | ( | const AppParCurves_Array1OfMultiPoint & | tabMU | ) |
virtual AppParCurves_MultiCurve::~AppParCurves_MultiCurve | ( | ) | [inline, virtual] |
void AppParCurves_MultiCurve::Curve | ( | const Standard_Integer | CuIndex, |
TColgp_Array1OfPnt & | TabPnt | ||
) | const |
void AppParCurves_MultiCurve::Curve | ( | const Standard_Integer | CuIndex, |
TColgp_Array1OfPnt2d & | TabPnt | ||
) | const |
virtual void AppParCurves_MultiCurve::D1 | ( | const Standard_Integer | CuIndex, |
const Standard_Real | U, | ||
gp_Pnt & | Pt, | ||
gp_Vec & | V1 | ||
) | const [virtual] |
Reimplemented in AppParCurves_MultiBSpCurve.
virtual void AppParCurves_MultiCurve::D1 | ( | const Standard_Integer | CuIndex, |
const Standard_Real | U, | ||
gp_Pnt2d & | Pt, | ||
gp_Vec2d & | V1 | ||
) | const [virtual] |
Reimplemented in AppParCurves_MultiBSpCurve.
virtual void AppParCurves_MultiCurve::D2 | ( | const Standard_Integer | CuIndex, |
const Standard_Real | U, | ||
gp_Pnt & | Pt, | ||
gp_Vec & | V1, | ||
gp_Vec & | V2 | ||
) | const [virtual] |
Reimplemented in AppParCurves_MultiBSpCurve.
virtual void AppParCurves_MultiCurve::D2 | ( | const Standard_Integer | CuIndex, |
const Standard_Real | U, | ||
gp_Pnt2d & | Pt, | ||
gp_Vec2d & | V1, | ||
gp_Vec2d & | V2 | ||
) | const [virtual] |
Reimplemented in AppParCurves_MultiBSpCurve.
virtual Standard_Integer AppParCurves_MultiCurve::Degree | ( | ) | const [virtual] |
Reimplemented in AppParCurves_MultiBSpCurve.
virtual void AppParCurves_MultiCurve::Delete | ( | ) | [virtual] |
Standard_Integer AppParCurves_MultiCurve::Dimension | ( | const Standard_Integer | CuIndex | ) | const |
virtual void AppParCurves_MultiCurve::Dump | ( | Standard_OStream & | o | ) | const [virtual] |
Reimplemented in AppParCurves_MultiBSpCurve.
Standard_Integer AppParCurves_MultiCurve::NbCurves | ( | ) | const |
virtual Standard_Integer AppParCurves_MultiCurve::NbPoles | ( | ) | const [virtual] |
const gp_Pnt& AppParCurves_MultiCurve::Pole | ( | const Standard_Integer | CuIndex, |
const Standard_Integer | Nieme | ||
) | const |
const gp_Pnt2d& AppParCurves_MultiCurve::Pole2d | ( | const Standard_Integer | CuIndex, |
const Standard_Integer | Nieme | ||
) | const |
void AppParCurves_MultiCurve::SetNbPoles | ( | const Standard_Integer | nbPoles | ) |
void AppParCurves_MultiCurve::SetValue | ( | const Standard_Integer | Index, |
const AppParCurves_MultiPoint & | MPoint | ||
) |
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 | ||
) |
void AppParCurves_MultiCurve::Transform2d | ( | const Standard_Integer | CuIndex, |
const Standard_Real | x, | ||
const Standard_Real | dx, | ||
const Standard_Real | y, | ||
const Standard_Real | dy | ||
) |
const AppParCurves_MultiPoint& AppParCurves_MultiCurve::Value | ( | const Standard_Integer | Index | ) | const |
virtual void AppParCurves_MultiCurve::Value | ( | const Standard_Integer | CuIndex, |
const Standard_Real | U, | ||
gp_Pnt2d & | Pt | ||
) | const [virtual] |
Reimplemented in AppParCurves_MultiBSpCurve.
virtual void AppParCurves_MultiCurve::Value | ( | const Standard_Integer | CuIndex, |
const Standard_Real | U, | ||
gp_Pnt & | Pt | ||
) | const [virtual] |
Reimplemented in AppParCurves_MultiBSpCurve.
Handle_AppParCurves_HArray1OfMultiPoint AppParCurves_MultiCurve::tabPoint [protected] |