Files
Include/EGkIntersLineBox.h
T
Dario Sassi 166c2c78b4 Include :
- aggiunti prototipi per intersezione Linea-Box e Piano-Box.
2020-05-10 11:01:43 +00:00

41 lines
1.9 KiB
C

//----------------------------------------------------------------------------
// EgalTech 2020-2020
//----------------------------------------------------------------------------
// File : EGkIntersLineBox.h Data : 07.05.20 Versione : 2.2e1
// Contenuto : Dichiarazione della classe intersezione linea/box.
//
//
//
// Modifiche : 07.05.20 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkBBox3d.h"
#include "/EgtDev/Include/EgtNumCollection.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 bool IntersLineBox( const Point3d& ptL1, const Point3d& ptL2, const BBox3d& b3Box,
INTDBLVECTOR& vInters, bool bFinite = true) ;
EGK_EXPORT bool IntersLineBox( const Point3d& ptL, const Vector3d& vtL, double dLen, const BBox3d& b3Box,
INTDBLVECTOR& vInters, bool bFinite = true) ;
//-----------------------------------------------------------------------------
// Tipo di intersezione linea-box
enum IntLineBoxType { ILBT_NONE = 0, // non è intersezione
ILBT_IN = 1, // ingresso nel box
ILBT_OUT = 2, // uscita dal box
ILBT_TG_INI = 3, // ingresso tangente in una faccia del box
ILBT_TG_FIN = 4, // uscita tangente da una faccia del box
ILBT_TOUCH = 5} ; // contatto su uno spigolo o su un vertice del box