//---------------------------------------------------------------------------- // EgalTech 2015-2017 //---------------------------------------------------------------------------- // File : EGkIntersLineTria.h Data : 16.10.17 Versione : 1.8j4 // Contenuto : Dichiarazione della classe intersezione linea/triangolo. // // // // 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 //----------------------------------------------------------------------------- EGK_EXPORT int IntersLineTria( const Point3d& ptL1, const Point3d& ptL2, const Triangle3d& trTria, Point3d& ptInt, Point3d& ptInt2, bool bFinite = true) ; EGK_EXPORT int IntersLineTria( const Point3d& ptL, const Vector3d& vtL, double dLen, const Triangle3d& trTria, Point3d& ptInt, Point3d& ptInt2, bool bFinite = true) ; //----------------------------------------------------------------------------- // Tipo di intersezione linea-triangolo enum IntLineTriaType { ILTT_NO = 0, // non c'è intersezione ILTT_SEGM = 1, // una parte di linea appartiene all'interno del triangolo ILTT_SEGM_ON_EDGE = 2, // una parte di linea appartiene ad un lato del triangolo ILTT_VERT = 3, // intersezione coincide con un vertice ILTT_EDGE = 4, // intersezione coincide con interno di un lato ILTT_IN = 5} ; // intersezione in interno del triangolo