Open CASCADE Technology
6.5.4
|
Root class for surfaces on which geometric algorithms work.
An adapted surface is an interface between the
services provided by a surface and those required of
the surface by algorithms which use it.
A derived concrete class is provided:
GeomAdaptor_Surface for a surface from the Geom package.
The Surface class describes the standard behaviour
of a surface for generic algorithms.
The Surface can be decomposed in intervals of any
continuity in U and V using the method
NbIntervals. A current interval can be set. Most
of the methods apply to the current interval.
Warning: All the methods are virtual and implemented with a
raise to allow to redefined only the methods realy
used.
#include <Adaptor3d_Surface.hxx>
Public Member Functions | |
virtual DEFINE_STANDARD_ALLOC void | Delete () |
virtual | ~Adaptor3d_Surface () |
virtual Standard_Real | FirstUParameter () const |
virtual Standard_Real | LastUParameter () const |
virtual Standard_Real | FirstVParameter () const |
virtual Standard_Real | LastVParameter () const |
virtual GeomAbs_Shape | UContinuity () const |
virtual GeomAbs_Shape | VContinuity () const |
virtual Standard_Integer | NbUIntervals (const GeomAbs_Shape S) const |
Returns the number of U intervals for continuity <S>. May be one if UContinuity(me) >= <S> | |
virtual Standard_Integer | NbVIntervals (const GeomAbs_Shape S) const |
Returns the number of V intervals for continuity <S>. May be one if VContinuity(me) >= <S> | |
virtual void | UIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const |
Returns the intervals with the requested continuity in the U direction. | |
virtual void | VIntervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const |
Returns the intervals with the requested continuity in the V direction. | |
virtual 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> | |
virtual 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> | |
virtual Standard_Boolean | IsUClosed () const |
virtual Standard_Boolean | IsVClosed () const |
virtual Standard_Boolean | IsUPeriodic () const |
virtual Standard_Real | UPeriod () const |
virtual Standard_Boolean | IsVPeriodic () const |
virtual Standard_Real | VPeriod () const |
virtual gp_Pnt | Value (const Standard_Real U, const Standard_Real V) const |
Computes the point of parameters U,V on the surface. | |
virtual void | D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const |
Computes the point of parameters U,V on the surface. | |
virtual 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. | |
virtual 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. | |
virtual 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. | |
virtual 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. | |
virtual Standard_Real | UResolution (const Standard_Real R3d) const |
Returns the parametric U resolution corresponding to the real space resolution <R3d>. | |
virtual Standard_Real | VResolution (const Standard_Real R3d) const |
Returns the parametric V resolution corresponding to the real space resolution <R3d>. | |
virtual GeomAbs_SurfaceType | GetType () const |
Returns the type of the surface : Plane, Cylinder, Cone, Sphere, Torus, BezierSurface, BSplineSurface, SurfaceOfRevolution, SurfaceOfExtrusion, OtherSurface | |
virtual gp_Pln | Plane () const |
virtual gp_Cylinder | Cylinder () const |
virtual gp_Cone | Cone () const |
virtual gp_Sphere | Sphere () const |
virtual gp_Torus | Torus () const |
virtual Standard_Integer | UDegree () const |
virtual Standard_Integer | NbUPoles () const |
virtual Standard_Integer | VDegree () const |
virtual Standard_Integer | NbVPoles () const |
virtual Standard_Integer | NbUKnots () const |
virtual Standard_Integer | NbVKnots () const |
virtual Standard_Boolean | IsURational () const |
virtual Standard_Boolean | IsVRational () const |
virtual Handle_Geom_BezierSurface | Bezier () const |
virtual Handle_Geom_BSplineSurface | BSpline () const |
virtual gp_Ax1 | AxeOfRevolution () const |
virtual gp_Dir | Direction () const |
virtual Handle_Adaptor3d_HCurve | BasisCurve () const |
virtual Handle_Adaptor3d_HSurface | BasisSurface () const |
virtual Standard_Real | OffsetValue () const |
virtual Adaptor3d_Surface::~Adaptor3d_Surface | ( | ) | [inline, virtual] |
virtual gp_Ax1 Adaptor3d_Surface::AxeOfRevolution | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfLinearExtrusion, and Adaptor3d_SurfaceOfRevolution.
virtual Handle_Adaptor3d_HCurve Adaptor3d_Surface::BasisCurve | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Handle_Adaptor3d_HSurface Adaptor3d_Surface::BasisSurface | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
virtual Handle_Geom_BezierSurface Adaptor3d_Surface::Bezier | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Handle_Geom_BSplineSurface Adaptor3d_Surface::BSpline | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual gp_Cone Adaptor3d_Surface::Cone | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual gp_Cylinder Adaptor3d_Surface::Cylinder | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual void Adaptor3d_Surface::D0 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
gp_Pnt & | P | ||
) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual void Adaptor3d_Surface::D1 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
gp_Pnt & | P, | ||
gp_Vec & | D1U, | ||
gp_Vec & | D1V | ||
) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual void Adaptor3d_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 [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual void Adaptor3d_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 [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual DEFINE_STANDARD_ALLOC void Adaptor3d_Surface::Delete | ( | ) | [virtual] |
virtual gp_Dir Adaptor3d_Surface::Direction | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual gp_Vec Adaptor3d_Surface::DN | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
const Standard_Integer | Nu, | ||
const Standard_Integer | Nv | ||
) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::FirstUParameter | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::FirstVParameter | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual GeomAbs_SurfaceType Adaptor3d_Surface::GetType | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Boolean Adaptor3d_Surface::IsUClosed | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Boolean Adaptor3d_Surface::IsUPeriodic | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Boolean Adaptor3d_Surface::IsURational | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Boolean Adaptor3d_Surface::IsVClosed | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Boolean Adaptor3d_Surface::IsVPeriodic | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Boolean Adaptor3d_Surface::IsVRational | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::LastUParameter | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::LastVParameter | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Integer Adaptor3d_Surface::NbUIntervals | ( | const GeomAbs_Shape | S | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Integer Adaptor3d_Surface::NbUKnots | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Integer Adaptor3d_Surface::NbUPoles | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Integer Adaptor3d_Surface::NbVIntervals | ( | const GeomAbs_Shape | S | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Integer Adaptor3d_Surface::NbVKnots | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Integer Adaptor3d_Surface::NbVPoles | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::OffsetValue | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, and GeomAdaptor_Surface.
virtual gp_Pln Adaptor3d_Surface::Plane | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual gp_Sphere Adaptor3d_Surface::Sphere | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual gp_Torus Adaptor3d_Surface::Torus | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual GeomAbs_Shape Adaptor3d_Surface::UContinuity | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Integer Adaptor3d_Surface::UDegree | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual void Adaptor3d_Surface::UIntervals | ( | TColStd_Array1OfReal & | T, |
const GeomAbs_Shape | S | ||
) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::UPeriod | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::UResolution | ( | const Standard_Real | R3d | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Handle_Adaptor3d_HSurface Adaptor3d_Surface::UTrim | ( | const Standard_Real | First, |
const Standard_Real | Last, | ||
const Standard_Real | Tol | ||
) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual gp_Pnt Adaptor3d_Surface::Value | ( | const Standard_Real | U, |
const Standard_Real | V | ||
) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual GeomAbs_Shape Adaptor3d_Surface::VContinuity | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Integer Adaptor3d_Surface::VDegree | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual void Adaptor3d_Surface::VIntervals | ( | TColStd_Array1OfReal & | T, |
const GeomAbs_Shape | S | ||
) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::VPeriod | ( | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Standard_Real Adaptor3d_Surface::VResolution | ( | const Standard_Real | R3d | ) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, GeomAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, and Adaptor3d_SurfaceOfLinearExtrusion.
virtual Handle_Adaptor3d_HSurface Adaptor3d_Surface::VTrim | ( | const Standard_Real | First, |
const Standard_Real | Last, | ||
const Standard_Real | Tol | ||
) | const [virtual] |
Reimplemented in BRepAdaptor_Surface, Adaptor3d_SurfaceOfRevolution, GeomAdaptor_Surface, and Adaptor3d_SurfaceOfLinearExtrusion.