001a767bcf
- aggiunta verifica collisione tra Box e Triangolo e tra Box e TriMesh - cambiato nome a movimento con verifica collisione tra Regioni semplici (si ignorano eventuali buchi).
47 lines
1.9 KiB
C++
47 lines
1.9 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2016
|
|
//----------------------------------------------------------------------------
|
|
// File : CDSimpleSurfFrMove.h Data : 10.01.16 Versione : 1.6l7
|
|
// Contenuto : Dich.ne classe privata per movimento di superfici flat region
|
|
// nel loro piano con semplice verifica di collisione
|
|
// (ovvero controllando solo gli esterni).
|
|
//
|
|
// Modifiche : 10.01.16 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkCDSimpleSurfFrMove.h"
|
|
|
|
class CurveLine ;
|
|
class SurfFlatRegion ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class MyCDSimpleSurfFrMove
|
|
{
|
|
public :
|
|
MyCDSimpleSurfFrMove( const ISurfFlatRegion& SfrM, const ISurfFlatRegion& SfrF) ;
|
|
|
|
public :
|
|
bool Translate( const Vector3d& vtDir, double& dLen) ;
|
|
bool Rotate( const Point3d& ptCen, double& dAng) ;
|
|
const SCollInfo& GetSCollInfo()
|
|
{ return m_SCollInfo ;}
|
|
|
|
private :
|
|
bool TranslateCurveNoCollisionCurve( const ICurve* pCrv1, const ICurve* pCrv2,
|
|
const Vector3d& vtDir, double& dLen, SCollInfo& scInfo) ;
|
|
bool TranslateLineNoCollisionLine( const CurveLine* pLine1, const CurveLine* pLine2,
|
|
const Vector3d& vtDir, double& dLen, SCollInfo& scInfo) ;
|
|
bool RotateCurveNoCollisionCurve( const ICurve* pCrv1, const ICurve* pCrv2,
|
|
const Point3d& ptCen, double& dAng) ;
|
|
bool RotateLineNoCollisionLine( const CurveLine* pLine1, const CurveLine* pLine2,
|
|
const Point3d& ptCen, double& dAng) ;
|
|
|
|
private :
|
|
const SurfFlatRegion* m_pRegM ;
|
|
const SurfFlatRegion* m_pRegF ;
|
|
SCollInfo m_SCollInfo ;
|
|
} ; |