Open CASCADE Technology  6.9.0
Public Member Functions

Adaptor3d_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. Curve and Axis are coplanar. Curve doesn't intersect Axis. More...

#include <Adaptor3d_SurfaceOfRevolution.hxx>

Inheritance diagram for Adaptor3d_SurfaceOfRevolution:
Inheritance graph
[legend]

Public Member Functions

 Adaptor3d_SurfaceOfRevolution ()
 
 Adaptor3d_SurfaceOfRevolution (const Handle< Adaptor3d_HCurve > &C)
 The Curve is loaded. More...
 
 Adaptor3d_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
 
Standard_Real FirstUParameter () const
 
Standard_Real LastUParameter () const
 
Standard_Real FirstVParameter () const
 
Standard_Real LastVParameter () const
 
GeomAbs_Shape UContinuity () const
 
GeomAbs_Shape VContinuity () const
 Return CN. More...
 
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...
 
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...
 
void UIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const
 Returns the intervals with the requested continuity in the U direction. More...
 
void VIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const
 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
 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
 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
 
Standard_Boolean IsVClosed () const
 
Standard_Boolean IsUPeriodic () const
 
Standard_Real UPeriod () const
 
Standard_Boolean IsVPeriodic () const
 
Standard_Real VPeriod () const
 
gp_Pnt Value (const Standard_Real U, const Standard_Real V) const
 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
 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
 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
 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
 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
 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
 Returns the parametric U resolution corresponding to the real space resolution <R3d>. More...
 
Standard_Real VResolution (const Standard_Real R3d) const
 Returns the parametric V resolution corresponding to the real space resolution <R3d>. More...
 
GeomAbs_SurfaceType GetType () const
 Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface. More...
 
gp_Pln Plane () const
 
gp_Cylinder Cylinder () const
 
gp_Cone Cone () const
 Apex of the Cone = Cone.Position().Location() ==> ReferenceRadius = 0. More...
 
gp_Sphere Sphere () const
 
gp_Torus Torus () const
 
Standard_Integer UDegree () const
 
Standard_Integer NbUPoles () const
 
Standard_Integer VDegree () const
 
Standard_Integer NbVPoles () const
 
Standard_Integer NbUKnots () const
 
Standard_Integer NbVKnots () const
 
Standard_Boolean IsURational () const
 
Standard_Boolean IsVRational () const
 
Handle< Geom_BezierSurfaceBezier () const
 
Handle< Geom_BSplineSurfaceBSpline () const
 
gp_Ax3 Axis () const
 
gp_Dir Direction () const
 
Handle< Adaptor3d_HCurveBasisCurve () const
 
- Public Member Functions inherited from Adaptor3d_Surface
virtual Handle
< Adaptor3d_HSurface
BasisSurface () const
 
virtual Standard_Real OffsetValue () const
 
virtual ~Adaptor3d_Surface ()
 

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. Curve and Axis are coplanar. Curve doesn't intersect Axis.

Constructor & Destructor Documentation

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

The Curve is loaded.

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

The Curve and the Direction are loaded.

Member Function Documentation

gp_Ax1 Adaptor3d_SurfaceOfRevolution::AxeOfRevolution ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

gp_Ax3 Adaptor3d_SurfaceOfRevolution::Axis ( ) const
Handle< Adaptor3d_HCurve > Adaptor3d_SurfaceOfRevolution::BasisCurve ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

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

Reimplemented from Adaptor3d_Surface.

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

Reimplemented from Adaptor3d_Surface.

gp_Cone Adaptor3d_SurfaceOfRevolution::Cone ( ) const
virtual

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

Reimplemented from Adaptor3d_Surface.

gp_Cylinder Adaptor3d_SurfaceOfRevolution::Cylinder ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

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

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

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

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

gp_Dir Adaptor3d_SurfaceOfRevolution::Direction ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

gp_Vec Adaptor3d_SurfaceOfRevolution::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 from Adaptor3d_Surface.

Standard_Real Adaptor3d_SurfaceOfRevolution::FirstUParameter ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Real Adaptor3d_SurfaceOfRevolution::FirstVParameter ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

GeomAbs_SurfaceType Adaptor3d_SurfaceOfRevolution::GetType ( ) const
virtual

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

Reimplemented from Adaptor3d_Surface.

Standard_Boolean Adaptor3d_SurfaceOfRevolution::IsUClosed ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Boolean Adaptor3d_SurfaceOfRevolution::IsUPeriodic ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Boolean Adaptor3d_SurfaceOfRevolution::IsURational ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Boolean Adaptor3d_SurfaceOfRevolution::IsVClosed ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Boolean Adaptor3d_SurfaceOfRevolution::IsVPeriodic ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Boolean Adaptor3d_SurfaceOfRevolution::IsVRational ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Real Adaptor3d_SurfaceOfRevolution::LastUParameter ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Real Adaptor3d_SurfaceOfRevolution::LastVParameter ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

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

Changes the Curve.

void Adaptor3d_SurfaceOfRevolution::Load ( const gp_Ax1 V)

Changes the Direction.

Standard_Integer Adaptor3d_SurfaceOfRevolution::NbUIntervals ( const GeomAbs_Shape  S) const
virtual

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

Reimplemented from Adaptor3d_Surface.

Standard_Integer Adaptor3d_SurfaceOfRevolution::NbUKnots ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Integer Adaptor3d_SurfaceOfRevolution::NbUPoles ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Integer Adaptor3d_SurfaceOfRevolution::NbVIntervals ( const GeomAbs_Shape  S) const
virtual

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

Reimplemented from Adaptor3d_Surface.

Standard_Integer Adaptor3d_SurfaceOfRevolution::NbVKnots ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Integer Adaptor3d_SurfaceOfRevolution::NbVPoles ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

gp_Pln Adaptor3d_SurfaceOfRevolution::Plane ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

gp_Sphere Adaptor3d_SurfaceOfRevolution::Sphere ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

gp_Torus Adaptor3d_SurfaceOfRevolution::Torus ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

GeomAbs_Shape Adaptor3d_SurfaceOfRevolution::UContinuity ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

Standard_Integer Adaptor3d_SurfaceOfRevolution::UDegree ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

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

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

Reimplemented from Adaptor3d_Surface.

Standard_Real Adaptor3d_SurfaceOfRevolution::UPeriod ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

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

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

Reimplemented from Adaptor3d_Surface.

Handle< Adaptor3d_HSurface > Adaptor3d_SurfaceOfRevolution::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 from Adaptor3d_Surface.

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

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

Reimplemented from Adaptor3d_Surface.

GeomAbs_Shape Adaptor3d_SurfaceOfRevolution::VContinuity ( ) const
virtual

Return CN.

Reimplemented from Adaptor3d_Surface.

Standard_Integer Adaptor3d_SurfaceOfRevolution::VDegree ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

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

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

Reimplemented from Adaptor3d_Surface.

Standard_Real Adaptor3d_SurfaceOfRevolution::VPeriod ( ) const
virtual

Reimplemented from Adaptor3d_Surface.

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

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

Reimplemented from Adaptor3d_Surface.

Handle< Adaptor3d_HSurface > Adaptor3d_SurfaceOfRevolution::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 from Adaptor3d_Surface.


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