All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

GeometricObjects Interface CATSurface

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---GeometricObjects.CATICGMUnknown
        |
        +---GeometricObjects.CATICGMObject
          |
          +---GeometricObjects.CATGeometry
            |
            +---CATSurface
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATSurface

Interface representing the base class of all bi-parameterized geometric elements.

A surface can be represented by three CATMathFunctionXY ((FX(x,y), FY(x,y), FZ(x,y))), that can be retrieved through the GetGlobalEquation method. (x,y) are the parameters of a point on the surface. These parameters can also be denoted through (u,v), and they are handled with the CATSurParam class.
Surfaces can have several patches in each direction, that are located with a patch number in the first direction iPatchU and a patch number in the second direction iPatchV. Hence, you can use a local parameter on a given patch, or a global parameter, that takes in account the whole surface. Notice that the patch numbers are not necessarily positive, but their values are consecutive.
CATSurLimits is a class allowing the surface to be restricted to a part of it. The limits define the area where the surface may currently be evaluated. It should not be evaluated outside this area of parameters.
Each type of surface is responsible for the mapping (called Evaluation) between the (u,v) parameters and their corresponding coordinates in the 3D space . No assumption can be made about this mapping by a developper who uses these objects, except that it is C2 continuous (at least twice differentiable).
Multiple evaluations can be performed in one way by defining a CATSurCommand object, evaluating through the Eval method and retrieving the results with a CATSurEvalResult object.

See also:
CATSurParam, CATSurLimits, CATSurEvalCommand, CATSurEvalResult, CATSurEvalLocal


Method Index


o Compare(CATSurParam&,CATSurParam&)
Tests whether two parameters can be considered as different.
o CreateParam(double&,CATLONG32&,double&,CATLONG32&)
Creates a CATSurParam on this surface from local parameters.
o CreateParam(double&,CATLONG32&,double&,CATLONG32&,CATSurParam&)
Creates a CATSurParam on this surface from local parameters.
o CreateParam(double&,double&)
Creates a CATSurParam on this surface from global parameters.
o CreateParam(double&,double&,CATSurParam&)
Creates a CATSurParam on this surface from global parameters.
o EvalFirstDeriv(CATSurParam&,CATMathVector&,CATMathVector&)
Retrieves the first derivatives on a point of this surface.
o EvalLocal(CATSurParam&,CATSurEvalCommand&,CATSurEvalLocal&)
Retrieves multiple evalutions at a given point of this CATSurface.
o EvalMultiple(CATSurLimits&,CATLONG32,CATLONG32,CATSurEvalCommand&,CATSurEvalResult&)
Retrieves multiple evaluations on a grid of points of this CATSurface.
o EvalNormal(CATSurParam&)
Retrieves the normal at a point of this surface.
o EvalNormal(CATSurParam&,CATMathDirection&)
Retrieves the normal at a point of this surface.
o EvalPoint(CATSurParam&)
Returns the mathematical point associated with a CATSurParam.
o EvalPoint(CATSurParam&,CATMathPoint&)
Returns the mathematical point associated with a CATSurParam.
o EvalSecondDeriv(CATSurParam&,CATMathVector&,CATMathVector&,CATMathVector&)
Retrieves the second derivatives on a point of this surface.
o EvalThirdDeriv(CATSurParam&,CATMathVector&,CATMathVector&,CATMathVector&,CATMathVector&)
Retrieves the third derivatives on a point of this surface.
o ExtractIsoParametricCurve(CATIsoParameter,CATSurParam&,CATGeoFactory*)
Creates an isoparametric curve on this CATSurface.
o GetBox(CATSurLimits&,CATMathBox&)
Returns the smallest box surrounding a portion of this CATSurface, with regards to the provided CATSurlimits.
o GetEndLimit()
Returns the high limitation of this CATSurface.
o GetEndLimit(CATSurParam&)
Returns the current high limitation of this CATSurface.
o GetEquation(CATLONG32,CATLONG32,CATMathFunctionXY*&,CATMathFunctionXY*&,CATMathFunctionXY*&)
Retrieves the mathematical equation associated with a patch of this CATSurface.
o GetGeometricRep()
Returns a pointer to the geometric representation of this CATSurface.
o GetGlobalEquation(CATMathFunctionXY*&,CATMathFunctionXY*&,CATMathFunctionXY*&)
Retrieves the mathematical equation associated with this CATSurface.
o GetInternalBoundingBox(CATLONG32,CATLONG32,CATMathBox&)
Retrieves the bounding box including a patch of this CATSurface.
o GetInternalLimits(CATLONG32,CATLONG32,CATSurLimits&)
Returns the limitations of an internal patch of this CATSurface.
o GetInternalMaxBoundingBox(CATLONG32,CATLONG32,CATMathBox&)
Retrieves the maximum bounding box including a patch of this CATSurface.
o GetInternalMaxLimits(CATLONG32,CATLONG32,CATSurLimits&)
Returns the maximum limits of an internal patch of this CATSurface.
o GetKnotVectorU()
Returns the knot vector of this CATSurface first direction.
o GetKnotVectorV()
Returns the knot vector of this CATSurface second direction.
o GetLimits()
Returns the current limitations of this CATSurface.
o GetLimits(CATSurLimits&)
Returns the current limitations of this CATSurface.
o GetMathCurve(CATIsoParameter,CATSurParam&)
Returns a pointer to the mathematical representation of an isoparametric curve of this CATSurface.
o GetMaxLimits(CATSurLimits&)
Returns the maximum limitations of this CATSurface.
o GetParam(CATMathPoint&,CATSurParam&)
Retrieves the CATSurParam on this CATSurface corresponding to a given CATMathPoint.
o GetParam(CATMathPoint&,CATSurParam&,CATSurLimits&)
Retrieves the CATSurParam on this CATSurface corresponding to a CATMathPoint.
o GetParamOnIsopar(CATMathPoint&,CATIsoParameter&,CATSurParam&,CATSurParam&,double&)
Retrieves the parameter on an iso-parametric curve of this CATSurface corresponding to a CATMathPoint.
o GetStartLimit()
Returns the low limitation of this CATSurface.
o GetStartLimit(CATSurParam&)
Returns the current low limitation of this CATSurface.
o HasMathCurve(CATIsoParameter,CATSurParam&)
Tests whether an isoparametric curve of this CATSurface has a mathematical representation.
o IsCircular()
Checks if this CATSurface is circular in a or two directions of the parameter.
o IsClosedU()
Tests whether this CATSurface is periodic along the first direction.
o IsClosedV()
Tests whether this CATSurface is periodic along the second direction.
o IsConfused(CATMathTransformation&,CATSurface*,CATMathTransformation2D*)
Tests whether this CATSurface is confused with another surface.
o IsInvariant(CATMathTransformation&,CATMathTransformation2D*)
Tests whether this CATSurface is invariant.
o IsLinear()
Checks if this CATSurface is linear in a or two directions of the parameter.
o Lock()
Locks any modification of the equations ofthis CATSurface .
o SetLimits(CATSurLimits&)
Modifies the current limitations of this CATSurface.
o Unlock()
Unlocks the modifications of the equations of this CATSurface.

Enumerated Type Index


o CATSolutionDiagnostic
The diagnosis of evaluation.

Methods


o Compare
public virtual CATBoolean Compare( const CATSurParam& iW1,
const CATSurParam& iW2)const = 0
Tests whether two parameters can be considered as different.
This can be used for distinguishing 2 points on both sides of a surface closure.
Parameters:
iW1
The first parameter to compare.
iW2
The second parameter to compare.
Returns:
The result of the test.
Legal values:
0
if they are not considered as different
1
if they are considered as different
o CreateParam
public virtual CATSurParam CreateParam( const double& iUParam,
const CATLONG32& iUNum,
const double& iVParam,
const CATLONG32& iVNum) const =0
Creates a CATSurParam on this surface from local parameters. The CATSurface::CreateParam signature which returns a void should be preferred over the present API.
Parameters:
iUParam
The local parameter value in the first direction on iPatchU.
iUNum
The patch number in the first direction.
iVParam
The local parameter value in the second direction on iPatchV.
iVNum
The patch number in the second direction.
Returns:
The resulting parameter.
o CreateParam
public virtual void CreateParam( const double& iParamU,
const CATLONG32& iPatchU,
const double& iParamV,
const CATLONG32& iPatchV,
CATSurParam& ioResult) const=0
Creates a CATSurParam on this surface from local parameters.
Parameters:
iParamU
The local parameter value in the first direction on iPatchU.
iPatchU
The patch number in the first direction.
iParamV
The local parameter value in the second direction on iPatchV.
iPatchV
The patch number in the second direction.
ioResult
The resulting parameter.
o CreateParam
public virtual CATSurParam CreateParam( const double& iUParam,
const double& iVParam) const =0
Creates a CATSurParam on this surface from global parameters. The CATSurface::CreateParam signature which returns a void should be preferred over the present API.
Parameters:
iUParam
The parameter value in the first direction.
iVParam
The parameter value in the second direction.
Returns:
The resulting parameter.
o CreateParam
public virtual void CreateParam( const double& iParamU,
const double& iParamV,
CATSurParam& ioResult) const=0
Creates a CATSurParam on this surface from global parameters.
Parameters:
iParamU
The parameter value in the first direction.
iParamV
The parameter value in the second direction.
ioResult
The resulting parameter.
o EvalFirstDeriv
public virtual void EvalFirstDeriv( const CATSurParam& iParam,
CATMathVector& ioDU,
CATMathVector& ioDV) const = 0
Retrieves the first derivatives on a point of this surface.
Parameters:
iParam
The point of the surface.
ioDU
The first derivative with respect to to the U parameter.
ioDV
The first derivative with respect to to the V parameter.
o EvalLocal
public virtual void EvalLocal( const CATSurParam& iPoint,
const CATSurEvalCommand& iCommand,
CATSurEvalLocal& ioResult) const =0
Retrieves multiple evalutions at a given point of this CATSurface.
Parameters:
iParam
The point of the surface.
iCommand
The command precising the requested evaluation types.
ioResult
The resulting evaluations.
o EvalMultiple
public virtual void EvalMultiple( const CATSurLimits& iBox,
CATLONG32 iNbOfPointsInU,
CATLONG32 iNbOfPointsInV,
const CATSurEvalCommand& iCommand,
CATSurEvalResult& ioResult) const =0
Retrieves multiple evaluations on a grid of points of this CATSurface.
The method reallocates the memory if necessary.If the number of points in U or V is 1, then the evaluation is done on the low part of the CATSurLimits for this(these) coordinate(s).
Parameters:
iBox
The limits of the surface to take into account.
iNbOfPointsInU
The number of points to distribute inside the limits on the surface first direction.
iNbOfPointsInV
The number of points to distribute inside the limits on the surface second direction.
iCommand
The command precising the requested evaluation types.
ioResult
The evaluation at the given points such that the (UIndex, VIndex) point evaluation is located at the 3*(UIndex + iNbOfPointsInU*VIndex) place.
o EvalNormal
public virtual CATMathDirection EvalNormal( const CATSurParam& iParam) const=0
Retrieves the normal at a point of this surface. The CATSurface::EvalNormal signature which returns a void should be preferred over the present API.
Parameters:
iParam
The CATSurParam which defines the point of the surface.
Returns:
The outer normal oriented along ds/du ^ ds/dv.
o EvalNormal
public virtual void EvalNormal( const CATSurParam& iParam,
CATMathDirection& ioNormal) const=0
Retrieves the normal at a point of this surface.
Parameters:
iParam
The point of the surface.
ioNormal
The outer normal oriented along ds/du ^ ds/dv.
o EvalPoint
public virtual CATMathPoint EvalPoint( const CATSurParam& iParam) const=0
Returns the mathematical point associated with a CATSurParam. The CATSurface::EvalPoint signature which returns a void should be preferred over the present API.
Parameters:
iParam
The CATSurParam parameter. return The corresponding mathematical point.
o EvalPoint
public virtual void EvalPoint( const CATSurParam& iPosition,
CATMathPoint& ioPoint)const = 0
Returns the mathematical point associated with a CATSurParam.
Parameters:
iPosition
The point of the surface.
ioPoint
The corresponding mathematical point.
o EvalSecondDeriv
public virtual void EvalSecondDeriv( const CATSurParam& iParam,
CATMathVector& ioDU2,
CATMathVector& ioDUDV,
CATMathVector& ioDV2) const = 0
Retrieves the second derivatives on a point of this surface.
Parameters:
iParam
The point of the surface.
ioDU2
The second derivative with respect to to the U parameter.
ioDUDV
The second derivative with respect to to the UV parameters.
ioDV2
The second derivative with respect to to the V parameter.
o EvalThirdDeriv
public virtual void EvalThirdDeriv( const CATSurParam& iParam,
CATMathVector& ioDU3,
CATMathVector& ioDU2DV,
CATMathVector& ioDUDV2,
CATMathVector& ioDV3) const = 0
Retrieves the third derivatives on a point of this surface.
Parameters:
iParam
The point of the surface.
ioDU3
The third derivative with respect to to the U parameter.
ioDU2DV
The third derivative with respect to to the UUV parameters.
ioDUDV2
The third derivative with respect to to the UVV parameters.
ioDV3
The third derivative with respect to to the V parameter.
o ExtractIsoParametricCurve
public virtual CATCurve * ExtractIsoParametricCurve( const CATIsoParameter iIsoParameter,
const CATSurParam& iParam,
CATGeoFactory* iWhere)const=0
Creates an isoparametric curve on this CATSurface.
The curve has the same global parameterization as the surface in this direction.
Parameters:
iIsoParameter
The type of iso parametric curve.
iParam
The point of the surface belonging to the curve to create.
iWhere
A pointer to the factory for creation.
Returns:
A pointer to the created curve.
o GetBox
public virtual void GetBox( const CATSurLimits& iLimits,
CATMathBox& ioBox) const = 0
Returns the smallest box surrounding a portion of this CATSurface, with regards to the provided CATSurlimits.
Parameters:
iLimits
The limits on the surface
ioBox
The box surrounding the surface limited by iLimits.
o GetEndLimit
public virtual CATSurParam GetEndLimit()const=0
Returns the high limitation of this CATSurface. The CATSurface::GetEndLimit signature which returns a void should be preferred over the present API.
Returns:
The CATSurParam which defines the high limitation of this CATSurface.
o GetEndLimit
public virtual void GetEndLimit(CATSurParam& ioParam) const =0
Returns the current high limitation of this CATSurface.
Parameters:
ioParam
The parameter defining the last limitation of this CATSurface.
o GetEquation
public virtual void GetEquation( const CATLONG32 iPatchU,
const CATLONG32 iPatchV,
const CATMathFunctionXY*& oFx,
const CATMathFunctionXY*& oFy,
const CATMathFunctionXY*& oFz) const=0
Retrieves the mathematical equation associated with a patch of this CATSurface.
(ioFx(U,V), ioFy(U,V), ioFz(U,V)) is then a point of the surface patch.
Before retrieving the equations, you must Lock the surface. You can then obtained the equations. When you have finished, you Unlock the surface. The equations are then automatically deleted.
Parameters:
iPatchU
The patch number in the first direction.
iPatchU
The patch number in the second direction.
oFx
A pointer to the parametric equation of the first coordinate.
oFy
A pointer to the parametric equation of the second coordinate.
oFz
A pointer to the parametric equation of the third coordinate.
o GetGeometricRep
public virtual const CATSurface * GetGeometricRep()const = 0
Returns a pointer to the geometric representation of this CATSurface.
Returns:
The pointer to the canonical surface (CATPlane, CATCylinder, CATCone, ..) of a complex object ( CATDraftSurface, CATFilletSurface) if it exists, this otherwise.
o GetGlobalEquation
public virtual void GetGlobalEquation( const CATMathFunctionXY*& oFx,
const CATMathFunctionXY*& oFy,
const CATMathFunctionXY*& oFz) const=0
Retrieves the mathematical equation associated with this CATSurface.
(ioFx(U,V), ioFy(U,V), ioFz(U,V)) is then a point of the surface.
Before retrieving the equations, you must Lock the surface. You can then obtained the equations. When you have finished, you Unlock the surface. The equations are then automatically deleted.
Parameters:
oFx
A pointer to the parametric equation of the first coordinate.
oFy
A pointer to the parametric equation of the second coordinate.
oFz
A pointer to the parametric equation of the third coordinate.
o GetInternalBoundingBox
public virtual void GetInternalBoundingBox( const CATLONG32 iPatchU,
const CATLONG32 iPatchV,
CATMathBox& ioBox) const =0
Retrieves the bounding box including a patch of this CATSurface.
Parameters:
iPatchU
The patch number in the first direction.
iPatchV
The patch number in the second direction.
ioBox
The corresponding bounding box.
o GetInternalLimits
public virtual void GetInternalLimits( const CATLONG32 iPatchU,
const CATLONG32 iPatchV,
CATSurLimits& ioLimits) const =0
Returns the limitations of an internal patch of this CATSurface.
Parameters:
iPatchU
The patch number in the first direction.
iPatchV
The patch number in the second direction.
ioLimits
The limitations of a patch.
o GetInternalMaxBoundingBox
public virtual void GetInternalMaxBoundingBox( const CATLONG32 iPatchU,
const CATLONG32 iPatchV,
CATMathBox& ioBox) const =0
Retrieves the maximum bounding box including a patch of this CATSurface.
This does not take into account the current limitations of the surface.
Parameters:
iPatchU
The patch number in the first direction.
iPatchV
The patch number in the second direction.
ioBox
The corresponding bounding box.
o GetInternalMaxLimits
public virtual void GetInternalMaxLimits( const CATLONG32 iPatchU,
const CATLONG32 iPatchV,
CATSurLimits& oLimits) const=0
Returns the maximum limits of an internal patch of this CATSurface.
This does not take into account the current limitations .
Parameters:
iPatchU
The patch number in the first direction.
iPatchV
The patch number in the second direction.
ioLimits
The limitations of a patch.
o GetKnotVectorU
public virtual const CATKnotVector * GetKnotVectorU()const=0
Returns the knot vector of this CATSurface first direction.
Returns:
The pointer to the knot vector. Note that all surfaces return a knot knot vector (not only NURBS).
o GetKnotVectorV
public virtual const CATKnotVector * GetKnotVectorV()const=0
Returns the knot vector of this CATSurface second direction.
Returns:
The pointer to the knot vector. Note that all surfaces return a knot vector, not only NURBS. The knot vector along V may be NULL.
o GetLimits
public virtual CATSurLimits GetLimits()const=0
Returns the current limitations of this CATSurface. The CATSurface::GetLimits signature which returns a void should be preferred over the present API.
Returns:
The limitations of this CATSurface.
o GetLimits
public virtual void GetLimits(CATSurLimits& ioLimits) const=0
Returns the current limitations of this CATSurface.
Parameters:
ioLimits
The limitations of this CATSurface.
o GetMathCurve
public virtual CATMathCurve* GetMathCurve( const CATIsoParameter iIsoParameter,
const CATSurParam& iLocation)const = 0
Returns a pointer to the mathematical representation of an isoparametric curve of this CATSurface.
Parameters:
iIsoParameter
The type of iso-parametric curve.
iLocation
A point belonging to the curve.
Returns:
The corresponding mathematical curve, that has to be managed (deleted) by the caller.
o GetMaxLimits
public virtual void GetMaxLimits(CATSurLimits& ioLimits) const =0
Returns the maximum limitations of this CATSurface.
This does not take into account the current limitations .
Parameters:
ioLimits
The maximum limitations of this CATSurface.
o GetParam
public virtual CATSurface::CATSolutionDiagnostic GetParam( const CATMathPoint& iPoint,
CATSurParam& oIndex)const = 0
Retrieves the CATSurParam on this CATSurface corresponding to a given CATMathPoint.
This transformation is only available on canonical objects such as planes, cylinders, cones. If the surface is not canonical, the operator throw an exception. For non-canonical surfaces, use a projection operator.
Parameters:
iPoint
The CATMathPoint whose coordinates are to be transformed as CATSurParam.
ioParam
The first corresponding CATSurParam on the surface.
Returns:
The diagnosis of the number of parameters that can be evaluated on this point.
CATSurface::NoSolution
No parameter corresponds to this point.
CATSurface::SingleSolution
Only one parameter corresponds to this point.
CATSurface::MultipleSolution
Several parameters correspond to this point.
CATSurface::InfiniteSolution
Infinitely many parameters correspond to this point.
o GetParam
public virtual CATSurface::CATSolutionDiagnostic GetParam( const CATMathPoint& iPoint,
CATSurParam& ioIndex,
const CATSurLimits& iInside)const = 0
Retrieves the CATSurParam on this CATSurface corresponding to a CATMathPoint. inside limitations.
This transformation is only available on canonical objects such as planes, cylinders, cones. If the surface is not canonical, the operator throws an exception. For non-canonical surface, use a projection operator.
Parameters:
iPoint
The CATMathPoint whose coordinates are to be transformed as a CATSurParam.
ioParam
The first corresponding CATSurParam on the surface.
iInside
The CATSurLimits to take into account for trimming the CATSurface.
Returns:
The diagnosis of the number of parameters that can be evaluated on this point.
CATSurface::NoSolution
No parameter corresponds to this point.
CATSurface::SingleSolution
Only one parameter corresponds to this point.
CATSurface::MultipleSolution
Several parameters correspond to this point.
CATSurface::InfiniteSolution
Infinitely many parameters correspond to this point.
o GetParamOnIsopar
public virtual CATSurface::CATSolutionDiagnostic GetParamOnIsopar( const CATMathPoint& iPoint,
const CATIsoParameter& iIsoparam,
const CATSurParam& iStart,
const CATSurParam& iEnd,
double& ioLambdaOnIsopar) const = 0
Retrieves the parameter on an iso-parametric curve of this CATSurface corresponding to a CATMathPoint.
Used for surfaces for which GetImplicitEquation returns a non-null pointer.
Parameters:
iPoint
The CATMathPoint whose coordinates are to be transformed as a CATSurParam.
iIsoparam
The isoparametric curve on which the parameter is computed.
iStart
The low limitation to take into account for trimming the CATSurface.
iEnd
The high limitation to take into account for trimming the CATSurface.
ioLambdaOnIsopar
The corresponding parameter value on the isoparametric curve.
Returns:
The diagnosis of the number of parameters that can be evaluated on this point.
CATSurface::NoSolution
No parameter corresponds to this point.
CATSurface::SingleSolution
Only one parameter corresponds to this point.
CATSurface::MultipleSolution
Several parameters correspond to this point.
CATSurface::InfiniteSolution
Infinitely many parameters correspond to this point.
o GetStartLimit
public virtual CATSurParam GetStartLimit()const=0
Returns the low limitation of this CATSurface. The CATSurface::GetStartLimit signature which returns a void should be preferred over the present API.
Returns:
The CATSurParam which defines the low limitation of this CATSurface.
o GetStartLimit
public virtual void GetStartLimit(CATSurParam& ioParam) const =0
Returns the current low limitation of this CATSurface.
Parameters:
ioParam
The parameter defining the first limitation of this CATSurface.
o HasMathCurve
public virtual CATBoolean HasMathCurve( const CATIsoParameter iIsoParameter,
const CATSurParam& iLocation)const = 0
Tests whether an isoparametric curve of this CATSurface has a mathematical representation.
Parameters:
iIsoParameter
The type of iso-parametric curve.
iLocation
A point belonging to the curve.
Returns:
The result of the test.
Legal values:
1
If an isoparametric curve of this has a mathematical representation.
0
Otherwise.
o IsCircular
public virtual CATIsoParameter IsCircular()const = 0
Checks if this CATSurface is circular in a or two directions of the parameter.
Returns:
The result of the test.
Legal values:
CATIsoParNoDir
if they is no circle on the surface
CATIsoParamU
if the isoparameters with U constant are circles.
CATIsoParamV
if the isoparameters with V constant are circles.
CATIsoPaRBothDir
if the isoparameters with U constant or V constant are circles.
o IsClosedU
public virtual CATBoolean IsClosedU()const=0
Tests whether this CATSurface is periodic along the first direction.
This method does not take into account the current limitations of the surface.
Returns:
The result of the test.
Legal values::
0
If the CATSurface is not periodic on the first direction.
1
If the CATsurface is periodic on the first direction.
o IsClosedV
public virtual CATBoolean IsClosedV()const=0
Tests whether this CATSurface is periodic along the second direction.
This method does not take into account the current limitations of the surface.
Returns:
The result of the test.
Legal values::
0
If the CATSurface is not periodic on the second direction.
1
If the CATsurface is periodic on the second direction.
o IsConfused
public virtual CATBoolean IsConfused( const CATMathTransformation& iTransfo,
const CATSurface* iTSurface,
CATMathTransformation2D* ioTransfo2D= NULL) const = 0
Tests whether this CATSurface is confused with another surface.
This method does not take into account the current limitations of the surfaces.
Parameters:
iTransfo
The tested transformation.
iTSurface
The other surface.
ioTransfo2D
The 2D-transformation defining the change of parametrization between the transformation of this and iTSurface. If NULL, this is not output.
Returns:
The result of the test.
Legal values:
1
If the transformation of this is geometrically the same as iTSurface.
0
Otherwise.
o IsInvariant
public virtual CATBoolean IsInvariant( const CATMathTransformation& iTransfo,
CATMathTransformation2D* ioTransfo2D= NULL) const = 0
Tests whether this CATSurface is invariant.
This method does not take into account the current limitations of the surface.
Parameters:
iTransfo
The tested transformation.
ioTransfo2D
The 2D-transformation defining the change of parameterization between this and the transformation of this. If NULL, this is not output.
Returns:
The result of the test.
Legal values:
1
If the transformation of this is geometrically the same as this.
0
Otherwise.
o IsLinear
public virtual CATIsoParameter IsLinear()const = 0
Checks if this CATSurface is linear in a or two directions of the parameter.
Returns:
The result of the test.
Legal values:
CATIsoParNoDir
if they is no linearity
CATIsoParamU
if the isoparameters with U constant are lines
CATIsoParamV
if the isoparameters with V constant are lines
CATIsoParBothDir
if the isoparameters with U constant or V constant are lines
o Lock
public virtual void Lock()= 0
Locks any modification of the equations ofthis CATSurface .
o SetLimits
public virtual void SetLimits( const CATSurLimits& iNewLimits) = 0
Modifies the current limitations of this CATSurface.
Parameters:
iNewLimits
The new current limitations.
o Unlock
public virtual void Unlock()= 0
Unlocks the modifications of the equations of this CATSurface.

Enumerated Types


o CATSolutionDiagnostic
enum CATSolutionDiagnostic {
  NoSolution,
  SingleSolution,
  MultipleSolution,
  InfiniteSolution
}
The diagnosis of evaluation.
Parameters:
CATSurface::NoSolution
No parameter corresponds to this point
CATSurface::SingleSolutionOnly
one parameter corresponds to this point.
CATSurface::MultipleSolutionSeveral
parameters correspond to this point.
CATSurface::InfiniteSolution
Infinitely many parameters correspond to this point.

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

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