All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

GeometricObjects Class CATForeignPCurveData

Mathematics.CATCGMVirtual
  |
  +---GeometricObjects.CATCGMAttribute
    |
    +---GeometricObjects.CATCGMStreamAttribute
      |
      +---GeometricObjects.CATForeignGeometryData
        |
        +---CATForeignPCurveData
 

Usage: you can derive this class.


public class CATForeignPCurveData

Base class of the attributes defining the data of a foreign Pcurve.

A foreign Pcurve is introduced into CGM by filling the CATIForeignPCurve object data with a CATForeignPCurveData. Then, it is automatically integrated into CGM, and can be used as any CATPCurve by the operators and the topology. To create your own curve type, you have to derive the CATForeignPCurveData class, and re-write the methods that are associated with.


Constructor and Destructor Index


o CATForeignPCurveData()
Default constructor.
o ~CATForeignPCurveData()

Method Index


o ApplyTransformation2D(CATMathTransformation2D&,CATMathTransformation1D*)
Transforms this CATForeignPCurve with a tranformation in the space of the surface.
o CloneAndMove3D(CATTransfoManager&)
Constructs a geometrically transformed copy of this CATForeignGeometryData.
o CreateLocalPEquation(CATLONG32,CATMathFunctionX*&,CATMathFunctionX*&)
Retrieves the mathematical equation associated with an arc of a CATIForeignPCurve on the space of the surface.
o EvalUV(CATCrvParam&,CATCrvEvalCommand&,CATSurParam*,CATMathVector2D*,CATMathVector2D*,CATMathVector2D*)
Retrieves the multi-evaluation of this CATIForeignPCurve point on the underlying CATSurface.
o GetInternalLimits(CATLONG32,CATCrvLimits&)
Retrieves the limitations of an arc of a CATIForeignPCurve.
o GetInternalMaxLimits(CATLONG32,CATCrvLimits&)
Retrieves the limitations of an arc of a CATIForeignPCurve.
o GetKnotVector()
Retrieves the knot vector associated with a CATIForeignPCurve.
o GetLimits(CATCrvLimits&)
Retrieves the limitations of a CATIForeignPCurve.
o GetMaxLimits(CATCrvLimits&)
Retrieves the maximum limitations of a CATIForeignPCurve.
o IsConfused(CATMathTransformation&,CATCurve*,CATMathTransformation1D*)
Tests whether a CATIForeignPCurve is confused with another curve for a given transformation.
o IsInvariant(CATMathTransformation&,CATMathTransformation1D*)
Tests whether a CATIForeignPCurve is invariant for a given CATMathTransformation.
o IsPeriodic()
Tests whether a CATIForeignPCurve is periodic.
o Move3D(CATTransfoManager&)
Applies a geometrical transformation to this CATForeignGeometryData.
o SetLimits(CATCrvLimits&)
Modifies the limitations of a CATIForeignPCurve.

Constructor and Destructor


o CATForeignPCurveData
public CATForeignPCurveData()
Default constructor.
o ~CATForeignPCurveData
public virtual ~CATForeignPCurveData()

Methods


o ApplyTransformation2D
public virtual void ApplyTransformation2D( const CATMathTransformation2D& iTransfo2D,
CATMathTransformation1D* oTransfo1D= NULL)=0
Transforms this CATForeignPCurve with a tranformation in the space of the surface.
Parameters:
iTransfo2D
The 2D transformation to apply.
oTransfo1D
The mapping of parameter if the 2D transformation is reduced to a re-parameterization of the Pcurve.
o CloneAndMove3D
public virtual CATGeometry* CloneAndMove3D(CATTransfoManager& iTransfo) const
Constructs a geometrically transformed copy of this CATForeignGeometryData.
Optional method. By default, copies , then transforms.
Parameters:
iTransfo
The transformation process to be used.
o CreateLocalPEquation
public virtual void CreateLocalPEquation( const CATLONG32 iArcIndex,
const CATMathFunctionX*& oFx,
const CATMathFunctionX*& oFy) =0
Retrieves the mathematical equation associated with an arc of a CATIForeignPCurve on the space of the surface.
The retrieved equations are created by the method, and must not be deleted, as part of the object.
Parameters:
iArcIndex
The arc number.
oFx
The pointer to the equation of the first coordinate U=oFx(w).
oFy
The pointer to the equation of the second coordinate V=oFy(w).
o EvalUV
public virtual void EvalUV( const CATCrvParam& iParam,
const CATCrvEvalCommand& iCommand,
CATSurParam* ioPoint,
CATMathVector2D* ioFirstDeriv= NULL,
CATMathVector2D* ioSecondDeriv= NULL,
CATMathVector2D* ioThirdDeriv= NULL) const
Retrieves the multi-evaluation of this CATIForeignPCurve point on the underlying CATSurface.
Parameters:
iParam
The parameter where to evaluate.
iCommand
The type of evaluation. The corresponding output pointer must be allocated.
ioPoint
The pointer to the resulting CATSurParam.
ioFirstDeriv
The pointer to the resulting first derivative.
ioSecondDeriv
The pointer to the resulting second derivative.
ioThirdDeriv
The pointer to the resulting third derivative.
o GetInternalLimits
public virtual void GetInternalLimits( const CATLONG32 iArc,
CATCrvLimits& ioInternalLimits) const = 0
Retrieves the limitations of an arc of a CATIForeignPCurve.
This takes into account the current limitations of the curve.
Parameters:
iArc
The arc number.
ioInternalLimits
The corresponding limitations.
o GetInternalMaxLimits
public virtual void GetInternalMaxLimits( const CATLONG32 iArc,
CATCrvLimits& ioInternalMaxLimits) const = 0
Retrieves the limitations of an arc of a CATIForeignPCurve.
This does not take into account the current limitations of the curve.
Parameters:
iArc
The arc number.
ioInternalMaxLimits
The corresponding limitations.
o GetKnotVector
public virtual const CATKnotVector * GetKnotVector()const = 0
Retrieves the knot vector associated with a CATIForeignPCurve.
Returns:
The knot vector.
o GetLimits
public virtual void GetLimits(CATCrvLimits& ioLimits) const = 0
Retrieves the limitations of a CATIForeignPCurve.
Parameters:
ioLimits
The current limitations.
o GetMaxLimits
public virtual void GetMaxLimits(CATCrvLimits& ioMaxLimits) const = 0
Retrieves the maximum limitations of a CATIForeignPCurve.
This does not take into account the current limitations of the curve. This maximum limits can be the creation limits or the limits that are obtained by extrapolation, depending on the types of geometric objects.
Parameters:
ioMaxLimits
The maximum limits.
o IsConfused
public virtual CATBoolean IsConfused( const CATMathTransformation& iTransfo,
const CATCurve* iTCurve,
CATMathTransformation1D* ioTransfo1D)const = 0
Tests whether a CATIForeignPCurve is confused with another curve for a given transformation.
This method does not take into account the current limitations of the curves.
Parameters:
iTransfo
The transformation.
ioTransfo1D
The 1D-transformation defining the change of parameterization between the transformation of the CATIForeignPCurve and iTCurve. If NULL, this argument is not set.
Returns:
The result of the test.
Legal values::
1
If the transformation of the CATIForeignPCurve is geometrically the same as iTCurve.
0
Otherwise.
o IsInvariant
public virtual CATBoolean IsInvariant( const CATMathTransformation& iTransfo,
CATMathTransformation1D* ioTransfo1D= NULL) const
Tests whether a CATIForeignPCurve is invariant for a given CATMathTransformation.
This method does not take into account the current limitations of the curve.
Parameters:
iTransfo
The transformation.
ioTransfo1D
The 1D-transformation defining the change of parameterization between the CATIForeignPCurve and the transformation of this. If NULL, this argument is not set.
Returns:
The result of the test.
Legal values::
1
If the transformation of the CATIForeignPCurve is geometrically the same as itself.
0
Otherwise.
o IsPeriodic
public virtual CATBoolean IsPeriodic()const = 0
Tests whether a CATIForeignPCurve is periodic.
This method does not take into account the current limitations of the curve.
Returns:
The result of the test.
Legal values::
0
If the CATIForeignPCurve is not periodic.
1
If the CATIForeignPCurve is periodic.
o Move3D
public virtual void Move3D(CATTransfoManager& iTransfo)
Applies a geometrical transformation to this CATForeignGeometryData.
Parameters:
iTransfo
The transformation process to be used.
o SetLimits
public virtual void SetLimits( const CATCrvLimits& iLimits) = 0
Modifies the limitations of a CATIForeignPCurve.
Parameters:
iLimits
The new current limitations.

This object is included in the file: CATForeignPCurveData.h
If needed, your Imakefile.mk should include the module: CATGeometricObjects

Copyright © 2003, Dassault Systèmes. All rights reserved.