Open CASCADE Technology
7.4.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 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 <S>. May be one if UContinuity(me) >= <S> More... | |
virtual Standard_Integer | NbVIntervals (const GeomAbs_Shape S) const |
Returns the number of V intervals for continuity <S>. May be one if VContinuity(me) >= <S> More... | |
virtual void | UIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const |
Returns the intervals with the requested continuity in the U direction. More... | |
virtual void | VIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const |
Returns the intervals with the requested continuity in the V direction. More... | |
virtual Handle< Adaptor3d_HSurface > | 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> More... | |
virtual Handle< Adaptor3d_HSurface > | 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> More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
virtual Standard_Real | UResolution (const Standard_Real R3d) const |
Returns the parametric U resolution corresponding to the real space resolution <R3d>. More... | |
virtual Standard_Real | VResolution (const Standard_Real R3d) const |
Returns the parametric V resolution corresponding to the real space resolution <R3d>. More... | |
virtual GeomAbs_SurfaceType | GetType () const |
Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface. More... | |
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_HCurve > | BasisCurve () const |
virtual Handle< Adaptor3d_HSurface > | BasisSurface () const |
virtual Standard_Real | OffsetValue () const |
virtual | ~Adaptor3d_Surface () |
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 realy 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 |
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfLinearExtrusion, and GeomAdaptor_SurfaceOfRevolution.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
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.
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.
|
virtual |
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_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Returns the number of U intervals for continuity <S>. May be one if UContinuity(me) >= <S>
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
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 <S>. May be one if VContinuity(me) >= <S>
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
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.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
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_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Returns the parametric U resolution corresponding to the real space resolution <R3d>.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
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_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Computes the point of parameters U,V on the surface.
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
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_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
virtual |
Returns the parametric V resolution corresponding to the real space resolution <R3d>.
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.
|
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_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.