All Frameworks Class Hierarchy This Framework Indexes
Mathematics Class CATMathCircle
Usage: you must use this class as is. You should never derive it.
public class CATMathCircle
Class representing a 3D mathematical circle.
A CATMathCircle has a _Center (CATMathPoint),
a _Radius, and two
orthonormalized vectors defining the plane
where it is lying on. It can be defined with a _Scale and a _Shift, such that its
parametric equation is:
Circle(Param)=_Center+ _Radius*[cos(_Scale*Param+_Shift)*_iFirstAxis + sin(_Scale*Param+_Shift)*_SecondAxis].
where Param is the circle parameter.
Constructor and Destructor Index
- o
CATMathCircle()
- Constructs a CATMathCircle of radius 1 of center (0,0,0) lying on
the plane of directions (1,0,0) and (0,1,0).
- o
CATMathCircle(CATMathPoint&,CATMathVector&,CATMathVector&,double,double,double)
-
- o
CATMathCircle(CATMathCircle&)
- Copy constructor.
Method Index
- o
ConvertParamToAngle(double)
- Converts a parameter on this CATMathCircle to an angle in radians.
- o
DistanceMin(CATMathPoint&,double,double,double&)
- Computes the distance between a CATMathPoint and this CATMathCircle.
- o
EvalPoint(double,CATMathPoint&)
- Returns the point of this CATMathCircle corresponding to a given angle in radians.
- o
GetCenter(CATMathPoint&)
- Returns the center of this CATMathCircle.
- o
GetDirections(CATMathVector&,CATMathVector&)
- Returns the (orthonormalized) directions of this CATMathCircle.
- o
GetMathType()
- Returns the mathematical type.
- o
GetParam(CATMathPoint&,double*,double,double,double)
- Retrieves the param on this CATMathCircle corresponding to a CATMathPoint
inside limitations.
- o
GetRadius()
- Returns the radius of this CATMathCircle.
- o
GetScale()
- Returns the scale of this CATMathCircle.
- o
GetShift()
- Returns the shift of this CATMathCircle.
- o
Intersect(CATMathLine&,double,double,double,double,double,double[2],double[2])
- Intersects this CATMathCircle with a CATMathLine.
- o
Intersect(CATMathCircle&,double,double,double,double,double,double[2],double[2])
- Intersects this CATMathCircle with another CATMathCircle.
- o
IsA()
- Returns the class name CATMathCircle.
- o
Project(CATMathPoint&,double&)
- Projects a CATMathPoint on this CATMathCircle.
- o
Project(CATMathPoint&,CATMathPoint&)
- Projects a CATMathPoint on this CATMathCircle.
- o
ReverseDirection()
- Changes the parameter orientation of this CATMathCircle.
- o
SetScale(double)
- Changes the scale of this CATMathCircle.
- o
SetShift(double)
- Changes the shift of this CATMathCircle.
- o
Set(CATMathPoint&,CATMathVector&,CATMathVector&,double,double,double)
- Constructs a CATMathCircle of given radius and center.
Constructor and Destructor
o CATMathCircle
-
Constructs a CATMathCircle of radius 1 of center (0,0,0) lying on
the plane of directions (1,0,0) and (0,1,0).
o CATMathCircle
| public CATMathCircle( | const | iCenter, |
| const | iFirstAxis, |
| const | iSecondAxis, |
| | iRadius, |
| | iScale | = 1., |
| | iShift | = 0.) |
-
- Deprecated:
- V5R20 Set
Constructs a CATMathCircle of given radius and center.
The two vectors must be orthogonal and not null,
but this is not checked. If the vectors are not normed, the method
normalizes them.
o CATMathCircle
| public CATMathCircle( | const | iCircleToCopy) |
-
Copy constructor.
Methods
o ConvertParamToAngle
| public ConvertParamToAngle( | const | iParam) |
-
Converts a parameter on this CATMathCircle to an angle in radians.
o DistanceMin
| public DistanceMin( | | iPt, |
| | iStartParamOnCircle, |
| | iEndParamOnCircle, |
| | oParamAtMin) |
-
Computes the distance between a CATMathPoint and this CATMathCircle.
- Parameters:
-
- iStartParamOnCircle
- The start limit to take into account for this CATMathCircle.
- iEndParamOnCircle
- The end limit to take into account for this CATMathCircle.
- oParamAtMin
- The parameter of the point of this CATMathCircle which is the closest to iPt.
- Returns:
- The distance between iPt and the point defined by oParamAtMin.
o EvalPoint
| public EvalPoint( | const | iParamInRadian, |
| | ioPoint) |
-
Returns the point of this CATMathCircle corresponding to a given angle in radians.
o GetCenter
| public GetCenter( | | oCenter) |
-
Returns the center of this CATMathCircle.
o GetDirections
| public GetDirections( | | ioDirection1, |
| | ioDirection2) |
-
Returns the (orthonormalized) directions of this CATMathCircle.
o GetMathType
-
Returns the mathematical type.
- Returns:
- The CATMathematicType.
o GetParam
| public GetParam( | const | iPoint, |
| | oParam, |
| const | iTol, |
| const | iStartParam, |
| const | iEndParam) |
-
Retrieves the param on this CATMathCircle corresponding to a CATMathPoint
inside limitations.
- Parameters:
-
- iPoint
- The CATMathPoint which coordinates are to be transformed as a param.
- ioParam
- The table of parameters corresponding to iPoint
(must be allocate with size = 2).
- iTol
- Tolerance 3D
- iStartParam/iEndParam
- The limits to take into account for trimming the CATMathCircle.
- Returns:
- The number of parameters that can be evaluated on this point.
- 0
- No parameter corresponds to this point.
- 1
- Only one parameter corresponds to this point.
- 2
- Two parameters correspond to this point (at the closure of the circle).
o GetRadius
-
Returns the radius of this CATMathCircle.
o GetScale
-
Returns the scale of this CATMathCircle.
o GetShift
-
Returns the shift of this CATMathCircle.
o Intersect
| public Intersect( | const | iLine, |
| | iStartParamOnLine, |
| | iEndParamOnLine, |
| | iStartParamOnThisCircle, |
| | iEndParamOnThisCircle, |
| | iTol, |
| | ioParamOnLine, |
| | ioParamOnThisCircle) |
-
Intersects this CATMathCircle with a CATMathLine.
- Parameters:
-
- iLine
- The CATMathLine to intersect.
- iStartParamOnLine/iEndParamOnLine
- The limits to take into account for the iLine.
- iStartParamOnThisCircle/iEndParamOnThisCircle
- The limits to take into account for this CATMathCircle. Must be allocated with size 2.
- ioParamOnLine[2]
- The parameter of the intersection on iLine.
- ioParamOnThisCircle[2]
- The parameter of the intersection on this CATMathCircle. Must be allocated with size 2.
- iTol
- Defines the distance between iLine and this CATMathCircle, below
which they are considered to be intersecting.
- Returns:
- The number of intersection points. Defines the number of value(s)
to read in oParamOnLine and oParamOnThisCircle
o Intersect
| public Intersect( | const | iOtherCircle, |
| | iStartParamOnOtherCircle, |
| | iEndParamOnOtherCircle, |
| | iStartParamOnThisCircle, |
| | iEndParamOnThisCircle, |
| | iTol, |
| | ioParamOnOtherCircle, |
| | ioParamOnThisCircle) |
-
Intersects this CATMathCircle with another CATMathCircle.
- Parameters:
-
- iOtherCircle
- The other CATMathCircle to intersect.
- iStartParamOnOtherCircle/iEndParamOnOtherCircle
- The limits to take into account for iCircle.
- iStartParamOnThisCircle/iEndParamOnThisCircle
- The limits to take into account for this CATMathCircle.
- ioParamOnOtherCircle[2]
- The parameter of the intersection on iCircle. Must be allocated with size 2.
- ioParamOnThisCircle[2]
- The parameter of the intersection on this CATMathCircle. Must be allocated with size 2.
- iTol
- Defines the distance between iCircle and this CATMathCircle, below
which they are considered to be intersecting.
- Returns:
- The number of intersection points. Defines the number of value(s)
to read in oParamOnOtherCircle and oParamOnThisCircle
o IsA
-
Returns the class name CATMathCircle.
o Project
| public Project( | const | iPointToProject, |
| | ioParamAtProjection) |
-
Projects a CATMathPoint on this CATMathCircle.
- Returns:
- FALSE if iPointToProject is the center of the circle, TRUE otherwise.
ioProjectedPoint is only computed in the first case.
o Project
| public Project( | const | iPointToProject, |
| | ioProjectedPoint) |
-
Projects a CATMathPoint on this CATMathCircle.
- Returns:
- FALSE if iPointToProject is the center of the circle, TRUE otherwise.
ioParamAtProjection is only computed in the first case.
o ReverseDirection
| public ReverseDirection( | ) |
-
Changes the parameter orientation of this CATMathCircle.
o SetScale
| public SetScale( | const | iScale) |
-
Changes the scale of this CATMathCircle.
o SetShift
| public SetShift( | const | iShift) |
-
Changes the shift of this CATMathCircle.
o Set
| public Set( | const | iCenter, |
| const | iFirstAxis, |
| const | iSecondAxis, |
| | iRadius, |
| | iScale | = 1., |
| | iShift | = 0.) |
-
Constructs a CATMathCircle of given radius and center.
- Returns:
- E_FAIL if the two vectors are not orthogonal or null, S_OK otherwise.
Note that if he vectors are not normed, the method normalizes them.
This object is included in the file: CATMathCircle.h
If needed, your Imakefile.mk should include the module: CATMathematics