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

This class defines a complete surface of revolution. The surface is obtained by rotating a curve a complete revolution about an axis. The curve and the axis must be in the same plane. If the curve and the axis are not in the same plane it is always possible to be in the previous case after a cylindrical projection of the curve in a referenced plane. For a complete surface of revolution the parametric range is 0 <= U <= 2*PI. – The parametric range for V is defined with the revolved curve. The origin of the U parametrization is given by the position of the revolved curve (reference). The direction of the revolution axis defines the positive sense of rotation (trigonometric sense) corresponding to the increasing of the parametric value U. The derivatives are always defined for the u direction. For the v direction the definition of the derivatives depends on the degree of continuity of the referenced curve. More...

#include <GeomAdaptor_SurfaceOfRevolution.hxx>

Inheritance diagram for GeomAdaptor_SurfaceOfRevolution:
Inheritance graph
[legend]

Public Member Functions

 GeomAdaptor_SurfaceOfRevolution ()
 
 GeomAdaptor_SurfaceOfRevolution (const Handle< Adaptor3d_HCurve > &C)
 The Curve is loaded. More...
 
 GeomAdaptor_SurfaceOfRevolution (const Handle< Adaptor3d_HCurve > &C, const gp_Ax1 &V)
 The Curve and the Direction are loaded. More...
 
void Load (const Handle< Adaptor3d_HCurve > &C)
 Changes the Curve. More...
 
void Load (const gp_Ax1 &V)
 Changes the Direction. More...
 
gp_Ax1 AxeOfRevolution () const override
 
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
 Return CN. More...
 
Standard_Integer NbUIntervals (const GeomAbs_Shape S) const override
 Returns the number of U intervals for continuity <S>. May be one if UContinuity(me) >= <S> More...
 
Standard_Integer NbVIntervals (const GeomAbs_Shape S) const override
 Returns the number of V intervals for continuity <S>. May be one if VContinuity(me) >= <S> 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
 
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
 Apex of the Cone = Cone.Position().Location() ==> ReferenceRadius = 0. More...
 
gp_Sphere Sphere () const override
 
gp_Torus Torus () const override
 
Standard_Integer VDegree () const override
 
Standard_Integer NbVPoles () const override
 
Standard_Integer NbVKnots () const override
 
Standard_Boolean IsURational () const override
 
Standard_Boolean IsVRational () const override
 
Handle< Geom_BezierSurfaceBezier () const override
 This will NOT make a copy of the Bezier Surface : If you want to modify the Surface please make a copy yourself Also it will NOT trim the surface to myU/VFirst/Last. More...
 
Handle< Geom_BSplineSurfaceBSpline () const override
 This will NOT make a copy of the BSpline Surface : If you want to modify the Surface please make a copy yourself Also it will NOT trim the surface to myU/VFirst/Last. More...
 
const gp_Ax3Axis () const
 
Handle< Adaptor3d_HCurveBasisCurve () const override
 
- Public Member Functions inherited from GeomAdaptor_Surface
 GeomAdaptor_Surface ()
 
 GeomAdaptor_Surface (const Handle< Geom_Surface > &S)
 
 GeomAdaptor_Surface (const Handle< Geom_Surface > &S, const Standard_Real UFirst, const Standard_Real ULast, const Standard_Real VFirst, const Standard_Real VLast, const Standard_Real TolU=0.0, const Standard_Real TolV=0.0)
 ConstructionError is raised if UFirst>ULast or VFirst>VLast. More...
 
void Load (const Handle< Geom_Surface > &S)
 
void Load (const Handle< Geom_Surface > &S, const Standard_Real UFirst, const Standard_Real ULast, const Standard_Real VFirst, const Standard_Real VLast, const Standard_Real TolU=0.0, const Standard_Real TolV=0.0)
 ConstructionError is raised if UFirst>ULast or VFirst>VLast. More...
 
const Handle< Geom_Surface > & Surface () const
 
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. 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. 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. 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). More...
 
Standard_Integer UDegree () const override
 
Standard_Integer NbUPoles () const override
 
Standard_Integer NbUKnots () const override
 
gp_Dir Direction () const override
 
Handle< Adaptor3d_HSurfaceBasisSurface () const override
 
Standard_Real OffsetValue () const override
 
- Public Member Functions inherited from Adaptor3d_Surface
virtual ~Adaptor3d_Surface ()
 

Additional Inherited Members

- Protected Attributes inherited from GeomAdaptor_Surface
GeomAbs_SurfaceType mySurfaceType
 
Handle< GeomEvaluator_SurfacemyNestedEvaluator
 Calculates values of nested complex surfaces (offset surface, surface of extrusion or revolution) More...
 

Detailed Description

This class defines a complete surface of revolution. The surface is obtained by rotating a curve a complete revolution about an axis. The curve and the axis must be in the same plane. If the curve and the axis are not in the same plane it is always possible to be in the previous case after a cylindrical projection of the curve in a referenced plane. For a complete surface of revolution the parametric range is 0 <= U <= 2*PI. – The parametric range for V is defined with the revolved curve. The origin of the U parametrization is given by the position of the revolved curve (reference). The direction of the revolution axis defines the positive sense of rotation (trigonometric sense) corresponding to the increasing of the parametric value U. The derivatives are always defined for the u direction. For the v direction the definition of the derivatives depends on the degree of continuity of the referenced curve.

Constructor & Destructor Documentation

◆ GeomAdaptor_SurfaceOfRevolution() [1/3]

GeomAdaptor_SurfaceOfRevolution::GeomAdaptor_SurfaceOfRevolution ( )

◆ GeomAdaptor_SurfaceOfRevolution() [2/3]

GeomAdaptor_SurfaceOfRevolution::GeomAdaptor_SurfaceOfRevolution ( const Handle< Adaptor3d_HCurve > &  C)

The Curve is loaded.

◆ GeomAdaptor_SurfaceOfRevolution() [3/3]

GeomAdaptor_SurfaceOfRevolution::GeomAdaptor_SurfaceOfRevolution ( const Handle< Adaptor3d_HCurve > &  C,
const gp_Ax1 V 
)

The Curve and the Direction are loaded.

Member Function Documentation

◆ AxeOfRevolution()

gp_Ax1 GeomAdaptor_SurfaceOfRevolution::AxeOfRevolution ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ Axis()

const gp_Ax3& GeomAdaptor_SurfaceOfRevolution::Axis ( ) const

◆ BasisCurve()

Handle< Adaptor3d_HCurve > GeomAdaptor_SurfaceOfRevolution::BasisCurve ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ Bezier()

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

This will NOT make a copy of the Bezier Surface : If you want to modify the Surface please make a copy yourself Also it will NOT trim the surface to myU/VFirst/Last.

Reimplemented from GeomAdaptor_Surface.

◆ BSpline()

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

This will NOT make a copy of the BSpline Surface : If you want to modify the Surface please make a copy yourself Also it will NOT trim the surface to myU/VFirst/Last.

Reimplemented from GeomAdaptor_Surface.

◆ Cone()

gp_Cone GeomAdaptor_SurfaceOfRevolution::Cone ( ) const
overridevirtual

Apex of the Cone = Cone.Position().Location() ==> ReferenceRadius = 0.

Reimplemented from GeomAdaptor_Surface.

◆ Cylinder()

gp_Cylinder GeomAdaptor_SurfaceOfRevolution::Cylinder ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ FirstUParameter()

Standard_Real GeomAdaptor_SurfaceOfRevolution::FirstUParameter ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ FirstVParameter()

Standard_Real GeomAdaptor_SurfaceOfRevolution::FirstVParameter ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ GetType()

GeomAbs_SurfaceType GeomAdaptor_SurfaceOfRevolution::GetType ( ) const
overridevirtual

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

Reimplemented from GeomAdaptor_Surface.

◆ IsUClosed()

Standard_Boolean GeomAdaptor_SurfaceOfRevolution::IsUClosed ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ IsUPeriodic()

Standard_Boolean GeomAdaptor_SurfaceOfRevolution::IsUPeriodic ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ IsURational()

Standard_Boolean GeomAdaptor_SurfaceOfRevolution::IsURational ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ IsVClosed()

Standard_Boolean GeomAdaptor_SurfaceOfRevolution::IsVClosed ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ IsVPeriodic()

Standard_Boolean GeomAdaptor_SurfaceOfRevolution::IsVPeriodic ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ IsVRational()

Standard_Boolean GeomAdaptor_SurfaceOfRevolution::IsVRational ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ LastUParameter()

Standard_Real GeomAdaptor_SurfaceOfRevolution::LastUParameter ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ LastVParameter()

Standard_Real GeomAdaptor_SurfaceOfRevolution::LastVParameter ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ Load() [1/2]

void GeomAdaptor_SurfaceOfRevolution::Load ( const Handle< Adaptor3d_HCurve > &  C)

Changes the Curve.

◆ Load() [2/2]

void GeomAdaptor_SurfaceOfRevolution::Load ( const gp_Ax1 V)

Changes the Direction.

◆ NbUIntervals()

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

Returns the number of U intervals for continuity <S>. May be one if UContinuity(me) >= <S>

Reimplemented from GeomAdaptor_Surface.

◆ NbVIntervals()

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

Returns the number of V intervals for continuity <S>. May be one if VContinuity(me) >= <S>

Reimplemented from GeomAdaptor_Surface.

◆ NbVKnots()

Standard_Integer GeomAdaptor_SurfaceOfRevolution::NbVKnots ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ NbVPoles()

Standard_Integer GeomAdaptor_SurfaceOfRevolution::NbVPoles ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ Plane()

gp_Pln GeomAdaptor_SurfaceOfRevolution::Plane ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ Sphere()

gp_Sphere GeomAdaptor_SurfaceOfRevolution::Sphere ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ Torus()

gp_Torus GeomAdaptor_SurfaceOfRevolution::Torus ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ UContinuity()

GeomAbs_Shape GeomAdaptor_SurfaceOfRevolution::UContinuity ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ UIntervals()

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

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

Reimplemented from GeomAdaptor_Surface.

◆ UPeriod()

Standard_Real GeomAdaptor_SurfaceOfRevolution::UPeriod ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ UResolution()

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

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

Reimplemented from GeomAdaptor_Surface.

◆ UTrim()

Handle< Adaptor3d_HSurface > GeomAdaptor_SurfaceOfRevolution::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 GeomAdaptor_Surface.

◆ VContinuity()

GeomAbs_Shape GeomAdaptor_SurfaceOfRevolution::VContinuity ( ) const
overridevirtual

Return CN.

Reimplemented from GeomAdaptor_Surface.

◆ VDegree()

Standard_Integer GeomAdaptor_SurfaceOfRevolution::VDegree ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ VIntervals()

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

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

Reimplemented from GeomAdaptor_Surface.

◆ VPeriod()

Standard_Real GeomAdaptor_SurfaceOfRevolution::VPeriod ( ) const
overridevirtual

Reimplemented from GeomAdaptor_Surface.

◆ VResolution()

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

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

Reimplemented from GeomAdaptor_Surface.

◆ VTrim()

Handle< Adaptor3d_HSurface > GeomAdaptor_SurfaceOfRevolution::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 GeomAdaptor_Surface.


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