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

ModelingData
TKG3d
Geom


Geom_TrimmedCurve Class Reference

Describes a portion of a curve (termed the "basis <br> curve") limited by two parameter values inside the
parametric domain of the basis curve.
The trimmed curve is defined by:
- the basis curve, and
- the two parameter values which limit it.
The trimmed curve can either have the same
orientation as the basis curve or the opposite orientation.
.

#include <Geom_TrimmedCurve.hxx>

Inheritance diagram for Geom_TrimmedCurve:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT Geom_TrimmedCurve (const Handle(Geom_Curve)&C, const Standard_Real U1, const Standard_Real U2, const Standard_Boolean Sense=Standard_True)
 Constructs a trimmed curve from the basis curve C
which is limited between parameter values U1 and U2.
Note: - U1 can be greater or less than U2; in both cases,
the returned curve is oriented from U1 to U2.
- If the basis curve C is periodic, there is an
ambiguity because two parts are available. In this
case, the trimmed curve has the same orientation
as the basis curve if Sense is true (default value)
or the opposite orientation if Sense is false.
- If the curve is closed but not periodic, it is not
possible to keep the part of the curve which
includes the junction point (except if the junction
point is at the beginning or at the end of the
trimmed curve). If you tried to do this, you could
alter the fundamental characteristics of the basis
curve, which are used, for example, to compute
the derivatives of the trimmed curve. The rules
for a closed curve are therefore the same as
those for an open curve.
Warning: The trimmed curve is built from a copy of curve C.
Therefore, when C is modified, the trimmed curve
is not modified.
- If the basis curve is periodic, the bounds of the
trimmed curve may be different from U1 and U2
if the parametric origin of the basis curve is within
the arc of the trimmed curve. In this case, the
modified parameter will be equal to U1 or U2
plus or minus the period.
Exceptions
Standard_ConstructionError if:
- C is not periodic and U1 or U2 is outside the
bounds of C, or
- U1 is equal to U2.
.
Standard_EXPORT void Reverse ()
 Changes the orientation of this trimmed curve.
As a result:
- the basis curve is reversed,
- the start point of the initial curve becomes the
end point of the reversed curve,
- the end point of the initial curve becomes the
start point of the reversed curve,
- the first and last parameters are recomputed.
If the trimmed curve was defined by:
- a basis curve whose parameter range is [ 0., 1. ],
- the two trim values U1 (first parameter) and U2 (last parameter),
the reversed trimmed curve is defined by:
- the reversed basis curve, whose parameter range is still [ 0., 1. ],
- the two trim values 1. - U2 (first parameter) and 1. - U1 (last parameter).
.
Standard_EXPORT Standard_Real ReversedParameter (const Standard_Real U) const
 Computes the parameter on the reversed curve for
the point of parameter U on this trimmed curve.
.
Standard_EXPORT void SetTrim (const Standard_Real U1, const Standard_Real U2, const Standard_Boolean Sense=Standard_True)
 Changes this trimmed curve, by redefining the
parameter values U1 and U2 which limit its basis curve.
Note: If the basis curve is periodic, the trimmed curve
has the same orientation as the basis curve if Sense
is true (default value) or the opposite orientation if Sense is false.
Warning
If the basis curve is periodic, the bounds of the
trimmed curve may be different from U1 and U2 if the
parametric origin of the basis curve is within the arc of
the trimmed curve. In this case, the modified
parameter will be equal to U1 or U2 plus or minus the period.
Exceptions
Standard_ConstructionError if:
- the basis curve is not periodic, and either U1 or U2
are outside the bounds of the basis curve, or
- U1 is equal to U2.
.
Standard_EXPORT Handle_Geom_Curve BasisCurve () const
 Returns the basis curve.
Warning
This function does not return a constant reference.
Consequently, any modification of the returned value
directly modifies the trimmed curve.
.
Standard_EXPORT GeomAbs_Shape Continuity () const
 Returns the continuity of the curve :
C0 : only geometric continuity,
C1 : continuity of the first derivative all along the Curve,
C2 : continuity of the second derivative all along the Curve,
C3 : continuity of the third derivative all along the Curve,
CN : the order of continuity is infinite.
.
Standard_EXPORT Standard_Boolean IsCN (const Standard_Integer N) const
 Returns true if the degree of continuity of the basis
curve of this trimmed curve is at least N. A trimmed
curve is at least "C0" continuous.
Warnings :
The continuity of the trimmed curve can be greater than
the continuity of the basis curve because you consider
only a part of the basis curve.
//! Raised if N < 0.
.
Standard_EXPORT gp_Pnt EndPoint () const
 Returns the end point of <me>. This point is the
evaluation of the curve for the "LastParameter".
.
Standard_EXPORT Standard_Real FirstParameter () const
 Returns the value of the first parameter of <me>.
The first parameter is the parameter of the "StartPoint"
of the trimmed curve.
.
Standard_EXPORT Standard_Boolean IsClosed () const
 Returns True if the distance between the StartPoint and
the EndPoint is lower or equal to Resolution from package gp.
.
Standard_EXPORT Standard_Boolean IsPeriodic () const
 Returns true if the basis curve of this trimmed curve is periodic.
.
virtual Standard_EXPORT Standard_Real Period () const
 Returns the period of the basis curve of this trimmed curve.
Exceptions
Standard_NoSuchObject if the basis curve is not periodic.
.
Standard_EXPORT Standard_Real LastParameter () const
 Returns the value of the last parameter of <me>.
The last parameter is the parameter of the "EndPoint" of the
trimmed curve.
.
Standard_EXPORT gp_Pnt StartPoint () const
 Returns the start point of <me>.
This point is the evaluation of the curve from the
"FirstParameter".
//! value and derivatives
Warnings :
The returned derivatives have the same orientation as the
derivatives of the basis curve even if the trimmed curve
has not the same orientation as the basis curve.
.
Standard_EXPORT void D0 (const Standard_Real U, gp_Pnt &P) const
 Returns in P the point of parameter U.

If the basis curve is an OffsetCurve sometimes it is not
possible to do the evaluation of the curve at the parameter
U (see class OffsetCurve).
.
Standard_EXPORT void D1 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1) const
 Raised if the continuity of the curve is not C1.
.
Standard_EXPORT void D2 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2) const
 Raised if the continuity of the curve is not C2.
.
Standard_EXPORT void D3 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3) const
 Raised if the continuity of the curve is not C3.
.
Standard_EXPORT gp_Vec DN (const Standard_Real U, const Standard_Integer N) const
 N is the order of derivation.
//! Raised if the continuity of the curve is not CN.
//! Raised if N < 1.
//! geometric transformations
.
Standard_EXPORT void Transform (const gp_Trsf &T)
 Applies the transformation T to this trimmed curve.
Warning The basis curve is also modified.
.
virtual Standard_EXPORT Standard_Real TransformedParameter (const Standard_Real U, const gp_Trsf &T) const
 Returns the parameter on the transformed curve for
the transform of the point of parameter U on <me>.

me->Transformed(T)->Value(me->TransformedParameter(U,T))

is the same point as

me->Value(U).Transformed(T)

This methods calls the basis curve method.
.
virtual Standard_EXPORT Standard_Real ParametricTransformation (const gp_Trsf &T) const
 Returns a coefficient to compute the parameter on
the transformed curve for the transform of the
point on <me>.

Transformed(T)->Value(U * ParametricTransformation(T))

is the same point as

Value(U).Transformed(T)

This methods calls the basis curve method.
.
Standard_EXPORT Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this trimmed curve.
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Attributes

Handle_Geom_Curve basisCurve
Standard_Real uTrim1
Standard_Real uTrim2

Constructor & Destructor Documentation

Standard_EXPORT Geom_TrimmedCurve::Geom_TrimmedCurve const Handle(Geom_Curve)&  C,
const Standard_Real  U1,
const Standard_Real  U2,
const Standard_Boolean  Sense = Standard_True
 


Member Function Documentation

Standard_EXPORT Handle_Geom_Curve Geom_TrimmedCurve::BasisCurve  )  const
 

Standard_EXPORT GeomAbs_Shape Geom_TrimmedCurve::Continuity  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Handle_Geom_Geometry Geom_TrimmedCurve::Copy  )  const [virtual]
 

Implements Geom_Geometry.

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

Implements Geom_Curve.

Standard_EXPORT void Geom_TrimmedCurve::D1 const Standard_Real  U,
gp_Pnt &  P,
gp_Vec &  V1
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT void Geom_TrimmedCurve::D2 const Standard_Real  U,
gp_Pnt &  P,
gp_Vec &  V1,
gp_Vec &  V2
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT void Geom_TrimmedCurve::D3 const Standard_Real  U,
gp_Pnt &  P,
gp_Vec &  V1,
gp_Vec &  V2,
gp_Vec &  V3
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT gp_Vec Geom_TrimmedCurve::DN const Standard_Real  U,
const Standard_Integer  N
const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT gp_Pnt Geom_TrimmedCurve::EndPoint  )  const [virtual]
 

Implements Geom_BoundedCurve.

Standard_EXPORT Standard_Real Geom_TrimmedCurve::FirstParameter  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT const Geom_TrimmedCurve::Handle Standard_Type   )  const
 

Reimplemented from Geom_BoundedCurve.

Standard_EXPORT Standard_Boolean Geom_TrimmedCurve::IsClosed  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Boolean Geom_TrimmedCurve::IsCN const Standard_Integer  N  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Boolean Geom_TrimmedCurve::IsPeriodic  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Real Geom_TrimmedCurve::LastParameter  )  const [virtual]
 

Implements Geom_Curve.

virtual Standard_EXPORT Standard_Real Geom_TrimmedCurve::ParametricTransformation const gp_Trsf &  T  )  const [virtual]
 

Reimplemented from Geom_Curve.

virtual Standard_EXPORT Standard_Real Geom_TrimmedCurve::Period  )  const [virtual]
 

Reimplemented from Geom_Curve.

Standard_EXPORT void Geom_TrimmedCurve::Reverse  )  [virtual]
 

Implements Geom_Curve.

Standard_EXPORT Standard_Real Geom_TrimmedCurve::ReversedParameter const Standard_Real  U  )  const [virtual]
 

Implements Geom_Curve.

Standard_EXPORT void Geom_TrimmedCurve::SetTrim const Standard_Real  U1,
const Standard_Real  U2,
const Standard_Boolean  Sense = Standard_True
 

Standard_EXPORT gp_Pnt Geom_TrimmedCurve::StartPoint  )  const [virtual]
 

Implements Geom_BoundedCurve.

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

Implements Geom_Geometry.

virtual Standard_EXPORT Standard_Real Geom_TrimmedCurve::TransformedParameter const Standard_Real  U,
const gp_Trsf &  T
const [virtual]
 

Reimplemented from Geom_Curve.


Field Documentation

Handle_Geom_Curve Geom_TrimmedCurve::basisCurve [private]
 

Standard_Real Geom_TrimmedCurve::uTrim1 [private]
 

Standard_Real Geom_TrimmedCurve::uTrim2 [private]
 


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