Open CASCADE Technology 6.6.0
|
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.
#include <Adaptor3d_SurfaceOfRevolution.hxx>
Public Member Functions | |
Adaptor3d_SurfaceOfRevolution () | |
Adaptor3d_SurfaceOfRevolution (const Handle< Adaptor3d_HCurve > &C) | |
The Curve is loaded. | |
Adaptor3d_SurfaceOfRevolution (const Handle< Adaptor3d_HCurve > &C, const gp_Ax1 &V) | |
The Curve and the Direction are loaded. | |
void | Load (const Handle< Adaptor3d_HCurve > &C) |
Changes the Curve | |
void | Load (const gp_Ax1 &V) |
Changes the Direction | |
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. | |
Standard_Integer | NbUIntervals (const GeomAbs_Shape S) const |
Returns the number of U intervals for continuity <S>. May be one if UContinuity(me) >= <S> | |
Standard_Integer | NbVIntervals (const GeomAbs_Shape S) const |
Returns the number of V intervals for continuity <S>. May be one if VContinuity(me) >= <S> | |
void | UIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const |
Returns the intervals with the requested continuity in the U direction. | |
void | VIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const |
Returns the intervals with the requested continuity in the V direction. | |
Handle_Adaptor3d_HSurface | UTrim (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> | |
Handle_Adaptor3d_HSurface | VTrim (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> | |
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. | |
void | D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const |
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 |
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 |
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 |
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 |
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. | |
Standard_Real | UResolution (const Standard_Real R3d) const |
Returns the parametric U resolution corresponding to the real space resolution <R3d>. | |
Standard_Real | VResolution (const Standard_Real R3d) const |
Returns the parametric V resolution corresponding to the real space resolution <R3d>. | |
GeomAbs_SurfaceType | GetType () const |
Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface | |
gp_Pln | Plane () const |
gp_Cylinder | Cylinder () const |
gp_Cone | Cone () const |
Apex of the Cone = Cone.Position().Location() ==> ReferenceRadius = 0. | |
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_BezierSurface | Bezier () const |
Handle_Geom_BSplineSurface | BSpline () const |
gp_Ax3 | Axis () const |
gp_Dir | Direction () const |
Handle_Adaptor3d_HCurve | BasisCurve () const |
Adaptor3d_SurfaceOfRevolution::Adaptor3d_SurfaceOfRevolution | ( | ) |
Adaptor3d_SurfaceOfRevolution::Adaptor3d_SurfaceOfRevolution | ( | const Handle< Adaptor3d_HCurve > & | C | ) |
Adaptor3d_SurfaceOfRevolution::Adaptor3d_SurfaceOfRevolution | ( | const Handle< Adaptor3d_HCurve > & | C, |
const gp_Ax1 & | V | ||
) |
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] |
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] |
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] |
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] |
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] |
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] |
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] |
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 gp_Ax1 & | V | ) |
void Adaptor3d_SurfaceOfRevolution::Load | ( | const Handle< Adaptor3d_HCurve > & | C | ) |
Standard_Integer Adaptor3d_SurfaceOfRevolution::NbUIntervals | ( | const GeomAbs_Shape | S | ) | const [virtual] |
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] |
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] |
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] |
Reimplemented from Adaptor3d_Surface.
Handle_Adaptor3d_HSurface Adaptor3d_SurfaceOfRevolution::UTrim | ( | const Standard_Real | First, |
const Standard_Real | Last, | ||
const Standard_Real | Tol | ||
) | const [virtual] |
Reimplemented from Adaptor3d_Surface.
gp_Pnt Adaptor3d_SurfaceOfRevolution::Value | ( | const Standard_Real | U, |
const Standard_Real | V | ||
) | const [virtual] |
Reimplemented from Adaptor3d_Surface.
GeomAbs_Shape Adaptor3d_SurfaceOfRevolution::VContinuity | ( | ) | const [virtual] |
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] |
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] |
Reimplemented from Adaptor3d_Surface.
Handle_Adaptor3d_HSurface Adaptor3d_SurfaceOfRevolution::VTrim | ( | const Standard_Real | First, |
const Standard_Real | Last, | ||
const Standard_Real | Tol | ||
) | const [virtual] |
Reimplemented from Adaptor3d_Surface.