Open CASCADE Technology  7.4.1.dev
Public Member Functions
Adaptor3d_Surface Class Reference

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>

Inheritance diagram for Adaptor3d_Surface:
Inheritance graph
[legend]

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_HSurfaceUTrim (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_HSurfaceVTrim (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_BezierSurfaceBezier () const
 
virtual Handle< Geom_BSplineSurfaceBSpline () const
 
virtual gp_Ax1 AxeOfRevolution () const
 
virtual gp_Dir Direction () const
 
virtual Handle< Adaptor3d_HCurveBasisCurve () const
 
virtual Handle< Adaptor3d_HSurfaceBasisSurface () const
 
virtual Standard_Real OffsetValue () const
 
virtual ~Adaptor3d_Surface ()
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~Adaptor3d_Surface()

virtual Adaptor3d_Surface::~Adaptor3d_Surface ( )
virtual

Member Function Documentation

◆ AxeOfRevolution()

virtual gp_Ax1 Adaptor3d_Surface::AxeOfRevolution ( ) const
virtual

◆ BasisCurve()

virtual Handle< Adaptor3d_HCurve > Adaptor3d_Surface::BasisCurve ( ) const
virtual

◆ BasisSurface()

virtual Handle< Adaptor3d_HSurface > Adaptor3d_Surface::BasisSurface ( ) const
virtual

Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.

◆ Bezier()

virtual Handle< Geom_BezierSurface > Adaptor3d_Surface::Bezier ( ) const
virtual

◆ BSpline()

virtual Handle< Geom_BSplineSurface > Adaptor3d_Surface::BSpline ( ) const
virtual

◆ Cone()

virtual gp_Cone Adaptor3d_Surface::Cone ( ) const
virtual

◆ Cylinder()

virtual gp_Cylinder Adaptor3d_Surface::Cylinder ( ) const
virtual

◆ D0()

virtual void Adaptor3d_Surface::D0 ( const Standard_Real  U,
const Standard_Real  V,
gp_Pnt P 
) const
virtual

Computes the point of parameters U,V on the surface.

Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.

◆ D1()

virtual void Adaptor3d_Surface::D1 ( const Standard_Real  U,
const Standard_Real  V,
gp_Pnt P,
gp_Vec D1U,
gp_Vec D1V 
) const
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.

◆ D2()

virtual void Adaptor3d_Surface::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
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.

◆ D3()

virtual void Adaptor3d_Surface::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
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.

◆ Direction()

virtual gp_Dir Adaptor3d_Surface::Direction ( ) const
virtual

◆ DN()

virtual gp_Vec Adaptor3d_Surface::DN ( const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  Nu,
const Standard_Integer  Nv 
) const
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.

◆ FirstUParameter()

virtual Standard_Real Adaptor3d_Surface::FirstUParameter ( ) const
virtual

◆ FirstVParameter()

virtual Standard_Real Adaptor3d_Surface::FirstVParameter ( ) const
virtual

◆ GetType()

virtual GeomAbs_SurfaceType Adaptor3d_Surface::GetType ( ) const
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.

◆ IsUClosed()

virtual Standard_Boolean Adaptor3d_Surface::IsUClosed ( ) const
virtual

◆ IsUPeriodic()

virtual Standard_Boolean Adaptor3d_Surface::IsUPeriodic ( ) const
virtual

◆ IsURational()

virtual Standard_Boolean Adaptor3d_Surface::IsURational ( ) const
virtual

◆ IsVClosed()

virtual Standard_Boolean Adaptor3d_Surface::IsVClosed ( ) const
virtual

◆ IsVPeriodic()

virtual Standard_Boolean Adaptor3d_Surface::IsVPeriodic ( ) const
virtual

◆ IsVRational()

virtual Standard_Boolean Adaptor3d_Surface::IsVRational ( ) const
virtual

◆ LastUParameter()

virtual Standard_Real Adaptor3d_Surface::LastUParameter ( ) const
virtual

◆ LastVParameter()

virtual Standard_Real Adaptor3d_Surface::LastVParameter ( ) const
virtual

◆ NbUIntervals()

virtual Standard_Integer Adaptor3d_Surface::NbUIntervals ( const GeomAbs_Shape  S) const
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.

◆ NbUKnots()

virtual Standard_Integer Adaptor3d_Surface::NbUKnots ( ) const
virtual

Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.

◆ NbUPoles()

virtual Standard_Integer Adaptor3d_Surface::NbUPoles ( ) const
virtual

◆ NbVIntervals()

virtual Standard_Integer Adaptor3d_Surface::NbVIntervals ( const GeomAbs_Shape  S) const
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.

◆ NbVKnots()

virtual Standard_Integer Adaptor3d_Surface::NbVKnots ( ) const
virtual

◆ NbVPoles()

virtual Standard_Integer Adaptor3d_Surface::NbVPoles ( ) const
virtual

◆ OffsetValue()

virtual Standard_Real Adaptor3d_Surface::OffsetValue ( ) const
virtual

Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.

◆ Plane()

virtual gp_Pln Adaptor3d_Surface::Plane ( ) const
virtual

◆ Sphere()

virtual gp_Sphere Adaptor3d_Surface::Sphere ( ) const
virtual

◆ Torus()

virtual gp_Torus Adaptor3d_Surface::Torus ( ) const
virtual

◆ UContinuity()

virtual GeomAbs_Shape Adaptor3d_Surface::UContinuity ( ) const
virtual

◆ UDegree()

virtual Standard_Integer Adaptor3d_Surface::UDegree ( ) const
virtual

◆ UIntervals()

virtual void Adaptor3d_Surface::UIntervals ( TColStd_Array1OfReal T,
const GeomAbs_Shape  S 
) const
virtual

Returns the intervals with the requested continuity in the U direction.

Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.

◆ UPeriod()

virtual Standard_Real Adaptor3d_Surface::UPeriod ( ) const
virtual

◆ UResolution()

virtual Standard_Real Adaptor3d_Surface::UResolution ( const Standard_Real  R3d) const
virtual

Returns the parametric U resolution corresponding to the real space resolution <R3d>.

Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.

◆ UTrim()

virtual Handle< Adaptor3d_HSurface > Adaptor3d_Surface::UTrim ( const Standard_Real  First,
const Standard_Real  Last,
const Standard_Real  Tol 
) const
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.

◆ Value()

virtual gp_Pnt Adaptor3d_Surface::Value ( const Standard_Real  U,
const Standard_Real  V 
) const
virtual

Computes the point of parameters U,V on the surface.

Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.

◆ VContinuity()

virtual GeomAbs_Shape Adaptor3d_Surface::VContinuity ( ) const
virtual

◆ VDegree()

virtual Standard_Integer Adaptor3d_Surface::VDegree ( ) const
virtual

◆ VIntervals()

virtual void Adaptor3d_Surface::VIntervals ( TColStd_Array1OfReal T,
const GeomAbs_Shape  S 
) const
virtual

Returns the intervals with the requested continuity in the V direction.

Reimplemented in BRepAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, GeomAdaptor_Surface, and GeomAdaptor_SurfaceOfLinearExtrusion.

◆ VPeriod()

virtual Standard_Real Adaptor3d_Surface::VPeriod ( ) const
virtual

◆ VResolution()

virtual Standard_Real Adaptor3d_Surface::VResolution ( const Standard_Real  R3d) const
virtual

Returns the parametric V resolution corresponding to the real space resolution <R3d>.

Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, GeomAdaptor_SurfaceOfRevolution, and GeomAdaptor_SurfaceOfLinearExtrusion.

◆ VTrim()

virtual Handle< Adaptor3d_HSurface > Adaptor3d_Surface::VTrim ( const Standard_Real  First,
const Standard_Real  Last,
const Standard_Real  Tol 
) const
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.


The documentation for this class was generated from the following file: