All Frameworks Class Hierarchy This Framework Indexes
ConstraintModeler Interface CATIDegreesOfFreedom
Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.
interface CATIDegreesOfFreedom
Interface to analyze the number of degrees of freedom of a component which implements CATIBloc.
Role: Any object which implements CATIBloc interface will also implement current CATIDegreesOfFreedom interface. The analysis of degrees of freedom is done in the constraint network of the parent (GetFatherBloc)
of the current component 'this'. For example, any product inserted in a root product which contains constraints
is concerned by the current interface. The analysis is done within two steps : first step gives the number
of degrees, and the second one provides more details on each one of these degrees.
Method Index
- o
GetDegreesOfFreedom(int,CATDoFTypeEnum&,double[7])
- Retrieves the type of a given degree of freedom.
- o
GetNbDegreesOfFreedom(CATDoFStatusEnum&,int&)
- Retrieves the number of degrees of freedom of a CATIBloc.
Methods
o GetDegreesOfFreedom
| public virtual GetDegreesOfFreedom( | | iDegreeOfFreedom, |
| | oDoFType, |
| | oData) |
-
Retrieves the type of a given degree of freedom.
- Parameters:
-
- iDegreeOfFreedom
- Index of a degree of freedom (0 <= iDegreeOfFreedom < oNbDegreesOfFreedom).
- oDoFType
- type of the freedom.
Legal values:
DoF_Rotation = the corresponding freedom is a rotation
DoF_Translation = the corresponding freedom is a translation (along a vector)
DoF_Screw = the corresponding freedom is a Screw (Rotation + Translation along a rotation vector)
DoF_NotDefinedType = problem on the corresponding degree of freedom (for example it does not exist)
- oData
- values defining the freedom. The value is returned with an accuracy to within 1E-6.
| Legal values for oDoFType |
Values returned for oData |
| DoF_Translation |
Vector = (oData[0], oData[1], oData[2]) |
| DoF_Rotation |
Direction = (oData[0], oData[1], oData[2])
Pole = (oData[3], oData[4], oData[5]) |
| DoF_Screw |
Direction = (oData[0], oData[1], oData[2])
Pole = (oData[3], oData[4], oData[5])
Pitch = oData[6]
Associated screw translation along axis is Pitch*(Angle of rotation)*Direction
The angle is measured counterclockwise in radians |
o GetNbDegreesOfFreedom
| public virtual GetNbDegreesOfFreedom( | | oValidity, |
| | oNbDegreesOfFreedom) |
-
Retrieves the number of degrees of freedom of a CATIBloc.
- Parameters:
-
- oValidity
- Validity of the request.
Legal values:
DoF_Acceptable = the request is valid.
DoF_KONotABloc = this is not a
CATIBloc (i.e. it should adhere to the CATIBloc Interface)
DoF_KONoFather = this has no parent and cannot be in a constraint network (verify that this is not a root Product)
DoF_KONotUpdated = this belong to a constraint network which is not up to date (some constraint are not satisfied)
DoF_KOOthers = internal error. Please report it as a bug
- oNbDegreesOfFreedom
- Number of degrees of freedom of 'this' in the constraint network of its parent.
This object is included in the file: CATIDegreesOfFreedom.h
If needed, your Imakefile.mk should include the module: CATConstraintModeler