Files
Include/EGkIntersTriaTria.h
T
Dario Sassi a6c2a6a47f Include :
- migliorie varie.
2018-09-03 05:33:36 +00:00

40 lines
1.9 KiB
C

//----------------------------------------------------------------------------
// EgalTech 2018-2018
//----------------------------------------------------------------------------
// File : EGkIntersTriaTria.h Data : 27.08.18 Versione : 1.9h3
// Contenuto : Dichiarazione della classe intersezione triangolo/triangolo.
//
//
//
// Modifiche : 27.08.18 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkPlane3d.h"
#include "/EgtDev/Include/EGkTriangle3d.h"
#include "/EgtDev/Include/EGkGeoCollection.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 IntersTriaTria( const Triangle3d& trTria1, const Triangle3d& trTria2,
Point3d& ptInt, Point3d& ptInt2, TRIA3DVECTOR& vTria) ;
//-----------------------------------------------------------------------------
// Tipo di intersezione triangolo-triangolo
enum IntTriaTriaType { ITTT_NO = 0, // non c'è intersezione
ITTT_OVERLAPS = 1, // i triangoli si sovrappongono (i triangoli del poligono sono in vTria)
ITTT_VERT = 2, // l'intersezione coincide con un vertice di un triangolo (ptInt)
ITTT_PNT = 3, // l'intersezione è un punto sui lati di entrambi i triangoli (ptInt)
ITTT_EDGE = 4, // l'intersezione coincide con un lato di un triangolo (ptInt, ptInt2)
ITTT_YES = 5} ; // l'intersezione è un segmento (ptInt, ptInt2)