EgtMachKernel 2.6b3 :
- adattamenti per modifiche a funzioni di Collision Detection.
This commit is contained in:
+9
-9
@@ -1425,27 +1425,27 @@ Simulator::ExecCollisionCheck( int& nCdInd, int& nObjInd, int nMoveType)
|
||||
if ( m_CollObj[j].nType == MCH_SIM_COB_BOX) {
|
||||
Vector3d vtDiag( m_CollObj[j].dPar1, m_CollObj[j].dPar2, m_CollObj[j].dPar3) ;
|
||||
if ( pVZM != nullptr)
|
||||
bOk = pVZM->AvoidBox( frObj, vtDiag, m_dSafeDist) ;
|
||||
bOk = ! pVZM->CDeBox( frObj, vtDiag, m_dSafeDist) ;
|
||||
else
|
||||
bOk = ! CDeBoxClosedSurfTm( frObj, vtDiag, m_dSafeDist, *pSTM) ;
|
||||
bOk = ! CDeBoxClosedSurfTm( frObj, vtDiag, *pSTM, m_dSafeDist) ;
|
||||
}
|
||||
else if ( m_CollObj[j].nType == MCH_SIM_COB_CYL) {
|
||||
if ( pVZM != nullptr)
|
||||
bOk = pVZM->AvoidCylinder( frObj, m_CollObj[j].dPar1, m_CollObj[j].dPar2, m_dSafeDist) ;
|
||||
bOk = ! pVZM->CDeCylinder( frObj, m_CollObj[j].dPar1, m_CollObj[j].dPar2, m_dSafeDist) ;
|
||||
else
|
||||
bOk = ! CDeCylClosedSurfTm( frObj, m_CollObj[j].dPar1, m_CollObj[j].dPar2, m_dSafeDist, *pSTM) ;
|
||||
bOk = ! CDeCylClosedSurfTm( frObj, m_CollObj[j].dPar1, m_CollObj[j].dPar2, *pSTM, m_dSafeDist) ;
|
||||
}
|
||||
else if ( m_CollObj[j].nType == MCH_SIM_COB_SPHE) {
|
||||
if ( pVZM != nullptr)
|
||||
bOk = pVZM->AvoidSphere( frObj.Orig(), m_CollObj[j].dPar1, m_dSafeDist) ;
|
||||
bOk = ! pVZM->CDeSphere( frObj.Orig(), m_CollObj[j].dPar1, m_dSafeDist) ;
|
||||
else
|
||||
bOk = ! CDeSpheClosedSurfTm( frObj.Orig(), m_CollObj[j].dPar1, m_dSafeDist, *pSTM) ;
|
||||
bOk = ! CDeSpheClosedSurfTm( frObj.Orig(), m_CollObj[j].dPar1, *pSTM, m_dSafeDist) ;
|
||||
}
|
||||
else if ( m_CollObj[j].nType == MCH_SIM_COB_CONE) {
|
||||
if ( pVZM != nullptr)
|
||||
bOk = pVZM->AvoidConeFrustum( frObj, m_CollObj[j].dPar1, m_CollObj[j].dPar2, m_CollObj[j].dPar3, m_dSafeDist) ;
|
||||
bOk = ! pVZM->CDeConeFrustum( frObj, m_CollObj[j].dPar1, m_CollObj[j].dPar2, m_CollObj[j].dPar3, m_dSafeDist) ;
|
||||
else
|
||||
bOk = ! CDeConeFrustumClosedSurfTm( frObj, m_CollObj[j].dPar1, m_CollObj[j].dPar2, m_CollObj[j].dPar3, m_dSafeDist, *pSTM) ;
|
||||
bOk = ! CDeConeFrustumClosedSurfTm( frObj, m_CollObj[j].dPar1, m_CollObj[j].dPar2, m_CollObj[j].dPar3, *pSTM, m_dSafeDist) ;
|
||||
}
|
||||
}
|
||||
// altrimenti poliedro
|
||||
@@ -1454,7 +1454,7 @@ Simulator::ExecCollisionCheck( int& nCdInd, int& nObjInd, int nMoveType)
|
||||
const ISurfTriMesh* pStmLoc = GetSurfTriMesh( SurfLoc) ;
|
||||
if ( pStmLoc != nullptr) {
|
||||
if ( pVZM != nullptr)
|
||||
bOk = pVZM->AvoidSurfTm( *pStmLoc, m_dSafeDist) ;
|
||||
bOk = ! pVZM->CDeSurfTm( *pStmLoc, m_dSafeDist) ;
|
||||
else
|
||||
bOk = ! CDeClosedSurfTmClosedSurfTm( *pStmLoc, *pSTM, m_dSafeDist) ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user