| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
A cache class for Bezier and B-spline surfaces. More...
#include <BSplSLib_Cache.hxx>

Public Member Functions | |
| BSplSLib_Cache (const Standard_Integer &theDegreeU, const Standard_Boolean &thePeriodicU, const TColStd_Array1OfReal &theFlatKnotsU, const Standard_Integer &theDegreeV, const Standard_Boolean &thePeriodicV, const TColStd_Array1OfReal &theFlatKnotsV, const TColStd_Array2OfReal *theWeights=NULL) | |
| Constructor for caching of the span for the surface.   | |
| Standard_Boolean | IsCacheValid (Standard_Real theParameterU, Standard_Real theParameterV) const | 
| Verifies validity of the cache using parameters of the point.   | |
| void | BuildCache (const Standard_Real &theParameterU, const Standard_Real &theParameterV, const TColStd_Array1OfReal &theFlatKnotsU, const TColStd_Array1OfReal &theFlatKnotsV, const TColgp_Array2OfPnt &thePoles, const TColStd_Array2OfReal *theWeights=NULL) | 
| Recomputes the cache data. Does not verify validity of the cache.   | |
| void | D0 (const Standard_Real &theU, const Standard_Real &theV, gp_Pnt &thePoint) const | 
| Calculates the point on the surface for specified parameters.   | |
| void | D1 (const Standard_Real &theU, const Standard_Real &theV, gp_Pnt &thePoint, gp_Vec &theTangentU, gp_Vec &theTangentV) const | 
| Calculates the point on the surface and its first derivative.   | |
| void | D2 (const Standard_Real &theU, const Standard_Real &theV, gp_Pnt &thePoint, gp_Vec &theTangentU, gp_Vec &theTangentV, gp_Vec &theCurvatureU, gp_Vec &theCurvatureV, gp_Vec &theCurvatureUV) const | 
| Calculates the point on the surface and derivatives till second order.   | |
  Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor.   | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing.   | |
| Standard_Transient & | operator= (const Standard_Transient &) | 
| Assignment operator, needed to avoid copying reference counter.   | |
| virtual | ~Standard_Transient () | 
| Destructor must be virtual.   | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const | 
| Returns a type descriptor about this object.   | |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const | 
| Returns a true value if this is an instance of Type.   | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const | 
| Returns a true value if this is an instance of TypeName.   | |
| 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.   | |
| 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.   | |
| 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.   | |
| Standard_Integer | GetRefCount () const noexcept | 
| Get the reference counter of this object.   | |
| void | IncrementRefCounter () noexcept | 
| Increments the reference counter of this object.   | |
| Standard_Integer | DecrementRefCounter () noexcept | 
| Decrements the reference counter of this object; returns the decremented value.   | |
| virtual void | Delete () const | 
| Memory deallocator for transient classes.   | |
Additional Inherited Members | |
  Public Types inherited from Standard_Transient | |
| typedef void | base_type | 
| Returns a type descriptor about this object.   | |
  Static Public Member Functions inherited from Standard_Transient | |
| static constexpr const char * | get_type_name () | 
| Returns a type descriptor about this object.   | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () | 
| Returns type descriptor of Standard_Transient class.   | |
A cache class for Bezier and B-spline surfaces.
Defines all data, that can be cached on a span of the surface. The data should be recalculated in going from span to span.
| BSplSLib_Cache::BSplSLib_Cache | ( | const Standard_Integer & | theDegreeU, | 
| const Standard_Boolean & | thePeriodicU, | ||
| const TColStd_Array1OfReal & | theFlatKnotsU, | ||
| const Standard_Integer & | theDegreeV, | ||
| const Standard_Boolean & | thePeriodicV, | ||
| const TColStd_Array1OfReal & | theFlatKnotsV, | ||
| const TColStd_Array2OfReal * | theWeights = NULL  | 
        ||
| ) | 
Constructor for caching of the span for the surface.
| theDegreeU | degree along the first parameter (U) of the surface | 
| thePeriodicU | identify the surface is periodical along U axis | 
| theFlatKnotsU | knots of the surface (with repetition) along U axis | 
| theDegreeV | degree alogn the second parameter (V) of the surface | 
| thePeriodicV | identify the surface is periodical along V axis | 
| theFlatKnotsV | knots of the surface (with repetition) along V axis | 
| theWeights | array of weights of corresponding poles | 
| void BSplSLib_Cache::BuildCache | ( | const Standard_Real & | theParameterU, | 
| const Standard_Real & | theParameterV, | ||
| const TColStd_Array1OfReal & | theFlatKnotsU, | ||
| const TColStd_Array1OfReal & | theFlatKnotsV, | ||
| const TColgp_Array2OfPnt & | thePoles, | ||
| const TColStd_Array2OfReal * | theWeights = NULL  | 
        ||
| ) | 
Recomputes the cache data. Does not verify validity of the cache.
| theParameterU | the parametric value on the U axis to identify the span | 
| theParameterV | the parametric value on the V axis to identify the span | 
| theDegreeU | degree along U axis | 
| thePeriodicU | identify whether the surface is periodic along U axis | 
| theFlatKnotsU | flat knots of the surface along U axis | 
| theDegreeV | degree along V axis | 
| thePeriodicV | identify whether the surface is periodic along V axis | 
| theFlatKnotsV | flat knots of the surface along V axis | 
| thePoles | array of poles of the surface | 
| theWeights | array of weights of corresponding poles | 
| void BSplSLib_Cache::D0 | ( | const Standard_Real & | theU, | 
| const Standard_Real & | theV, | ||
| gp_Pnt & | thePoint | ||
| ) | const | 
Calculates the point on the surface for specified parameters.
| [in] | theU | first parameter for calculation of the value | 
| [in] | theV | second parameter for calculation of the value | 
| [out] | thePoint | the result of calculation (the point on the surface) | 
| void BSplSLib_Cache::D1 | ( | const Standard_Real & | theU, | 
| const Standard_Real & | theV, | ||
| gp_Pnt & | thePoint, | ||
| gp_Vec & | theTangentU, | ||
| gp_Vec & | theTangentV | ||
| ) | const | 
Calculates the point on the surface and its first derivative.
| [in] | theU | first parameter of calculation of the value | 
| [in] | theV | second parameter of calculation of the value | 
| [out] | thePoint | the result of calculation (the point on the surface) | 
| [out] | theTangentU | tangent vector along U axis in the calculated point | 
| [out] | theTangentV | tangent vector along V axis in the calculated point | 
| void BSplSLib_Cache::D2 | ( | const Standard_Real & | theU, | 
| const Standard_Real & | theV, | ||
| gp_Pnt & | thePoint, | ||
| gp_Vec & | theTangentU, | ||
| gp_Vec & | theTangentV, | ||
| gp_Vec & | theCurvatureU, | ||
| gp_Vec & | theCurvatureV, | ||
| gp_Vec & | theCurvatureUV | ||
| ) | const | 
Calculates the point on the surface and derivatives till second order.
| [in] | theU | first parameter of calculation of the value | 
| [in] | theV | second parameter of calculation of the value | 
| [out] | thePoint | the result of calculation (the point on the surface) | 
| [out] | theTangentU | tangent vector along U axis in the calculated point | 
| [out] | theTangentV | tangent vector along V axis in the calculated point | 
| [out] | theCurvatureU | curvature vector (2nd derivative on U) along U axis | 
| [out] | theCurvatureV | curvature vector (2nd derivative on V) along V axis | 
| [out] | theCurvatureUV | 2nd mixed derivative on U anv V | 
| Standard_Boolean BSplSLib_Cache::IsCacheValid | ( | Standard_Real | theParameterU, | 
| Standard_Real | theParameterV | ||
| ) | const | 
Verifies validity of the cache using parameters of the point.
| theParameterU | first parameter of the point placed in the span | 
| theParameterV | second parameter of the point placed in the span |