GeometricObjects Interface 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
CreateBody(CATBodyMode,char[],char*,int)
- 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 frustum 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(CATPoint*,CATPoint*)
- Creates a trimmed geometric line from two geometric points.
- o
CreateLine(CATMathPoint&,CATMathPoint&)
- Creates a trimmed geometric line from two mathematical points.
- o
CreateLine(CATPoint*,CATPoint*,CATCrvLimits&)
- Creates an untrimmed geometric line from 2 geometric points.
- o
CreateLine(CATMathPoint&,CATMathDirection&)
- Creates an untrimmed geometricl line from a mathematical point and a direction.
- o
CreateLine(CATMathPoint&,CATMathPoint&,CATCrvLimits&)
- Creates an untrimmed geometric line from 2 mathematical 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(double,CATSurParam&,CATSurface*)
- Creates an untrimmed geometric circle defined in the space of a surface.
- o
CreatePCircle(double,CATSurParam&,CATAngle,CATAngle,CATSurface*)
- Creates a trimmed geometric circle defined in the space of a surface.
- o
CreatePCircle(CATSurParam&,CATSurParam&,CATSurParam&,CATSurface*)
- Creates a trimmed geometric circle defined in the space of a surface
from 3 points.
- o
CreatePEllipse(CATMathAxis2D&,double&,double&,CATSurface*)
- Creates an untrimmed 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
CreatePEllipse(CATMathAxis2D&,double&,double&,CATAngle,CATAngle,CATSurface*)
- Creates a trimmed 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
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(CATMathPlane&)
- Creates a geometric plane from a mathematical plane.
- o
CreatePlane(CATMathDirection&,double&)
- Creates a geometric plane at a distance to a CATMathPlane.
- 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&,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
CreatePointOnEdgeCurve(CATCurve*,CATCrvParam&,CATCurve*,CATCrvParam&,CATEdgeCurve*)
- Creates a geometric point lying on a CATEdgeCurve from its parameters
on two of the aggregated curves.
- o
CreatePointOnSurface(CATSurParam&,CATSurface*)
- Creates a geometric point lying on a surface.
- o
CreateRevolutionSurface(CATCurve*,CATMathAxis&,CATAngle&,CATAngle&)
- Creates a trimmed geometric revolution surface.
- o
CreateRevolutionSurface(CATCurve*,CATCrvLimits&,CATMathAxis&,CATAngle&,CATAngle&,CATBoolean&)
- Creates a CATRevolutionSurface.
- 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(CATSplineLaw*)
- Duplicates this law.
- o
CreateSplineLaw(CATLONG32,double*,double*)
- Creates a spline law.
- o
CreateTabulatedCylinder(CATCurve*,CATMathDirection&,double&,double&)
- Creates a trimmed tabulated cylinder.
- o
CreateTabulatedCylinder(CATCurve*,CATCrvLimits&,CATMathDirection&,double&,double&,CATBoolean&)
- Creates a CATTabulatedCylinder.
- o
CreateTorus(CATMathAxis&,double,CATAngle,CATAngle,double,CATBoolean)
- Creates a piece of a geometric self-intersecting torus.
- o
CreateTorus(CATMathAxis&,double,CATAngle,CATAngle,double,CATAngle,CATAngle)
- Creates a piece of a geometric 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
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 CATCreateNurbsCurve( | const | iKnotVector, |
| const | iIsRational, |
| const | iVertices, |
| const | iWeights, |
| const | iParameterizationOption | = CatAutomaticParameterization) |
-
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
method.
- Returns:
- The pointer to the created curve.
o CATCreateNurbsSurface
public virtual CATCreateNurbsSurface( | const | iKnotVectorU, |
| const | iKnotVectorV, |
| const | iIsRational, |
| const | iVertices, |
| const | iWeights, |
| const | iParameterizationOption | = CatAutomaticParameterization ) |
-
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
method.
- Returns:
- The pointer to the created surface.
o CATCreatePNurbs
public virtual CATCreatePNurbs( | | iKnotVector, |
| const | iIsRational, |
| const | iVertices, |
| const | iWeights, |
| | iSupport, |
| const | iParameterizationOption | = CatAutomaticParameterization ) |
-
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
method.
- Returns:
- The pointer to the created curve.
o Compare
public virtual Compare( | const | iPoint1, |
| const | iPoint2) |
-
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 CreateBody( | ) |
-
Creates an empty topological body.
This object is mainly used by the TopologicalObjects framework.
- Returns:
- The pointer to the created body.
o CreateBody
public virtual CreateBody( | | iMode | = CatBodyMode_Working , |
| const | iRole | = "Unknown", |
| const | iTracability | = NULL , |
| const | iLine | = 0 ) |
-
Creates an empty topological body.
This object is mainly used by the TopologicalObjects framework.
- Parameters:
-
- iMode
- Option for initial working mode (to reconsider only in case of specific PCS smart management case study).
By default, data structure are set for best working conditions with core operations (Boolean,Tessellation).
- iRole
- Helpers for support.
- Returns:
- The pointer to the created body.
o CreateCartesianPoint
public virtual CreateCartesianPoint( | const | iMathPointToCopy) |
-
Creates a geometric point from a mathematical point.
- Parameters:
-
- iMathPointToCopy
- The mathematical point.
- Returns:
- The pointer to the created point.
o CreateCartesianPoint
public virtual CreateCartesianPoint( | const | iFirstCoord, |
| const | iSecondCoord, |
| const | iThirdCoord) |
-
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 CreateCircle( | const | iRadius, |
| const | iMathPlane) |
-
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 CreateCircle( | const | iRadius, |
| const | iMathPlane, |
| const | iStart, |
| const | iEnd) |
-
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 CreateCompositeLaw( | const | iNbrOfFunctions, |
| const | iBorders, |
| const | iFunctions) |
-
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 CreateCone( | const | iConeAxis, |
| const | iStartRadius, |
| const | iConeAngle, |
| const | iStartAngle, |
| const | iEndAngle, |
| const | iStartRuleLength, |
| const | iEndRuleLength) |
-
Creates a frustum of a geometric cone.
- Parameters:
-
- iConeAxis
- The cone axis:
- The third direction is the rotation axis.
- The first direction is the angle reference. Start and end angles are counted from
this direction.
- The first and second directions define a plane which supports the base radius.
- iStartRadius
- The radius on the plane defined by the first and second directions of iConeAxis.
- iConeAngle
- The external angle of the cone in radians (angle between the cone and the plane supporting the base radius).
The validity range of the cone angle is:
0 < ConeAngle < Pi/2.
- iStartAngle
- The start angle in radians, counted from the first direction of iConeAxis.
When standing along the third direction of iConeAxis,
on the plane defined by the first and second directions of iConeAxis, positive angles
are counter-clockwise(right-hand rule).
If angle values are too large or inconsistent, the cone is created around 2*Pi.
- iEndAngle
- The end angle in radians, counted from the first direction of iConeAxis.
When standing along the third direction of iConeAxis,
on the plane defined by the first and second directions of iConeAxis, positive angles
are counter-clockwise(right-hand rule).
If angle values are too large or inconsistent, the cone is created around 2*Pi.
- iStartRuleLength
- The start limit of the cone slant height (the length is not
counted along the third direction of iConeAxis but along the cone surface).
- iEndRuleLength
- The end limit of the cone slant height (the length is not
counted along the third direction of iConeAxis but along the cone surface).
- Returns:
- The pointer to the created cone.
o CreateConstantLaw
public virtual CreateConstantLaw( | | iToCopy) |
-
Duplicates this law.
- Parameters:
-
- iToCopy
- The pointer to the law to copy.
- Returns:
- The pointer to the created law.
o CreateConstantLaw
public virtual CreateConstantLaw( | const | iTMin, |
| const | iTMax, |
| const | iConstant) |
-
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 CreateCylinder( | const | iAxis, |
| const | iRadius, |
| const | iAxisStart, |
| const | iAxisEnd, |
| const | iAngleStart, |
| const | iAngleEnd) |
-
Creates a piece of a geometric cylinder.
- Parameters:
-
- iAxis
- The axis of the cylinder:
- The third direction is the rotation axis.
- The first direction is the angle reference. Start and end angles are counted from
this direction.
- iRadius
- The radius of the cylinder on the plane defined by the first
and second directions of iAxis.
- iAxisStart
- The start limit along the rotation axis (third direction of iAxis).
- iAxisEnd
- The end limit along the rotation axis (third direction of iAxis)
- iAngleStart
- The start angle in radians, counted from the first direction of iAxis.
When standing along the third direction of iAxis,
on the plane defined by the first and second directions of iAxis, positive angles
are counter-clockwise (right-hand rule).
If angle values are too large or inconsistent, a 2*Pi surface is created.
- iAngleEnd
- The end angle in radians, counted from the first direction of iAxis.
When standing along the third direction of iAxis,
on the plane defined by the first and second directions of iAxis, positive angles
are counter-clockwise (right-hand rule).
If angle values are too large or inconsistent, a 2*Pi surface is created.
- Returns:
- The pointer to the created cylinder.
o CreateEllipse
public virtual CreateEllipse( | const | iMajorAxis, |
| const | iMinorAxis, |
| const | iMathPlane) |
-
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 CreateEllipse( | const | iMajorAxis, |
| const | iMinorAxis, |
| const | iMathPlane, |
| const | iStart, |
| const | iEnd) |
-
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 CreateForeignCurve( | | iForeignCurveData) |
-
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 CreateForeignPCurve( | | iForeignPCurveData, |
| | iSurface) |
-
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 CreateForeignSurface( | | iForeignSurfaceData) |
-
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 CreateHelix( | const | iAxis, |
| const | iStartingPoint, |
| const | iStart, |
| const | iEnd, |
| const | iPitch, |
| const | iTrigonometricOrientation, |
| | iRadiusEvolution | = 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 CreateLine( | const | iStart, |
| const | iEnd) |
-
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 CreateLine( | const | iStart, |
| const | iEnd) |
-
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 CreateLine( | const | iStart, |
| const | iEnd, |
| | ioLimits) |
-
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 CreateLine
public virtual CreateLine( | const | iPoint, |
| const | iDirection) |
-
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 CreateLine( | const | iStart, |
| const | iEnd, |
| | ioLimits) |
-
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 CreateLinearLaw
public virtual CreateLinearLaw( | | iToCopy) |
-
Duplicates this law.
- Parameters:
-
- iToCopy
- The pointer to the law to copy.
- Returns:
- The pointer to the created law.
o CreateLinearLaw
public virtual CreateLinearLaw( | const | iTMin, |
| const | iValueAtTMin, |
| const | iTMax, |
| const | iValueAtTMax) |
-
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 CreateMacroPoint( | ) |
-
Creates an empty CATMacroPoint.
- Returns:
- The pointer to the created point.
o CreateMacroPoint
public virtual CreateMacroPoint( | | iPoints) |
-
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 CreateNurbsCurve( | const | iKnotVector, |
| const | iIsRational, |
| const | iVertices, |
| const | iWeights, |
| const | iParameterizationOption | = CatAutomaticParameterization) |
-
- Deprecated:
- V5R14 CATCreateNurbsCurve
o CreateNurbsSurface
public virtual CreateNurbsSurface( | const | iKnotVectorU, |
| const | iKnotVectorV, |
| const | iIsRational, |
| const | iVertices, |
| const | iWeights, |
| const | iParameterizationOption | = CatAutomaticParameterization ) |
-
- Deprecated:
- V5R14 CATCreateNurbsSurface
o CreateOffsetSurface
public virtual CreateOffsetSurface( | const | iOffset, |
| | iReference, |
| const | iLimits) |
-
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 CreatePCircle( | const | iRadius, |
| const | iCenter, |
| | iSupport) |
-
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 CreatePCircle
public virtual CreatePCircle( | const | iRadius, |
| const | iCenter, |
| const | iStart, |
| const | iEnd, |
| | iSupport) |
-
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 CreatePCircle( | const | iStart, |
| const | iMiddle, |
| const | iEnd, |
| | iSupport) |
-
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 CreatePEllipse
public virtual CreatePEllipse( | const | iAxis, |
| const | iMajorAxis, |
| const | iMinorAxis, |
| | iSupport) |
-
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 CreatePEllipse( | const | iMajorAxis, |
| const | iMinorAxis, |
| const | iOffsetAngle, |
| const | iCenter, |
| | iSupport) |
-
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 CreatePEllipse
public virtual CreatePEllipse( | const | iAxis, |
| const | iMajorAxis, |
| const | iMinorAxis, |
| const | iStart, |
| const | iEnd, |
| | iSupport) |
-
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 CreatePEllipse( | const | iMajorAxis, |
| const | iMinorAxis, |
| const | iOffsetAngle, |
| const | iCenter, |
| const | iStart, |
| const | iEnd, |
| | iSupport) |
-
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 CreatePHyperbola
public virtual CreatePHyperbola( | const | iAxis, |
| const | iA, |
| const | iB, |
| | iSupport) |
-
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 CreatePHyperbola( | const | iAxis, |
| const | iA, |
| const | iB, |
| const | iStart, |
| const | iEnd, |
| | iSupport) |
-
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 CreatePLine( | const | iStart, |
| const | iEnd, |
| | iSupport) |
-
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 CreatePNurbs( | | iKnotVector, |
| const | iIsRational, |
| const | iVertices, |
| const | iWeights, |
| | iSupport, |
| const | iParameterizationOption | = CatAutomaticParameterization ) |
-
- Deprecated:
- V5R16 CATCreatePNurbs
o CreatePParabola
public virtual CreatePParabola( | const | iAxis, |
| const | ip, |
| | iSupport) |
-
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 CreatePParabola( | const | iAxis, |
| const | iP, |
| const | iStart, |
| const | iEnd, |
| | iSupport) |
-
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 CreatePSpline( | const | iPoints, |
| const | iFirstCoordIndex, |
| const | iSecondCoordIndex, |
| const | iParameters, |
| | iSupport) |
-
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 CreatePSpline( | const | iParams, |
| const | iPoints, |
| const | iTangents, |
| const | iSecondDerivatives, |
| const | iFirstCoordIndex, |
| const | iSecondCoordIndex, |
| | iSupport) |
-
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 CreatePlane( | const | iMathPlane) |
-
Creates a geometric plane from a mathematical plane.
- Parameters:
-
- iMathPlane
- The mathematical point.
- Returns:
- The pointer to the created plane.
o CreatePlane
public virtual CreatePlane( | const | iMathPlaneNormal, |
| const | iDistance) |
-
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 CreatePlane( | const | iMathOrigin, |
| const | iFirstDirection, |
| const | iSeconddirection) |
-
Creates a geometric plane from 3 mathematical points.
The directions are ortho-normalized.
o CreatePointOnCurve
public virtual CreatePointOnCurve( | const | iParam, |
| | iCurve) |
-
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 CreatePointOnEdgeCurve( | const | iSpecCurve, |
| const | iSpecParam, |
| const | iSupport) |
-
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 CreatePointOnEdgeCurve( | const | iNbOfSpecs, |
| const | iSpecCurves, |
| const | iSpecParams, |
| const | iSupport) |
-
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 CreatePointOnEdgeCurve
public virtual CreatePointOnEdgeCurve( | const | iSpecCurve1, |
| const | iSpecParam1, |
| const | iSpecCurve2, |
| const | iSpecParam2, |
| const | iSupport) |
-
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 CreatePointOnSurface
public virtual CreatePointOnSurface( | const | iParam, |
| | iSurface) |
-
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 CreateRevolutionSurface( | | iProfile, |
| const | iRefAxis, |
| const | iStart, |
| const | iEnd) |
-
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 CreateRevolutionSurface
public virtual CreateRevolutionSurface( | | iProfile, |
| const | iProfileLimits, |
| const | iRefAxis, |
| const | iStart, |
| const | iEnd, |
| | ioIsOrientationChanged) |
-
Creates a CATRevolutionSurface.
If the input profile is a CATPCurve, this method tries to optimize the resulting surface
by replacing as far as possible the PCurve by a 3D Curve.
- 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 CreateSimCurve
public virtual CreateSimCurve( | | iCurves, |
| | iLimits, |
| | iOrns, |
| const | iGap) |
-
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 CreateSphere( | const | iAxis, |
| const | iRadius) |
-
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 CreateSphere( | const | iAxis, |
| const | iRadius, |
| const | iMeridianStart, |
| const | iMeridianEnd, |
| const | iParallelStart, |
| const | iParallelEnd) |
-
Creates a piece of a geometric sphere.
A sphere is defined by an axis and a radius.
A piece of the full sphere is defined by limiting the meridian and parallel angles.
The meridian planes pass through the axis third direction,
the parallel planes are orthogonal to the axis third direction.
- Parameters:
-
- iAxis
- The sphere axis.
- The third direction is the rotation axis.
- The first direction is the angle reference. Start and end meridian angles are counted from
this direction.
- iRadius
- The sphere radius.
- iMeridianStart
- The low angle value of the meridians. Positive angles are defined by the right-hand rule.
iMeridianStart < iMeridianEnd
If specified angles are too large, the surface is swept around 2*Pi.
- iMeridianEnd
- The high angle value of the meridians. Positive angles are defined by the right-hand rule.
iMeridianStart < iMeridianEnd
If specified angles are too large, the surface is swept around 2*Pi.
- iParallelStart
- The low angle value of the parallels.
Positive angles are in the
direction of the sphere axis. Angles are counted from
the radius in the plane
defined by the first and second direction of the sphere axis.
iParallelStart >= -Pi/2 ; iParallelStart < iParallelEnd
- iParallelEnd
- The high angle value of the parallels.
Positive angles are in the
direction of the sphere axis. Angles are counted from
the radius in the plane
defined by the first and second direction of the sphere axis.
iParallelEnd <= Pi/2 ; iParallelStart < iParallelEnd
- Returns:
- The created sphere.
o CreateSplineCurve
public virtual CreateSplineCurve( | const | iPoints, |
| const | iFirstCoordIndex, |
| const | iSecondCoordIndex, |
| const | iThirdCoordIndex, |
| const | iParameters) |
-
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 CreateSplineCurve( | const | iParams, |
| const | iPoints, |
| const | iTangents, |
| const | iSecondDerivatives, |
| const | iFirstCoordIndex, |
| const | iSecondCoordIndex, |
| const | iThirdCoordIndex) |
-
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 CreateSplineLaw( | | iToCopy) |
-
Duplicates this law.
- Parameters:
-
- iToCopy
- The pointer to the law to copy.
- Returns:
- The pointer to the created law.
o CreateSplineLaw
public virtual CreateSplineLaw( | const | iNbrOfConstraint, |
| const | iT, |
| const | iValue) |
-
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 CreateTabulatedCylinder
public virtual CreateTabulatedCylinder( | | iProfile, |
| const | iDirection, |
| const | iStart, |
| const | iEnd) |
-
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 CreateTabulatedCylinder
public virtual CreateTabulatedCylinder( | | iProfile, |
| const | iProfileLimits, |
| const | iDirection, |
| const | iStart, |
| const | iEnd, |
| | ioIsOrientationChanged) |
-
Creates a CATTabulatedCylinder.
If the input profile is a CATPCurve, this method tries to optimize the resulting surface
by replacing as far as possible the PCurve by a 3D Curve.
- 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 CreateTorus
public virtual CreateTorus( | const | iTorusAxis, |
| | iMajorRadius, |
| const | iMajorStartAngle, |
| const | iMajorEndAngle, |
| | iMinorRadius, |
| const | iCoreSide) |
-
Creates a piece of a geometric self-intersecting torus.
- Parameters:
-
- iTorusAxis
- The axis of the torus.
- iMajorRadius
- The radius of the major circle, inferior to minor radius.
- iMajorStartAngle
- The start limit of the major ring in radians, counted from the first direction of iTorusAxis.
Positive angles are defined by the right-hand rule around the torus axis.
The major start angle must be less than the major end angle.
iMajorEndAngle - iMajorStartAngle must not be greater than 2*Pi.
- iMajorEndAngle
- The end limit of the major ring in radians, counted from the first direction of iTorusAxis.
Positive angles are defined by the right-hand rule around the torus axis.
The major start angle must be less than the major end angle.
iMajorEndAngle - iMajorStartAngle must not be greater than 2*Pi.
- iMinorRadius
- The radius of the minor circle, superior to major radius.
- iCorePart
- The side to keep.
Legal values:
TRUE to keep the internal part of the self-intersecting torus,
the result is shaped like a lemon.
FALSE to keep the external part, the result is shaped like an apple.
- Returns:
- The pointer to the created torus.
o CreateTorus
public virtual CreateTorus( | const | iTorusAxis, |
| const | iMajorRadius, |
| const | iMajorStartAngle, |
| const | iMajorEndAngle, |
| const | iMinorRadius, |
| const | iMinorStartAngle, |
| const | iMinorEndAngle) |
-
Creates a piece of a geometric torus.
A torus is defined by an axis and two radii.
The major ring sweeps a circle in the plane which is
defined by the first and second direction of iTorusAxis.
Its radius is iMajorRadius and it is centered at the origin of iTorusAxis.
The minor ring sweeps a circle of radius iMinorRadius, centered at some point
on the major ring and lying in the plane containing this center point,
the origin of iTorusAxis, and the vector defined by the third direction of iTorusAxis.
A piece of the full torus is defined by limiting the angles
through which the major ring sweeps and those through which every minor ring sweeps.
- Parameters:
-
- iTorusAxis
- The axis of the torus:
- The third direction is the rotation axis.
- The first direction is the major angle reference. Start and end major angles are counted from
this direction.
- iMajorRadius
- The radius of the major ring.
- iMajorStartAngle
- The start limit of the major ring in radians, counted from the first direction of iTorusAxis.
Positive angles are defined by the right-hand rule around the torus axis.
The major start angle must be less than the major end angle.
iMajorEndAngle - iMajorStartAngle must not be greater than 2*Pi.
- iMajorEndAngle
- The end limit of the major ring in radians, counted from the first direction of iTorusAxis.
Positive angles are defined by the right-hand rule around the torus axis.
The major end angle must be greater than the major start angle.
iMajorEndAngle - iMajorStartAngle must not be greater than 2*Pi.
- iMinorRadius
- The radius of the minor ring.
- iMinorStartAngle
- The first limit of the minor circle in radians. Positive angles are in the
direction of the torus axis. Angles are counted from
the external minor radius in the plane
defined by the first and second direction of the torus axis.
The minor start angle must be less than the minor end angle.
iMinorEndAngle - iMinorStartAngle must not be greater than 2*Pi.
- iMinorEndAngle
- The end limit of the minor circle in radians. Positive angles are in the direction
of the torus axis. Angles are counted from the external minor radius in the plane
defined by the first and second direction of the torus axis.
The minor end angle must be greater than the minor start angle.
iMinorEndAngle - iMinorStartAngle must not be greater than 2*Pi.
- Returns:
- The pointer to the created torus.
o GetDatum
public virtual GetDatum( | const | iIdent) |
-
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 GetImplicitGeoFactory( | ) |
-
Returns a pointer to the implicit geometric factory.
- Returns:
- The pointer to the implicit CATGeoFactory.
o GetInfinite
public virtual GetInfinite( | ) |
-
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 GetModelSize( | ) |
-
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 GetResolution
public virtual GetResolution( | const | iResolutionType | =CatC0) |
-
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
-
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: CATGMGeometricInterfaces
Copyright © 1999-2014, Dassault Systèmes. All rights reserved.