Open CASCADE Technology 6.6.0
Public Member Functions
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:
More...

#include <Geom_SurfaceOfLinearExtrusion.hxx>

Inheritance diagram for Geom_SurfaceOfLinearExtrusion:
Inheritance graph
[legend]

Public Member Functions

 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.

void SetDirection (const gp_Dir &V)
 Assigns V as the "direction of extrusion" for this
surface of linear extrusion.

void SetBasisCurve (const Handle< Geom_Curve > &C)
 Modifies this surface of linear extrusion by redefining
its "basis curve" (the "extruded curve").

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:

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:

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:

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.

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:

Standard_Boolean IsUClosed () const
 IsUClosed returns true if the "basis curve" of this
surface of linear extrusion is closed.

Standard_Boolean IsVClosed () const
 IsVClosed always returns false.

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_Boolean IsCNv (const Standard_Integer N) const
 IsCNv always returns true.

Standard_Boolean IsUPeriodic () const
 IsUPeriodic returns true if the "basis curve" of this
surface of linear extrusion is periodic.

Standard_Boolean IsVPeriodic () const
 IsVPeriodic always returns false.

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.

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.

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

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.

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
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.

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.

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 )

void LocalD1 (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const
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
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
gp_Vec LocalDN (const Standard_Real U, const Standard_Real V, const Standard_Integer USide, const Standard_Integer Nu, const Standard_Integer Nv) const
void Transform (const gp_Trsf &T)
 Applies the transformation T to this surface of linear extrusion.

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 multiplies :
U by BasisCurve()->ParametricTransformation(T)
V by T.ScaleFactor()

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 a scale
U by BasisCurve()->ParametricTransformation(T)
V by T.ScaleFactor()

Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this surface of linear extrusion.


Detailed Description


Constructor & Destructor Documentation

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

Member Function Documentation

void Geom_SurfaceOfLinearExtrusion::Bounds ( Standard_Real U1,
Standard_Real U2,
Standard_Real V1,
Standard_Real V2 
) const [virtual]
  • V1 = Standard_Real::RealFirst()

V2 = Standard_Real::RealLast().

Implements Geom_Surface.

Handle_Geom_Geometry Geom_SurfaceOfLinearExtrusion::Copy ( ) const [virtual]

Implements Geom_Geometry.

void Geom_SurfaceOfLinearExtrusion::D0 ( const Standard_Real  U,
const Standard_Real  V,
gp_Pnt P 
) const [virtual]

Implements Geom_Surface.

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.

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]

--- 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.

Implements Geom_Surface.

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.

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_Boolean Geom_SurfaceOfLinearExtrusion::IsCNu ( const Standard_Integer  N) const [virtual]

Implements Geom_Surface.

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

Implements Geom_Surface.

Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsUClosed ( ) const [virtual]

Implements Geom_Surface.

Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsUPeriodic ( ) const [virtual]

Implements Geom_Surface.

Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsVClosed ( ) const [virtual]

Implements Geom_Surface.

Standard_Boolean Geom_SurfaceOfLinearExtrusion::IsVPeriodic ( ) const [virtual]

Implements Geom_Surface.

void Geom_SurfaceOfLinearExtrusion::LocalD0 ( const Standard_Real  U,
const Standard_Real  V,
const Standard_Integer  USide,
gp_Pnt P 
) const
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
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
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
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 gp_GTrsf2d Geom_SurfaceOfLinearExtrusion::ParametricTransformation ( const gp_Trsf T) const [virtual]

Reimplemented from Geom_Surface.

void Geom_SurfaceOfLinearExtrusion::SetBasisCurve ( const Handle< Geom_Curve > &  C)
void Geom_SurfaceOfLinearExtrusion::SetDirection ( const gp_Dir V)
void Geom_SurfaceOfLinearExtrusion::Transform ( const gp_Trsf T) [virtual]

Implements Geom_Geometry.

virtual void Geom_SurfaceOfLinearExtrusion::TransformParameters ( Standard_Real U,
Standard_Real V,
const gp_Trsf T 
) const [virtual]

Reimplemented from Geom_Surface.

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

Implements Geom_Surface.

void Geom_SurfaceOfLinearExtrusion::UReverse ( ) [virtual]
  • UReverse reverses the basis curve, and
  • VReverse reverses the direction of linear extrusion.

Implements Geom_Surface.

Standard_Real Geom_SurfaceOfLinearExtrusion::UReversedParameter ( const Standard_Real  U) const [virtual]
  • UReverseParameter returns the reversed
    parameter given by the function
    ReversedParameter called with U on the basis curve,

Implements Geom_Surface.

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

Implements Geom_Surface.

void Geom_SurfaceOfLinearExtrusion::VReverse ( ) [virtual]
  • UReverse reverses the basis curve, and
  • VReverse reverses the direction of linear extrusion.

Implements Geom_Surface.

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:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines