Open CASCADE Technology
7.2.0
|
Define a Section Law by N Sections. More...
#include <GeomFill_NSections.hxx>
Public Member Functions | |
GeomFill_NSections (const TColGeom_SequenceOfCurve &NC) | |
Make a SectionLaw with N Curves. More... | |
GeomFill_NSections (const TColGeom_SequenceOfCurve &NC, const TColStd_SequenceOfReal &NP) | |
Make a SectionLaw with N Curves and N associated parameters. More... | |
GeomFill_NSections (const TColGeom_SequenceOfCurve &NC, const TColStd_SequenceOfReal &NP, const Standard_Real UF, const Standard_Real UL) | |
Make a SectionLaw with N Curves and N associated parameters. UF and UL are the parametric bounds of the NSections. More... | |
GeomFill_NSections (const TColGeom_SequenceOfCurve &NC, const TColStd_SequenceOfReal &NP, const Standard_Real UF, const Standard_Real UL, const Standard_Real VF, const Standard_Real VL) | |
Make a SectionLaw with N Curves and N associated parameters. UF and UL are the parametric bounds of the NSections VF and VL are the parametric bounds of the path. More... | |
GeomFill_NSections (const TColGeom_SequenceOfCurve &NC, const GeomFill_SequenceOfTrsf &Trsfs, const TColStd_SequenceOfReal &NP, const Standard_Real UF, const Standard_Real UL, const Standard_Real VF, const Standard_Real VL, const Handle< Geom_BSplineSurface > &Surf) | |
Make a SectionLaw with N Curves and N associated parameters. UF and UL are the parametric bounds of the NSections VF and VL are the parametric bounds of the path UF and UL are the parametric bounds of the NSections Surf is a reference surface used by BRepFill_NSections. More... | |
virtual Standard_Boolean | D0 (const Standard_Real Param, TColgp_Array1OfPnt &Poles, TColStd_Array1OfReal &Weigths) override |
compute the section for v = param More... | |
virtual Standard_Boolean | D1 (const Standard_Real Param, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths) override |
compute the first derivative in v direction of the section for v = param Warning : It used only for C1 or C2 aproximation More... | |
virtual Standard_Boolean | D2 (const Standard_Real Param, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfVec &D2Poles, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths, TColStd_Array1OfReal &D2Weigths) override |
compute the second derivative in v direction of the section for v = param Warning : It used only for C2 aproximation More... | |
void | SetSurface (const Handle< Geom_BSplineSurface > &RefSurf) |
Sets the reference surface. More... | |
void | ComputeSurface () |
Computes the surface. More... | |
virtual Handle< Geom_BSplineSurface > | BSplineSurface () const override |
give if possible an bspline Surface, like iso-v are the section. If it is not possible this methode have to get an Null Surface. Is it the default implementation. More... | |
virtual void | SectionShape (Standard_Integer &NbPoles, Standard_Integer &NbKnots, Standard_Integer &Degree) const override |
get the format of an section More... | |
virtual void | Knots (TColStd_Array1OfReal &TKnots) const override |
get the Knots of the section More... | |
virtual void | Mults (TColStd_Array1OfInteger &TMults) const override |
get the Multplicities of the section More... | |
virtual Standard_Boolean | IsRational () const override |
Returns if the sections are rationnal or not. More... | |
virtual Standard_Boolean | IsUPeriodic () const override |
Returns if the sections are periodic or not. More... | |
virtual Standard_Boolean | IsVPeriodic () const override |
Returns if the law isperiodic or not. More... | |
virtual Standard_Integer | NbIntervals (const GeomAbs_Shape S) const override |
Returns the number of intervals for continuity <S>. May be one if Continuity(me) >= <S> More... | |
virtual void | Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override |
Stores in <T> the parameters bounding the intervals of continuity <S>. More... | |
virtual void | SetInterval (const Standard_Real First, const Standard_Real Last) override |
Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn. More... | |
virtual void | GetInterval (Standard_Real &First, Standard_Real &Last) const override |
Gets the bounds of the parametric interval on the function. More... | |
virtual void | GetDomain (Standard_Real &First, Standard_Real &Last) const override |
Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method. More... | |
virtual void | GetTolerance (const Standard_Real BoundTol, const Standard_Real SurfTol, const Standard_Real AngleTol, TColStd_Array1OfReal &Tol3d) const override |
Returns the tolerances associated at each poles to reach in approximation, to satisfy: BoundTol error at the Boundary AngleTol tangent error at the Boundary (in radian) SurfTol error inside the surface. More... | |
virtual gp_Pnt | BarycentreOfSurf () const override |
Get the barycentre of Surface. An very poor estimation is sufficent. This information is usefull to perform well conditioned rational approximation. Warning: Used only if <me> IsRational. More... | |
virtual Standard_Real | MaximalSection () const override |
Returns the length of the greater section. This information is usefull to G1's control. Warning: With an little value, approximation can be slower. More... | |
virtual void | GetMinimalWeight (TColStd_Array1OfReal &Weigths) const override |
Compute the minimal value of weight for each poles in all sections. This information is usefull to control error in rational approximation. Warning: Used only if <me> IsRational. More... | |
virtual Standard_Boolean | IsConstant (Standard_Real &Error) const override |
return True If the Law isConstant More... | |
virtual Handle< Geom_Curve > | ConstantSection () const override |
Return the constant Section if <me> IsConstant. More... | |
virtual Standard_Boolean | IsConicalLaw (Standard_Real &Error) const override |
Returns True if all section are circle, with same plane,same center and linear radius evolution Return False by Default. More... | |
virtual Handle< Geom_Curve > | CirclSection (const Standard_Real Param) const override |
Return the circle section at parameter , if <me> a IsConicalLaw. More... | |
Public Member Functions inherited from GeomFill_SectionLaw | |
virtual void | SetTolerance (const Standard_Real Tol3d, const Standard_Real Tol2d) |
Is usefull, if (me) have to run numerical algorithm to perform D0, D1 or D2 The default implementation make nothing. More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Define a Section Law by N Sections.
GeomFill_NSections::GeomFill_NSections | ( | const TColGeom_SequenceOfCurve & | NC | ) |
Make a SectionLaw with N Curves.
GeomFill_NSections::GeomFill_NSections | ( | const TColGeom_SequenceOfCurve & | NC, |
const TColStd_SequenceOfReal & | NP | ||
) |
Make a SectionLaw with N Curves and N associated parameters.
GeomFill_NSections::GeomFill_NSections | ( | const TColGeom_SequenceOfCurve & | NC, |
const TColStd_SequenceOfReal & | NP, | ||
const Standard_Real | UF, | ||
const Standard_Real | UL | ||
) |
Make a SectionLaw with N Curves and N associated parameters. UF and UL are the parametric bounds of the NSections.
GeomFill_NSections::GeomFill_NSections | ( | const TColGeom_SequenceOfCurve & | NC, |
const TColStd_SequenceOfReal & | NP, | ||
const Standard_Real | UF, | ||
const Standard_Real | UL, | ||
const Standard_Real | VF, | ||
const Standard_Real | VL | ||
) |
Make a SectionLaw with N Curves and N associated parameters. UF and UL are the parametric bounds of the NSections VF and VL are the parametric bounds of the path.
GeomFill_NSections::GeomFill_NSections | ( | const TColGeom_SequenceOfCurve & | NC, |
const GeomFill_SequenceOfTrsf & | Trsfs, | ||
const TColStd_SequenceOfReal & | NP, | ||
const Standard_Real | UF, | ||
const Standard_Real | UL, | ||
const Standard_Real | VF, | ||
const Standard_Real | VL, | ||
const Handle< Geom_BSplineSurface > & | Surf | ||
) |
Make a SectionLaw with N Curves and N associated parameters. UF and UL are the parametric bounds of the NSections VF and VL are the parametric bounds of the path UF and UL are the parametric bounds of the NSections Surf is a reference surface used by BRepFill_NSections.
|
overridevirtual |
Get the barycentre of Surface. An very poor estimation is sufficent. This information is usefull to perform well conditioned rational approximation. Warning: Used only if <me> IsRational.
Reimplemented from GeomFill_SectionLaw.
|
overridevirtual |
give if possible an bspline Surface, like iso-v are the section. If it is not possible this methode have to get an Null Surface. Is it the default implementation.
Reimplemented from GeomFill_SectionLaw.
|
overridevirtual |
Return the circle section at parameter , if <me> a IsConicalLaw.
Reimplemented from GeomFill_SectionLaw.
void GeomFill_NSections::ComputeSurface | ( | ) |
Computes the surface.
|
overridevirtual |
Return the constant Section if <me> IsConstant.
Reimplemented from GeomFill_SectionLaw.
|
overridevirtual |
compute the section for v = param
Implements GeomFill_SectionLaw.
|
overridevirtual |
compute the first derivative in v direction of the section for v = param Warning : It used only for C1 or C2 aproximation
Reimplemented from GeomFill_SectionLaw.
|
overridevirtual |
compute the second derivative in v direction of the section for v = param Warning : It used only for C2 aproximation
Reimplemented from GeomFill_SectionLaw.
|
overridevirtual |
Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method.
Implements GeomFill_SectionLaw.
|
overridevirtual |
Gets the bounds of the parametric interval on the function.
Implements GeomFill_SectionLaw.
|
overridevirtual |
Compute the minimal value of weight for each poles in all sections. This information is usefull to control error in rational approximation. Warning: Used only if <me> IsRational.
Reimplemented from GeomFill_SectionLaw.
|
overridevirtual |
Returns the tolerances associated at each poles to reach in approximation, to satisfy: BoundTol error at the Boundary AngleTol tangent error at the Boundary (in radian) SurfTol error inside the surface.
Implements GeomFill_SectionLaw.
|
overridevirtual |
Stores in <T> the parameters bounding the intervals of continuity <S>.
The array must provide enough room to accomodate for the parameters. i.e. T.Length() > NbIntervals()
Implements GeomFill_SectionLaw.
|
overridevirtual |
Returns True if all section are circle, with same plane,same center and linear radius evolution Return False by Default.
Reimplemented from GeomFill_SectionLaw.
|
overridevirtual |
return True If the Law isConstant
Reimplemented from GeomFill_SectionLaw.
|
overridevirtual |
Returns if the sections are rationnal or not.
Implements GeomFill_SectionLaw.
|
overridevirtual |
Returns if the sections are periodic or not.
Implements GeomFill_SectionLaw.
|
overridevirtual |
Returns if the law isperiodic or not.
Implements GeomFill_SectionLaw.
|
overridevirtual |
get the Knots of the section
Implements GeomFill_SectionLaw.
|
overridevirtual |
Returns the length of the greater section. This information is usefull to G1's control. Warning: With an little value, approximation can be slower.
Implements GeomFill_SectionLaw.
|
overridevirtual |
get the Multplicities of the section
Implements GeomFill_SectionLaw.
|
overridevirtual |
Returns the number of intervals for continuity <S>. May be one if Continuity(me) >= <S>
Implements GeomFill_SectionLaw.
|
overridevirtual |
get the format of an section
Implements GeomFill_SectionLaw.
|
overridevirtual |
Sets the bounds of the parametric interval on the function This determines the derivatives in these values if the function is not Cn.
Implements GeomFill_SectionLaw.
void GeomFill_NSections::SetSurface | ( | const Handle< Geom_BSplineSurface > & | RefSurf | ) |
Sets the reference surface.