Include (Nst_SurfFr) :
- aggiornamento prototipi.
This commit is contained in:
@@ -35,20 +35,27 @@ const int SCI_LINE_LINE = 4 ; // tra linea di mobile e linea di fiss
|
||||
struct SCollInfo
|
||||
{
|
||||
int nType ; // tipo di collisione
|
||||
|
||||
int nChunkM ; // indice del chunk della regione mobile
|
||||
int nCrvM ; // indice della curva nel loop esterno del chunk
|
||||
int nLoopM ; // indice del loop del chunk della regione mobile
|
||||
int nCrvM ; // indice della curva nel loop del chunk
|
||||
|
||||
int nChunkF ; // indice del chunk della regione fissa
|
||||
int nCrvF ; // indice della curva nel loop esterno del chunk
|
||||
int nLoopF ; // indice del loop del chunk della regione fissa
|
||||
int nCrvF ; // indice della curva nel loop del chunk
|
||||
|
||||
Point3d ptP1 ; // punto di contatto
|
||||
Point3d ptP2 ; // se contatto linea-linea, secondo punto di contatto
|
||||
Vector3d vtDirM ; // se contatto del mobile con linea, sua direzione
|
||||
Vector3d vtDirF ; // se contatto del fisso con linea, sua direzione
|
||||
|
||||
// costruttori
|
||||
SCollInfo() : nType( SCI_NONE), nChunkM( -1), nCrvM( -1), nChunkF( -1), nCrvF( -1),
|
||||
SCollInfo() : nType( SCI_NONE), nChunkM( -1), nLoopM( -1), nCrvM( -1), nChunkF( -1), nLoopF( -1), nCrvF( -1),
|
||||
ptP1(), ptP2(), vtDirM(), vtDirF() {}
|
||||
SCollInfo( const SCollInfo& Sou) : nType( Sou.nType), nChunkM( Sou.nChunkM), nCrvM( Sou.nCrvM),
|
||||
nChunkF( Sou.nChunkF), nCrvF( Sou.nCrvF), ptP1( Sou.ptP1),
|
||||
ptP2( Sou.ptP2), vtDirM( Sou.vtDirM), vtDirF( Sou.vtDirF) {}
|
||||
SCollInfo( const SCollInfo& Sou) : nType( Sou.nType),
|
||||
nChunkM( Sou.nChunkM), nLoopM( Sou.nLoopM), nCrvM( Sou.nCrvM),
|
||||
nChunkF( Sou.nChunkF), nLoopF( Sou.nLoopF), nCrvF( Sou.nCrvF),
|
||||
ptP1( Sou.ptP1), ptP2( Sou.ptP2), vtDirM( Sou.vtDirM), vtDirF( Sou.vtDirF) {}
|
||||
} ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -67,4 +74,4 @@ class CAvSimpleSurfFrMove
|
||||
const ISurfFlatRegion* m_pRegM ;
|
||||
const ISurfFlatRegion* m_pRegF ;
|
||||
SCollInfo m_SCollInfo ;
|
||||
} ;
|
||||
} ;
|
||||
|
||||
+3
-38
@@ -12,7 +12,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "/EgtDev/Include/EGkSurfFlatRegion.h"
|
||||
#include "/EgtDev/Include/EGkCAvSimpleSurfFrMove.h"
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
#undef EGK_EXPORT
|
||||
@@ -22,41 +22,6 @@
|
||||
#define EGK_EXPORT __declspec( dllimport)
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Costanti per info su tipo di Collisione tra regioni piane
|
||||
const int CI_NONE = 0 ; // non definito
|
||||
const int CI_PNT_PNT = 1 ; // tra punto di mobile e punto di fissa
|
||||
const int CI_PNT_LINE = 2 ; // tra punto di mobile e linea di fissa
|
||||
const int CI_LINE_PNT = 3 ; // tra linea di mobile e punto di fissa
|
||||
const int CI_LINE_LINE = 4 ; // tra linea di mobile e linea di fissa
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
struct CollInfo
|
||||
{
|
||||
int nType ; // tipo di collisione
|
||||
|
||||
int nChunkM ; // indice del chunk della regione mobile
|
||||
int nLoopM ; // indice del loop del chunk della regione mobile
|
||||
int nCrvM ; // indice della curva nel loop del chunk
|
||||
|
||||
int nChunkF ; // indice del chunk della regione fissa
|
||||
int nLoopF ; // indice del loop del chunk della regione fissa
|
||||
int nCrvF ; // indice della curva nel loop del chunk
|
||||
|
||||
Point3d ptP1 ; // punto di contatto
|
||||
Point3d ptP2 ; // se contatto linea-linea, secondo punto di contatto
|
||||
Vector3d vtDirM ; // se contatto del mobile con linea, sua direzione
|
||||
Vector3d vtDirF ; // se contatto del fisso con linea, sua direzione
|
||||
|
||||
// costruttori
|
||||
CollInfo() : nType( CI_NONE), nChunkM( -1), nLoopM( -1), nCrvM( -1), nChunkF( -1), nLoopF( -1), nCrvF( -1),
|
||||
ptP1(), ptP2(), vtDirM(), vtDirF() {}
|
||||
CollInfo( const CollInfo& Sou) : nType( Sou.nType),
|
||||
nChunkM( Sou.nChunkM), nLoopM( Sou.nLoopM), nCrvM( Sou.nCrvM),
|
||||
nChunkF( Sou.nChunkF), nLoopF( Sou.nLoopF), nCrvF( Sou.nCrvF),
|
||||
ptP1( Sou.ptP1), ptP2( Sou.ptP2), vtDirM( Sou.vtDirM), vtDirF( Sou.vtDirF) {}
|
||||
} ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class CAvSurfFrMove
|
||||
{
|
||||
@@ -66,11 +31,11 @@ class CAvSurfFrMove
|
||||
public :
|
||||
EGK_EXPORT bool Translate( const Vector3d& vtDir, double& dLen) ;
|
||||
EGK_EXPORT bool Rotate( const Point3d& ptCen, double& dAng) ;
|
||||
EGK_EXPORT const CollInfo& GetCollInfo()
|
||||
EGK_EXPORT const SCollInfo& GetCollInfo()
|
||||
{ return m_CollInfo ; }
|
||||
|
||||
private :
|
||||
const ISurfFlatRegion* m_pRegM ;
|
||||
const ISurfFlatRegion* m_pRegF ;
|
||||
CollInfo m_CollInfo ;
|
||||
SCollInfo m_CollInfo ;
|
||||
} ;
|
||||
|
||||
Reference in New Issue
Block a user