Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
AppParCurves_MultiBSpCurve Class Reference

This class describes a MultiBSpCurve approximating a Multiline. Just as a Multiline is a set of a given number of lines, a MultiBSpCurve is a set of a specified number of bsplines defined by: More...

#include <AppParCurves_MultiBSpCurve.hxx>

Inheritance diagram for AppParCurves_MultiBSpCurve:
Inheritance graph
[legend]

Public Member Functions

 AppParCurves_MultiBSpCurve ()
 returns an indefinite MultiBSpCurve.
 
 AppParCurves_MultiBSpCurve (const int NbPol)
 creates a MultiBSpCurve, describing BSpline curves all containing the same number of MultiPoint. An exception is raised if Degree < 0.
 
 AppParCurves_MultiBSpCurve (const NCollection_Array1< AppParCurves_MultiPoint > &tabMU, const NCollection_Array1< double > &Knots, const NCollection_Array1< int > &Mults)
 creates a MultiBSpCurve, describing BSpline curves all containing the same number of MultiPoint. Each MultiPoint must have NbCurves Poles.
 
 AppParCurves_MultiBSpCurve (const AppParCurves_MultiCurve &SC, const NCollection_Array1< double > &Knots, const NCollection_Array1< int > &Mults)
 creates a MultiBSpCurve, describing BSpline curves, taking control points from <SC>.
 
void SetKnots (const NCollection_Array1< double > &theKnots)
 Knots of the multiBSpCurve are assigned to <theknots>.
 
void SetMultiplicities (const NCollection_Array1< int > &theMults)
 Multiplicities of the multiBSpCurve are assigned to <theMults>.
 
const NCollection_Array1< double > & Knots () const
 Returns an array of Reals containing the multiplicities of curves resulting from the approximation.
 
const NCollection_Array1< int > & Multiplicities () const
 Returns an array of Reals containing the multiplicities of curves resulting from the approximation.
 
int Degree () const override
 returns the degree of the curve(s).
 
void Value (const int CuIndex, const double U, gp_Pnt &Pt) const override
 returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.
 
void Value (const int CuIndex, const double U, gp_Pnt2d &Pt) const override
 returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.
 
void D1 (const int CuIndex, const double U, gp_Pnt &Pt, gp_Vec &V1) const override
 returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.
 
void D1 (const int CuIndex, const double U, gp_Pnt2d &Pt, gp_Vec2d &V1) const override
 returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.
 
void D2 (const int CuIndex, const double U, gp_Pnt &Pt, gp_Vec &V1, gp_Vec &V2) const override
 returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.
 
void D2 (const int CuIndex, const double U, gp_Pnt2d &Pt, gp_Vec2d &V1, gp_Vec2d &V2) const override
 returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.
 
void Dump (Standard_OStream &o) const override
 Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.
 
- Public Member Functions inherited from AppParCurves_MultiCurve
 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.
 
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.
 

Additional Inherited Members

- Protected Attributes inherited from AppParCurves_MultiCurve
occ::handle< NCollection_HArray1< AppParCurves_MultiPoint > > tabPoint
 

Detailed Description

This class describes a MultiBSpCurve approximating a Multiline. Just as a Multiline is a set of a given number of lines, a MultiBSpCurve is a set of a specified number of bsplines defined by:

Example of a MultiBSpCurve composed of a specified number 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. MultiBSpCurves are created by the SplineValue method in the ComputeLine class, and by the Value method in TheVariational class. MultiBSpCurve provides the information required to create the BSpline defined by the approximation.

Constructor & Destructor Documentation

◆ AppParCurves_MultiBSpCurve() [1/4]

AppParCurves_MultiBSpCurve::AppParCurves_MultiBSpCurve ( )

returns an indefinite MultiBSpCurve.

◆ AppParCurves_MultiBSpCurve() [2/4]

AppParCurves_MultiBSpCurve::AppParCurves_MultiBSpCurve ( const int NbPol)

creates a MultiBSpCurve, describing BSpline curves all containing the same number of MultiPoint. An exception is raised if Degree < 0.

◆ AppParCurves_MultiBSpCurve() [3/4]

AppParCurves_MultiBSpCurve::AppParCurves_MultiBSpCurve ( const NCollection_Array1< AppParCurves_MultiPoint > & tabMU,
const NCollection_Array1< double > & Knots,
const NCollection_Array1< int > & Mults )

creates a MultiBSpCurve, describing BSpline curves all containing the same number of MultiPoint. Each MultiPoint must have NbCurves Poles.

◆ AppParCurves_MultiBSpCurve() [4/4]

AppParCurves_MultiBSpCurve::AppParCurves_MultiBSpCurve ( const AppParCurves_MultiCurve & SC,
const NCollection_Array1< double > & Knots,
const NCollection_Array1< int > & Mults )

creates a MultiBSpCurve, describing BSpline curves, taking control points from <SC>.

Member Function Documentation

◆ D1() [1/2]

void AppParCurves_MultiBSpCurve::D1 ( const int CuIndex,
const double U,
gp_Pnt & Pt,
gp_Vec & V1 ) const
overridevirtual

returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.

Reimplemented from AppParCurves_MultiCurve.

◆ D1() [2/2]

void AppParCurves_MultiBSpCurve::D1 ( const int CuIndex,
const double U,
gp_Pnt2d & Pt,
gp_Vec2d & V1 ) const
overridevirtual

returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.

Reimplemented from AppParCurves_MultiCurve.

◆ D2() [1/2]

void AppParCurves_MultiBSpCurve::D2 ( const int CuIndex,
const double U,
gp_Pnt & Pt,
gp_Vec & V1,
gp_Vec & V2 ) const
overridevirtual

returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.

Reimplemented from AppParCurves_MultiCurve.

◆ D2() [2/2]

void AppParCurves_MultiBSpCurve::D2 ( const int CuIndex,
const double U,
gp_Pnt2d & Pt,
gp_Vec2d & V1,
gp_Vec2d & V2 ) const
overridevirtual

returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.

Reimplemented from AppParCurves_MultiCurve.

◆ Degree()

int AppParCurves_MultiBSpCurve::Degree ( ) const
overridevirtual

returns the degree of the curve(s).

Reimplemented from AppParCurves_MultiCurve.

◆ Dump()

void AppParCurves_MultiBSpCurve::Dump ( Standard_OStream & o) const
overridevirtual

Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.

Reimplemented from AppParCurves_MultiCurve.

◆ Knots()

const NCollection_Array1< double > & AppParCurves_MultiBSpCurve::Knots ( ) const

Returns an array of Reals containing the multiplicities of curves resulting from the approximation.

◆ Multiplicities()

const NCollection_Array1< int > & AppParCurves_MultiBSpCurve::Multiplicities ( ) const

Returns an array of Reals containing the multiplicities of curves resulting from the approximation.

◆ SetKnots()

void AppParCurves_MultiBSpCurve::SetKnots ( const NCollection_Array1< double > & theKnots)

Knots of the multiBSpCurve are assigned to <theknots>.

◆ SetMultiplicities()

void AppParCurves_MultiBSpCurve::SetMultiplicities ( const NCollection_Array1< int > & theMults)

Multiplicities of the multiBSpCurve are assigned to <theMults>.

◆ Value() [1/2]

void AppParCurves_MultiBSpCurve::Value ( const int CuIndex,
const double U,
gp_Pnt & Pt ) const
overridevirtual

returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 2d.

Reimplemented from AppParCurves_MultiCurve.

◆ Value() [2/2]

void AppParCurves_MultiBSpCurve::Value ( const int CuIndex,
const double U,
gp_Pnt2d & Pt ) const
overridevirtual

returns the value of the point with a parameter U on the BSpline curve number CuIndex. An exception is raised if CuIndex <0 or > NbCurves. An exception is raised if the curve dimension is 3d.

Reimplemented from AppParCurves_MultiCurve.


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