Open CASCADE Technology 7.8.0
|
Root class for surfaces on which geometric algorithms work. An adapted surface is an interface between the services provided by a surface and those required of the surface by algorithms which use it. A derived concrete class is provided: GeomAdaptor_Surface for a surface from the Geom package. The Surface class describes the standard behaviour of a surface for generic algorithms. More...
#include <Adaptor3d_Surface.hxx>
Public Member Functions | |
virtual Handle< Adaptor3d_Surface > | ShallowCopy () const |
Shallow copy of adaptor. | |
virtual Standard_Real | FirstUParameter () const |
virtual Standard_Real | LastUParameter () const |
virtual Standard_Real | FirstVParameter () const |
virtual Standard_Real | LastVParameter () const |
virtual GeomAbs_Shape | UContinuity () const |
virtual GeomAbs_Shape | VContinuity () const |
virtual Standard_Integer | NbUIntervals (const GeomAbs_Shape S) const |
Returns the number of U intervals for continuity | |
virtual Standard_Integer | NbVIntervals (const GeomAbs_Shape S) const |
Returns the number of V intervals for continuity | |
virtual void | UIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const |
Returns the intervals with the requested continuity in the U direction. | |
virtual void | VIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const |
Returns the intervals with the requested continuity in the V direction. | |
virtual Handle< Adaptor3d_Surface > | UTrim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const |
Returns a surface trimmed in the U direction equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last> | |
virtual Handle< Adaptor3d_Surface > | VTrim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const |
Returns a surface trimmed in the V direction between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last> | |
virtual Standard_Boolean | IsUClosed () const |
virtual Standard_Boolean | IsVClosed () const |
virtual Standard_Boolean | IsUPeriodic () const |
virtual Standard_Real | UPeriod () const |
virtual Standard_Boolean | IsVPeriodic () const |
virtual Standard_Real | VPeriod () const |
virtual gp_Pnt | Value (const Standard_Real U, const Standard_Real V) const |
Computes the point of parameters U,V on the surface. Tip: use GeomLib::NormEstim() to calculate surface normal at specified (U, V) point. | |
virtual void | D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const |
Computes the point of parameters U,V on the surface. | |
virtual void | D1 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const |
Computes the point and the first derivatives on the surface. Raised if the continuity of the current intervals is not C1. | |
virtual void | D2 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V, gp_Vec &D2U, gp_Vec &D2V, gp_Vec &D2UV) const |
Computes the point, the first and second derivatives on the surface. Raised if the continuity of the current intervals is not C2. | |
virtual void | D3 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V, gp_Vec &D2U, gp_Vec &D2V, gp_Vec &D2UV, gp_Vec &D3U, gp_Vec &D3V, gp_Vec &D3UUV, gp_Vec &D3UVV) const |
Computes the point, the first, second and third derivatives on the surface. Raised if the continuity of the current intervals is not C3. | |
virtual gp_Vec | DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const |
Computes the derivative of order Nu in the direction U and Nv in the direction V at the point P(U, V). Raised if the current U interval is not not CNu and the current V interval is not CNv. Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0. | |
virtual Standard_Real | UResolution (const Standard_Real R3d) const |
Returns the parametric U resolution corresponding to the real space resolution <R3d>. | |
virtual Standard_Real | VResolution (const Standard_Real R3d) const |
Returns the parametric V resolution corresponding to the real space resolution <R3d>. | |
virtual GeomAbs_SurfaceType | GetType () const |
Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface. | |
virtual gp_Pln | Plane () const |
virtual gp_Cylinder | Cylinder () const |
virtual gp_Cone | Cone () const |
virtual gp_Sphere | Sphere () const |
virtual gp_Torus | Torus () const |
virtual Standard_Integer | UDegree () const |
virtual Standard_Integer | NbUPoles () const |
virtual Standard_Integer | VDegree () const |
virtual Standard_Integer | NbVPoles () const |
virtual Standard_Integer | NbUKnots () const |
virtual Standard_Integer | NbVKnots () const |
virtual Standard_Boolean | IsURational () const |
virtual Standard_Boolean | IsVRational () const |
virtual Handle< Geom_BezierSurface > | Bezier () const |
virtual Handle< Geom_BSplineSurface > | BSpline () const |
virtual gp_Ax1 | AxeOfRevolution () const |
virtual gp_Dir | Direction () const |
virtual Handle< Adaptor3d_Curve > | BasisCurve () const |
virtual Handle< Adaptor3d_Surface > | BasisSurface () const |
virtual Standard_Real | OffsetValue () const |
virtual | ~Adaptor3d_Surface () |
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. | |
Root class for surfaces on which geometric algorithms work. An adapted surface is an interface between the services provided by a surface and those required of the surface by algorithms which use it. A derived concrete class is provided: GeomAdaptor_Surface for a surface from the Geom package. The Surface class describes the standard behaviour of a surface for generic algorithms.
The Surface can be decomposed in intervals of any continuity in U and V using the method NbIntervals. A current interval can be set. Most of the methods apply to the current interval. Warning: All the methods are virtual and implemented with a raise to allow to redefined only the methods really used.
Polynomial coefficients of BSpline surfaces used for their evaluation are cached for better performance. Therefore these evaluations are not thread-safe and parallel evaluations need to be prevented.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Computes the point of parameters U,V on the surface.
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Computes the point and the first derivatives on the surface. Raised if the continuity of the current intervals is not C1.
Tip: use GeomLib::NormEstim() to calculate surface normal at specified (U, V) point.
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Computes the point, the first and second derivatives on the surface. Raised if the continuity of the current intervals is not C2.
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Computes the point, the first, second and third derivatives on the surface. Raised if the continuity of the current intervals is not C3.
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Computes the derivative of order Nu in the direction U and Nv in the direction V at the point P(U, V). Raised if the current U interval is not not CNu and the current V interval is not CNv. Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Returns the number of U intervals for continuity . May be one if UContinuity(me) >=
Reimplemented in GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, GeomAdaptor_SurfaceOfRevolution, and BRepAdaptor_Surface.
|
virtual |
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Returns the number of V intervals for continuity . May be one if VContinuity(me) >=
Reimplemented in GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, GeomAdaptor_SurfaceOfRevolution, and BRepAdaptor_Surface.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Shallow copy of adaptor.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Returns the intervals with the requested continuity in the U direction.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Returns the parametric U resolution corresponding to the real space resolution <R3d>.
Reimplemented in GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, GeomAdaptor_SurfaceOfRevolution, and BRepAdaptor_Surface.
|
virtual |
Returns a surface trimmed in the U direction equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last>
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Computes the point of parameters U,V on the surface. Tip: use GeomLib::NormEstim() to calculate surface normal at specified (U, V) point.
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Returns the intervals with the requested continuity in the V direction.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Returns the parametric V resolution corresponding to the real space resolution <R3d>.
Reimplemented in GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, GeomAdaptor_SurfaceOfRevolution, and BRepAdaptor_Surface.
|
virtual |
Returns a surface trimmed in the V direction between parameters <First> and <Last>. <Tol> is used to test for 3d points confusion. If <First> >= <Last>
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.