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

ModelingData
TKG3d
Geom


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:
- the basis surface, and
- the values (umin, umax) and (vmin, vmax)
which limit it in the u and v parametric directions.
The trimmed surface is built from a copy of the basis
surface. Therefore, when the basis surface is
modified the trimmed surface is not changed.
Consequently, the trimmed surface does not
necessarily have the same orientation as the basis surface.
Warning: The case of surface being trimmed is periodic and
parametrics values are outside the domain is possible.
But, domain of the trimmed surface can be translated
by (n X) the period.
.

#include <Geom_RectangularTrimmedSurface.hxx>

Inheritance diagram for Geom_RectangularTrimmedSurface:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT 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
.
Standard_EXPORT 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
.
Standard_EXPORT 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
.
Standard_EXPORT 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
.
Standard_EXPORT Handle_Geom_Surface BasisSurface () const
 Returns the Basis surface of <me>.
.
Standard_EXPORT 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_EXPORT 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.
.
Standard_EXPORT 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_EXPORT 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.
.
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 patch.
.
Standard_EXPORT 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_EXPORT Standard_Boolean IsUClosed () const
 Returns true if this patch is closed in the given parametric direction.
.
Standard_EXPORT Standard_Boolean IsVClosed () const
 Returns true if this patch is closed in the given parametric direction.
.
Standard_EXPORT 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_EXPORT 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_EXPORT Standard_Boolean IsUPeriodic () const
 Returns true if this patch is periodic in the given
parametric direction.
.
virtual Standard_EXPORT Standard_Real UPeriod () const
 Returns the period of this patch in the u
parametric direction.
//! raises if the surface is not uperiodic.
.
Standard_EXPORT Standard_Boolean IsVPeriodic () const
 Returns true if this patch is periodic in the given
parametric direction.
.
virtual Standard_EXPORT 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
.
Standard_EXPORT Handle_Geom_Curve UIso (const Standard_Real U) const
 computes the U isoparametric curve.

Standard_EXPORT Handle_Geom_Curve VIso (const Standard_Real V) const
 Computes the V isoparametric curve.
.
Standard_EXPORT void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const
 Can be raised if the basis surface is an OffsetSurface.
.
Standard_EXPORT 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.
.
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
 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.
.
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
 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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 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 calls the basis surface method.
.
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 calls the basis surface method.
.
Standard_EXPORT Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this patch.
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Member Functions

Standard_EXPORT void SetTrim (const Standard_Real U1, const Standard_Real U2, const Standard_Real V1, const Standard_Real V2, const Standard_Boolean UTrim, const Standard_Boolean VTrim, const Standard_Boolean USense, const Standard_Boolean VSense)
 General set trim, to implement constructors and
others set trim.
.

Private Attributes

Handle_Geom_Surface basisSurf
Standard_Real utrim1
Standard_Real vtrim1
Standard_Real utrim2
Standard_Real vtrim2
Standard_Boolean isutrimmed
Standard_Boolean isvtrimmed

Constructor & Destructor Documentation

Standard_EXPORT Geom_RectangularTrimmedSurface::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
 

Standard_EXPORT Geom_RectangularTrimmedSurface::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
 


Member Function Documentation

Standard_EXPORT Handle_Geom_Surface Geom_RectangularTrimmedSurface::BasisSurface  )  const
 

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

Implements Geom_Surface.

Standard_EXPORT GeomAbs_Shape Geom_RectangularTrimmedSurface::Continuity  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Handle_Geom_Geometry Geom_RectangularTrimmedSurface::Copy  )  const [virtual]
 

Implements Geom_Geometry.

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

Implements Geom_Surface.

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

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

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

Standard_EXPORT gp_Vec Geom_RectangularTrimmedSurface::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_RectangularTrimmedSurface::Handle Standard_Type   )  const
 

Reimplemented from Geom_BoundedSurface.

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

Implements Geom_Surface.

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

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_RectangularTrimmedSurface::IsUClosed  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_RectangularTrimmedSurface::IsUPeriodic  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_RectangularTrimmedSurface::IsVClosed  )  const [virtual]
 

Implements Geom_Surface.

Standard_EXPORT Standard_Boolean Geom_RectangularTrimmedSurface::IsVPeriodic  )  const [virtual]
 

Implements Geom_Surface.

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

Reimplemented from Geom_Surface.

Standard_EXPORT void Geom_RectangularTrimmedSurface::SetTrim const Standard_Real  U1,
const Standard_Real  U2,
const Standard_Real  V1,
const Standard_Real  V2,
const Standard_Boolean  UTrim,
const Standard_Boolean  VTrim,
const Standard_Boolean  USense,
const Standard_Boolean  VSense
[private]
 

Standard_EXPORT void Geom_RectangularTrimmedSurface::SetTrim const Standard_Real  Param1,
const Standard_Real  Param2,
const Standard_Boolean  UTrim,
const Standard_Boolean  Sense = Standard_True
 

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

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

Implements Geom_Geometry.

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

Reimplemented from Geom_Surface.

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

Implements Geom_Surface.

virtual Standard_EXPORT Standard_Real Geom_RectangularTrimmedSurface::UPeriod  )  const [virtual]
 

Reimplemented from Geom_Surface.

Standard_EXPORT void Geom_RectangularTrimmedSurface::UReverse  )  [virtual]
 

Implements Geom_Surface.

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

Implements Geom_Surface.

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

Implements Geom_Surface.

virtual Standard_EXPORT Standard_Real Geom_RectangularTrimmedSurface::VPeriod  )  const [virtual]
 

Reimplemented from Geom_Surface.

Standard_EXPORT void Geom_RectangularTrimmedSurface::VReverse  )  [virtual]
 

Implements Geom_Surface.

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

Implements Geom_Surface.


Field Documentation

Handle_Geom_Surface Geom_RectangularTrimmedSurface::basisSurf [private]
 

Standard_Boolean Geom_RectangularTrimmedSurface::isutrimmed [private]
 

Standard_Boolean Geom_RectangularTrimmedSurface::isvtrimmed [private]
 

Standard_Real Geom_RectangularTrimmedSurface::utrim1 [private]
 

Standard_Real Geom_RectangularTrimmedSurface::utrim2 [private]
 

Standard_Real Geom_RectangularTrimmedSurface::vtrim1 [private]
 

Standard_Real Geom_RectangularTrimmedSurface::vtrim2 [private]
 


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