OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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 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 xx, const double dx, const double yy, const double dy, const double zz, 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 xx, const double dx, const double yy, 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:

    • 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 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: