All Frameworks  Class Hierarchy  This Framework  Previous  Indexes

ConstraintModeler Interface CATIDegreesOfFreedom

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---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 HRESULT GetDegreesOfFreedom(int iDegreeOfFreedom,
CATDoFTypeEnum& oDoFType,
double[7] oData)= 0
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 HRESULT GetNbDegreesOfFreedom(CATDoFStatusEnum& oValidity,
int& oNbDegreesOfFreedom) = 0
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

Copyright © 2003, Dassault Systèmes. All rights reserved.