CATInterfereSolverUseItf Interface CATIInterfSolverModel

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATIInterfSolverModel

This interface is implemented by CATInterfereSolverUseImpl.

Role: Contains API to manage Interference Solver.


Method Index


o AddToFirstGroup(CAT3DRep*,int,CATMathTransformation*)
Add to first group.
o AddToSecondGroup(CAT3DRep*,int,CATMathTransformation*)
Add to second group.
o Compute()
Compute interference.
o GetResult(CATLISTP(CATIInterfSolverResultITF)*&)
Get Result of compute interference.
o Init()
Init interference solver before computing.
o SetClearanceValue(double)
Set the clearance value.
o SetComputationLevel(CATIInterfSolverModel::InterfSolverComputationLevel)
Set the computation level.
o SetComputationType(CATIInterfSolverModel::InterfSolverComputationType)
Set the computation type.
o SetDetailResultLevel(CATIInterfSolverModel::InterfSolverDetailResult)
Set detail level result.
o SetGeometricalResultLevel(CATIInterfSolverModel::InterfSolverGeoResult)
Set geometric level result.
o SetNumericalResultLevel(CATIInterfSolverModel::InterfSolverNumericalResult)
Set numerical level result.
o UpdatePositionOfFirstGroup(int,CATMathTransformation&)
Update Position Of First Group.
o UpdatePositionOfSecondGroup(int,CATMathTransformation&)
Update Position Of Second Group.

Enumerated Type Index


o InterfSolverComputationLevel
computation level of Interference Solver.
o InterfSolverComputationType
computation type of Interference Solver.
o InterfSolverDetailResult
detail level result of Interference Solver.
o InterfSolverGeoResult
geometric level result of Interference Solver.
o InterfSolverNumericalResult
numerical level result of Interference Solver.

Methods


o AddToFirstGroup
public virtual HRESULT AddToFirstGroup(CAT3DRep* ipBagRep,
int iId,
CATMathTransformation* iPosition= NULL) = 0
Add to first group.
Parameters:
ipRep
[in] The visualization object to add of first group defined by
CAT3DRep.
iId
[in] The integer Id to identify the object in the result interference.
iPosition
[in] The transformation matrix to apply of object by
CATMathTransformation.
Returns:
S_OK
If the operation is successful.
S_FALSE
The CAT3DRep has no 3D visualization (ex: part in NoShow, part without 3D geometry). The visualization object is not added to the group.
E_FAIL
If the operation is failed.
o AddToSecondGroup
public virtual HRESULT AddToSecondGroup(CAT3DRep* ipRep,
int iId,
CATMathTransformation* iPosition= NULL) = 0
Add to second group.
Parameters:
ipRep
[in] The visualization object to add of first group defined by
CAT3DRep.
iId
[in] The integer Id to identify the object in the result interference.
iPosition
[in] The transformation matrix to apply of object by
CATMathTransformation.
Returns:
S_OK
If the operation is successful.
S_FALSE
The CAT3DRep has no 3D visualization (ex: part in NoShow, part without 3D geometry). The visualization object is not added to the group.
E_FAIL
If the operation is failed.
o Compute
public virtual HRESULT Compute()= 0
Compute interference.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o GetResult
public virtual HRESULT GetResult(CATLISTP(CATIInterfSolverResultITF)*& oResult) = 0
Get Result of compute interference.
Parameters:
oResult
[out] The list of interference result by
CATIInterfSolverResultITF.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o Init
public virtual HRESULT Init()= 0
Init interference solver before computing.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o SetClearanceValue
public virtual HRESULT SetClearanceValue(double iClearance) = 0
Set the clearance value.
Parameters:
iClearance
[in] The clearance value in MM in case of computation type with CATIInterfSolverModel::ITFSolverComputeCLEARANCE.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o SetComputationLevel
public virtual HRESULT SetComputationLevel(CATIInterfSolverModel::InterfSolverComputationLevel iLevelOfComputation) = 0
Set the computation level.
Parameters:
iLevelOfComputation
[in] The level of computation defined by
InterfSolverComputationLevel enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o SetComputationType
public virtual HRESULT SetComputationType(CATIInterfSolverModel::InterfSolverComputationType iTypeOfComputation) = 0
Set the computation type.
Parameters:
iTypeOfComputation
[in] The type of computation defined by
InterfSolverComputationType enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o SetDetailResultLevel
public virtual HRESULT SetDetailResultLevel(CATIInterfSolverModel::InterfSolverDetailResult iLevelOfDetailResult) = 0
Set detail level result.
Parameters:
iLevelOfDetailResult
[in] The detail level result of computation defined by
InterfSolverDetailResult enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o SetGeometricalResultLevel
public virtual HRESULT SetGeometricalResultLevel(CATIInterfSolverModel::InterfSolverGeoResult iGeometricalResultlevel) = 0
Set geometric level result.
Parameters:
iGeometricalResultlevel
[in] The geometric level result of computation defined by
InterfSolverGeoResult enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o SetNumericalResultLevel
public virtual HRESULT SetNumericalResultLevel(CATIInterfSolverModel::InterfSolverNumericalResult iNumericalResultlevel) = 0
Set numerical level result.
Parameters:
iNumericalResultlevel
[in] The numerical level result of computation defined by
InterfSolverNumericalResult enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o UpdatePositionOfFirstGroup
public virtual HRESULT UpdatePositionOfFirstGroup(int iId,
CATMathTransformation& iPosition) = 0
Update Position Of First Group.
Parameters:
iId
[in] The integer Id to identify the object in the result interference (same Id in AddToFirstGroup method).
iPosition
[in] The transformation matrix to apply of all object of group by
CATMathTransformation.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o UpdatePositionOfSecondGroup
public virtual HRESULT UpdatePositionOfSecondGroup(int iId,
CATMathTransformation& iPosition) = 0
Update Position Of Second Group.
Parameters:
iId
[in] The integer Id to identify the object in the result interference (same Id in AddToSecondGroup method).
iPosition
[in] The transformation matrix to apply of all object of group by
CATMathTransformation.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Enumerated Types


o InterfSolverComputationLevel
enum InterfSolverComputationLevel {
  ITFSolverComputationLevelLOW,
  ITFSolverComputationLevelHIGH
}
computation level of Interference Solver.
Parameters:
ITFSolverComputationLevelLOW
stop at first interference.
ITFSolverComputationLevelHIGH
compute all interferences (default).
o InterfSolverComputationType
enum InterfSolverComputationType {
  ITFSolverComputeCLASH,
  ITFSolverComputeCONTACT,
  ITFSolverComputeCLEARANCE
}
computation type of Interference Solver.
Parameters:
ITFSolverComputeCLASH
CLASH computation.
ITFSolverComputeCONTACT
CLASH + CONTACT computation.
ITFSolverComputeCLEARANCE
CLASH + CONTACT + CLEARANCEcomputation.
o InterfSolverDetailResult
enum InterfSolverDetailResult {
  ITFSolverDetaiResultPRODUCT,
  ITFSolverDetaiResultGEO
}
detail level result of Interference Solver.
Parameters:
ITFSolverDetailResultPRODUCT
to compute result with granularity of representation object (default).
ITFSolverDetailResultGEO
to compute result with granularity of geometry in representation object.
o InterfSolverGeoResult
enum InterfSolverGeoResult {
  ITFSolverGeoResultNO,
  ITFSolverGeoResultCLASH_CURVE,
  ITFSolverGeoResultCONTACT_TRIANGLE,
  ITFSolverGeoResultCLEARANCE_TRIANGLE
}
geometric level result of Interference Solver.
Parameters:
ITFSolverGeoResultNO
no geometric result (default).
ITFSolverGeoResultCLASH_CURVE
for intersection curve.
ITFSolverGeoResultCONTACT_TRIANGLE
for contact triangles.
ITFSolverGeoResultCLEARANCE_TRIANGLE
for clearance triangles.
o InterfSolverNumericalResult
enum InterfSolverNumericalResult {
  ITFSolverNumResultNO,
  ITFSolverNumResultCLASH_PENETRATION_VECTOR,
  ITFSolverNumResultCONTACT_DISTANCE_MIN,
  ITFSolverNumResultCLEARANCE_DISTANCE_MIN
}
numerical level result of Interference Solver.
Parameters:
ITFSolverNumResultNO
no numerical result (default).
ITFSolverNumResultCLASH_PENETRATION_VECTOR
to compute the penetration vector.
ITFSolverNumResultCONTACT_DISTANCE_MIN
to compute the 2 realized points about contact and minimum distance.
ITFSolverNumResultCLEARANCE_DISTANCE_MIN
to compute the 2 realized points about clearance and minimum distance.

This object is included in the file: CATIInterfSolverModel.h
If needed, your Imakefile.mk should include the module: CATInterfereSolverUseItf

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.