Open CASCADE Technology  7.2.0
Public Member Functions

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:
Inheritance graph
[legend]

Public Member Functions

 BRepAdaptor_Surface ()
 Creates an undefined surface with no face loaded. More...
 
 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. More...
 
void Initialize (const TopoDS_Face &F, const Standard_Boolean Restriction=Standard_True)
 Sets the surface to the geometry of <F>. More...
 
const GeomAdaptor_SurfaceSurface () const
 Returns the surface. More...
 
GeomAdaptor_SurfaceChangeSurface ()
 Returns the surface. More...
 
const gp_TrsfTrsf () const
 Returns the surface coordinate system. More...
 
const TopoDS_FaceFace () const
 Returns the face. More...
 
Standard_Real Tolerance () const
 Returns the face tolerance. More...
 
Standard_Real FirstUParameter () const override
 
Standard_Real LastUParameter () const override
 
Standard_Real FirstVParameter () const override
 
Standard_Real LastVParameter () const override
 
GeomAbs_Shape UContinuity () const override
 
GeomAbs_Shape VContinuity () const override
 
Standard_Integer NbUIntervals (const GeomAbs_Shape S) const override
 If necessary, breaks the surface in U intervals of continuity <S>. And returns the number of intervals. More...
 
Standard_Integer NbVIntervals (const GeomAbs_Shape S) const override
 If necessary, breaks the surface in V intervals of continuity <S>. And returns the number of intervals. More...
 
void UIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override
 Returns the intervals with the requested continuity in the U direction. More...
 
void VIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override
 Returns the intervals with the requested continuity in the V direction. More...
 
Handle< Adaptor3d_HSurfaceUTrim (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> More...
 
Handle< Adaptor3d_HSurfaceVTrim (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> More...
 
Standard_Boolean IsUClosed () const override
 
Standard_Boolean IsVClosed () const override
 
Standard_Boolean IsUPeriodic () const override
 
Standard_Real UPeriod () const override
 
Standard_Boolean IsVPeriodic () const override
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
Standard_Real UResolution (const Standard_Real R3d) const override
 Returns the parametric U resolution corresponding to the real space resolution <R3d>. More...
 
Standard_Real VResolution (const Standard_Real R3d) const override
 Returns the parametric V resolution corresponding to the real space resolution <R3d>. More...
 
GeomAbs_SurfaceType GetType () const override
 Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface. More...
 
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
 
Standard_Integer UDegree () const override
 
Standard_Integer NbUPoles () const override
 
Standard_Integer VDegree () const override
 
Standard_Integer NbVPoles () const override
 
Standard_Integer NbUKnots () const override
 
Standard_Integer NbVKnots () const override
 
Standard_Boolean IsURational () const override
 
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 Carefull when using this method. More...
 
gp_Ax1 AxeOfRevolution () const override
 
gp_Dir Direction () const override
 
Handle< Adaptor3d_HCurveBasisCurve () 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 carefull when using this method. More...
 
Handle< Adaptor3d_HSurfaceBasisSurface () const override
 
Standard_Real OffsetValue () const override
 
- Public Member Functions inherited from Adaptor3d_Surface
virtual ~Adaptor3d_Surface ()
 

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_HCurve > 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 carefull when using this method.

Reimplemented from Adaptor3d_Surface.

◆ BasisSurface()

Handle< Adaptor3d_HSurface > 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 Carefull 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.

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()

Standard_Real BRepAdaptor_Surface::FirstUParameter ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ FirstVParameter()

Standard_Real BRepAdaptor_Surface::FirstVParameter ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ GetType()

GeomAbs_SurfaceType BRepAdaptor_Surface::GetType ( ) const
overridevirtual

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()

Standard_Boolean BRepAdaptor_Surface::IsUClosed ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsUPeriodic()

Standard_Boolean BRepAdaptor_Surface::IsUPeriodic ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsURational()

Standard_Boolean BRepAdaptor_Surface::IsURational ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsVClosed()

Standard_Boolean BRepAdaptor_Surface::IsVClosed ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsVPeriodic()

Standard_Boolean BRepAdaptor_Surface::IsVPeriodic ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ IsVRational()

Standard_Boolean BRepAdaptor_Surface::IsVRational ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ LastUParameter()

Standard_Real BRepAdaptor_Surface::LastUParameter ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ LastVParameter()

Standard_Real BRepAdaptor_Surface::LastVParameter ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ NbUIntervals()

Standard_Integer BRepAdaptor_Surface::NbUIntervals ( const GeomAbs_Shape  S) const
overridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ NbUKnots()

Standard_Integer BRepAdaptor_Surface::NbUKnots ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ NbUPoles()

Standard_Integer BRepAdaptor_Surface::NbUPoles ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ NbVIntervals()

Standard_Integer BRepAdaptor_Surface::NbVIntervals ( const GeomAbs_Shape  S) const
overridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ NbVKnots()

Standard_Integer BRepAdaptor_Surface::NbVKnots ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ NbVPoles()

Standard_Integer BRepAdaptor_Surface::NbVPoles ( ) const
overridevirtual

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.

◆ 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()

GeomAbs_Shape BRepAdaptor_Surface::UContinuity ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ UDegree()

Standard_Integer BRepAdaptor_Surface::UDegree ( ) const
overridevirtual

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()

Standard_Real BRepAdaptor_Surface::UPeriod ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ UResolution()

Standard_Real BRepAdaptor_Surface::UResolution ( const Standard_Real  R3d) const
overridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ UTrim()

Handle< Adaptor3d_HSurface > 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.

Reimplemented from Adaptor3d_Surface.

◆ VContinuity()

GeomAbs_Shape BRepAdaptor_Surface::VContinuity ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ VDegree()

Standard_Integer BRepAdaptor_Surface::VDegree ( ) const
overridevirtual

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()

Standard_Real BRepAdaptor_Surface::VPeriod ( ) const
overridevirtual

Reimplemented from Adaptor3d_Surface.

◆ VResolution()

Standard_Real BRepAdaptor_Surface::VResolution ( const Standard_Real  R3d) const
overridevirtual

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

Reimplemented from Adaptor3d_Surface.

◆ VTrim()

Handle< Adaptor3d_HSurface > 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: