From 40f1d27e8bd409a538caff72e56cd20c99c417a0 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 30 Apr 2018 15:04:38 +0000 Subject: [PATCH] Include : - aggiornamento prototipi e cambio nome ad alcuni file. --- ...leSurfFrMove.h => EGkCAvSimpleSurfFrMove.h | 12 +++--- EGkCAvToolSurfTm.h | 38 +++++++++++++++++++ EGkCDBoxPolyhedron.h => EGkCDeBoxPolyhedron.h | 6 +-- EGkCDBoxTria.h => EGkCDeBoxTria.h | 6 +-- EXeExecutor.h | 4 ++ 5 files changed, 54 insertions(+), 12 deletions(-) rename EGkCDSimpleSurfFrMove.h => EGkCAvSimpleSurfFrMove.h (87%) create mode 100644 EGkCAvToolSurfTm.h rename EGkCDBoxPolyhedron.h => EGkCDeBoxPolyhedron.h (80%) rename EGkCDBoxTria.h => EGkCDeBoxTria.h (81%) diff --git a/EGkCDSimpleSurfFrMove.h b/EGkCAvSimpleSurfFrMove.h similarity index 87% rename from EGkCDSimpleSurfFrMove.h rename to EGkCAvSimpleSurfFrMove.h index d636892..afda022 100644 --- a/EGkCDSimpleSurfFrMove.h +++ b/EGkCAvSimpleSurfFrMove.h @@ -1,10 +1,10 @@ //---------------------------------------------------------------------------- -// EgalTech 2015-2016 +// EgalTech 2015-2018 //---------------------------------------------------------------------------- -// File : EGkCDSimpleSurfFrMove.h Data : 10.01.16 Versione : 1.6l7 +// File : EGkCAvSimpleSurfFrMove.h Data : 27.04.18 Versione : 1.9e1 // Contenuto : Dichiarazione classe per movimento di superfici flat region -// nel loro piano con semplice verifica di collisione -// (ovvero controllando solo gli esterni). +// nel loro piano evitando collisioni semplici +// (ovvero controllando solo i loop esterni). // // Modifiche : 23.09.15 DS Creazione modulo. // @@ -52,10 +52,10 @@ struct SCollInfo } ; //---------------------------------------------------------------------------- -class CDSimpleSurfFrMove +class CAvSimpleSurfFrMove { public : - EGK_EXPORT CDSimpleSurfFrMove( const ISurfFlatRegion& SfrM, const ISurfFlatRegion& SfrF) ; + EGK_EXPORT CAvSimpleSurfFrMove( const ISurfFlatRegion& SfrM, const ISurfFlatRegion& SfrF) ; public : EGK_EXPORT bool Translate( const Vector3d& vtDir, double& dLen) ; diff --git a/EGkCAvToolSurfTm.h b/EGkCAvToolSurfTm.h new file mode 100644 index 0000000..8a09951 --- /dev/null +++ b/EGkCAvToolSurfTm.h @@ -0,0 +1,38 @@ +//---------------------------------------------------------------------------- +// EgalTech 2018-2018 +//---------------------------------------------------------------------------- +// File : EGkCAvToolSurfTm.h Data : 27.04.18 Versione : 1.9e1 +// Contenuto : Dichiarazione della classe ICAvToolSurfTm. +// +// +// +// Modifiche : 27.04.18 DS Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EGkSurfTriMesh.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 + +//----------------------------------------------------------------------------- +class __declspec( novtable) ICAvToolSurfTm { + public : + virtual ~ICAvToolSurfTm( void) {} + virtual bool SetSurfTm( const ISurfTriMesh& Stm) = 0 ; + virtual bool SetMoveDir( const Vector3d& vtMove) = 0 ; + virtual bool SetStdTool( double dH, double dR, double dCornR) = 0 ; + virtual double TestPosition( const Point3d& ptT, const Vector3d& vtDir) = 0 ; + // TestPath +} ; + +//----------------------------------------------------------------------------- +EGK_EXPORT ICAvToolSurfTm* CreateCAvToolSurfTm( void) ; diff --git a/EGkCDBoxPolyhedron.h b/EGkCDeBoxPolyhedron.h similarity index 80% rename from EGkCDBoxPolyhedron.h rename to EGkCDeBoxPolyhedron.h index e450ffe..72c426a 100644 --- a/EGkCDBoxPolyhedron.h +++ b/EGkCDeBoxPolyhedron.h @@ -1,7 +1,7 @@ //---------------------------------------------------------------------------- -// EgalTech 2016-2016 +// EgalTech 2016-2018 //---------------------------------------------------------------------------- -// File : EGkCDBoxPolyhedron.h Data : 05.10.16 Versione : 1.6v1 +// File : EGkCDeBoxPolyhedron.h Data : 28.04.18 Versione : 1.9e1 // Contenuto : Dichiarazione funzione verifica collisione tra // BoundingBox e Polyhedron. // @@ -24,4 +24,4 @@ #endif //---------------------------------------------------------------------------- -EGK_EXPORT bool CDBoxPolyhedron( const BBox3d& b3Box, const ISurfTriMesh& Stm) ; +EGK_EXPORT bool CDeBoxPolyhedron( const BBox3d& b3Box, const ISurfTriMesh& Stm) ; diff --git a/EGkCDBoxTria.h b/EGkCDeBoxTria.h similarity index 81% rename from EGkCDBoxTria.h rename to EGkCDeBoxTria.h index 9a90a5e..439c3a6 100644 --- a/EGkCDBoxTria.h +++ b/EGkCDeBoxTria.h @@ -1,7 +1,7 @@ //---------------------------------------------------------------------------- -// EgalTech 2016-2016 +// EgalTech 2016-2018 //---------------------------------------------------------------------------- -// File : EGkCDBoxTria.h Data : 05.10.16 Versione : 1.6v1 +// File : EGkCDeBoxTria.h Data : 28.04.18 Versione : 1.9e1 // Contenuto : Dichiarazione funzione verifica collisione tra // BoundingBox e Triangle3d. // @@ -24,4 +24,4 @@ #endif //---------------------------------------------------------------------------- -EGK_EXPORT bool CDBoxTria( const BBox3d& b3Box, const Triangle3d& trTria) ; +EGK_EXPORT bool CDeBoxTria( const BBox3d& b3Box, const Triangle3d& trTria) ; diff --git a/EXeExecutor.h b/EXeExecutor.h index 780a8df..f89bca2 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -612,6 +612,10 @@ EXE_EXPORT bool ExeGetPartClusterCenterGlob( const INTVECTOR& vIds, Point3d& ptC EXE_EXPORT bool ExeVerifyMachining( int nMchId, int& nResult) ; EXE_EXPORT int ExeVerifyCutAsSplitting( int nMchId) ; +// Collision Avoidance Tool SurfaceTriMesh +EXE_EXPORT double ExeCAvToolStmPosition( double dToolLen, double dToolDiam, double dToolCornR, int nSurfTmId, + const Point3d& ptP, const Vector3d& vtAx, const Vector3d& vtMove, int nRefType) ; + // Machining EXE_EXPORT bool ExeInitMachMgr( const std::string& sMachinesDir) ; EXE_EXPORT bool ExeUpdateMachMgr( void) ;