Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
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:
More...

#include <Geom_TrimmedCurve.hxx>

Inheritance diagram for Geom_TrimmedCurve:
Inheritance graph
[legend]

Public Member Functions

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

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

 
void Reverse ()
 
 Changes the orientation of this trimmed curve. <br>

As a result:
More...

 
Standard_Real ReversedParameter (const Standard_Real U) const
 
 Computes the parameter on the reversed curve for <br>

the point of parameter U on this trimmed curve.
More...

 
void SetTrim (const Standard_Real U1, const Standard_Real U2, const Standard_Boolean Sense=Standard_True)
 
  Changes this trimmed curve, by redefining the <br>

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

 
Handle_Geom_Curve BasisCurve () const
 
 Returns the basis curve. <br>

Warning
This function does not return a constant reference.
Consequently, any modification of the returned value
directly modifies the trimmed curve.
More...

 
GeomAbs_Shape Continuity () const
 
Returns the continuity of the curve : <br>

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

 
Standard_Boolean IsCN (const Standard_Integer N) const
 
 Returns true if the degree of continuity of the basis <br>

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

 
gp_Pnt EndPoint () const
 Returns the end point of <me>. This point is the
evaluation of the curve for the "LastParameter".
More...
 
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.
More...
 
Standard_Boolean IsClosed () const
 Returns True if the distance between the StartPoint and
the EndPoint is lower or equal to Resolution from package gp.
More...
 
Standard_Boolean IsPeriodic () const
 Returns true if the basis curve of this trimmed curve is periodic.
More...
 
virtual Standard_Real Period () const
 
 Returns the period of the basis curve of this trimmed curve. <br>

Exceptions
Standard_NoSuchObject if the basis curve is not periodic.
More...

 
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.
More...
 
gp_Pnt StartPoint () const
 
Returns the start point of <me>. <br>

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

 
void D0 (const Standard_Real U, gp_Pnt &P) const
 
 Returns in P the point of parameter U. <br>


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

 
void D1 (const Standard_Real U, gp_Pnt &P, gp_Vec &V1) const
 Raised if the continuity of the curve is not C1.
More...
 
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.
More...
 
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.
More...
 
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
More...
 
void Transform (const gp_Trsf &T)
 
 Applies the transformation T to this trimmed curve. <br>

Warning The basis curve is also modified.
More...

 
virtual Standard_Real TransformedParameter (const Standard_Real U, const gp_Trsf &T) const
 
 Returns the  parameter on the  transformed  curve for <br>
     the transform of the point of parameter U on <me>. <br>


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

 
virtual Standard_Real ParametricTransformation (const gp_Trsf &T) const
 
 Returns a  coefficient to compute the parameter on <br>
     the transformed  curve  for  the transform  of the <br>
     point on <me>. <br>


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

is the same point as

Value(U).Transformed(T)

This methods calls the basis curve method.
More...

 
Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this trimmed curve.
More...
 
- Public Member Functions inherited from Geom_Curve
Handle_Geom_Curve Reversed () const
 Returns a copy of <me> reversed.
More...
 
gp_Pnt Value (const Standard_Real U) const
 
Computes the point of parameter U on <me>. <br>

If the curve is periodic then the returned point is P(U) with
U = Ustart + (U - Uend) where Ustart and Uend are the
parametric bounds of the curve.
it is implemented with D0.
Raised only for the "OffsetCurve" if it is not possible to
compute the current point. For example when the first
derivative on the basis curve and the offset direction are parallel.
More...

 
- Public Member Functions inherited from Geom_Geometry
void Mirror (const gp_Pnt &P)
 Performs the symmetrical transformation of a Geometry
with respect to the point P which is the center of the
symmetry.
More...
 
void Mirror (const gp_Ax1 &A1)
 Performs the symmetrical transformation of a Geometry
with respect to an axis placement which is the axis of the
symmetry.
More...
 
void Mirror (const gp_Ax2 &A2)
 Performs the symmetrical transformation of a Geometry
with respect to a plane. The axis placement A2 locates
the plane of the symmetry : (Location, XDirection, YDirection).
More...
 
void Rotate (const gp_Ax1 &A1, const Standard_Real Ang)
 Rotates a Geometry. A1 is the axis of the rotation.
Ang is the angular value of the rotation in radians.
More...
 
void Scale (const gp_Pnt &P, const Standard_Real S)
 Scales a Geometry. S is the scaling value.
More...
 
void Translate (const gp_Vec &V)
 Translates a Geometry. V is the vector of the tanslation.
More...
 
void Translate (const gp_Pnt &P1, const gp_Pnt &P2)
 Translates a Geometry from the point P1 to the point P2.
More...
 
Handle_Geom_Geometry Mirrored (const gp_Pnt &P) const
 
Handle_Geom_Geometry Mirrored (const gp_Ax1 &A1) const
 
Handle_Geom_Geometry Mirrored (const gp_Ax2 &A2) const
 
Handle_Geom_Geometry Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const
 
Handle_Geom_Geometry Scaled (const gp_Pnt &P, const Standard_Real S) const
 
Handle_Geom_Geometry Transformed (const gp_Trsf &T) const
 
Handle_Geom_Geometry Translated (const gp_Vec &V) const
 
Handle_Geom_Geometry Translated (const gp_Pnt &P1, const gp_Pnt &P2) const
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Detailed Description

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:

Constructor & Destructor Documentation

Geom_TrimmedCurve::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 <br>

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.

Member Function Documentation

Handle_Geom_Curve Geom_TrimmedCurve::BasisCurve ( ) const

 Returns the basis curve. <br>

Warning
This function does not return a constant reference.
Consequently, any modification of the returned value
directly modifies the trimmed curve.

GeomAbs_Shape Geom_TrimmedCurve::Continuity ( ) const
virtual

Returns the continuity of the curve : <br>

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.

Implements Geom_Curve.

Handle_Geom_Geometry Geom_TrimmedCurve::Copy ( ) const
virtual

Creates a new object which is a copy of this trimmed curve.

Implements Geom_Geometry.

void Geom_TrimmedCurve::D0 ( const Standard_Real  U,
gp_Pnt P 
) const
virtual

 Returns in P the point of parameter U. <br>


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

Implements Geom_Curve.

void Geom_TrimmedCurve::D1 ( const Standard_Real  U,
gp_Pnt P,
gp_Vec V1 
) const
virtual

Raised if the continuity of the curve is not C1.

Implements Geom_Curve.

void Geom_TrimmedCurve::D2 ( const Standard_Real  U,
gp_Pnt P,
gp_Vec V1,
gp_Vec V2 
) const
virtual

Raised if the continuity of the curve is not C2.

Implements Geom_Curve.

void Geom_TrimmedCurve::D3 ( const Standard_Real  U,
gp_Pnt P,
gp_Vec V1,
gp_Vec V2,
gp_Vec V3 
) const
virtual

Raised if the continuity of the curve is not C3.

Implements Geom_Curve.

gp_Vec Geom_TrimmedCurve::DN ( const Standard_Real  U,
const Standard_Integer  N 
) const
virtual

N is the order of derivation.
//! Raised if the continuity of the curve is not CN.
//! Raised if N < 1.
//! geometric transformations

Implements Geom_Curve.

gp_Pnt Geom_TrimmedCurve::EndPoint ( ) const
virtual

Returns the end point of <me>. This point is the
evaluation of the curve for the "LastParameter".

Implements Geom_BoundedCurve.

Standard_Real Geom_TrimmedCurve::FirstParameter ( ) const
virtual

Returns the value of the first parameter of <me>.
The first parameter is the parameter of the "StartPoint"
of the trimmed curve.

Implements Geom_Curve.

Standard_Boolean Geom_TrimmedCurve::IsClosed ( ) const
virtual

Returns True if the distance between the StartPoint and
the EndPoint is lower or equal to Resolution from package gp.

Implements Geom_Curve.

Standard_Boolean Geom_TrimmedCurve::IsCN ( const Standard_Integer  N) const
virtual

 Returns true if the degree of continuity of the basis <br>

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.

Implements Geom_Curve.

Standard_Boolean Geom_TrimmedCurve::IsPeriodic ( ) const
virtual

Returns true if the basis curve of this trimmed curve is periodic.

Implements Geom_Curve.

Standard_Real Geom_TrimmedCurve::LastParameter ( ) const
virtual

Returns the value of the last parameter of <me>.
The last parameter is the parameter of the "EndPoint" of the
trimmed curve.

Implements Geom_Curve.

virtual Standard_Real Geom_TrimmedCurve::ParametricTransformation ( const gp_Trsf T) const
virtual

 Returns a  coefficient to compute the parameter on <br>
     the transformed  curve  for  the transform  of the <br>
     point on <me>. <br>


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

is the same point as

Value(U).Transformed(T)

This methods calls the basis curve method.

Reimplemented from Geom_Curve.

virtual Standard_Real Geom_TrimmedCurve::Period ( ) const
virtual

 Returns the period of the basis curve of this trimmed curve. <br>

Exceptions
Standard_NoSuchObject if the basis curve is not periodic.

Reimplemented from Geom_Curve.

void Geom_TrimmedCurve::Reverse ( )
virtual

 Changes the orientation of this trimmed curve. <br>

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

Implements Geom_Curve.

Standard_Real Geom_TrimmedCurve::ReversedParameter ( const Standard_Real  U) const
virtual

 Computes the parameter on the reversed curve for <br>

the point of parameter U on this trimmed curve.

Implements Geom_Curve.

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

  Changes this trimmed curve, by redefining the <br>

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.
gp_Pnt Geom_TrimmedCurve::StartPoint ( ) const
virtual

Returns the start point of <me>. <br>

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.

Implements Geom_BoundedCurve.

void Geom_TrimmedCurve::Transform ( const gp_Trsf T)
virtual

 Applies the transformation T to this trimmed curve. <br>

Warning The basis curve is also modified.

Implements Geom_Geometry.

virtual Standard_Real Geom_TrimmedCurve::TransformedParameter ( const Standard_Real  U,
const gp_Trsf T 
) const
virtual

 Returns the  parameter on the  transformed  curve for <br>
     the transform of the point of parameter U on <me>. <br>


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.

Reimplemented from Geom_Curve.


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