Mathematics 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)
-
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
Set(CATMathPoint&,CATMathVector&,CATMathVector&,double,double,double)
- Constructs a CATMathCircle of given radius and center.
- 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
public CATMathCircle( | const | iCircleToCopy) |
-
Copy constructor.
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.
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 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.
o SetScale
public SetScale( | const | iScale) |
-
Changes the scale of this CATMathCircle.
o SetShift
public SetShift( | const | 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
Copyright © 1999-2014, Dassault Systèmes. All rights reserved.