All Frameworks Class Hierarchy This Framework Previous Next Indexes
Mathematics Class CATMathCircle
Mathematics.CATCGMVirtual
|
+---Mathematics.CATMathCurve
|
+---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(CATMathCircle&)
- Copy constructor.
- o
CATMathCircle(CATMathPoint&,CATMathVector&,CATMathVector&,double,double,double)
- Constructs a CATMathCircle of given radius and center.
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(CATMathCircle&,double,double,double,double,double,double[2],double[2])
- Intersects this CATMathCircle with another CATMathCircle.
- o
Intersect(CATMathLine&,double,double,double,double,double,double[2],double[2])
- Intersects this CATMathCircle with a CATMathLine.
- o
IsA()
- Returns the class name CATMathCircle.
- o
Project(CATMathPoint&,CATMathPoint&)
- Projects a CATMathPoint on this CATMathCircle.
- o
Project(CATMathPoint&,double&)
- 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.
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
-
Copy constructor.
o CATMathCircle
-
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.
Methods
o ConvertParamToAngle
public double ConvertParamToAngle( | const double | iParam) const |
-
Converts a parameter on this CATMathCircle to an angle in radians.
o DistanceMin
public double DistanceMin( | CATMathPoint& | iPt, |
| double | iStartParamOnCircle, |
| double | iEndParamOnCircle, |
| double& | 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 void EvalPoint( | const double | iParamInRadian, |
| CATMathPoint& | ioPoint) const |
-
Returns the point of this CATMathCircle corresponding to a given angle in radians.
o GetCenter
-
Returns the center of this CATMathCircle.
o GetDirections
-
Returns the (orthonormalized) directions of this CATMathCircle.
o GetMathType
-
Returns the mathematical type.
- Returns:
- The CATMathematicType.
o GetParam
public int GetParam( | const CATMathPoint& | iPoint, |
| double* | oParam, |
| const double | iTol, |
| const double | iStartParam, |
| const double | iEndParam) const |
-
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
public double GetRadius( | )const |
-
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 int Intersect( | const CATMathCircle& | iOtherCircle, |
| double | iStartParamOnOtherCircle, |
| double | iEndParamOnOtherCircle, |
| double | iStartParamOnThisCircle, |
| double | iEndParamOnThisCircle, |
| double | iTol, |
| double[2] | ioParamOnOtherCircle, |
| double[2] | ioParamOnThisCircle) const |
-
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 Intersect
public int Intersect( | const CATMathLine& | iLine, |
| double | iStartParamOnLine, |
| double | iEndParamOnLine, |
| double | iStartParamOnThisCircle, |
| double | iEndParamOnThisCircle, |
| double | iTol, |
| double[2] | ioParamOnLine, |
| double[2] | ioParamOnThisCircle) const |
-
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 IsA
-
Returns the class name CATMathCircle.
o Project
-
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 Project
-
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 ReverseDirection
public void ReverseDirection( | ) |
-
Changes the parameter orientation of this CATMathCircle.
o SetScale
public void SetScale( | const double | iScale) |
-
Changes the scale of this CATMathCircle.
o SetShift
public void SetShift( | const double | iShift) |
-
Changes the shift of this CATMathCircle.
This object is included in the file: CATMathCircle.h
If needed, your Imakefile.mk should include the module: CATMathematics