Open CASCADE Technology 7.8.2.dev
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:

Public Member Functions

 AppParCurves_MultiBSpCurve ()
 returns an indefinite MultiBSpCurve.
 
 AppParCurves_MultiBSpCurve (const Standard_Integer NbPol)
 creates a MultiBSpCurve, describing BSpline curves all containing the same number of MultiPoint. An exception is raised if Degree < 0.
 
 AppParCurves_MultiBSpCurve (const AppParCurves_Array1OfMultiPoint &tabMU, const TColStd_Array1OfReal &Knots, const TColStd_Array1OfInteger &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 TColStd_Array1OfReal &Knots, const TColStd_Array1OfInteger &Mults)
 creates a MultiBSpCurve, describing BSpline curves, taking control points from <SC>.
 
void SetKnots (const TColStd_Array1OfReal &theKnots)
 Knots of the multiBSpCurve are assigned to <theknots>.
 
void SetMultiplicities (const TColStd_Array1OfInteger &theMults)
 Multiplicities of the multiBSpCurve are assigned to <theMults>.
 
const TColStd_Array1OfRealKnots () const
 Returns an array of Reals containing the multiplicities of curves resulting from the approximation.
 
const TColStd_Array1OfIntegerMultiplicities () const
 Returns an array of Reals containing the multiplicities of curves resulting from the approximation.
 
virtual Standard_Integer Degree () const override
 returns the degree of the curve(s).
 
virtual void Value (const Standard_Integer CuIndex, const Standard_Real 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.
 
virtual void Value (const Standard_Integer CuIndex, const Standard_Real 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.
 
virtual void D1 (const Standard_Integer CuIndex, const Standard_Real 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.
 
virtual void D1 (const Standard_Integer CuIndex, const Standard_Real 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.
 
virtual void D2 (const Standard_Integer CuIndex, const Standard_Real 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.
 
virtual void D2 (const Standard_Integer CuIndex, const Standard_Real 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.
 
virtual 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 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 ~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.
 
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.
 

Additional Inherited Members

- Protected Attributes inherited from AppParCurves_MultiCurve
Handle< AppParCurves_HArray1OfMultiPoint > 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:

  • A specified number of MultiPoints - the poles of a specified number of curves
  • The degree of approximation identical for each of the specified number of curves.

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 Standard_Integer 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 AppParCurves_Array1OfMultiPoint & tabMU,
const TColStd_Array1OfReal & Knots,
const TColStd_Array1OfInteger & 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 TColStd_Array1OfReal & Knots,
const TColStd_Array1OfInteger & Mults )

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

Member Function Documentation

◆ D1() [1/2]

virtual void AppParCurves_MultiBSpCurve::D1 ( const Standard_Integer CuIndex,
const Standard_Real 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]

virtual void AppParCurves_MultiBSpCurve::D1 ( const Standard_Integer CuIndex,
const Standard_Real 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]

virtual void AppParCurves_MultiBSpCurve::D2 ( const Standard_Integer CuIndex,
const Standard_Real 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]

virtual void AppParCurves_MultiBSpCurve::D2 ( const Standard_Integer CuIndex,
const Standard_Real 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()

virtual Standard_Integer AppParCurves_MultiBSpCurve::Degree ( ) const
overridevirtual

returns the degree of the curve(s).

Reimplemented from AppParCurves_MultiCurve.

◆ Dump()

virtual 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 TColStd_Array1OfReal & AppParCurves_MultiBSpCurve::Knots ( ) const

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

◆ Multiplicities()

const TColStd_Array1OfInteger & AppParCurves_MultiBSpCurve::Multiplicities ( ) const

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

◆ SetKnots()

void AppParCurves_MultiBSpCurve::SetKnots ( const TColStd_Array1OfReal & theKnots)

Knots of the multiBSpCurve are assigned to <theknots>.

◆ SetMultiplicities()

void AppParCurves_MultiBSpCurve::SetMultiplicities ( const TColStd_Array1OfInteger & theMults)

Multiplicities of the multiBSpCurve are assigned to <theMults>.

◆ Value() [1/2]

virtual void AppParCurves_MultiBSpCurve::Value ( const Standard_Integer CuIndex,
const Standard_Real 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]

virtual void AppParCurves_MultiBSpCurve::Value ( const Standard_Integer CuIndex,
const Standard_Real 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: