4cc94522ca
- ripristinate costanti risultato intersezione linea triangolo.
40 lines
1.9 KiB
C
40 lines
1.9 KiB
C
//----------------------------------------------------------------------------
|
|
// 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
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// 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
|
|
|
|
//-----------------------------------------------------------------------------
|
|
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) ;
|