Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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.
 
 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_MultiPointValue (const int Index) const
 returns the Index MultiPoint. An exception is raised if Index <0 or Index >Degree+1.
 
const gp_PntPole (const int CuIndex, const int Nieme) const
 returns the Nieme pole of the CuIndex curve. the curve must be a 3D curve.
 
const gp_Pnt2dPole2d (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
 

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() [1/3]

AppParCurves_MultiCurve::AppParCurves_MultiCurve ( )

returns an indefinite MultiCurve.

◆ AppParCurves_MultiCurve() [2/3]

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() [3/3]

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.

◆ ~AppParCurves_MultiCurve()

virtual AppParCurves_MultiCurve::~AppParCurves_MultiCurve ( )
virtual

Member Function Documentation

◆ Curve() [1/2]

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.

◆ Curve() [2/2]

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.

◆ D1() [1/2]

virtual void AppParCurves_MultiCurve::D1 ( const int CuIndex,
const double 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.

◆ D1() [2/2]

virtual void AppParCurves_MultiCurve::D1 ( const int CuIndex,
const double 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.

◆ D2() [1/2]

virtual void AppParCurves_MultiCurve::D2 ( const int CuIndex,
const double 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.

◆ D2() [2/2]

virtual void AppParCurves_MultiCurve::D2 ( const int CuIndex,
const double 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.

◆ Degree()

virtual int AppParCurves_MultiCurve::Degree ( ) const
virtual

returns the degree of the curves.

Reimplemented in AppParCurves_MultiBSpCurve.

◆ Dimension()

int AppParCurves_MultiCurve::Dimension ( const int CuIndex) const

returns the dimension of the CuIndex curve. An exception is raised if CuIndex<0 or CuIndex>NbCurves.

◆ Dump()

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.

◆ NbCurves()

int AppParCurves_MultiCurve::NbCurves ( ) const

Returns the number of curves resulting from the approximation of a MultiLine.

◆ NbPoles()

virtual int AppParCurves_MultiCurve::NbPoles ( ) const
virtual

Returns the number of poles on curves resulting from the approximation of a MultiLine.

◆ Pole()

const gp_Pnt & AppParCurves_MultiCurve::Pole ( const int CuIndex,
const int Nieme ) const

returns the Nieme pole of the CuIndex curve. the curve must be a 3D curve.

◆ Pole2d()

const gp_Pnt2d & AppParCurves_MultiCurve::Pole2d ( const int CuIndex,
const int Nieme ) const

returns the Nieme pole of the CuIndex curve. the curve must be a 2D curve.

◆ SetNbPoles()

void AppParCurves_MultiCurve::SetNbPoles ( const int nbPoles)

The number of poles of the MultiCurve will be set to <nbPoles>.

◆ SetValue()

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.

◆ Transform()

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.

◆ Transform2d()

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.

◆ Value() [1/3]

virtual void AppParCurves_MultiCurve::Value ( const int CuIndex,
const double 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.

◆ Value() [2/3]

virtual void AppParCurves_MultiCurve::Value ( const int CuIndex,
const double 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.

◆ Value() [3/3]

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.

Field Documentation

◆ tabPoint

occ::handle<NCollection_HArray1<AppParCurves_MultiPoint> > AppParCurves_MultiCurve::tabPoint
protected

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