6a70d13cd9
Aggiunte costanti per intersezione Linea con Box.
43 lines
2.1 KiB
C
43 lines
2.1 KiB
C
//----------------------------------------------------------------------------
|
|
// EgalTech 2020-2022
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkIntersLineBox.h Data : 08.01.22 Versione : 2.4a3
|
|
// Contenuto : Dichiarazione delle funzioni 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
|
|
ILBT_INSIDE = 6, // contenimento nel box
|
|
ILBT_TG_INSIDE = 7} ; // contenimento su faccia del box
|