Files
Include/EGkIntersLineSurfTm.h
T
Dario Sassi 07072b370f Include :
- aggiornamenti vari.
2015-03-11 09:08:10 +00:00

45 lines
1.9 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EGkIntersLineSurfTm.h Data : 18.02.15 Versione : 1.6b7
// Contenuto : Dichiarazione della classe intersezione linea/piano.
//
//
//
// Modifiche : 18.02.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkTriangle3d.h"
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
#if defined( I_AM_EGK) // da definirsi solo nella DLL
#define EGK_EXPORT __declspec( dllexport)
#else
#define EGK_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
//! dati di intersezione linea - superficie trimesh
struct IntLinStmInfo {
double dU ; //!< parametro sulla linea
int nT ; //!< indice del triangolo della superficie trimesh
Point3d ptI ; //!< punto di intersezione
// costruttori
IntLinStmInfo( void) : dU( 0), nT(0), ptI() {}
IntLinStmInfo( double dUU, int nTT, const Point3d& ptP) : dU( dUU), nT( nTT), ptI( ptP) {}
} ;
//! vettore di IntLinStmInfo
typedef std::vector<IntLinStmInfo> ILSIVECTOR ;
//-----------------------------------------------------------------------------
// Per ora si considerano solo intersezioni semplici, ovvero che attraversano la superficie.
//EGK_EXPORT int IntersLineSurfTm( const Point3d& ptL1, const Point3d& ptL2, const Triangle3d& trTria,
// Point3d& ptInt) ;
EGK_EXPORT bool IntersLineSurfTm( const Point3d& ptL, const Vector3d& vtL, double dLen, const ISurfTriMesh& Stm,
ILSIVECTOR& vInfo) ;