Open CASCADE Technology 7.8.2.dev
BRepAdaptor_Surface Class Reference

The Surface from BRepAdaptor allows to use a Face of the BRep topology look like a 3D surface. More...

#include <BRepAdaptor_Surface.hxx>

Inheritance diagram for BRepAdaptor_Surface:

Public Member Functions

 BRepAdaptor_Surface ()
 Creates an undefined surface with no face loaded.
 
 BRepAdaptor_Surface (const TopoDS_Face &F, const Standard_Boolean R=Standard_True)
 Creates a surface to access the geometry of <F>. If <Restriction> is true the parameter range is the parameter range in the UV space of the restriction.
 
virtual Handle< Adaptor3d_SurfaceShallowCopy () const override
 Shallow copy of adaptor.
 
void Initialize (const TopoDS_Face &F, const Standard_Boolean Restriction=Standard_True)
 Sets the surface to the geometry of <F>.
 
const GeomAdaptor_SurfaceSurface () const
 Returns the surface.
 
GeomAdaptor_SurfaceChangeSurface ()
 Returns the surface.
 
const gp_TrsfTrsf () const
 Returns the surface coordinate system.
 
const TopoDS_FaceFace () const
 Returns the face.
 
Standard_Real Tolerance () const
 Returns the face tolerance.
 
virtual Standard_Real FirstUParameter () const override
 
virtual Standard_Real LastUParameter () const override
 
virtual Standard_Real FirstVParameter () const override
 
virtual Standard_Real LastVParameter () const override
 
virtual GeomAbs_Shape UContinuity () const override
 
virtual GeomAbs_Shape VContinuity () const override
 
virtual Standard_Integer NbUIntervals (const GeomAbs_Shape theSh) const override
 If necessary, breaks the surface in U intervals of continuity . And returns the number of intervals.
 
virtual Standard_Integer NbVIntervals (const GeomAbs_Shape theSh) const override
 If necessary, breaks the surface in V intervals of continuity . And returns the number of intervals.
 
void UIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override
 Returns the intervals with the requested continuity in the U direction.
 
void VIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override
 Returns the intervals with the requested continuity in the V direction.
 
Handle< Adaptor3d_SurfaceUTrim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const override
 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>
 
Handle< Adaptor3d_SurfaceVTrim (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol) const override
 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 override
 
virtual Standard_Boolean IsVClosed () const override
 
virtual Standard_Boolean IsUPeriodic () const override
 
virtual Standard_Real UPeriod () const override
 
virtual Standard_Boolean IsVPeriodic () const override
 
virtual Standard_Real VPeriod () const override
 
gp_Pnt Value (const Standard_Real U, const Standard_Real V) const override
 Computes the point of parameters U,V on the surface. Tip: use GeomLib::NormEstim() to calculate surface normal at specified (U, V) point.
 
void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const override
 Computes the point of parameters U,V on the surface.
 
void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const override
 Computes the point and the first derivatives on the surface. Raised if the continuity of the current intervals is not C1.
 
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 override
 Computes the point, the first and second derivatives on the surface. Raised if the continuity of the current intervals is not C2.
 
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 override
 Computes the point, the first, second and third derivatives on the surface. Raised if the continuity of the current intervals is not C3.
 
gp_Vec DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const override
 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 theR3d) const override
 Returns the parametric U resolution corresponding to the real space resolution <R3d>.
 
virtual Standard_Real VResolution (const Standard_Real theR3d) const override
 Returns the parametric V resolution corresponding to the real space resolution <R3d>.
 
virtual GeomAbs_SurfaceType GetType () const override
 Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface.
 
gp_Pln Plane () const override
 
gp_Cylinder Cylinder () const override
 
gp_Cone Cone () const override
 
gp_Sphere Sphere () const override
 
gp_Torus Torus () const override
 
virtual Standard_Integer UDegree () const override
 
virtual Standard_Integer NbUPoles () const override
 
virtual Standard_Integer VDegree () const override
 
virtual Standard_Integer NbVPoles () const override
 
virtual Standard_Integer NbUKnots () const override
 
virtual Standard_Integer NbVKnots () const override
 
virtual Standard_Boolean IsURational () const override
 
virtual Standard_Boolean IsVRational () const override
 
Handle< Geom_BezierSurfaceBezier () const override
 
Handle< Geom_BSplineSurfaceBSpline () const override
 Warning : this will make a copy of the BSpline Surface since it applies to it the myTsrf transformation Be Careful when using this method.
 
gp_Ax1 AxeOfRevolution () const override
 
gp_Dir Direction () const override
 
Handle< Adaptor3d_CurveBasisCurve () const override
 only for SurfaceOfExtrusion and SurfaceOfRevolution Warning: this will make a copy of the underlying curve since it applies to it the transformation myTrsf. Be careful when using this method.
 
Handle< Adaptor3d_SurfaceBasisSurface () const override
 
Standard_Real OffsetValue () const override
 
- Public Member Functions inherited from Adaptor3d_Surface
virtual ~Adaptor3d_Surface ()
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (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_TransientThis () 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.
 

Detailed Description

The Surface from BRepAdaptor allows to use a Face of the BRep topology look like a 3D surface.

It has the methods of the class Surface from Adaptor3d.

It is created or initialized with a Face. It takes into account the local coordinates system.

The u,v parameter range is the minmax value for the restriction, unless the flag restriction is set to false.

Constructor & Destructor Documentation

◆ BRepAdaptor_Surface() [1/2]

BRepAdaptor_Surface::BRepAdaptor_Surface ( )

Creates an undefined surface with no face loaded.

◆ BRepAdaptor_Surface() [2/2]

BRepAdaptor_Surface::BRepAdaptor_Surface ( const TopoDS_Face & F,
const Standard_Boolean R = Standard_True )

Creates a surface to access the geometry of <F>. If <Restriction> is true the parameter range is the parameter range in the UV space of the restriction.

Member Function Documentation

◆ AxeOfRevolution()

gp_Ax1 BRepAdaptor_Surface::AxeOfRevolution ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ BasisCurve()

Handle< Adaptor3d_Curve > BRepAdaptor_Surface::BasisCurve ( ) const
overridevirtual

only for SurfaceOfExtrusion and SurfaceOfRevolution Warning: this will make a copy of the underlying curve since it applies to it the transformation myTrsf. Be careful when using this method.

Reimplemented from Adaptor3d_Surface.

◆ BasisSurface()

Handle< Adaptor3d_Surface > BRepAdaptor_Surface::BasisSurface ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ Bezier()

Handle< Geom_BezierSurface > BRepAdaptor_Surface::Bezier ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ BSpline()

Handle< Geom_BSplineSurface > BRepAdaptor_Surface::BSpline ( ) const
overridevirtual

Warning : this will make a copy of the BSpline Surface since it applies to it the myTsrf transformation Be Careful when using this method.

Reimplemented from Adaptor3d_Surface.

◆ ChangeSurface()

GeomAdaptor_Surface & BRepAdaptor_Surface::ChangeSurface ( )

Returns the surface.

◆ Cone()

gp_Cone BRepAdaptor_Surface::Cone ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ Cylinder()

gp_Cylinder BRepAdaptor_Surface::Cylinder ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ D0()

void BRepAdaptor_Surface::D0 ( const Standard_Real U,
const Standard_Real V,
gp_Pnt & P ) const
overridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ D1()

void BRepAdaptor_Surface::D1 ( const Standard_Real U,
const Standard_Real V,
gp_Pnt & P,
gp_Vec & D1U,
gp_Vec & D1V ) const
overridevirtual

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 from Adaptor3d_Surface.

◆ D2()

void BRepAdaptor_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
overridevirtual

Computes the point, the first and second derivatives on the surface. Raised if the continuity of the current intervals is not C2.

Reimplemented from Adaptor3d_Surface.

◆ D3()

void BRepAdaptor_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
overridevirtual

Computes the point, the first, second and third derivatives on the surface. Raised if the continuity of the current intervals is not C3.

Reimplemented from Adaptor3d_Surface.

◆ Direction()

gp_Dir BRepAdaptor_Surface::Direction ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ DN()

gp_Vec BRepAdaptor_Surface::DN ( const Standard_Real U,
const Standard_Real V,
const Standard_Integer Nu,
const Standard_Integer Nv ) const
overridevirtual

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 from Adaptor3d_Surface.

◆ Face()

const TopoDS_Face & BRepAdaptor_Surface::Face ( ) const

Returns the face.

◆ FirstUParameter()

virtual Standard_Real BRepAdaptor_Surface::FirstUParameter ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ FirstVParameter()

virtual Standard_Real BRepAdaptor_Surface::FirstVParameter ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ GetType()

virtual GeomAbs_SurfaceType BRepAdaptor_Surface::GetType ( ) const
inlineoverridevirtual

Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface.

Reimplemented from Adaptor3d_Surface.

◆ Initialize()

void BRepAdaptor_Surface::Initialize ( const TopoDS_Face & F,
const Standard_Boolean Restriction = Standard_True )

Sets the surface to the geometry of <F>.

◆ IsUClosed()

virtual Standard_Boolean BRepAdaptor_Surface::IsUClosed ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsUPeriodic()

virtual Standard_Boolean BRepAdaptor_Surface::IsUPeriodic ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsURational()

virtual Standard_Boolean BRepAdaptor_Surface::IsURational ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsVClosed()

virtual Standard_Boolean BRepAdaptor_Surface::IsVClosed ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsVPeriodic()

virtual Standard_Boolean BRepAdaptor_Surface::IsVPeriodic ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsVRational()

virtual Standard_Boolean BRepAdaptor_Surface::IsVRational ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ LastUParameter()

virtual Standard_Real BRepAdaptor_Surface::LastUParameter ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ LastVParameter()

virtual Standard_Real BRepAdaptor_Surface::LastVParameter ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ NbUIntervals()

virtual Standard_Integer BRepAdaptor_Surface::NbUIntervals ( const GeomAbs_Shape theSh) const
inlineoverridevirtual

If necessary, breaks the surface in U intervals of continuity . And returns the number of intervals.

Reimplemented from Adaptor3d_Surface.

◆ NbUKnots()

virtual Standard_Integer BRepAdaptor_Surface::NbUKnots ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ NbUPoles()

virtual Standard_Integer BRepAdaptor_Surface::NbUPoles ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ NbVIntervals()

virtual Standard_Integer BRepAdaptor_Surface::NbVIntervals ( const GeomAbs_Shape theSh) const
inlineoverridevirtual

If necessary, breaks the surface in V intervals of continuity . And returns the number of intervals.

Reimplemented from Adaptor3d_Surface.

◆ NbVKnots()

virtual Standard_Integer BRepAdaptor_Surface::NbVKnots ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ NbVPoles()

virtual Standard_Integer BRepAdaptor_Surface::NbVPoles ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ OffsetValue()

Standard_Real BRepAdaptor_Surface::OffsetValue ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ Plane()

gp_Pln BRepAdaptor_Surface::Plane ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ ShallowCopy()

virtual Handle< Adaptor3d_Surface > BRepAdaptor_Surface::ShallowCopy ( ) const
overridevirtual

Shallow copy of adaptor.

Reimplemented from Adaptor3d_Surface.

◆ Sphere()

gp_Sphere BRepAdaptor_Surface::Sphere ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ Surface()

const GeomAdaptor_Surface & BRepAdaptor_Surface::Surface ( ) const

Returns the surface.

◆ Tolerance()

Standard_Real BRepAdaptor_Surface::Tolerance ( ) const

Returns the face tolerance.

◆ Torus()

gp_Torus BRepAdaptor_Surface::Torus ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ Trsf()

const gp_Trsf & BRepAdaptor_Surface::Trsf ( ) const

Returns the surface coordinate system.

◆ UContinuity()

virtual GeomAbs_Shape BRepAdaptor_Surface::UContinuity ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ UDegree()

virtual Standard_Integer BRepAdaptor_Surface::UDegree ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ UIntervals()

void BRepAdaptor_Surface::UIntervals ( TColStd_Array1OfReal & T,
const GeomAbs_Shape S ) const
overridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ UPeriod()

virtual Standard_Real BRepAdaptor_Surface::UPeriod ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ UResolution()

virtual Standard_Real BRepAdaptor_Surface::UResolution ( const Standard_Real theR3d) const
inlineoverridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ UTrim()

Handle< Adaptor3d_Surface > BRepAdaptor_Surface::UTrim ( const Standard_Real First,
const Standard_Real Last,
const Standard_Real Tol ) const
overridevirtual

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 from Adaptor3d_Surface.

◆ Value()

gp_Pnt BRepAdaptor_Surface::Value ( const Standard_Real U,
const Standard_Real V ) const
overridevirtual

Computes the point of parameters U,V on the surface. Tip: use GeomLib::NormEstim() to calculate surface normal at specified (U, V) point.

Reimplemented from Adaptor3d_Surface.

◆ VContinuity()

virtual GeomAbs_Shape BRepAdaptor_Surface::VContinuity ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ VDegree()

virtual Standard_Integer BRepAdaptor_Surface::VDegree ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ VIntervals()

void BRepAdaptor_Surface::VIntervals ( TColStd_Array1OfReal & T,
const GeomAbs_Shape S ) const
overridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ VPeriod()

virtual Standard_Real BRepAdaptor_Surface::VPeriod ( ) const
inlineoverridevirtual

Reimplemented from Adaptor3d_Surface.

◆ VResolution()

virtual Standard_Real BRepAdaptor_Surface::VResolution ( const Standard_Real theR3d) const
inlineoverridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ VTrim()

Handle< Adaptor3d_Surface > BRepAdaptor_Surface::VTrim ( const Standard_Real First,
const Standard_Real Last,
const Standard_Real Tol ) const
overridevirtual

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 from Adaptor3d_Surface.


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