Open CASCADE Technology  6.9.1
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. More...

#include <AppParCurves_MultiCurve.hxx>

Inheritance diagram for AppParCurves_MultiCurve:
Inheritance graph
[legend]

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

Detailed Description

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.

Constructor & Destructor Documentation

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 AppParCurves_MultiCurve::~AppParCurves_MultiCurve ( )
virtual

Member Function Documentation

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 void AppParCurves_MultiCurve::D1 ( const Standard_Integer  CuIndex,
const Standard_Real  U,
gp_Pnt Pt,
gp_Vec V1 
) const
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 void AppParCurves_MultiCurve::D1 ( const Standard_Integer  CuIndex,
const Standard_Real  U,
gp_Pnt2d Pt,
gp_Vec2d V1 
) const
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 void AppParCurves_MultiCurve::D2 ( const Standard_Integer  CuIndex,
const Standard_Real  U,
gp_Pnt Pt,
gp_Vec V1,
gp_Vec V2 
) const
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 void AppParCurves_MultiCurve::D2 ( const Standard_Integer  CuIndex,
const Standard_Real  U,
gp_Pnt2d Pt,
gp_Vec2d V1,
gp_Vec2d V2 
) const
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 Standard_Integer AppParCurves_MultiCurve::Degree ( ) const
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 void AppParCurves_MultiCurve::Dump ( Standard_OStream o) const
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 Standard_Integer AppParCurves_MultiCurve::NbPoles ( ) const
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 void AppParCurves_MultiCurve::Value ( const Standard_Integer  CuIndex,
const Standard_Real  U,
gp_Pnt Pt 
) const
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 void AppParCurves_MultiCurve::Value ( const Standard_Integer  CuIndex,
const Standard_Real  U,
gp_Pnt2d Pt 
) const
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.

Field Documentation

Handle< AppParCurves_HArray1OfMultiPoint > AppParCurves_MultiCurve::tabPoint
protected

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