Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
Geom_RectangularTrimmedSurface Class Reference

Describes a portion of a surface (a patch) limited
by two values of the u parameter in the u
parametric direction, and two values of the v
parameter in the v parametric direction. The
domain of the trimmed surface must be within the
domain of the surface being trimmed.
The trimmed surface is defined by:
More...

#include <Geom_RectangularTrimmedSurface.hxx>

Inheritance diagram for Geom_RectangularTrimmedSurface:
Inheritance graph
[legend]

Public Member Functions

 Geom_RectangularTrimmedSurface (const Handle< Geom_Surface > &S, const Standard_Real U1, const Standard_Real U2, const Standard_Real V1, const Standard_Real V2, const Standard_Boolean USense=Standard_True, const Standard_Boolean VSense=Standard_True)
 The U parametric direction of the surface is oriented from U1
to U2. The V parametric direction of the surface is oriented
from V1 to V2.
These two directions define the orientation of the surface
(normal). If the surface is not periodic USense and VSense are
not used for the construction. If the surface S is periodic in
one direction USense and VSense give the available part of the
surface. By default in this case the surface has the same
orientation as the basis surface S.
The returned surface is not closed and not periodic.
ConstructionError Raised if
S is not periodic in the UDirection and U1 or U2 are out of the
bounds of S.
S is not periodic in the VDirection and V1 or V2 are out of the
bounds of S.
U1 = U2 or V1 = V2

 Geom_RectangularTrimmedSurface (const Handle< Geom_Surface > &S, const Standard_Real Param1, const Standard_Real Param2, const Standard_Boolean UTrim, const Standard_Boolean Sense=Standard_True)
 The basis surface S is only trim in one parametric direction.
If UTrim = True the surface is trimmed in the U parametric
direction else the surface is trimmed in the V parametric
direction.
In the considered parametric direction the resulting surface is
oriented from Param1 to Param2. If S is periodic Sense gives the
available part of the surface. By default the trimmed surface has
the same orientation as the basis surface S in the considered
parametric direction (Sense = True).
If the basis surface S is closed or periodic in the parametric
direction opposite to the trimming direction the trimmed surface
has the same characteristics as the surface S in this direction.
Warnings :
In this package the entities are not shared.
The RectangularTrimmedSurface is built with a copy of the
surface S. So when S is modified the RectangularTrimmedSurface
is not modified
//! Raised if
S is not periodic in the considered parametric direction and
Param1 or Param2 are out of the bounds of S.
Param1 = Param2

void SetTrim (const Standard_Real U1, const Standard_Real U2, const Standard_Real V1, const Standard_Real V2, const Standard_Boolean USense=Standard_True, const Standard_Boolean VSense=Standard_True)
 Modifies this patch by changing the trim values
applied to the original surface
The u parametric direction of
this patch is oriented from U1 to U2. The v
parametric direction of this patch is oriented
from V1 to V2. USense and VSense are used
for the construction only if the surface is periodic
in the corresponding parametric direction, and
define the available part of the surface; by default
in this case, this patch has the same orientation
as the basis surface.
//! Raised if
The BasisSurface is not periodic in the UDirection and U1 or U2
are out of the bounds of the BasisSurface.
The BasisSurface is not periodic in the VDirection and V1 or V2
are out of the bounds of the BasisSurface.
U1 = U2 or V1 = V2

void SetTrim (const Standard_Real Param1, const Standard_Real Param2, const Standard_Boolean UTrim, const Standard_Boolean Sense=Standard_True)
 Modifies this patch by changing the trim values
applied to the original surface
The basis surface is trimmed only in one parametric direction: if UTrim
is true, the surface is trimmed in the u parametric
direction; if it is false, it is trimmed in the v
parametric direction. In the "trimmed" direction,
this patch is oriented from Param1 to Param2. If
the basis surface is periodic in the "trimmed"
direction, Sense defines its available part. By
default in this case, this patch has the same
orientation as the basis surface in this parametric
direction. If the basis surface is closed or periodic
in the other parametric direction (i.e. not the
"trimmed" direction), this patch has the same
characteristics as the basis surface in that parametric direction.
//! Raised if
The BasisSurface is not periodic in the considered direction and
Param1 or Param2 are out of the bounds of the BasisSurface.
Param1 = Param2

Handle_Geom_Surface BasisSurface () const
 Returns the Basis surface of <me>.

void UReverse ()
 Changes the orientation of this patch 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.

Standard_Real UReversedParameter (const Standard_Real U) const
 Computes the u parameter on the modified
surface, produced by when reversing its u
parametric direction, for any point of u parameter U on this patch.

void VReverse ()
 Changes the orientation of this patch 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.

Standard_Real VReversedParameter (const Standard_Real V) const
 Computes the v parameter on the modified
surface, produced by when reversing its v
parametric direction, for any point of v parameter V on this patch.

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

GeomAbs_Shape Continuity () const
 Returns the continuity of the surface :
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,
CN : the order of continuity is infinite.

Standard_Boolean IsUClosed () const
 Returns true if this patch is closed in the given parametric direction.

Standard_Boolean IsVClosed () const
 Returns true if this patch is closed in the given parametric direction.

Standard_Boolean IsCNu (const Standard_Integer N) const
 Returns true if the order of derivation in the U parametric
direction is N.
//! Raised if N < 0.

Standard_Boolean IsCNv (const Standard_Integer N) const
 Returns true if the order of derivation in the V parametric
direction is N.
//! Raised if N < 0.

Standard_Boolean IsUPeriodic () const
 Returns true if this patch is periodic in the given
parametric direction.

virtual Standard_Real UPeriod () const
 Returns the period of this patch in the u
parametric direction.
//! raises if the surface is not uperiodic.

Standard_Boolean IsVPeriodic () const
 Returns true if this patch is periodic in the given
parametric direction.

virtual Standard_Real VPeriod () const
 Returns the period of this patch in the v
parametric direction.
//! raises if the surface is not vperiodic.
//! value and derivatives

Handle_Geom_Curve UIso (const Standard_Real U) const
 computes the U isoparametric curve.

Handle_Geom_Curve VIso (const Standard_Real V) const
 Computes the V isoparametric curve.

void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const
 Can be raised if the basis surface is an OffsetSurface.

void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const
 The returned derivatives have the same orientation as the
derivatives of the basis surface even if the trimmed surface
has not the same parametric orientation.
Warning! UndefinedDerivative raised 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
 The returned derivatives have the same orientation as the
derivatives of the basis surface even if the trimmed surface
has not the same parametric orientation.
Warning! UndefinedDerivative raised if the continuity of the surface 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
 The returned derivatives have the same orientation as the
derivatives of the basis surface even if the trimmed surface
has not the same parametric orientation.
Warning UndefinedDerivative raised 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
 The returned derivative has the same orientation as the
derivative of the basis surface even if the trimmed surface
has not the same parametric orientation.
Warning! UndefinedDerivative raised if the continuity of the surface is not CNu in the U
parametric direction and CNv in the V parametric direction.
RangeError Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.

void Transform (const gp_Trsf &T)
 Applies the transformation T to this patch.
Warning
As a consequence, the basis surface included in the
data structure of this patch is also modified.

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 calls the basis surface method.

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 calls the basis surface method.

Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this patch.


Detailed Description


Constructor & Destructor Documentation


Member Function Documentation

Handle_Geom_Surface Geom_RectangularTrimmedSurface::BasisSurface ( ) const

Implements Geom_Surface.

Implements Geom_Surface.

Handle_Geom_Geometry Geom_RectangularTrimmedSurface::Copy ( ) const [virtual]

Implements Geom_Geometry.

Implements Geom_Surface.

void Geom_RectangularTrimmedSurface::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_RectangularTrimmedSurface::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.

void Geom_RectangularTrimmedSurface::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.

Implements Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

Reimplemented from Geom_Surface.

Implements Geom_Geometry.

Reimplemented from Geom_Surface.

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

Implements Geom_Surface.

Reimplemented from Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

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

Implements Geom_Surface.

Reimplemented from Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.


The documentation for this class was generated from the following file: