Open CASCADE Technology 7.8.2.dev
|
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>
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_Array1OfReal & | Knots () const |
Returns an array of Reals containing the multiplicities of curves resulting from the approximation. | |
const TColStd_Array1OfInteger & | Multiplicities () 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_MultiPoint & | Value (const Standard_Integer Index) const |
returns the Index MultiPoint. An exception is raised if Index <0 or Index >Degree+1. | |
const gp_Pnt & | 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 & | 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 | 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 |
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.
AppParCurves_MultiBSpCurve::AppParCurves_MultiBSpCurve | ( | ) |
returns an indefinite MultiBSpCurve.
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::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::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>.
|
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.
|
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.
|
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.
|
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.
|
overridevirtual |
returns the degree of the curve(s).
Reimplemented from AppParCurves_MultiCurve.
|
overridevirtual |
Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.
Reimplemented from AppParCurves_MultiCurve.
const TColStd_Array1OfReal & AppParCurves_MultiBSpCurve::Knots | ( | ) | const |
Returns an array of Reals containing the multiplicities of curves resulting from the approximation.
const TColStd_Array1OfInteger & AppParCurves_MultiBSpCurve::Multiplicities | ( | ) | const |
Returns an array of Reals containing the multiplicities of curves resulting from the approximation.
void AppParCurves_MultiBSpCurve::SetKnots | ( | const TColStd_Array1OfReal & | theKnots | ) |
Knots of the multiBSpCurve are assigned to <theknots>.
void AppParCurves_MultiBSpCurve::SetMultiplicities | ( | const TColStd_Array1OfInteger & | theMults | ) |
Multiplicities of the multiBSpCurve are assigned to <theMults>.
|
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.
|
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.