Open CASCADE Technology 6.6.0
|
Describes the common behavior of surfaces in 3D
space. The Geom package provides many
implementations of concrete derived surfaces, such as
planes, cylinders, cones, spheres and tori, surfaces of
linear extrusion, surfaces of revolution, Bezier and
BSpline surfaces, and so on.
The key characteristic of these surfaces is that they
are parameterized. Geom_Surface demonstrates:
More...
#include <Geom_Surface.hxx>
Public Member Functions | |
virtual void | UReverse ()=0 |
Reverses the U direction of parametrization of <me>. The bounds of the surface are not modified. | |
Handle_Geom_Surface | UReversed () const |
Reverses the U direction of parametrization of <me>. The bounds of the surface are not modified. A copy of <me> is returned. | |
virtual Standard_Real | UReversedParameter (const Standard_Real U) const =0 |
Returns the parameter on the Ureversed surface for the point of parameter U on <me>. me->UReversed()->Value(me->UReversedParameter(U),V) is the same point as me->Value(U,V) | |
virtual void | VReverse ()=0 |
Reverses the V direction of parametrization of <me>. The bounds of the surface are not modified. | |
Handle_Geom_Surface | VReversed () const |
Reverses the V direction of parametrization of <me>. The bounds of the surface are not modified. A copy of <me> is returned. | |
virtual Standard_Real | VReversedParameter (const Standard_Real V) const =0 |
Returns the parameter on the Vreversed surface for the point of parameter V on <me>. me->VReversed()->Value(U,me->VReversedParameter(V)) is the same point as me->Value(U,V) | |
virtual void | TransformParameters (Standard_Real &U, Standard_Real &V, const gp_Trsf &T) const |
Computes the parameters on the transformed surface for the transform of the point of parameters U,V on <me>. me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are the new values of U,V after calling me->TranformParameters(U,V,T) This methods does not change <U> and <V> It can be redefined. For example on the Plane, Cylinder, Cone, Revolved and Extruded surfaces. | |
virtual gp_GTrsf2d | ParametricTransformation (const gp_Trsf &T) const |
Returns a 2d transformation used to find the new parameters of a point on the transformed surface. me->Transformed(T)->Value(U',V') is the same point as me->Value(U,V).Transformed(T) Where U',V' are obtained by transforming U,V with th 2d transformation returned by me->ParametricTransformation(T) This methods returns an identity transformation It can be redefined. For example on the Plane, Cylinder, Cone, Revolved and Extruded surfaces. | |
virtual void | Bounds (Standard_Real &U1, Standard_Real &U2, Standard_Real &V1, Standard_Real &V2) const =0 |
Returns the parametric bounds U1, U2, V1 and V2 of this surface. If the surface is infinite, this function can return a value equal to Precision::Infinite: instead of Standard_Real::LastReal. | |
virtual Standard_Boolean | IsUClosed () const =0 |
Checks whether this surface is closed in the u parametric direction. Returns true if, in the u parametric direction: taking uFirst and uLast as the parametric bounds in the u parametric direction, for each parameter v, the distance between the points P(uFirst, v) and P(uLast, v) is less than or equal to gp::Resolution(). | |
virtual Standard_Boolean | IsVClosed () const =0 |
Checks whether this surface is closed in the u parametric direction. Returns true if, in the v parametric direction: taking vFirst and vLast as the parametric bounds in the v parametric direction, for each parameter u, the distance between the points P(u, vFirst) and P(u, vLast) is less than or equal to gp::Resolution(). | |
virtual Standard_Boolean | IsUPeriodic () const =0 |
Checks if this surface is periodic in the u parametric direction. Returns true if: | |
virtual Standard_Real | UPeriod () const |
Returns the period of this surface in the u parametric direction. //! raises if the surface is not uperiodic. | |
virtual Standard_Boolean | IsVPeriodic () const =0 |
Checks if this surface is periodic in the v parametric direction. Returns true if: | |
virtual Standard_Real | VPeriod () const |
Returns the period of this surface in the v parametric direction. //! raises if the surface is not vperiodic. | |
virtual Handle_Geom_Curve | UIso (const Standard_Real U) const =0 |
Computes the U isoparametric curve. | |
virtual Handle_Geom_Curve | VIso (const Standard_Real V) const =0 |
Computes the V isoparametric curve. | |
virtual GeomAbs_Shape | Continuity () const =0 |
Returns the Global Continuity of the surface in direction U and V : C0 : only geometric continuity, C1 : continuity of the first derivative all along the surface, C2 : continuity of the second derivative all along the surface, C3 : continuity of the third derivative all along the surface, G1 : tangency continuity all along the surface, G2 : curvature continuity all along the surface, CN : the order of continuity is infinite. Example : If the surface is C1 in the V parametric direction and C2 in the U parametric direction Shape = C1. | |
virtual Standard_Boolean | IsCNu (const Standard_Integer N) const =0 |
Returns the order of continuity of the surface in the U parametric direction. //! Raised if N < 0. | |
virtual Standard_Boolean | IsCNv (const Standard_Integer N) const =0 |
Returns the order of continuity of the surface in the V parametric direction. //! Raised if N < 0. | |
virtual void | D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const =0 |
Computes the point of parameter U,V on the surface. Raised only for an "OffsetSurface" if it is not possible to compute the current point. | |
virtual void | D1 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const =0 |
Computes the point P and the first derivatives in the directions U and V at this point. //! Raised if the continuity of the surface 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 =0 |
Computes the point P, the first and the second derivatives in the directions U and V at this point. //! Raised if the continuity of the surface 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 =0 |
Computes the point P, the first,the second and the third derivatives in the directions U and V at this point. //! Raised if the continuity of the surface is not C2. | |
virtual gp_Vec | DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const =0 |
gp_Pnt | Value (const Standard_Real U, const Standard_Real V) const |
Computes the point of parameter U on the surface. It is implemented with D0 Raised only for an "OffsetSurface" if it is not possible to compute the current point. |
virtual void Geom_Surface::Bounds | ( | Standard_Real & | U1, |
Standard_Real & | U2, | ||
Standard_Real & | V1, | ||
Standard_Real & | V2 | ||
) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual GeomAbs_Shape Geom_Surface::Continuity | ( | ) | const [pure virtual] |
virtual void Geom_Surface::D0 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
gp_Pnt & | P | ||
) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual void Geom_Surface::D1 | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
gp_Pnt & | P, | ||
gp_Vec & | D1U, | ||
gp_Vec & | D1V | ||
) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual void Geom_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 [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual void Geom_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 [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual gp_Vec Geom_Surface::DN | ( | const Standard_Real | U, |
const Standard_Real | V, | ||
const Standard_Integer | Nu, | ||
const Standard_Integer | Nv | ||
) | const [pure virtual] |
---Purpose ;
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 continuity of the surface is not CNu in the U
direction or not CNv in the V direction.
//! Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual Standard_Boolean Geom_Surface::IsCNu | ( | const Standard_Integer | N | ) | const [pure virtual] |
virtual Standard_Boolean Geom_Surface::IsCNv | ( | const Standard_Integer | N | ) | const [pure virtual] |
virtual Standard_Boolean Geom_Surface::IsUClosed | ( | ) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual Standard_Boolean Geom_Surface::IsUPeriodic | ( | ) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual Standard_Boolean Geom_Surface::IsVClosed | ( | ) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual Standard_Boolean Geom_Surface::IsVPeriodic | ( | ) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual gp_GTrsf2d Geom_Surface::ParametricTransformation | ( | const gp_Trsf & | T | ) | const [virtual] |
virtual void Geom_Surface::TransformParameters | ( | Standard_Real & | U, |
Standard_Real & | V, | ||
const gp_Trsf & | T | ||
) | const [virtual] |
virtual Handle_Geom_Curve Geom_Surface::UIso | ( | const Standard_Real | U | ) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual Standard_Real Geom_Surface::UPeriod | ( | ) | const [virtual] |
Reimplemented in Geom_RectangularTrimmedSurface, Geom_OffsetSurface, and GeomPlate_Surface.
virtual void Geom_Surface::UReverse | ( | ) | [pure virtual] |
Handle_Geom_Surface Geom_Surface::UReversed | ( | ) | const |
virtual Standard_Real Geom_Surface::UReversedParameter | ( | const Standard_Real | U | ) | const [pure virtual] |
Implemented in Geom_ElementarySurface, Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
gp_Pnt Geom_Surface::Value | ( | const Standard_Real | U, |
const Standard_Real | V | ||
) | const |
virtual Handle_Geom_Curve Geom_Surface::VIso | ( | const Standard_Real | V | ) | const [pure virtual] |
Implemented in Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.
virtual Standard_Real Geom_Surface::VPeriod | ( | ) | const [virtual] |
Reimplemented in Geom_RectangularTrimmedSurface, Geom_OffsetSurface, and GeomPlate_Surface.
virtual void Geom_Surface::VReverse | ( | ) | [pure virtual] |
Handle_Geom_Surface Geom_Surface::VReversed | ( | ) | const |
virtual Standard_Real Geom_Surface::VReversedParameter | ( | const Standard_Real | V | ) | const [pure virtual] |
Implemented in Geom_ElementarySurface, Geom_Plane, Geom_ConicalSurface, Geom_CylindricalSurface, Geom_SphericalSurface, Geom_ToroidalSurface, Geom_SurfaceOfLinearExtrusion, Geom_SurfaceOfRevolution, Geom_BezierSurface, Geom_BSplineSurface, Geom_RectangularTrimmedSurface, Geom_OffsetSurface, GeomPlate_Surface, and ShapeExtend_CompositeSurface.