From ca5efc44a99470537a2cb0369947d07b9e695d6c Mon Sep 17 00:00:00 2001 From: Riccardo Elitropi Date: Mon, 30 Mar 2026 18:14:56 +0200 Subject: [PATCH] Include (Nst_SurfFr) : - aggiornamento prototipi. --- EGkCAvSimpleSurfFrMove.h | 21 +++++++++++++------- EGkCAvSurfFrMove.h | 41 +++------------------------------------- 2 files changed, 17 insertions(+), 45 deletions(-) diff --git a/EGkCAvSimpleSurfFrMove.h b/EGkCAvSimpleSurfFrMove.h index 8a0978e..5b1be44 100644 --- a/EGkCAvSimpleSurfFrMove.h +++ b/EGkCAvSimpleSurfFrMove.h @@ -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 ; -} ; \ No newline at end of file +} ; diff --git a/EGkCAvSurfFrMove.h b/EGkCAvSurfFrMove.h index cfc04f0..30ce905 100644 --- a/EGkCAvSurfFrMove.h +++ b/EGkCAvSurfFrMove.h @@ -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 ; } ;