OCC Main Page | ModelingData | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingData
TKG3d
Geom


Geom_SurfaceOfLinearExtrusion Class Reference

Describes a surface of linear extrusion ("extruded <br> surface"), e.g. a generalized cylinder. Such a surface
is obtained by sweeping a curve (called the "extruded <br> curve" or "basis") in a given direction (referred to as
the "direction of extrusion" and defined by a unit vector).
The u parameter is along the extruded curve. The v
parameter is along the direction of extrusion.
The parameter range for the u parameter is defined
by the reference curve.
The parameter range for the v parameter is ] -
infinity, + infinity [.
The position of the curve gives the origin of the v parameter.
The surface is "CN" in the v parametric direction.
The form of a surface of linear extrusion is generally a
ruled surface (GeomAbs_RuledForm). It can be:
- a cylindrical surface, if the extruded curve is a circle,
or a trimmed circle, with an axis parallel to the
direction of extrusion (GeomAbs_CylindricalForm), or
- a planar surface, if the extruded curve is a line
(GeomAbs_PlanarForm).
Note: The surface of extrusion is built from a copy of
the original basis curve, so the original curve is not
modified when the surface is modified.
Warning
Degenerate surfaces are not detected. A degenerate
surface is obtained, for example, when the extruded
curve is a line and the direction of extrusion is parallel
to that line.
.

#include <Geom_SurfaceOfLinearExtrusion.hxx>

Inheritance diagram for Geom_SurfaceOfLinearExtrusion:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT Geom_SurfaceOfLinearExtrusion (const Handle(Geom_Curve)&C, const gp_Dir &V)
 V is the direction of extrusion.
C is the extruded curve.
The form of a SurfaceOfLinearExtrusion can be :
. ruled surface (RuledForm),
. a cylindrical surface if the extruded curve is a circle or
a trimmed circle (CylindricalForm),
. a plane surface if the extruded curve is a Line (PlanarForm).
Warnings :
Degenerated surface cases are not detected. For example if the
curve C is a line and V is parallel to the direction of this
line.
.
Standard_EXPORT void SetDirection (const gp_Dir &V)
 Assigns V as the "direction of extrusion" for this
surface of linear extrusion.
.
Standard_EXPORT void SetBasisCurve (const Handle(Geom_Curve)&C)
 Modifies this surface of linear extrusion by redefining
its "basis curve" (the "extruded curve").
.
Standard_EXPORT void UReverse ()
 Changes the orientation of this surface of linear
extrusion in the u parametric direction. The
bounds of the surface are not changed, but the given
parametric direction is reversed. Hence the
orientation of the surface is reversed.
In the case of a surface of linear extrusion:
- UReverse reverses the basis curve, and
- VReverse reverses the direction of linear extrusion.
.
Standard_EXPORT Standard_Real UReversedParameter (const Standard_Real U) const
 Computes the u parameter on the modified
surface, produced by reversing its u parametric
direction, for any point of u parameter U on this surface of linear extrusion.
In the case of an extruded surface:
- UReverseParameter returns the reversed
parameter given by the function
ReversedParameter called with U on the basis curve,
.
Standard_EXPORT void VReverse ()
 Changes the orientation of this surface of linear
extrusion in the v parametric direction. The
bounds of the surface are not changed, but the given
parametric direction is reversed. Hence the
orientation of the surface is reversed.
In the case of a surface of linear extrusion:
- UReverse reverses the basis curve, and
- VReverse reverses the direction of linear extrusion.
.
Standard_EXPORT Standard_Real VReversedParameter (const Standard_Real V) const
 Computes the v parameter on the modified
surface, produced by reversing its u v parametric
direction, for any point of v parameter V on this surface of linear extrusion.
In the case of an extruded surface VReverse returns -V.
.
Standard_EXPORT void Bounds (Standard_Real &U1, Standard_Real &U2, Standard_Real &V1, Standard_Real &V2) const
 Returns the parametric bounds U1, U2, V1 and V2 of
this surface of linear extrusion.
A surface of linear extrusion is infinite in the v
parametric direction, so:
- V1 = Standard_Real::RealFirst()
- V2 = Standard_Real::RealLast().
.
Standard_EXPORT Standard_Boolean IsUClosed () const
 IsUClosed returns true if the "basis curve" of this
surface of linear extrusion is closed.
.
Standard_EXPORT Standard_Boolean IsVClosed () const
 IsVClosed always returns false.
.
Standard_EXPORT Standard_Boolean IsCNu (const Standard_Integer N) const
 IsCNu returns true if the degree of continuity for the
"basis curve" of this surface of linear extrusion is at least N.
Raises RangeError if N < 0.
.
Standard_EXPORT Standard_Boolean IsCNv (const Standard_Integer N) const
 IsCNv always returns true.
.
Standard_EXPORT Standard_Boolean IsUPeriodic () const
 IsUPeriodic returns true if the "basis curve" of this
surface of linear extrusion is periodic.
.
Standard_EXPORT Standard_Boolean IsVPeriodic () const
 IsVPeriodic always returns false.
.
Standard_EXPORT Handle_Geom_Curve UIso (const Standard_Real U) const
 Computes the U isoparametric curve of this surface
of linear extrusion. This is the line parallel to the
direction of extrusion, passing through the point of
parameter U of the basis curve.
.
Standard_EXPORT Handle_Geom_Curve VIso (const Standard_Real V) const
 Computes the V isoparametric curve of this surface
of linear extrusion. This curve is obtained by
translating the extruded curve in the direction of
extrusion, with the magnitude V.
.
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const
 Computes the point P (U, V) on the surface.
The parameter U is the parameter on the extruded curve.
The parametrization V is a linear parametrization, and
the direction of parametrization is the direction of
extrusion. If the point is on the extruded curve, V = 0.0
.
Standard_EXPORT void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const
 Computes the current point and the first derivatives in the
directions U and V.
Raises UndefinedDerivative if the continuity of the surface is not C1.
.
Standard_EXPORT 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
 --- Purpose ;
Computes the current point, the first and the second derivatives
in the directions U and V.
Raises UndefinedDerivative if the continuity of the surface is not C2.

Standard_EXPORT 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 current point, the first,the second and the third
derivatives in the directions U and V.
Raises UndefinedDerivative if the continuity of the surface is not C3.
.
Standard_EXPORT 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.
Raises UndefinedDerivative if the continuity of the surface is not CNu in the u
direction and CNv in the v direction.
Raises RangeError if Nu + Nv < 1 or Nu < 0 or Nv < 0.
.
Standard_EXPORT void LocalD0 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, gp_Pnt &P) const
 The following functions evaluates the local
derivatives on surface. Useful to manage discontinuities
on the surface.
if Side = 1 -> P = S( U+,V )
if Side = -1 -> P = S( U-,V )
else P is betveen discontinuities
can be evaluated using methods of
global evaluations P = S( U ,V )
.
Standard_EXPORT void LocalD1 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const
Standard_EXPORT void LocalD2 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V, gp_Vec &D2U, gp_Vec &D2V, gp_Vec &D2UV) const
Standard_EXPORT void LocalD3 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, 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
Standard_EXPORT gp_Vec LocalDN (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, const Standard_Integer Nu, const Standard_Integer Nv) const
Standard_EXPORT void Transform (const gp_Trsf &T)
 Applies the transformation T to this surface of linear extrusion.
.
virtual Standard_EXPORT 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 multiplies :
U by BasisCurve()->ParametricTransformation(T)
V by T.ScaleFactor()
.
virtual Standard_EXPORT 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 a scale
U by BasisCurve()->ParametricTransformation(T)
V by T.ScaleFactor()
.
Standard_EXPORT Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this surface of linear extrusion.
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Constructor & Destructor Documentation

Standard_EXPORT Geom_SurfaceOfLinearExtrusion::Geom_SurfaceOfLinearExtrusion const Handle(Geom_Curve)&  C,
const gp_Dir &  V
 


Member Function Documentation

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::Bounds Standard_Real &  U1,
Standard_Real &  U2,
Standard_Real &  V1,
Standard_Real &  V2
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Handle_Geom_Geometry Geom_SurfaceOfLinearExtrusion::Copy  )  const [virtual]
 

Implements Geom_Geometry.

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::D0 const Standard_Real  U,
const Standard_Real  V,
gp_Pnt &  P
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::D1 const Standard_Real  U,
const Standard_Real  V,
gp_Pnt &  P,
gp_Vec &  D1U,
gp_Vec &  D1V
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::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]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::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]
 

Implements Geom_Surface.

Standard_EXPORT gp_Vec Geom_SurfaceOfLinearExtrusion::DN const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  Nu,
const Standard_Integer  Nv
const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT const Geom_SurfaceOfLinearExtrusion::Handle Standard_Type   )  const
 

Reimplemented from Geom_SweptSurface.

Standard_EXPORT Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsCNu const Standard_Integer  N  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsCNv const Standard_Integer  N  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsUClosed  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsUPeriodic  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsVClosed  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsVPeriodic  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::LocalD0 const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  USide,
gp_Pnt &  P
const
 

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::LocalD1 const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  USide,
gp_Pnt &  P,
gp_Vec &  D1U,
gp_Vec &  D1V
const
 

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::LocalD2 const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  USide,
gp_Pnt &  P,
gp_Vec &  D1U,
gp_Vec &  D1V,
gp_Vec &  D2U,
gp_Vec &  D2V,
gp_Vec &  D2UV
const
 

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::LocalD3 const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  USide,
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
 

Standard_EXPORT gp_Vec Geom_SurfaceOfLinearExtrusion::LocalDN const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  USide,
const Standard_Integer  Nu,
const Standard_Integer  Nv
const
 

virtual Standard_EXPORT gp_GTrsf2d Geom_SurfaceOfLinearExtrusion::ParametricTransformation const gp_Trsf &  T  )  const [virtual]
 

Reimplemented from Geom_Surface.

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::SetBasisCurve const Handle(Geom_Curve)&  C  ) 
 

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::SetDirection const gp_Dir &  V  ) 
 

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::Transform const gp_Trsf &  T  )  [virtual]
 

Implements Geom_Geometry.

virtual Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::TransformParameters Standard_Real &  U,
Standard_Real &  V,
const gp_Trsf &  T
const [virtual]
 

Reimplemented from Geom_Surface.

Standard_EXPORT Handle_Geom_Curve Geom_SurfaceOfLinearExtrusion::UIso const Standard_Real  U  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::UReverse  )  [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Real Geom_SurfaceOfLinearExtrusion::UReversedParameter const Standard_Real  U  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Handle_Geom_Curve Geom_SurfaceOfLinearExtrusion::VIso const Standard_Real  V  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT void Geom_SurfaceOfLinearExtrusion::VReverse  )  [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Real Geom_SurfaceOfLinearExtrusion::VReversedParameter const Standard_Real  V  )  const [virtual]
 

Implements Geom_Surface.


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:22:58 2008 for OpenCASCADE by  doxygen 1.4.1