| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
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.