All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

GeometricObjects Interface CATGeoFactory

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---GeometricObjects.CATICGMUnknown
        |
        +---GeometricObjects.CATICGMContainer
          |
          +---CATGeoFactory
 

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


interface CATGeoFactory

Interface representing the factory of all geometric elements.

Role: The CATGeoFactory creates the geometric elements. It manages the AddRef mechanism. To suppress a geometric element, you must use CATICGMContainer::Remove method, that also takes in charge the AddRef mechanism.
The creation of a container implies the creation of two factories, an explicit one and an implicit one. All the methods described here work on both, except the Next method, that only works on the explicit factory.
At the container creation, 7 implicit objects (called Datums) are created and represent the canonical geometric objects: the space origin CATGeoFactory::O, the infinite lines in the three directions, CATGeoFactory::OI, CATGeoFactory::OJ, CATGeoFactory::OK, and the three infinite planes passing through these lines CATGeoFactory::OIJ, CATGeoFactory::OJK, CATGeoFactory::OKI.
The description and the use of the entities created by the factory are described in each entity class.
Lifecyle rules: a CATGeoFactory is created by using the CATCreateCGMContainer global function or loaded from a stream with the CATLoadCGMContainer global function. It can be saved on a given stream (CATLoadCGMContainer).When you do not need it anymore, you must close it CATCloseCGMContainer. All these global functions can be found in the CATCGMContainerMngt.h file.


Method Index


o CATCreateNurbsCurve(CATKnotVector&,CATLONG32&,CATMathSetOfPoints&,double*,CATParameterizationOption)
Creates a NURBS curve.
o CATCreateNurbsSurface(CATKnotVector&,CATKnotVector&,CATLONG32&,CATMathGridOfPoints&,double*,CATParameterizationOption)
Creates a geometric NURBS surface.
o CATCreatePNurbs(CATKnotVector&,CATLONG32&,double*,double*,CATSurface*,CATParameterizationOption)
Creates a NURBS curve defined in the space of a surface.
o Compare(CATMathPoint&,CATMathPoint&)
Tests the confusion of 2 points.
o CreateBody()
Creates an empty topological body.
o CreateCartesianPoint(CATMathPoint&)
Creates a geometric point from a mathematical point.
o CreateCartesianPoint(double,double,double)
Creates a geometric point from its cartesian coordinates.
o CreateCircle(double,CATMathPlane&)
Creates a geometric circle.
o CreateCircle(double,CATMathPlane&,CATAngle,CATAngle)
Creates a geometric circle arc.
o CreateCompositeLaw(CATLONG32,double*,CATMathFunctionX**)
Constructs a composite law.
o CreateCone(CATMathAxis&,double,CATAngle,CATAngle,CATAngle,double,double)
Creates a piece of a geometric cone.
o CreateConstantLaw(CATConstantLaw*)
Duplicates this law.
o CreateConstantLaw(double,double,double)
Creates a constant law.
o CreateCylinder(CATMathAxis&,double&,double&,double&,CATAngle&,CATAngle&)
Creates a piece of a geometric cylinder.
o CreateEllipse(double,double,CATMathPlane&)
Creates a geometric ellipse.
o CreateEllipse(double,double,CATMathPlane&,CATAngle,CATAngle)
Creates a geometric ellipse arc.
o CreateForeignCurve(CATForeignCurveData*)
Creates a foreign curve.
o CreateForeignPCurve(CATForeignPCurveData*,CATSurface*)
Creates a foreign Pcurve.
o CreateForeignSurface(CATForeignSurfaceData*)
Creates a foreign surface.
o CreateHelix(CATMathLine&,CATMathPoint&,CATAngle,CATAngle,double,CATLONG32,double)
Creates a geometric helix.
o CreateLine(CATMathPoint&,CATMathDirection&)
Creates an untrimmed geometricl line from a mathematical point and a direction.
o CreateLine(CATMathPoint&,CATMathPoint&)
Creates a trimmed geometric line from two mathematical points.
o CreateLine(CATMathPoint&,CATMathPoint&,CATCrvLimits&)
Creates an untrimmed geometric line from 2 mathematical points.
o CreateLine(CATPoint*,CATPoint*)
Creates a trimmed geometric line from two geometric points.
o CreateLine(CATPoint*,CATPoint*,CATCrvLimits&)
Creates an untrimmed geometric line from 2 geometric points.
o CreateLinearLaw(CATLinearLaw*)
Duplicates this law.
o CreateLinearLaw(double,double,double,double)
Creates a linear law.
o CreateMacroPoint()
Creates an empty CATMacroPoint.
o CreateMacroPoint(CATLISTP(CATPoint)&)
Creates a geometric point aggregating several geometric points.
o CreateNurbsCurve(CATKnotVector&,CATLONG32&,CATMathSetOfPoints&,double*,CATParameterizationOption)
o CreateNurbsSurface(CATKnotVector&,CATKnotVector&,CATLONG32&,CATMathGridOfPoints&,double*,CATParameterizationOption)
o CreateOffsetSurface(double,CATSurface*,CATSurLimits&)
Creates a geometric offseted surface.
o CreatePCircle(CATSurParam&,CATSurParam&,CATSurParam&,CATSurface*)
Creates a trimmed geometric circle defined in the space of a surface from 3 points.
o CreatePCircle(double,CATSurParam&,CATAngle,CATAngle,CATSurface*)
Creates a trimmed geometric circle defined in the space of a surface.
o CreatePCircle(double,CATSurParam&,CATSurface*)
Creates an untrimmed geometric circle defined in the space of a surface.
o CreatePEllipse(CATMathAxis2D&,double&,double&,CATAngle,CATAngle,CATSurface*)
Creates a trimmed ellipse defined in the space of a surface.
o CreatePEllipse(CATMathAxis2D&,double&,double&,CATSurface*)
Creates an untrimmed ellipse defined in the space of a surface.
o CreatePEllipse(double&,double&,double&,CATSurParam&,CATAngle,CATAngle,CATSurface*)
Creates a trimmed ellipse defined in the space of a surface.
o CreatePEllipse(double&,double&,double&,CATSurParam&,CATSurface*)
Creates an untrimmed ellipse defined in the space of a surface.
o CreatePHyperbola(CATMathAxis2D&,double,double,CATSurface*)
Creates an untrimmed hyperbola defined in the space of a surface.
o CreatePHyperbola(CATMathAxis2D&,double,double,double,double,CATSurface*)
Creates a trimmed hyperbola defined in the space of a surface.
o CreatePLine(CATSurParam&,CATSurParam&,CATSurface*)
Creates a trimmed geometric line defined in the space of a surface.
o CreatePNurbs(CATKnotVector&,CATLONG32&,double*,double*,CATSurface*,CATParameterizationOption)
o CreatePParabola(CATMathAxis2D&,double,CATSurface*)
Creates an untrimmed parabola defined in the space of a surface.
o CreatePParabola(CATMathAxis2D&,double,double,double,CATSurface*)
Creates a trimmed parabola defined in the space of a surface.
o CreatePSpline(CATMathSetOfPointsND*,CATLONG32&,CATLONG32&,double*,CATSurface*)
Creates a cubic spline curve defined in the space of a surface.
o CreatePSpline(CATMathSetOfPointsND*,CATMathSetOfPointsND*,CATMathSetOfPointsND*,CATMathSetOfPointsND*,CATLONG32,CATLONG32,CATSurface*)
Creates a quintic spline curve defined in the space of a surface.
o CreatePlane(CATMathDirection&,double&)
Creates a geometric plane at a distance to a CATMathPlane.
o CreatePlane(CATMathPlane&)
Creates a geometric plane from a mathematical plane.
o CreatePlane(CATMathPoint&,CATMathPoint&,CATMathPoint&)
Creates a geometric plane from 3 mathematical points.
o CreatePointOnCurve(CATCrvParam&,CATCurve*)
Creates a geometric point lying on a geometric curve from its parameter on the curve.
o CreatePointOnEdgeCurve(CATCurve*,CATCrvParam&,CATCurve*,CATCrvParam&,CATEdgeCurve*)
Creates a geometric point lying on a CATEdgeCurve from its parameters on two of the aggregated curves.
o CreatePointOnEdgeCurve(CATCurve*,CATCrvParam&,CATEdgeCurve*)
Creates a geometric point lying on a CATEdgeCurve from its parameter on one of the aggregated curves.
o CreatePointOnEdgeCurve(CATLONG32,CATCurve*[],CATCrvParam[],CATEdgeCurve*)
Creates a geometric point lying on a CATEdgeCurve from its parameters on a given number of the aggregated curves.
o CreatePointOnSurface(CATSurParam&,CATSurface*)
Creates a geometric point lying on a surface.
o CreateRevolutionSurface(CATCurve*,CATCrvLimits&,CATMathAxis&,CATAngle&,CATAngle&,CATBoolean&)
Creates a CATRevolutionSurface.
o CreateRevolutionSurface(CATCurve*,CATMathAxis&,CATAngle&,CATAngle&)
Creates a trimmed geometric revolution surface.
o CreateSimCurve(CATLISTP(CATCurve)&,CATLISTP(CATCrvLimits)&,CATListOfInt&,double)
Creates the curve that aggregates identical curves.
o CreateSphere(CATMathAxis&,double)
Creates a geometric sphere.
o CreateSphere(CATMathAxis&,double,CATAngle,CATAngle,CATAngle,CATAngle)
Creates a piece of a geometric sphere.
o CreateSplineCurve(CATMathSetOfPointsND*,CATLONG32&,CATLONG32&,CATLONG32&,double*)
Creates a cubic Spline curve.
o CreateSplineCurve(CATMathSetOfPointsND*,CATMathSetOfPointsND*,CATMathSetOfPointsND*,CATMathSetOfPointsND*,CATLONG32,CATLONG32,CATLONG32)
Creates a quintic 3d spline curve.
o CreateSplineLaw(CATLONG32,double*,double*)
Creates a spline law.
o CreateSplineLaw(CATSplineLaw*)
Duplicates this law.
o CreateTabulatedCylinder(CATCurve*,CATCrvLimits&,CATMathDirection&,double&,double&,CATBoolean&)
Creates a CATTabulatedCylinder.
o CreateTabulatedCylinder(CATCurve*,CATMathDirection&,double&,double&)
Creates a trimmed tabulated cylinder.
o CreateTorus(CATMathAxis&,double,CATAngle,CATAngle,double,CATAngle,CATAngle)
Creates a piece of a geometric torus.
o CreateTorus(CATMathAxis&,double,CATAngle,CATAngle,double,CATBoolean)
Creates a piece of a geometric auto-intersecting torus.
o GetDatum(CATGeoFactory::CATDatumId)
Returns a constant pointer to a given datum.
o GetImplicitGeoFactory()
Returns a pointer to the implicit geometric factory.
o GetInfinite()
Retrieves the size of the box centered at origin which contains all the objects, including infinite objects.
o GetModelSize()
Returns the model size associated with this CATGeoFactory.
o GetProtectedInterface()
o GetResolution(CATResolutionType)
Returns the minimum length of a valid object.
o GetUnit()
Retrieves the model unit.

Enumerated Type Index


o CATDatumId
The canonical (implicit) objects.

Methods


o CATCreateNurbsCurve
public virtual CATNurbsCurve* CATCreateNurbsCurve( const CATKnotVector& iKnotVector,
const CATLONG32& iIsRational,
const CATMathSetOfPoints& iVertices,
const double* iWeights,
const CATParameterizationOption iParameterizationOption= CatAutomaticParameterization) =0
Creates a NURBS curve.
Please refer to the enclycopedia to have a detailed description of the NURBS representation.
Parameters:
iKnotVector
The nodal vector.
iIsRational
Legal values: 1 if the NURBS is rational, 0 otherwise.
iVertices
The list of the vertices.
iWeigths
The array of the weights.
iParameterizationOption
The option of parameterization. By default, the parameterization of the NURBS is modified to better fit internal criteria. In this case, you can recover the initial parameterization with the
CATNurbsCurve.GetOriginalParametrisationDATA method.
Returns:
The pointer to the created curve.
o CATCreateNurbsSurface
public virtual CATNurbsSurface * CATCreateNurbsSurface( const CATKnotVector& iKnotVectorU,
const CATKnotVector& iKnotVectorV,
const CATLONG32& iIsRational,
const CATMathGridOfPoints& iVertices,
const double* iWeights,
const CATParameterizationOption iParameterizationOption= CatAutomaticParameterization )= 0
Creates a geometric NURBS surface. Please refer to the enclycopedia to have a detailed description of the NURBS representation.
Parameters:
iKnotVectorU
The nodal vector in the first direction.
iKnotVectorV
The nodal vector in the second direction.
iIsRational
Legal values: 1 if the NURBS is rational, 0 otherwise.
iVertices
The grid of the vertices.
iWeigths
The array of the weights.
iParameterizationOption
The option of parameterization. By default, the parameterization of the NURBS is modified to better fit internal criteria. In this case, you can recover the initial parameterization with the
CATNurbsSurface.GetOriginalParametrisationDATA method.
Returns:
The pointer to the created surface.
o CATCreatePNurbs
public virtual CATPNurbs * CATCreatePNurbs(CATKnotVector& iKnotVector,
const CATLONG32& iIsRational,
const double* iVertices,
const double* iWeights,
CATSurface* iSupport,
const CATParameterizationOption iParameterizationOption= CatAutomaticParameterization )=0
Creates a NURBS curve defined in the space of a surface.
Parameters:
iKnotVector
The nodal vector.
iIsRational
Legal values: 1 if the NURBS is rational, 0 otherwise.
iVertices
The list of the vertices. The vertices (control points) coordinates are given as surface parameters in the following order: u1, v1, u2, v2,.... Please refer to the enclycopedia to have a detailed description of the NURBS representation.
iWeigths
The array of the weights.
iSupport
The pointer to the surface on which the nurbs is created.
iParameterizationOption
The option of parameterization. By default, the parameterization of the NURBS is modified to better fit internal criteria. In this case, you can recover the initial parameterization with the
CATPNurbs.GetOriginalParametrisationDATA method.
Returns:
The pointer to the created curve.
o Compare
public virtual CATBoolean Compare( const CATMathPoint& iPoint1,
const CATMathPoint& iPoint2)const = 0
Tests the confusion of 2 points.
Parameters:
iPoint1
The first point to compare.
iPoint2
The second point to compare.
Returns:
FALSE
if the distance between the 2 points is smaller than the resolution.
TRUE
if the distance between the 2 points is larger than the resolution.
o CreateBody
public virtual CATBody * CreateBody()= 0
Creates an empty topological body.
This object is mainly used by the TopologicalObjects framework.
Returns:
The pointer to the created body.
o CreateCartesianPoint
public virtual CATCartesianPoint * CreateCartesianPoint( const CATMathPoint& iMathPointToCopy) = 0
Creates a geometric point from a mathematical point.
Parameters:
iMathPointToCopy
The mathematical point.
Returns:
The pointer to the created point.
o CreateCartesianPoint
public virtual CATCartesianPoint * CreateCartesianPoint( const double iFirstCoord,
const double iSecondCoord,
const double iThirdCoord) = 0
Creates a geometric point from its cartesian coordinates.
Parameters:
iFirstCoord
The first coordinate of the point.
iSecondCoord
The second coordinate of the point.
iThirdCoord
The third coordinate of the point.
Returns:
The pointer to the created point.
o CreateCircle
public virtual CATCircle * CreateCircle( const double iRadius,
const CATMathPlane& iMathPlane) = 0
Creates a geometric circle.
Parameters:
iRadius
The radius.
iMathPlane
The plane defining the center and axis of the circle.
Returns:
The pointer to the created circle.
o CreateCircle
public virtual CATCircle * CreateCircle( const double iRadius,
const CATMathPlane& iMathPlane,
const CATAngle iStart,
const CATAngle iEnd)= 0
Creates a geometric circle arc.
The circle center is the origin of the plane.
Note 0 <= iStart < CAT2PI, iStart < iEnd <= iStart + CAT2PI
Parameters:
iRadius
The radius.
iMathPlane
The plane defining the center and axis of the circle.
iStart
The first angle limitation (in Radians).
iEnd
The last angle limitation (in Radians).
Returns:
The pointer to the created circle.
o CreateCompositeLaw
public virtual CATCompositeLaw * CreateCompositeLaw( const CATLONG32 iNbrOfFunctions,
const double* iBorders,
const CATMathFunctionX** iFunctions) = 0
Constructs a composite law.
Parameters:
iNbrOfFunctions
The number of CATMathFunctionX intended to be used in the composite law.
iBorders
The array of the CATMathFunctionX borders.
iFunctions
The array of pointers to the CATMathFunctionX intended to be used in the composite law.
o CreateCone
public virtual CATCone * CreateCone( const CATMathAxis& iConeAxis,
const double iStartRadius,
const CATAngle iConeAngle,
const CATAngle iStartAngle,
const CATAngle iEndAngle,
const double iStartRuleLength,
const double iEndRuleLength) =0
Creates a piece of a geometric cone.
Parameters:
iConeAxis
The axis of the cone.
iStartRadius
The radius on the XY plane of iAxis.
iConeAngle
The external angle of the cone (in Radians).
iStartAngle
The start angle limitation of the circle ( XY plane ) (in Radians).
iEndAngle
The end angle limitation of the circle ( XY plane ) (in Radians).
iStartRuleLength
The first limitation of the length of the cone.
iEndRuleLength
The end limitation of the length of the cone.
Returns:
The pointer to the created cone.
o CreateConstantLaw
public virtual CATConstantLaw * CreateConstantLaw(CATConstantLaw* iToCopy) = 0
Duplicates this law.
Parameters:
iToCopy
The pointer to the law to copy.
Returns:
The pointer to the created law.
o CreateConstantLaw
public virtual CATConstantLaw * CreateConstantLaw( const double iTMin,
const double iTMax,
const double iConstant) = 0
Creates a constant law.
A law is a function L of one parameter iT on a given 1D interval [iTmin,iTmax]. A constant law is such that L(iT)=iConstant on the definition interval.
Parameters:
iTMin
The lower bound of the definition interval.
iTMax
The upper bound of the definition interval.
iConstant
The constant value on the interval.
Returns:
The pointer to the created law.
o CreateCylinder
public virtual CATCylinder * CreateCylinder( const CATMathAxis& iAxis,
const double& iRadius,
const double& iAxisStart,
const double& iAxisEnd,
const CATAngle& iAngleStart,
const CATAngle& iAngleEnd) =0
Creates a piece of a geometric cylinder.
Parameters:
iAxis
The axis of the cylinder.
iRadius
The radius of the cylinder.
iAxisStart
The first limitation of the length (Z direction).
iAxisEnd
The end limitation of the length (Z direction).
iAngleStart
The start limitation of the circle (XY plane) (in Radians).
iAngleEnd
The end limitation of the circle (XY plane) (in Radians).
Returns:
The pointer to the created cylinder.
o CreateEllipse
public virtual CATEllipse * CreateEllipse( const double iMajorAxis,
const double iMinorAxis,
const CATMathPlane& iMathPlane)= 0
Creates a geometric ellipse.
Parameters:
iMajorAxis
The half length of the major axis.
iMinorAxis
The half length of the minor axis.
iMathPlane
The origin and axis of the ellipse.
Returns:
The created ellipse.
o CreateEllipse
public virtual CATEllipse * CreateEllipse( const double iMajorAxis,
const double iMinorAxis,
const CATMathPlane& iMathPlane,
const CATAngle iStart,
const CATAngle iEnd)= 0
Creates a geometric ellipse arc.
Refer plese to the encyclopedia for the description of the angle limitations.
Parameters:
iMajorAxis
The half length of the major axis.
iMinorAxis
The half length of the minor axis.
iMathPlane
The origin and axis of the ellipse.
iStart
The first angle limitation (in Radians).
iEnd
The last angle limitation (in Radians).
Returns:
The pointer to the created ellipse.
o CreateForeignCurve
public virtual CATIForeignCurve * CreateForeignCurve(CATForeignCurveData* iForeignCurveData)= 0
Creates a foreign curve.
Parameters:
iForeignCurveData
The pointer to the data defining the foreign curve.
Returns:
The pointer to the created curve.
o CreateForeignPCurve
public virtual CATIForeignPCurve * CreateForeignPCurve(CATForeignPCurveData* iForeignPCurveData,
CATSurface* iSurface) = 0
Creates a foreign Pcurve.
Parameters:
iForeignPCurveData
The pointer to the data defining the foreign Pcurve.
iSurface
The pointer to the surface on which the curve is defined.
Returns:
The pointer to the created Pcurve.
o CreateForeignSurface
public virtual CATIForeignSurface * CreateForeignSurface(CATForeignSurfaceData* iForeignSurfaceData) = 0
Creates a foreign surface.
Parameters:
iForeignSurfaceData
The pointer to the data defining the foreign surface.
Returns:
The pointer to the created surface.
o CreateHelix
public virtual CATHelix * CreateHelix( const CATMathLine& iAxis,
const CATMathPoint& iStartingPoint,
const CATAngle iStart,
const CATAngle iEnd,
const double iPitch,
const CATLONG32 iTrigonometricOrientation,
double iRadiusEvolution= 0.) = 0
Creates a geometric helix.
Parameters:
iAxis
The helix axis.
iStartingPoint
The origin point of the helix.
iStart
The first limitation of the helix from iStartingPoint. This angle is considered on the helix itself, rotating about iAxis according to the iTrigonometricOrientation parameter.
iEnd
The last limitation of the helix from the origin point. This angle is considered on the helix itself, rotating about iAxis according to the iTrigonometricOrientation parameter.
iPitch
The height between two turns.
iTrigonometricOrientation
The orientation of the rotation about the axis oriented by iHelixAxisOrientation: 1 to turn counterclockwise, -1 to turn clockwise.
iRadiusEvolution
The coefficient of linear variation for the radius.
Returns:
The created helix.
o CreateLine
public virtual CATLine * CreateLine( const CATMathPoint& iPoint,
const CATMathDirection& iDirection) = 0
Creates an untrimmed geometricl line from a mathematical point and a direction.
Parameters:
iPoint
The mathematical point
iDirection
The direction
Returns:
The pointer to the created line.
o CreateLine
public virtual CATLine * CreateLine( const CATMathPoint& iStart,
const CATMathPoint& iEnd)= 0
Creates a trimmed geometric line from two mathematical points.
Parameters:
iStart
The first limiting point.
iEnd
The last limiting point.
Returns:
The pointer to the created line.
o CreateLine
public virtual CATLine * CreateLine( const CATMathPoint& iStart,
const CATMathPoint& iEnd,
CATCrvLimits& ioLimits) = 0
Creates an untrimmed geometric line from 2 mathematical points.
Parameters:
iStart
The first point
iEnd
The second point
oLimits
The parameters of the corresponding points on the line.
Returns:
The pointer to the created line.
o CreateLine
public virtual CATLine * CreateLine( const CATPoint* iStart,
const CATPoint* iEnd)= 0
Creates a trimmed geometric line from two geometric points.
Parameters:
iStart
The pointer to the first limiting point.
iEnd
The pointer to the last limiting point.
Returns:
The pointer to the created line.
o CreateLine
public virtual CATLine * CreateLine( const CATPoint* iStart,
const CATPoint* iEnd,
CATCrvLimits& ioLimits) = 0
Creates an untrimmed geometric line from 2 geometric points.
Parameters:
iStart
The pointer to the first point
iEnd
The pointer to the second point
oLimits
The parameters of the corresponding points on the line.
Returns:
The pointer to the created line.
o CreateLinearLaw
public virtual CATLinearLaw * CreateLinearLaw(CATLinearLaw* iToCopy) = 0
Duplicates this law.
Parameters:
iToCopy
The pointer to the law to copy.
Returns:
The pointer to the created law.
o CreateLinearLaw
public virtual CATLinearLaw * CreateLinearLaw( const double iTMin,
const double iValueAtTMin,
const double iTMax,
const double iValueAtTMax) = 0
Creates a linear law.
A law is a function L of one parameter iT on a given 1D interval [iTmin,iTmax]. A linear law is line segment between L(iTmin)=iValueAtTMin and L(iTmax)=iValueAtTMax.
Parameters:
iTMin
The lower bound of the definition interval.
iValueAtTMin
The law value on the lower bound of the definition interval.
iTMax
The upper bound of the definition interval.
iValueAtTMax
The law value on the upper bound of the definition interval.
Returns:
The pointer to the created law.
o CreateMacroPoint
public virtual CATMacroPoint * CreateMacroPoint()= 0
Creates an empty CATMacroPoint.
Returns:
The pointer to the created point.
o CreateMacroPoint
public virtual CATMacroPoint * CreateMacroPoint(CATLISTP(CATPoint)& iPoints) = 0
Creates a geometric point aggregating several geometric points.
Role: A CATMacroPoint is the geometry of a CATVertex and is used in a topological context.
Parameters:
iPoints
The list of points to define the CATMacroPoint.
Returns:
The pointer to the created point.
o CreateNurbsCurve
public virtual CATNurbsCurve* CreateNurbsCurve( const CATKnotVector& iKnotVector,
const CATLONG32& iIsRational,
const CATMathSetOfPoints& iVertices,
const double* iWeights,
const CATParameterizationOption iParameterizationOption= CatAutomaticParameterization) =0
Deprecated:
V5R14 CATCreateNurbsCurve
o CreateNurbsSurface
public virtual CATNurbsSurface * CreateNurbsSurface( const CATKnotVector& iKnotVectorU,
const CATKnotVector& iKnotVectorV,
const CATLONG32& iIsRational,
const CATMathGridOfPoints& iVertices,
const double* iWeights,
const CATParameterizationOption iParameterizationOption= CatAutomaticParameterization )= 0
Deprecated:
V5R14 CATCreateNurbsSurface
o CreateOffsetSurface
public virtual CATOffsetSurface * CreateOffsetSurface( const double iOffset,
CATSurface* iReference,
const CATSurLimits& iLimits) =0
Creates a geometric offseted surface.
Parameters:
iOffset
The offset value, relative to the normalized normal to the surface (cross product of the first derivative with respect to the first direction with the first derivative in the second direction).
iReference
The pointeur to the surface to offset.
iLimits
The limits on iReference to take into account in the offset operation.
Returns:
The pointer to the created surface.
o CreatePCircle
public virtual CATPCircle * CreatePCircle( const CATSurParam& iStart,
const CATSurParam& iMiddle,
const CATSurParam& iEnd,
CATSurface* iSupport)=0
Creates a trimmed geometric circle defined in the space of a surface from 3 points.
Parameters:
iStart
The first point
iMiddle
The second point
iStart
The third point
iSupport
The pointer to the surface on which the circle is created.
Returns:
The pointer to the created circle, oriented as the surface, whatever the points are ordered.
o CreatePCircle
public virtual CATPCircle * CreatePCircle( const double iRadius,
const CATSurParam& iCenter,
const CATAngle iStart,
const CATAngle iEnd,
CATSurface* iSupport)=0
Creates a trimmed geometric circle defined in the space of a surface.
Parameters:
iRadius
The radius of the circle.
iCenter
The coordinates of the center
iStart
The first angle limitation (in Radians).
iEnd
The last angle limitation (in Radians).
iSupport
The pointer to the surface on which the circle is created.
Returns:
The pointer to the created circle.
o CreatePCircle
public virtual CATPCircle * CreatePCircle( const double iRadius,
const CATSurParam& iCenter,
CATSurface* iSupport)=0
Creates an untrimmed geometric circle defined in the space of a surface.
Parameters:
iRadius
The radius of the circle.
iCenter
The coordinates of the center
iSupport
The pointer to the surface on which the circle is created.
Returns:
The pointer to the created circle.
o CreatePEllipse
public virtual CATPEllipse * CreatePEllipse( const CATMathAxis2D& iAxis,
const double& iMajorAxis,
const double& iMinorAxis,
const CATAngle iStart,
const CATAngle iEnd,
CATSurface* iSupport)=0
Creates a trimmed ellipse defined in the space of a surface.
Please refer to the encyclopedia to the detailed definition of the start and end angle.
Parameters:
iAxis
The ellipse axis system (center, major axis, minor axis), positively oriented.
iMajorAxis
The length of the half major axis.
iMinorAxis
The length of the half minor axis.
iStart
The angle low limitation measured from the major axis (in Radians).
iEnd
The angle high limitation measured from the major axis (in Radians).
iSupport
The pointer to the surface on which the ellipse is created.
Returns:
The pointer to the created ellipse.
o CreatePEllipse
public virtual CATPEllipse * CreatePEllipse( const CATMathAxis2D& iAxis,
const double& iMajorAxis,
const double& iMinorAxis,
CATSurface* iSupport)=0
Creates an untrimmed ellipse defined in the space of a surface.
Parameters:
iAxis
The ellipse axis system (center, major axis, minor axis), positively oriented.
iMajorAxis
The length of the half major axis.
iMinorAxis
The length of the half minor axis.
iSupport
The pointer to the surface on which the ellipse is created.
Returns:
The pointer to the created ellipse.
o CreatePEllipse
public virtual CATPEllipse * CreatePEllipse( const double& iMajorAxis,
const double& iMinorAxis,
const double& iOffsetAngle,
const CATSurParam& iCenter,
const CATAngle iStart,
const CATAngle iEnd,
CATSurface* iSupport)=0
Creates a trimmed ellipse defined in the space of a surface.
Please refer to the encyclopedia to the detailed definition of the start and end angle.
Parameters:
iMajorAxis
The length of the half major axis.
iMinorAxis
The length of the half minor axis.
iOffsetAngle
The angle between the first direction u of the surface and the major axis of the ellipse.
iCenter
The intersection between the minor axis and the major axis.
iStart
The angle low limitation measured from the major axis (in Radians).
iEnd
The angle high limitation measured from the major axis (in Radians).
iSupport
The pointer to the surface on which the ellipse is created.
Returns:
The pointer to the created ellipse.
o CreatePEllipse
public virtual CATPEllipse * CreatePEllipse( const double& iMajorAxis,
const double& iMinorAxis,
const double& iOffsetAngle,
const CATSurParam& iCenter,
CATSurface* iSupport)=0
Creates an untrimmed ellipse defined in the space of a surface.
Parameters:
iMajorAxis
The length of the half major axis.
iMinorAxis
The length of the half minor axis.
iOffsetAngle
The angle between the first direction u of the surface and the major axis of the ellipse.
iCenter
The intersection between the minor axis and the major axis.
iSupport
The pointer to the surface on which the ellipse is created.
Returns:
The pointer to the created ellipse.
o CreatePHyperbola
public virtual CATPHyperbola * CreatePHyperbola( const CATMathAxis2D& iAxis,
const double iA,
const double iB,
CATSurface* iSupport)=0
Creates an untrimmed hyperbola defined in the space of a surface.
Parameters:
iAxis
The system of 2D axis of the hyperbola. In this system, the hyperbola is the branch along the positive X corresponding to the implicit equation X^2/(iA^2) - Y^2/(iB^2) = 1.
iA
The length between the center and the vertex.
iB
The distance between focus and center c = sqrt(iA^2+iB^2); eccentricity e = c/iA > 1.
iSupport
The pointer to the surface on which the parabola is created.
Returns:
The pointer to the created hyperbola.
o CreatePHyperbola
public virtual CATPHyperbola * CreatePHyperbola( const CATMathAxis2D& iAxis,
const double iA,
const double iB,
const double iStart,
const double iEnd,
CATSurface* iSupport)=0
Creates a trimmed hyperbola defined in the space of a surface.
Parameters:
iAxis
The system of 2D axis of the hyperbola. In this system, the hyperbola is the branch along the positive X corresponding to the implicit equation X^2/(iA^2) - Y^2/(iB^2) = 1
iA
The length between the center and the vertex.
iB
The distance between focus and center c = sqrt(iA^2+iB^2); eccentricity e = c/iA > 1.
iStart
The first limit.
iEnd
The last limit. These parameters correspond to the current limits of the parabola with respect to the parameterization X(t) = a*cosh(t), Y(t) = b*sinh(t) , where X and Y are relative to iAxis.
Notice that this parameterization is not the internal parameterization.
iSupport
The pointer to the surface on which the parabola is created.
Returns:
The pointer to the created hyperbola.
o CreatePLine
public virtual CATPLine* CreatePLine( const CATSurParam& iStart,
const CATSurParam& iEnd,
CATSurface* iSupport) = 0
Creates a trimmed geometric line defined in the space of a surface.
Parameters:
iStart
The first limitation of the line.
iEnd
The last limitation of the line.
iSurface
The pointer to the surface on which the line is created.
Returns:
The pointer to the created line.
o CreatePNurbs
public virtual CATPNurbs * CreatePNurbs(CATKnotVector& iKnotVector,
const CATLONG32& iIsRational,
const double* iVertices,
const double* iWeights,
CATSurface* iSupport,
const CATParameterizationOption iParameterizationOption= CatAutomaticParameterization )=0
Deprecated:
V5R16 CATCreatePNurbs
o CreatePParabola
public virtual CATPParabola * CreatePParabola( const CATMathAxis2D& iAxis,
const double ip,
CATSurface* iSupport)=0
Creates an untrimmed parabola defined in the space of a surface.
Parameters:
iAxis
The system of 2D axis of the parabola. In this system, the implicit equation is Y^2 = 2*p*X
iP
Twice the length from the vertex of the parabola to its focus .
iSupport
The pointer to the surface on which the parabola is created.
Returns:
The pointer to the created parabola.
o CreatePParabola
public virtual CATPParabola * CreatePParabola( const CATMathAxis2D& iAxis,
const double iP,
const double iStart,
const double iEnd,
CATSurface* iSupport)=0
Creates a trimmed parabola defined in the space of a surface.
Parameters:
iAxis
The system of 2D axis of the parabola. In this system, the implicit equation is Y^2 = 2*iP*X.
iP
Twice the length from the vertex of the parabola to its focus.
iStart
The first limit of the parabola.
iEnd
The last limit of the parabola. These parameters correspond to the current limits of the parabola with respect to the parametrization X(t) = t^2/(2*p), Y(t) = t , where X and Y are relative to iAxis.
Notice that this parameterization is not the internal paramaterization.
iSupport
The pointer to the surface on which the parabola is created.
Returns:
The pointer to the created parabola.
o CreatePSpline
public virtual CATPSpline * CreatePSpline( const CATMathSetOfPointsND* iPoints,
const CATLONG32& iFirstCoordIndex,
const CATLONG32& iSecondCoordIndex,
const double* iParameters,
CATSurface* iSupport)=0
Creates a cubic spline curve defined in the space of a surface.
This is particulary usefull for creating intersection curves.
Parameters:
iPoints
The pointer to a CATMathSetOfPointsND, with N>=2. The points are supposed to belong to the surface.
iFirstCoordIndex
The coordinate index of the ND points to be taken as the first coordinate of the constructing points of the spline.
iSecondCoordIndex
The coordinate index of the ND points to be taken as the second coordinate ofthe constructing points of the spline.
iParameters
The array of parameters defining a user parametrization. If NULL, the parametrization is automatically defined. The size of the array is the number of points of the CATMathSetOfPointsND.
iSupport
The surface to which the curve belongs to.
Returns:
The pointer to the created curve.
o CreatePSpline
public virtual CATPSpline * CreatePSpline( const CATMathSetOfPointsND* iParams,
const CATMathSetOfPointsND* iPoints,
const CATMathSetOfPointsND* iTangents,
const CATMathSetOfPointsND* iSecondDerivatives,
const CATLONG32 iFirstCoordIndex,
const CATLONG32 iSecondCoordIndex,
CATSurface* iSupport)=0
Creates a quintic spline curve defined in the space of a surface.
This enables to create precise intersection curves with a low number of arc.
Parameters:
iParams
The pointer to a CATMathSetOfPointsND of dimension 1 defining a user parameterization.
iPoints
The pointer to a CATMathSetOfPointsND containing points of a PSpline
iTangents
The pointer to a CATMathSetOfPointsND containing tangents of a PSpline
iSecondDerivatives
The pointer to a CATMathSetOfPointsND containing second derivatives of a PSpline
iFirstCoordIndex
This index is such that the points, tangents and second derivatives of the first coordinate of the spline are the values of index iFirstCoordIndex.
iSecondCoordIndex
Same as iFirstCoordIndex but for the second coordinate of the spline.
iSupport
The surface to which the curve belongs to.
Returns:
The pointer to the created curve.
o CreatePlane
public virtual CATPlane * CreatePlane( const CATMathDirection& iMathPlaneNormal,
const double& iDistance) = 0
Creates a geometric plane at a distance to a CATMathPlane.
Parameters:
iMathNormal
The normal to the plane.
iDistance
The distance along the normal direction.
Returns:
The created plane.
o CreatePlane
public virtual CATPlane * CreatePlane( const CATMathPlane& iMathPlane) = 0
Creates a geometric plane from a mathematical plane.
Parameters:
iMathPlane
The mathematical point.
Returns:
The pointer to the created plane.
o CreatePlane
public virtual CATPlane * CreatePlane( const CATMathPoint& iMathOrigin,
const CATMathPoint& iFirstDirection,
const CATMathPoint& iSeconddirection) = 0
Creates a geometric plane from 3 mathematical points.
The directions are ortho-normalized.
o CreatePointOnCurve
public virtual CATPointOnCurve * CreatePointOnCurve( const CATCrvParam& iParam,
CATCurve* iCurve) = 0
Creates a geometric point lying on a geometric curve from its parameter on the curve.
Parameters:
iParam
The parameter on iCurve
iCurve
The pointer to the curve on which the point is created.
Returns:
The pointer to the created point.
o CreatePointOnEdgeCurve
public virtual CATPointOnEdgeCurve* CreatePointOnEdgeCurve( const CATCurve* iSpecCurve1,
const CATCrvParam& iSpecParam1,
const CATCurve* iSpecCurve2,
const CATCrvParam& iSpecParam2,
const CATEdgeCurve* iSupport)= 0
Creates a geometric point lying on a CATEdgeCurve from its parameters on two of the aggregated curves.
Parameters:
iSpecCurve1
The pointer ton one of the aggregated curves of the CATEdgeCurve iSupport, may be the CATEdgeCurve itself.
iSpecparam1
The parameter on iSpecCurve1 of the PointOnEdgeCurve to create.
iSpecCurve2
The pointer to one of the aggregated curves of the CATEdgeCurve iSupport, may be the CATEdgeCurve itself.
iSpecparam2
The parameter on iSpecCurve2 of the PointOnEdgeCurve to create.
iSupport
The CATEdgeCurve pointer.
Returns:
The pointer to the created point.
o CreatePointOnEdgeCurve
public virtual CATPointOnEdgeCurve* CreatePointOnEdgeCurve( const CATCurve* iSpecCurve,
const CATCrvParam& iSpecParam,
const CATEdgeCurve* iSupport)= 0
Creates a geometric point lying on a CATEdgeCurve from its parameter on one of the aggregated curves.
Parameters:
iSpecCurve
The pointer on one of the aggregated curves of the CATEdgeCurve iSupport, may be the CATEdgeCurve itself.
iSpecparam
The parameter on iSpecCurve of the PointOnEdgeCurve to create.
iSupport
The CATEdgeCurve pointer.
Returns:
The pointer to the created point.
o CreatePointOnEdgeCurve
public virtual CATPointOnEdgeCurve* CreatePointOnEdgeCurve( const CATLONG32 iNbOfSpecs,
const CATCurve*[] iSpecCurves,
const CATCrvParam[] iSpecParams,
const CATEdgeCurve* iSupport)= 0
Creates a geometric point lying on a CATEdgeCurve from its parameters on a given number of the aggregated curves.
Parameters:
iNbOfSpecs
The number of aggregated curves on which the parameters of the point are given.
iSpecCurve
The array of pointers to iNbOfSpecs aggregated curves of the CATEdgeCurve iSupport. Can contain a pointer to the CATEdgeCurve itself.
iSpecparam
The corresponding parameters on the iSpecCurve aggregated curves of the PointOnEdgeCurve to create.
iSupport
The CATEdgeCurve pointer.
Returns:
The pointer to the created point.
o CreatePointOnSurface
public virtual CATPointOnSurface * CreatePointOnSurface( const CATSurParam& iParam,
CATSurface* iSurface) = 0
Creates a geometric point lying on a surface.
Parameters:
iParam
The parameters on iSurface of the point to create.
iSurface
The pointer to the surface on which the point is created.
Returns:
The pointer to the created point.
o CreateRevolutionSurface
public virtual CATRevolutionSurface * CreateRevolutionSurface(CATCurve* iProfile,
const CATCrvLimits& iProfileLimits,
const CATMathAxis& iRefAxis,
const CATAngle& iStart,
const CATAngle& iEnd,
CATBoolean& ioIsOrientationChanged)=0
Creates a CATRevolutionSurface.
If the input profile is a CATPCurve, this method try to optimize the resulting surface by replacing the PCurve by a 3D Curve if possible.
Parameters:
iProfile
The pointer to the profile.
iProfileLimits
The profile limitations.
iRefAxis
The axis sytem. The profile is rotated around the Z axis, and must not intersect this axis, except at it first or last limits.
iStart
The low limitation of the rotation (in Radians).
iEnd
The high limitation of the rotation (in Radians).
OrientationChanged
In case of the optimization, the relative orientation between iProfile and the generated 3D curve.
Legal values : TRUE for the same orientation, TRUE for the opposite.
Returns:
The pointer to the created revolution surface.
o CreateRevolutionSurface
public virtual CATRevolutionSurface * CreateRevolutionSurface(CATCurve* iProfile,
const CATMathAxis& iRefAxis,
const CATAngle& iStart,
const CATAngle& iEnd)=0
Creates a trimmed geometric revolution surface.
Parameters:
iProfile
The pointer to the profile.
iRefAxis
The axis sytem. The profile is rotated around the Z axis, and must not intersect this axis, except at it first or last limits.
iStart
The low limitation of the rotation (in Radians).
iEnd
The high limitation of the rotation (in Radians).
Returns:
The pointer to the created revolution surface.
o CreateSimCurve
public virtual CATSimCurve * CreateSimCurve(CATLISTP(CATCurve)& iCurves,
CATLISTP(CATCrvLimits)& iLimits,
CATListOfInt& iOrns,
const double iGap)= 0
Creates the curve that aggregates identical curves.
Parameters:
iCurves
The list of curve pointers.
iLimits
The list of limitations of the curves.
iOrns
The list of relative orientation of the curves.
Legal values:
1
same orientation
-1
opposite orientation
iGap
The maximum allowed gap between the curves.
Returns:
The created curve.
o CreateSphere
public virtual CATSphere * CreateSphere( const CATMathAxis& iAxis,
const double iRadius) =0
Creates a geometric sphere.
Parameters:
iAxis
The axis of the sphere.
iRadius
The radius of the sphere.
Returns:
The pointer to the created sphere.
o CreateSphere
public virtual CATSphere * CreateSphere( const CATMathAxis& iAxis,
const double iRadius,
const CATAngle iMeridianStart,
const CATAngle iMeridianEnd,
const CATAngle iParallelStart,
const CATAngle iParallelEnd)= 0
Creates a piece of a geometric sphere.
Parameters:
iAxis
The sphere axis.
iRadius
The sphere radius.
iMeridianStart
The low angle value of the meridians.
iMeridianEnd
The high angle value of the meridians.
iParallelStart
The low angle value of the parallels.
iParallelEnd
The high angle value of the parallels.
Returns:
The created sphere.
o CreateSplineCurve
public virtual CATSplineCurve * CreateSplineCurve( const CATMathSetOfPointsND* iPoints,
const CATLONG32& iFirstCoordIndex,
const CATLONG32& iSecondCoordIndex,
const CATLONG32& iThirdCoordIndex,
const double* iParameters) =0
Creates a cubic Spline curve.
Parameters:
iPoints
The pointer to a CATMathSetOfPointsND, with N>=3.
iFirstCoordIndex
The coordinate index of the ND points to be taken as the first coordinate of the constructing points of the spline.
iSecondCoordIndex
The coordinate index of the ND points to be taken as the second coordinate ofthe constructing points of the spline.
iThirdCoordIndex
The coordinate index of the ND points to be taken as the third coordinate of the constructing points of the spline.
iParameters
The array of parameters defining a user Parameterization. If NULL, the Parameterization is automatically defined. The size of the array is the number of points of the CATMathSetOfPointsND.
Returns:
The pointer to the created point.
o CreateSplineCurve
public virtual CATSplineCurve * CreateSplineCurve( const CATMathSetOfPointsND* iParams,
const CATMathSetOfPointsND* iPoints,
const CATMathSetOfPointsND* iTangents,
const CATMathSetOfPointsND* iSecondDerivatives,
const CATLONG32 iFirstCoordIndex,
const CATLONG32 iSecondCoordIndex,
const CATLONG32 iThirdCoordIndex)=0
Creates a quintic 3d spline curve.
Parameters:
iParams
The pointer to a CATMathSetOfPointsND of dimension 1 containing a user parameterization.
iPoints
The pointer to a CATMathSetOfPointsND containing points of a 3d Spline
iTangents
The pointer to a CATMathSetOfPointsND containing tangents of a 3d Spline
iSecondDerivatives
The pointer to a CATMathSetOfPointsND containing second derivatives of a 3d Spline
iFirstCoordIndex
This index is such that the points, tangents and second derivatives of the first coordinate of the spline are the values of index iFirstCoordIndex
iSecondCoordIndex
Same as iFirstCoordIndex but for the second coordinate of the spline.
iThirdCoordIndex
Same as iFirstCoordIndex but for the third coordinate of the spline.
Returns:
The pointer to the created curve.
o CreateSplineLaw
public virtual CATSplineLaw * CreateSplineLaw( const CATLONG32 iNbrOfConstraint,
const double* iT,
const double* iValue) = 0
Creates a spline law.
A law is a function L of one parameter iT on a given 1D interval [iTmin,iTmax]. A spline law is a spline interpolation function between points with imposed tangents.
Parameters:
iNbrOfConstraint
The number of interpolation points.
iT
The array of the parameters of the interpolation points.
iTMax
The array of the spline law value at the interpolation points.
Returns:
The pointer to the created law.
o CreateSplineLaw
public virtual CATSplineLaw * CreateSplineLaw(CATSplineLaw* iToCopy) = 0
Duplicates this law.
Parameters:
iToCopy
The pointer to the law to copy.
Returns:
The pointer to the created law.
o CreateTabulatedCylinder
public virtual CATTabulatedCylinder * CreateTabulatedCylinder(CATCurve* iProfile,
const CATCrvLimits& iProfileLimits,
const CATMathDirection& iDirection,
const double& iStart,
const double& iEnd,
CATBoolean& ioIsOrientationChanged) =0
Creates a CATTabulatedCylinder.
If the input profile is a CATPCurve, this method try to optimize the resulting surface by replacing the PCurve by a 3D Curve if possible.
Parameters:
iProfile
The pointer to the profile.
iProfileLimits
The profile limitations.
iDirection
The direction along which the profile is swept.
iStart
The first limit along iDirection (can be negative ).
iEnd
The end limit along iDirection. It can be negative , but iStart <= iEnd .
OrientationChanged
In case of the optimization, the relative orientation between iProfile and the generated 3D curve.
Legal values : TRUE for the same orientation, TRUE for the opposite.
Returns:
The pointer to the created tabulated cylinder.
o CreateTabulatedCylinder
public virtual CATTabulatedCylinder * CreateTabulatedCylinder(CATCurve* iProfile,
const CATMathDirection& iDirection,
const double& iStart,
const double& iEnd)=0
Creates a trimmed tabulated cylinder.
Parameters:
iProfile
The pointer to the profile.
iDirection
The direction along which the profile is swept.
iStart
The first limit along iDirection (can be negative ).
iEnd
The end limit along iDirection. It can be negative , but iStart <= iEnd .
Returns:
The pointer to the created tabulated cylinder.
o CreateTorus
public virtual CATTorus * CreateTorus( const CATMathAxis& iTorusAxis,
const double iMajorRadius,
const CATAngle iMajorStartAngle,
const CATAngle iMajorEndAngle,
const double iMinorRadius,
const CATAngle iMinorStartAngle,
const CATAngle iMinorEndAngle) = 0
Creates a piece of a geometric torus.
Parameters:
iTorusAxis
The axis of the torus.
iMajorRadius
The radius of the major circle.
iMajorStartAngle
The first limitation of the major circle (in Radians).
iMajorStartAngle
The end limitation of the major circle (in Radians).
iMinorRadius
The radius of the minor circle.
iMinorStartAngle
The first limitation of the minor circle (in Radians).
iMinorStartAngle
The end limitation of the minor circle (in Radians).
Returns:
The pointer to the created torus.
o CreateTorus
public virtual CATTorus * CreateTorus( const CATMathAxis& iTorusAxis,
double iMajorRadius,
const CATAngle iMajorStartAngle,
const CATAngle iMajorEndAngle,
double iMinorRadius,
const CATBoolean iCoreSide) = 0
Creates a piece of a geometric auto-intersecting torus.
Parameters:
iTorusAxis
The axis of the torus.
iMajorRadius
The radius of the major circle, inferior to minor radius.
iMajorStartAngle
The first limitation of the major circle (in Radians).
iMajorStartAngle
The end limitation of the major circle (in Radians).
iMinorRadius
The radius of the minor circle, superior to major radius.
iCorePart
The side to keep.
Legal values: TRUE to keep the inside part of the auto-intersecting torus, FALSE to keep the outside part.
Returns:
The pointer to the created torus.
o GetDatum
public virtual const CATGeometry* GetDatum( const CATGeoFactory::CATDatumId iIdent)const = 0
Returns a constant pointer to a given datum.
Parameters:
iIdent
The type of datum.
Returns:
The constant pointer to the required datum.
o GetImplicitGeoFactory
public virtual CATGeoFactory* GetImplicitGeoFactory()const = 0
Returns a pointer to the implicit geometric factory.
Returns:
The pointer to the implicit CATGeoFactory.
o GetInfinite
public virtual double GetInfinite()const = 0
Retrieves the size of the box centered at origin which contains all the objects, including infinite objects.
Returns:
The geometric infinity.
o GetModelSize
public virtual double GetModelSize()const = 0
Returns the model size associated with this CATGeoFactory.
The model size defines a cubic box which contains all the objects you want to create within this factory. According to the model size, the resolution will be more or less accurate.
o GetProtectedInterface
public virtual CATGeoFactoryProtected* GetProtectedInterface()const = 0
o GetResolution
public virtual double GetResolution( const CATResolutionType iResolutionType=CatC0) const = 0
Returns the minimum length of a valid object.
Parameters:
iResolutionType
CatC0
To retrieve the minimum length of a valid object.
Any object smaller than the resolution should not be created.
CatC1
To retrieve the minimum angle value defining a sharp angle.
o GetUnit
public virtual double GetUnit()const = 0
Retrieves the model unit.
Returns:
The unit, that is to say, the dimension in meter of 1. in the model.

Enumerated Types


o CATDatumId
enum CATDatumId {
  O,
  OI,
  OJ,
  OK,
  OIJ,
  OJK,
  OKI
}
The canonical (implicit) objects.
Parameters:
CATGeoFactory::O
The origin point (0,0,0)
CATGeoFactory::OI
The infinite line y=0,z=0
CATGeoFactory::OJ
The infinite line x=0,z=0
CATGeoFactory::OK
The infinite line x=0,y=0
CATGeoFactory::OIJ
The infinite plane z=0
CATGeoFactory::OJK
>The infinite plane x=0
CATGeoFactory::OKI
The infinite plane y=0

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

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