Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Attributes
AppParCurves_MultiCurve Class Reference

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>

Inheritance diagram for AppParCurves_MultiCurve:
Inheritance graph
[legend]

Public Member Functions

DEFINE_STANDARD_ALLOC 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_MultiPointValue (const Standard_Integer Index) const
 returns the Index MultiPoint.
An exception is raised if Index <0 or Index >Degree+1.

const gp_PntPole (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_Pnt2dPole2d (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

Constructor & Destructor Documentation


Member Function Documentation

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.

Reimplemented in AppParCurves_MultiBSpCurve.

virtual void AppParCurves_MultiCurve::Delete ( ) [virtual]
virtual void AppParCurves_MultiCurve::Dump ( Standard_OStream o) 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.

virtual void AppParCurves_MultiCurve::Value ( const Standard_Integer  CuIndex,
const Standard_Real  U,
gp_Pnt2d Pt 
) const [virtual]

Reimplemented in AppParCurves_MultiBSpCurve.


Field Documentation

Handle_AppParCurves_HArray1OfMultiPoint AppParCurves_MultiCurve::tabPoint [protected]

The documentation for this class was generated from the following file: