Compare commits

..

3 Commits

Author SHA1 Message Date
Daniele Bariletti 1c4109e9a2 Merge commit '9144694734e55e22ee227a51ec928897e760ad79' into ExtDimension_Angular 2023-04-19 16:47:30 +02:00
Daniele Bariletti db1243aba5 Include :
- aggiornamento prototipi
2023-04-14 10:02:16 +02:00
Daniele Bariletti faa791c428 Merge commit '4c7cf4d0e40a3618fdafee73bd4d484811de6916' into ExtDimension_Angular 2023-04-14 09:56:58 +02:00
60 changed files with 201 additions and 971 deletions
-73
View File
@@ -1,73 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023-2023
//----------------------------------------------------------------------------
// File : EE3DllMain.h Data : 14.11.23 Versione : 2.5k2
// Contenuto : Prototipi funzioni generali della DLL.
//
//
//
// Modifiche : 14.11.23 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include <string>
class ILogger ;
//----------------------- Macro per import/export ----------------------------
#undef EE3_EXPORT
#if defined( I_AM_EE3) // da definirsi solo nella DLL
#define EE3_EXPORT __declspec( dllexport)
#else
#define EE3_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
// E' necessaria l'interfaccia in C per caricare queste funzioni dinamicamente
extern "C" {
// restituisce la versione della Dll
EE3_EXPORT const char* GetEE3Version( void) ;
// permette di impostare il logger per la Dll
EE3_EXPORT void SetEE3Logger( ILogger* pLogger) ;
// imposta la chiave di protezione
EE3_EXPORT void SetEE3Key( const std::string& sKey) ;
// imposta se chiave hardware di rete
EE3_EXPORT void SetEE3NetHwKey( bool bNetHwKey) ;
}
//-----------------------------------------------------------------------------
#include "/EgtDev/Include/EGnStringUtils.h"
#include "/EgtDev/Include/EgtILogger.h"
#include "/EgtDev/Include/EgtKeyCodes.h"
#include "/EgtDev/Include/SELkKeyProc.h"
//-----------------------------------------------------------------------------
// Test della chiave per caricare la DLL
inline bool
TestKeyForEE3( const std::string& sKey, int nKeyOpt, ILogger* pLogger)
{
// verifico la chiave e le opzioni
unsigned int nOpt1, nOpt2 ;
int nOptExpDays ;
int nRet = GetKeyOptions( sKey, KEY_BASELIB_PROD, KEY_BASELIB_VER, KEY_BASELIB_LEV,
nOpt1, nOpt2, nOptExpDays) ;
if ( nRet != KEY_OK && ! EqualNoCase( sKey, "EE3Base")) {
if ( nRet != KEY_OK) {
std::string sErr = "Error on Key (EE3/" + ToString( nRet) + ")" ;
LOG_ERROR( pLogger, sErr.c_str()) ;
return false ;
}
if ( ( nOpt1 & ( KEYOPT_EEX_INPBASE|KEYOPT_EEX_EXPBASE)) == 0 ||
( nKeyOpt != 0 && ( nOpt1 & nKeyOpt) == 0) ||
nOptExpDays < GetCurrDay()) {
std::string sErr = "Warning on Key (EE3/OPT)" ;
LOG_ERROR( pLogger, sErr.c_str()) ;
return false ;
}
}
return true ;
}
-40
View File
@@ -1,40 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023
//----------------------------------------------------------------------------
// File : EE3Export3dm.h Data : 21.09.23 Versione :
// Contenuto : Dichiarazione della interfaccia IExport3dm.
//
//
//
// Modifiche : 21.09.23 DB Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkGeomDB.h"
#include "/EgtDev/Include/EExExportConst.h"
#include <string>
//----------------------- Macro per import/export ----------------------------
#undef EE3_EXPORT
#if defined( I_AM_EE3) // da definirsi solo nella DLL
#define EE3_EXPORT __declspec( dllexport)
#else
#define EE3_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
class __declspec( novtable) IExport3dm
{
public :
virtual ~IExport3dm( void) {}
virtual bool SetOptions( int nFilter) = 0 ;
virtual bool Export( IGeomDB* pGDB, int nId, const std::string& sFile) = 0 ;
} ;
//-----------------------------------------------------------------------------
extern "C" {
EE3_EXPORT IExport3dm* CreateExport3dm(void) ;
}
-39
View File
@@ -1,39 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023
//----------------------------------------------------------------------------
// File : EE3Import3dm.h Data : 26.06.23 Versione : 2.5f1
// Contenuto : Dichiarazione della interfaccia IImport3dm.
//
//
//
// Modifiche : 26.06.23 DB Creazione modulo.
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkGeomDB.h"
#include <string>
//----------------------- Macro per import/export ----------------------------
#undef EE3_EXPORT
#if defined( I_AM_EE3) // da definirsi solo nella DLL
#define EE3_EXPORT __declspec( dllexport)
#else
#define EE3_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
class __declspec( novtable) IImport3dm
{
public :
virtual ~IImport3dm( void) {}
virtual bool Import( const std::string& sFile, IGeomDB* pGDB, int nIdGroup,
double dTextHeight = 2.0, double dExtLine = 5.0, double dArrLen = 5.0, double dTextDist = 2.0,
bool bLenIsMM = true, int nDecDig = -2, std::string sFont = "ModernPropS.Nfe") = 0 ;
} ;
//-----------------------------------------------------------------------------
extern "C" {
EE3_EXPORT IImport3dm* CreateImport3dm( void) ;
}
+2 -4
View File
@@ -1,14 +1,13 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2014-2023 // EgalTech 2014-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkArcSpecial.h Data : 04.08.23 Versione : 2.5h1 // File : EGkArcSpecial.h Data : 20.12.22 Versione : 2.4l3
// Contenuto : Dichiarazione funzioni per calcolo speciale archi. // Contenuto : Dichiarazione funzioni per calcolo speciale archi.
// //
// //
// //
// Modifiche : 12.06.14 DS Creazione modulo. // Modifiche : 12.06.14 DS Creazione modulo.
// 20.12.22 DS Aggiunta GetArc2PCN. // 20.12.22 DS Aggiunta GetArc2PCN.
// 04.08.23 DS Aggiunta GetArc2PNB.
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -28,6 +27,5 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
EGK_EXPORT ICurve* GetArc2PD( const Point3d& ptStart, const Point3d& ptEnd, double dDirStartDeg) ; EGK_EXPORT ICurve* GetArc2PD( const Point3d& ptStart, const Point3d& ptEnd, double dDirStartDeg) ;
EGK_EXPORT ICurve* GetArc2PVN( const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtDirS, const Vector3d& vtN) ; EGK_EXPORT ICurve* GetArc2PVN( const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtDirS, const Vector3d& vtN) ;
EGK_EXPORT ICurve* GetArc2PNB( const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtN, double dBulge) ;
EGK_EXPORT ICurve* GetArc3P( const Point3d& ptStart, const Point3d& ptOther, const Point3d& ptEnd, bool bCirc) ; EGK_EXPORT ICurve* GetArc3P( const Point3d& ptStart, const Point3d& ptOther, const Point3d& ptEnd, bool bCirc) ;
EGK_EXPORT ICurveArc* GetArc2PCN( const Point3d& ptStart, const Point3d& ptEnd, const Point3d& ptNearCen, const Vector3d& vtN) ; EGK_EXPORT ICurveArc* GetArc2PCN( const Point3d& ptStart, const Point3d& ptEnd, const Point3d& ptNearCen, const Vector3d& vtN) ;
+7 -41
View File
@@ -1,14 +1,14 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2013-2023 // EgalTech 2013-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkBBox3d.h Data : 12.05.23 Versione : 2.5e3 // File : EGkBBox3d.h Data : 17.08.22 Versione : 2.4h1
// Contenuto : Dichiarazione della classe axis aligned bounding box BBox3d. // Contenuto : Dichiarazione della classe axis aligned bounding box BBox3d.
// //
// //
// //
// Modifiche : 14.01.13 DS Creazione modulo. // Modifiche : 14.01.13 DS Creazione modulo.
// 17.08.22 DS Aggiunte GetDimX, GetDimY, GetDimZ. // 17.08.22 DS Aggiunte GetDimX, GetDimY, GetDimZ.
// 12.05.23 DS Aggiunta Overlaps con Box su riferimento. //
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -90,11 +90,10 @@ class EGK_EXPORT BBox3d
bool EnclosesXY( const Point3d& ptP) const ; bool EnclosesXY( const Point3d& ptP) const ;
bool Encloses( const BBox3d& b3Box) const ; bool Encloses( const BBox3d& b3Box) const ;
bool EnclosesXY( const BBox3d& b3Box) const ; bool EnclosesXY( const BBox3d& b3Box) const ;
bool Overlaps( const BBox3d& b3Box) const ; bool Overlaps( const BBox3d& b3B) const ;
bool OverlapsXY( const BBox3d& b3Box) const ; bool OverlapsXY( const BBox3d& b3B) const ;
bool Overlaps( const Frame3d& frBox, const BBox3d& b3Box) const ; bool FindIntersection( const BBox3d& b3B, BBox3d& b3Int) const ;
bool FindIntersection( const BBox3d& b3Box, BBox3d& b3Int) const ; bool FindIntersectionXY( const BBox3d& b3B, BBox3d& b3Int) const ;
bool FindIntersectionXY( const BBox3d& b3Box, BBox3d& b3Int) const ;
double SqDistFromPoint( const Point3d& ptP) const ; double SqDistFromPoint( const Point3d& ptP) const ;
double SqDistFromPointXY( const Point3d& ptP) const ; double SqDistFromPointXY( const Point3d& ptP) const ;
double DistFromPoint( const Point3d& ptP) const double DistFromPoint( const Point3d& ptP) const
@@ -127,36 +126,3 @@ class EGK_EXPORT BBox3d
Point3d m_ptMin ; Point3d m_ptMin ;
Point3d m_ptMax ; Point3d m_ptMax ;
} ; } ;
//----------------------------------------------------------------------------
//! Restituisce una copia in locale del box passato
//----------------------------------------------------------------------------
inline const BBox3d
GetToLoc( const BBox3d& b3Box, const Frame3d& frRef)
{
BBox3d b3New = b3Box ;
b3New.ToLoc( frRef) ;
return b3New ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia in globale del box passato
//----------------------------------------------------------------------------
inline const BBox3d
GetToGlob( const BBox3d& b3Box, const Frame3d& frRef)
{
BBox3d b3New = b3Box ;
b3New.ToGlob( frRef) ;
return b3New ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia dal primo al secondo riferimento del box passato
//----------------------------------------------------------------------------
inline const BBox3d
GetLocToLoc( const BBox3d& b3Box, const Frame3d& frOri, const Frame3d& frDest)
{
BBox3d b3New = b3Box ;
b3New.LocToLoc( frOri, frDest) ;
return b3New ;
}
+3 -3
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2020-2023 // EgalTech 2020-2020
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkCDeClosedSurfTmClosedSurfTm.h Data : 14.06.23 Versione : 2.5f3 // File : EGkCDeSurfTmSurfTm.h Data : 13.11.20 Versione :
// Contenuto : Dichiarazione funzione verifica collisione tra // Contenuto : Dichiarazione funzione verifica collisione tra
// SurfTm e SurfTm. // SurfTm e SurfTm.
// //
@@ -27,4 +27,4 @@
// di collisione o inconsistenza dei parametri di input. // di collisione o inconsistenza dei parametri di input.
// Le due superfici devono essere espresse nel medesimo sistema di riferimento. // Le due superfici devono essere espresse nel medesimo sistema di riferimento.
// La distanza di sicurezza ha effetto solo se maggiore di EPS_SMALL. // La distanza di sicurezza ha effetto solo se maggiore di EPS_SMALL.
EGK_EXPORT bool CDeClosedSurfTmClosedSurfTm( const ISurfTriMesh& SurfA, const ISurfTriMesh& SurfB, double dSafeDist) ; EGK_EXPORT bool CDeClosedSurfTmClosedSurfTm( const SurfTriMesh& SurfA, const SurfTriMesh& SurfB, double dSafeDist) ;
+1 -1
View File
@@ -28,5 +28,5 @@
// Raggio principale R1, raggio secondario R2. // Raggio principale R1, raggio secondario R2.
// Il toro è posto nel piano XY del suo riferimento, centrato sull'origine. // Il toro è posto nel piano XY del suo riferimento, centrato sull'origine.
// La funzione restituisce true in caso di collisione. // La funzione restituisce true in caso di collisione.
EGK_EXPORT bool CDeConvexTorusClosedSurfTm( const Frame3d& frTorus, double dRad1, double dRad2, EGK_EXPORT bool CDeConvexTorusClosedSurfTm( const Frame3d& frTorusFrame, double dRad1, double dRad2,
double dSafeDist, const ISurfTriMesh& tmSurf) ; double dSafeDist, const ISurfTriMesh& tmSurf) ;
-31
View File
@@ -1,31 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023-2023
//----------------------------------------------------------------------------
// File : EGkCalcPocketing.h Data : 16.11.23 Versione : 2.5j1
// Contenuto : Calcolo dei percorsi elementari di pocketing.
//
//
//
// Modifiche : 16.11.23 RE Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkCurveComposite.h"
#include "/EgtDev/Include/EGkSurfFlatRegion.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 CalcPocketing( const ISurfFlatRegion* pSfr, double dRad, double dStep, double dAngle, int nType,
bool bSmooth, ICRVCOMPOPOVECTOR& vCrv) ;
EGK_EXPORT bool CalcZigZagInfill( const ISurfFlatRegion* pSfr, double dStep, bool bSmooth, bool bRemoveOverlapLink,
ICRVCOMPOPOVECTOR& vCrvCompoRes) ;
+3 -1
View File
@@ -16,6 +16,7 @@
#include "/EgtDev/Include/EGkPointGrid3d.h" #include "/EgtDev/Include/EGkPointGrid3d.h"
#include "/EgtDev/Include/EGkGeoCollection.h" #include "/EgtDev/Include/EGkGeoCollection.h"
#include <unordered_set>
class IGeomDB ; class IGeomDB ;
@@ -58,6 +59,7 @@ class ChainCurves
EGK_EXPORT bool GetForkIds( INTVECTOR& vForkIds) ; EGK_EXPORT bool GetForkIds( INTVECTOR& vForkIds) ;
private : private :
typedef std::unordered_set<int> INTUSET ;
struct CrvData { struct CrvData {
int nId ; int nId ;
Point3d ptStart ; Point3d ptStart ;
@@ -90,7 +92,7 @@ class ChainCurves
private : private :
bool m_bAllowInvert ; bool m_bAllowInvert ;
double m_dToler ; double m_dToler ;
INTUNORDSET m_sCrvId ; INTUSET m_sCrvId ;
CRVDATAVECTOR m_vCrvData ; CRVDATAVECTOR m_vCrvData ;
PointGrid3d m_PointGrid ; PointGrid3d m_PointGrid ;
bool m_bFromNear ; bool m_bFromNear ;
-4
View File
@@ -19,8 +19,6 @@
#include "/EgtDev/Include/EGkPlane3d.h" #include "/EgtDev/Include/EGkPlane3d.h"
#include "/EgtDev/Include/EgtPointerOwner.h" #include "/EgtDev/Include/EgtPointerOwner.h"
class Voronoi ;
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
class __declspec( novtable) ICurve : public IGeoObj class __declspec( novtable) ICurve : public IGeoObj
{ {
@@ -33,7 +31,6 @@ class __declspec( novtable) ICurve : public IGeoObj
PP_END = 3} ; // punto coincidente con la fine PP_END = 3} ; // punto coincidente con la fine
enum ApprLineType { APL_STD = 0, // approssimazione standard enum ApprLineType { APL_STD = 0, // approssimazione standard
APL_SPECIAL = 10, // come STD, per composite conserva estremi di curve componenti APL_SPECIAL = 10, // come STD, per composite conserva estremi di curve componenti
APL_SPECIAL_INT = 20, // come SPECIAL, per composite anche almeno un interno di componenti non rettilinei
APL_LEFT = 1, // linee sempre a sinistra APL_LEFT = 1, // linee sempre a sinistra
APL_LEFT_CONVEX = 11, // linee sempre a sinistra convesse APL_LEFT_CONVEX = 11, // linee sempre a sinistra convesse
APL_RIGHT = 2, // linee sempre a destra APL_RIGHT = 2, // linee sempre a destra
@@ -94,7 +91,6 @@ class __declspec( novtable) ICurve : public IGeoObj
virtual bool TrimEndAtLen( double dLenTrim) = 0 ; virtual bool TrimEndAtLen( double dLenTrim) = 0 ;
virtual bool ExtendStartByLen( double dLenExt) = 0 ; virtual bool ExtendStartByLen( double dLenExt) = 0 ;
virtual bool ExtendEndByLen( double dLenExt) = 0 ; virtual bool ExtendEndByLen( double dLenExt) = 0 ;
virtual Voronoi* GetVoronoiObject( void) const = 0 ;
} ; } ;
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
+1 -18
View File
@@ -32,18 +32,14 @@ struct CNurbsData
bool bRat ; // flag di curva razionale (pesi non tutti unitari) bool bRat ; // flag di curva razionale (pesi non tutti unitari)
bool bPeriodic ; // flag per segnalare vettore dei nodi periodico bool bPeriodic ; // flag per segnalare vettore dei nodi periodico
bool bClosed ; // flag di curva chiusa bool bClosed ; // flag di curva chiusa
bool bClamped ; // flag di curva clamped
bool bExtraKnotes ; // flag per segnalare presenza di nodi extra all'inizio e fine (totale 2) bool bExtraKnotes ; // flag per segnalare presenza di nodi extra all'inizio e fine (totale 2)
DBLVECTOR vU ; // vettore dei nodi DBLVECTOR vU ; // vettore dei nodi
PNTVECTOR vCP ; // vettore dei punti di controllo PNTVECTOR vCP ; // vettore dei punti di controllo
DBLVECTOR vW ; // vettore dei pesi DBLVECTOR vW ; // vettore dei pesi
CNurbsData( void) : nDeg( 0), bRat( false), bPeriodic( false), bClosed( false), bClamped( true), bExtraKnotes(false) {} CNurbsData( void) : nDeg( 0), bRat( false), bPeriodic( false), bClosed( false), bExtraKnotes( false) {}
} ; } ;
// N.B. : in caso la curva sia razionale i punti di controllo sono in forma NON OMOGENEA [ x, y, z, w] ( dove la forma OMOGENEA è [ w*x, w*y, w*z, w])
// tutte le operazioni richiedono la forma OMOGENEA, finite le quali posso riportarmi alla forma NON OMOGENEA
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Trasforma un arco in una nuova curva di Bezier semplice o composta //! Trasforma un arco in una nuova curva di Bezier semplice o composta
EGK_EXPORT ICurve* ArcToBezierCurve( const ICurve* pArc) ; EGK_EXPORT ICurve* ArcToBezierCurve( const ICurve* pArc) ;
@@ -78,16 +74,3 @@ EGK_EXPORT ICurve* ProjectCurveOnPlane( const ICurve& crCrv, const Plane3d& plPl
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Uniforma la pendenza di una composita tra quota iniziale e finale assegnate //! Uniforma la pendenza di una composita tra quota iniziale e finale assegnate
EGK_EXPORT bool AdjustCurveSlope( ICurveComposite* pCrv, double dNini, double dNfin) ; EGK_EXPORT bool AdjustCurveSlope( ICurveComposite* pCrv, double dNini, double dNfin) ;
//----------------------------------------------------------------------------
//! Calcolo del diagramma di Voronoi della curva, nei TempParam dei risultati la distanza
//! Per nBound tenere valore di default.
EGK_EXPORT bool CalcCurveVoronoiDiagram( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, int nBound = 3) ;
//----------------------------------------------------------------------------
//! Calcolo del Medial Axis della curva (sottoinsieme del diagramma di Voronoi), nei TempParam dei risultati la distanza
EGK_EXPORT bool CalcCurveMedialAxis( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, int nSide) ;
//----------------------------------------------------------------------------
//! Calcola l'offset completo di una curva
EGK_EXPORT bool CalcCurveFatCurve( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, double dRadius, bool bSquareEnds, bool bSquareMids) ;
+5 -6
View File
@@ -1,13 +1,13 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2015-2023 // EgalTech 2015-2015
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkCurveByApprox.h Data : 28.07.23 Versione : 2.5g3 // File : EGkCurveByApprox.h Data : 23.07.15 Versione : 1.6g7
// Contenuto : Dichiarazione della classe CurveByApprox. // Contenuto : Dichiarazione della classe CurveByApprox.
// //
// //
// //
// Modifiche : 23.07.15 DS Creazione modulo. // Modifiche : 23.07.15 DS Creazione modulo.
// 28.07.23 DS GetArcs e GetArcsCorner. //
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -35,11 +35,10 @@ class CurveByApprox
EGK_EXPORT bool Reset( void) ; EGK_EXPORT bool Reset( void) ;
EGK_EXPORT bool AddPoint( const Point3d& ptP) ; EGK_EXPORT bool AddPoint( const Point3d& ptP) ;
EGK_EXPORT ICurve* GetCurve( int nType, double dLinTol, double dAngTolDeg, double dLinFea) ; EGK_EXPORT ICurve* GetCurve( int nType, double dLinTol, double dAngTolDeg, double dLinFea) ;
EGK_EXPORT bool GetArcs( double dLinTol, double dAngTolDeg, PolyArc& PA) ; EGK_EXPORT bool GetArcs( double dLinTol, double dAngTolDeg, double dLinFea, PolyArc& PA) ;
EGK_EXPORT bool GetArcsCorner( double dLinTol, double dAngTolDeg, double dLinFea, PolyArc& PA) ;
public : public :
enum TYPE { ARCS = 0, ARCS_CORNER = 1, CUBIC_BEZIERS = 2} ; enum TYPE { ARCS_CORNER = 1, CUBIC_BEZIERS = 2} ;
private : private :
bool CalcParameterization( void) ; bool CalcParameterization( void) ;
-28
View File
@@ -58,7 +58,6 @@ class __declspec( novtable) ICurveComposite : public ICurve
virtual bool ArcsBezierCurvesToArcsPerpExtr( double dLinTol, double dAngTolDeg) = 0 ; virtual bool ArcsBezierCurvesToArcsPerpExtr( double dLinTol, double dAngTolDeg) = 0 ;
virtual bool StraightArcsToLines( double dLinTol, double dAngTolDeg) = 0 ; virtual bool StraightArcsToLines( double dLinTol, double dAngTolDeg) = 0 ;
virtual bool MergeCurves( double dLinTol, double dAngTolDeg, bool bStartEnd = true, bool bNeedSameProp = false) = 0 ; virtual bool MergeCurves( double dLinTol, double dAngTolDeg, bool bStartEnd = true, bool bNeedSameProp = false) = 0 ;
virtual bool RemoveSmallParts( double dLinTol, double dAngTolDeg) = 0 ;
virtual bool RemoveSmallDefects( double dLinTol, double dAngTolDeg, bool bAlsoSpikes = false) = 0 ; virtual bool RemoveSmallDefects( double dLinTol, double dAngTolDeg, bool bAlsoSpikes = false) = 0 ;
virtual bool RemoveUndercutOnY( double dLinTol, double dAngTolDeg) = 0 ; virtual bool RemoveUndercutOnY( double dLinTol, double dAngTolDeg) = 0 ;
virtual bool IsAPoint( void) const = 0 ; virtual bool IsAPoint( void) const = 0 ;
@@ -68,8 +67,6 @@ class __declspec( novtable) ICurveComposite : public ICurve
virtual bool IsATrapezoid( double dLinTol, Point3d& ptP, Vector3d& vtB1, Vector3d& vtL1, Vector3d& vtB2) const = 0 ; virtual bool IsATrapezoid( double dLinTol, Point3d& ptP, Vector3d& vtB1, Vector3d& vtL1, Vector3d& vtB2) const = 0 ;
virtual bool SetCurveTempProp( int nCrv, int nProp, int nPropInd = 0) = 0 ; virtual bool SetCurveTempProp( int nCrv, int nProp, int nPropInd = 0) = 0 ;
virtual bool GetCurveTempProp( int nCrv, int& nProp, int nPropInd = 0) const = 0 ; virtual bool GetCurveTempProp( int nCrv, int& nProp, int nPropInd = 0) const = 0 ;
virtual bool SetCurveTempParam( int nCrv, double dParam, int nParamInd = 0) = 0 ;
virtual bool GetCurveTempParam( int nCrv, double& dParam, int nParamInd = 0) const = 0 ;
} ; } ;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -87,31 +84,6 @@ inline ICurveComposite* GetCurveComposite( IGeoObj* pGObj)
{ if ( pGObj == nullptr || pGObj->GetType() != CRV_COMPO) { if ( pGObj == nullptr || pGObj->GetType() != CRV_COMPO)
return nullptr ; return nullptr ;
return (static_cast<ICurveComposite*>(pGObj)) ; } return (static_cast<ICurveComposite*>(pGObj)) ; }
inline ICurveComposite* ConvertCurveToComposite( IGeoObj* pGObj)
{ if ( pGObj == nullptr || ( pGObj->GetType() & GEO_CURVE) == 0) {
delete pGObj ;
return nullptr ;
}
ICurveComposite* pCrvCo = CreateCurveComposite() ;
if ( pCrvCo == nullptr) {
delete pGObj ;
return nullptr ;
}
ICurve* pCrv = static_cast<ICurve*>( pGObj) ;
Vector3d vtExtr ;
if ( pCrv->GetExtrusion( vtExtr) && ! vtExtr.IsSmall())
pCrvCo->SetExtrusion( vtExtr) ;
double dThick ;
if ( pCrv->GetThickness( dThick) && abs( dThick) > EPS_SMALL)
pCrvCo->SetThickness( dThick) ;
for ( int i = 0 ; i < 2 ; ++ i) {
int nProp = pCrv->GetTempProp( i) ;
if ( nProp != 0)
pCrvCo->SetTempProp( nProp, i) ;
}
pCrvCo->AddCurve( pCrv) ;
return pCrvCo ;
}
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Raccolte di puntatori a ICurveComposite // Raccolte di puntatori a ICurveComposite
-7
View File
@@ -45,10 +45,3 @@ inline ICurveLine* GetCurveLine( IGeoObj* pGObj)
{ if ( pGObj == nullptr || pGObj->GetType() != CRV_LINE) { if ( pGObj == nullptr || pGObj->GetType() != CRV_LINE)
return nullptr ; return nullptr ;
return (static_cast<ICurveLine*>(pGObj)) ; } return (static_cast<ICurveLine*>(pGObj)) ; }
//----------------------------------------------------------------------------
// Raccolte di puntatori a ICurveLine
typedef std::vector<const ICurveLine*> CICRVLINEVECTOR ; // vettore di puntatori a const ICurveLine
typedef std::vector<ICurveLine*> ICRVLINEPVECTOR ; // vettore di puntatori a ICurveLine
typedef std::list<ICurveLine*> ICRVLINEPLIST ; // lista di puntatori a ICurveLine
typedef std::vector<PtrOwner<ICurveLine>> ICRVLINEPOVECTOR ; // vettore di puntatori esclusivi a ICurveLine
+13 -14
View File
@@ -49,23 +49,22 @@ class DistPointCurve
// Il flag bIsSegment vale solo per linee. // Il flag bIsSegment vale solo per linee.
public : public :
EGK_EXPORT bool GetSqDist( double& dSqDist) const ; EGK_EXPORT bool GetSqDist( double& dSqDist) ;
EGK_EXPORT bool GetDist( double& dDist) const ; EGK_EXPORT bool GetDist( double& dDist) ;
EGK_EXPORT bool IsEpsilon( double dTol) const EGK_EXPORT bool IsEpsilon( double dTol)
{ double dSqDist ; return ( GetSqDist( dSqDist) && ( dSqDist < SQ_EPS_ZERO || dSqDist < dTol * dTol)) ; } { double dSqDist ; return ( GetSqDist( dSqDist) && ( dSqDist < SQ_EPS_ZERO || dSqDist < dTol * dTol)) ; }
EGK_EXPORT bool IsSmall( void) const EGK_EXPORT bool IsSmall( void)
{ return IsEpsilon( EPS_SMALL) ; } { return IsEpsilon( EPS_SMALL) ; }
EGK_EXPORT bool IsZero( void) const EGK_EXPORT bool IsZero( void)
{ return IsEpsilon( EPS_ZERO) ; } { return IsEpsilon( EPS_ZERO) ; }
EGK_EXPORT int GetNbrMinDist( void) const EGK_EXPORT int GetNbrMinDist( void) { return (int) m_Info.size() ; }
{ return (int) m_Info.size() ; } EGK_EXPORT bool GetMinDistPoint( int nInd, Point3d& ptMinDist, int& nFlag) ;
EGK_EXPORT bool GetMinDistPoint( int nInd, Point3d& ptMinDist, int& nFlag) const ; EGK_EXPORT bool GetMinDistPoint( double dNearParam, Point3d& ptMinDist, int& nFlag) ;
EGK_EXPORT bool GetMinDistPoint( double dNearParam, Point3d& ptMinDist, int& nFlag) const ; EGK_EXPORT bool GetParamAtMinDistPoint( int nInd, double& dParam, int& nFlag) ;
EGK_EXPORT bool GetParamAtMinDistPoint( int nInd, double& dParam, int& nFlag) const ; EGK_EXPORT bool GetParamAtMinDistPoint( double dNearParam, double& dParam, int& nFlag) ;
EGK_EXPORT bool GetParamAtMinDistPoint( double dNearParam, double& dParam, int& nFlag) const ; EGK_EXPORT bool GetSideAtMinDistPoint( int nInd, const Vector3d& vtN, int& nSide) ;
EGK_EXPORT bool GetSideAtMinDistPoint( int nInd, const Vector3d& vtN, int& nSide) const ; EGK_EXPORT bool GetSideAtMinDistPoint( double dNearParam, const Vector3d& vtN, int& nSide) ;
EGK_EXPORT bool GetSideAtMinDistPoint( double dNearParam, const Vector3d& vtN, int& nSide) const ; EGK_EXPORT bool GetMinDistInfo( int nInd, MinDistPCInfo& aInfo) ;
EGK_EXPORT bool GetMinDistInfo( int nInd, MinDistPCInfo& aInfo) const ;
private : private :
DistPointCurve( void) ; DistPointCurve( void) ;
+10 -22
View File
@@ -1,13 +1,13 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2018-2023 // EgalTech 2018-2018
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkDistPointSurfTm.h Data : 06.07.23 Versione : 2.5g1 // File : EGkDistPointTria.h Data : 11.12.18 Versione : 1.9l2
// Contenuto : Dichiarazione della classe distanza Punto da Trimesh. // Contenuto : Dichiarazione della classe distanza Punto da Trimesh.
// //
// //
// //
// Modifiche : 06.12.18 LM Creazione modulo. // Modifiche : 06.12.18 LM Creazione modulo.
// 06.07.23 DS Aggiunta GetSurfTmNearestVertex. //
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -23,13 +23,6 @@
#define EGK_EXPORT __declspec( dllimport) #define EGK_EXPORT __declspec( dllimport)
#endif #endif
//----------------------------------------------------------------------------
// Calcola la distanza tra punto e superficie trimesh.
// Risultati :
// - distanza
// - punto sulla superficie a minima distanza
// - indice del triangolo su cui giace il punto
// - indicazione se il punto di riferimento è dalla parte interna o esterna della superficie.
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
class DistPointSurfTm class DistPointSurfTm
{ {
@@ -37,16 +30,16 @@ class DistPointSurfTm
EGK_EXPORT DistPointSurfTm( const Point3d& ptP, const ISurfTriMesh& tmSurf) ; EGK_EXPORT DistPointSurfTm( const Point3d& ptP, const ISurfTriMesh& tmSurf) ;
public : public :
EGK_EXPORT bool GetDist( double& dDist) const ; EGK_EXPORT bool GetDist( double& dDist) ;
EGK_EXPORT bool IsEpsilon( double dTol) const EGK_EXPORT bool IsEpsilon( double dTol)
{ return ( m_dDist >= 0. && ( m_dDist < EPS_ZERO || m_dDist < dTol)) ; } { return ( m_dDist >= 0. && ( m_dDist < EPS_ZERO || m_dDist < dTol)) ; }
EGK_EXPORT bool IsSmall( void) const EGK_EXPORT bool IsSmall( void)
{ return IsEpsilon( EPS_SMALL) ; } { return IsEpsilon( EPS_SMALL) ; }
EGK_EXPORT bool IsZero( void) const EGK_EXPORT bool IsZero( void)
{ return IsEpsilon( EPS_ZERO) ; } { return IsEpsilon( EPS_ZERO) ; }
EGK_EXPORT bool GetMinDistPoint( Point3d& ptMinDistPoint) const ; EGK_EXPORT bool GetMinDistPoint( Point3d& ptMinDistPoint) ;
EGK_EXPORT bool GetMinDistTriaIndex( int& nMinDistTriaIndex) const ; EGK_EXPORT bool GetMinDistTriaIndex( int& nMinDistTriaIndex) ;
EGK_EXPORT bool IsPointInside( void) const EGK_EXPORT bool IsPointInside( void)
{ return m_bIsInside ; } { return m_bIsInside ; }
private : private :
@@ -58,8 +51,3 @@ class DistPointSurfTm
int m_nMinDistTriaIndex ; int m_nMinDistTriaIndex ;
bool m_bIsInside ; bool m_bIsInside ;
} ; } ;
//----------------------------------------------------------------------------
// Calcola l'indice del vertice della superficie a minima distanza dal punto di riferimento.
//----------------------------------------------------------------------------
EGK_EXPORT int GetSurfTmNearestVertex( const Point3d& ptP, const ISurfTriMesh& tmSurf) ;
+1 -1
View File
@@ -36,7 +36,7 @@ class __declspec( novtable) IExtDimension : public IGeoObj
const Vector3d& vtN, const std::string& sText) = 0 ; const Vector3d& vtN, const std::string& sText) = 0 ;
virtual bool SetDiametral( const Point3d& ptCen, const Point3d& ptPos, virtual bool SetDiametral( const Point3d& ptCen, const Point3d& ptPos,
const Vector3d& vtN, const std::string& sText) = 0 ; const Vector3d& vtN, const std::string& sText) = 0 ;
virtual bool SetAngular( const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptV, const Point3d& ptPos, virtual bool SetAngular( const Point3d& ptP1, const Point3d& ptV, const Point3d& ptP2, const Point3d& ptPos,
const Vector3d& vtN, const std::string& sText ) = 0 ; const Vector3d& vtN, const std::string& sText ) = 0 ;
virtual const Vector3d& GetNormVersor( void) const = 0 ; virtual const Vector3d& GetNormVersor( void) const = 0 ;
virtual const Vector3d& GetDirVersor( void) const = 0 ; virtual const Vector3d& GetDirVersor( void) const = 0 ;
+14 -56
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2013-2023 // EgalTech 2013-2014
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkFrame3d.h Data : 20.07.23 Versione : 2.5g2 // File : EGkFrame3d.h Data : 30.05.14 Versione : 1.5e10
// Contenuto : Dichiarazione della classe Reference Frame 3d. // Contenuto : Dichiarazione della classe Reference Frame 3d.
// //
// //
@@ -56,9 +56,9 @@ class EGK_EXPORT Frame3d
bool ToLoc( const Frame3d& frRef) ; bool ToLoc( const Frame3d& frRef) ;
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ; bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
Frame3d& operator*=( const Frame3d& frRef) Frame3d& operator*=( const Frame3d& frRef)
{ ToGlob( frRef) ; return *this ; } { this->ToGlob( frRef) ; return *this ;}
Frame3d& operator/=( const Frame3d& frRef) Frame3d& operator/=( const Frame3d& frRef)
{ ToLoc( frRef) ; return *this ; } { this->ToLoc( frRef) ; return *this ;}
bool IsValid( void) const bool IsValid( void) const
{ return ( m_nType != ERR) ; } { return ( m_nType != ERR) ; }
int GetType( void) const int GetType( void) const
@@ -97,56 +97,23 @@ const Frame3d GLOB_FRM ;
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Prodotto di due frame (porta il primo dal secondo nel globale) // Prodotto di due frame (porta il primo dal secondo nel globale)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Frame3d inline Frame3d
operator*( const Frame3d& frRef, const Frame3d& frOri) operator*( const Frame3d& frRef1, const Frame3d& frRef2)
{ {
Frame3d frNew = frRef ; Frame3d frRefR = frRef1 ;
frNew.ToGlob( frOri) ; frRefR.ToGlob( frRef2) ;
return frNew ; return frRefR ;
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Divisione di due frame (porta il primo dal globale nel secondo) // Divisione di due frame (porta il primo dal globale nel secondo)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Frame3d inline Frame3d
operator/( const Frame3d& frRef, const Frame3d& frDest) operator/( const Frame3d& frRef1, const Frame3d& frRef2)
{ {
Frame3d frNew = frRef ; Frame3d frRefR = frRef1 ;
frNew.ToLoc( frDest) ; frRefR.ToLoc( frRef2) ;
return frNew ; return frRefR ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia in locale del frame passato
//----------------------------------------------------------------------------
inline const Frame3d
GetToLoc ( const Frame3d& frRef, const Frame3d& frDest)
{
Frame3d frNew = frRef ;
frNew.ToLoc( frDest) ;
return frNew ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia in globale del frame passato
//----------------------------------------------------------------------------
inline const Frame3d
GetToGlob( const Frame3d& frRef, const Frame3d& frOri)
{
Frame3d frNew = frRef ;
frNew.ToGlob( frOri) ;
return frNew ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia dal primo al secondo riferimento del frame passato
//----------------------------------------------------------------------------
inline const Frame3d
GetLocToLoc( const Frame3d& frRef, const Frame3d& frOri, const Frame3d& frDest)
{
Frame3d frNew = frRef ;
frNew.LocToLoc( frOri, frDest) ;
return frNew ;
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -167,12 +134,3 @@ AreSameFrame( const Frame3d& frRef1, const Frame3d& frRef2)
return false ; return false ;
return true ; return true ;
} }
//----------------------------------------------------------------------------
// Verifica se il riferimento coincide con quello globale (o identità)
//----------------------------------------------------------------------------
inline bool
IsGlobFrame( const Frame3d& frRef)
{
return AreSameFrame( frRef, GLOB_FRM) ;
}
+1 -5
View File
@@ -1,14 +1,13 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2013-2023 // EgalTech 2013-2023
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkGdbIterator.h Data : 09.07.23 Versione : 2.5g1 // File : EGkGdbIterator.h Data : 29.01.23 Versione : 2.5a2
// Contenuto : Dichiarazione della interfaccia IGdbIterator. // Contenuto : Dichiarazione della interfaccia IGdbIterator.
// //
// //
// //
// Modifiche : 04.12.13 DS Creazione modulo. // Modifiche : 04.12.13 DS Creazione modulo.
// 29.01.23 DS Aggiunte GetAllInfo e CopyAllInfoFrom. // 29.01.23 DS Aggiunte GetAllInfo e CopyAllInfoFrom.
// 09.07.23 DS Aggiunte SetStipple e GetStipple.
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -145,9 +144,6 @@ class __declspec( novtable) IGdbIterator
virtual bool RemoveInfo( const std::string& sKey) = 0 ; virtual bool RemoveInfo( const std::string& sKey) = 0 ;
virtual bool GetAllInfo( STRVECTOR& vsInfo) const = 0 ; virtual bool GetAllInfo( STRVECTOR& vsInfo) const = 0 ;
virtual bool CopyAllInfoFrom( const IGdbIterator& iIter) = 0 ; virtual bool CopyAllInfoFrom( const IGdbIterator& iIter) = 0 ;
// Stipple
virtual bool SetStipple( int nFactor, int nPattern) = 0 ;
virtual bool GetStipple( int& nFactor, int& nPattern) const = 0 ;
// TextureData // TextureData
virtual bool SetTextureName( const std::string& sTxrName) = 0 ; virtual bool SetTextureName( const std::string& sTxrName) = 0 ;
virtual bool SetTextureFrame( const Frame3d& frTxrRef) = 0 ; virtual bool SetTextureFrame( const Frame3d& frTxrRef) = 0 ;
-6
View File
@@ -57,9 +57,3 @@ typedef std::list<Vector3d> VCT3DLIST ; // lista di vettori 3d
typedef std::vector<BBox3d> BOXVECTOR ; // vettore di bounding box 3d typedef std::vector<BBox3d> BOXVECTOR ; // vettore di bounding box 3d
typedef std::list<BBox3d> BOXLIST ; // lista di bounding box 3d typedef std::list<BBox3d> BOXLIST ; // lista di bounding box 3d
typedef std::vector<std::pair<BBox3d,int>> BOXIVECTOR ; // vettore di bounding box 3d e Id typedef std::vector<std::pair<BBox3d,int>> BOXIVECTOR ; // vettore di bounding box 3d e Id
//----------------------------------------------------------------------------
// Raccolte di coppie Point3d,Vector3d
typedef std::pair<Point3d,Vector3d> PNTVECT ; // coppia punto, vettore
typedef std::vector<PNTVECT> PNTVECTVECTOR ; // vettore di coppie punto, vettore
typedef std::list<PNTVECT> PNTVECTLIST ; // lista di coppie punto, vettore
-2
View File
@@ -56,8 +56,6 @@ class __declspec( novtable) IGeoObj
virtual const IObjGraphics* GetObjGraphics( void) const = 0 ; virtual const IObjGraphics* GetObjGraphics( void) const = 0 ;
virtual void SetTempProp( int nProp, int nPropInd = 0) = 0 ; virtual void SetTempProp( int nProp, int nPropInd = 0) = 0 ;
virtual int GetTempProp( int nPropInd = 0) const = 0 ; virtual int GetTempProp( int nPropInd = 0) const = 0 ;
virtual void SetTempParam( double dParam, int nParamInd = 0) = 0 ;
virtual double GetTempParam( int nParamInd = 0) const = 0 ;
} ; } ;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
+1 -6
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2013-2023 // EgalTech 2013-2023
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkGeomDB.h Data : 09.07.23 Versione : 2.5g1 // File : EGkGeomDB.h Data : 29.01.23 Versione : 2.5a
// Contenuto : Dichiarazione della interfaccia IGeomDB. // Contenuto : Dichiarazione della interfaccia IGeomDB.
// //
// //
@@ -12,7 +12,6 @@
// 30.05.14 DS Agg. metodi di Shear. // 30.05.14 DS Agg. metodi di Shear.
// 03.12.14 DS Aggiunta gestione riferimento di griglia. // 03.12.14 DS Aggiunta gestione riferimento di griglia.
// 29.01.23 DS Aggiunta GetAllInfo. // 29.01.23 DS Aggiunta GetAllInfo.
// 09.07.23 DS Aggiunte DumpStipple, SetStipple e GetStipple.
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -180,10 +179,6 @@ class __declspec( novtable) IGeomDB
virtual bool RemoveInfo( int nId, const std::string& sKey) = 0 ; virtual bool RemoveInfo( int nId, const std::string& sKey) = 0 ;
virtual bool GetAllInfo( int nId, STRVECTOR& vsInfo) const = 0 ; virtual bool GetAllInfo( int nId, STRVECTOR& vsInfo) const = 0 ;
virtual bool CopyAllInfoFrom( int nId, int nSouId) = 0 ; virtual bool CopyAllInfoFrom( int nId, int nSouId) = 0 ;
// Stipple (significativo solo per curve)
virtual bool DumpStipple( int nId, std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const = 0 ;
virtual bool SetStipple( int nId, int nFactor, int nPattern) = 0 ;
virtual bool GetStipple( int nId, int& nFactor, int& nPattern) const = 0 ;
// TextureData // TextureData
virtual bool DumpTextureData( int nId, std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const = 0 ; virtual bool DumpTextureData( int nId, std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const = 0 ;
virtual bool SetTextureName( int nId, const std::string& sTxrName) = 0 ; virtual bool SetTextureName( int nId, const std::string& sTxrName) = 0 ;
-5
View File
@@ -26,8 +26,6 @@
class OffsetCurve class OffsetCurve
{ {
public : public :
EGK_EXPORT OffsetCurve(): m_dLinTol( 10 * EPS_SMALL) {} ;
EGK_EXPORT OffsetCurve( double dLinTol) : m_dLinTol( dLinTol) {} ;
EGK_EXPORT ~OffsetCurve( void) ; EGK_EXPORT ~OffsetCurve( void) ;
public : public :
@@ -37,10 +35,7 @@ class OffsetCurve
EGK_EXPORT ICurve* GetCurve( void) ; EGK_EXPORT ICurve* GetCurve( void) ;
EGK_EXPORT ICurve* GetLongerCurve( void) ; EGK_EXPORT ICurve* GetLongerCurve( void) ;
EGK_EXPORT ICurve* GetShorterCurve( void) ; EGK_EXPORT ICurve* GetShorterCurve( void) ;
EGK_EXPORT double GetLinTol( void) const { return m_dLinTol ; }
EGK_EXPORT void SetLinTol( double dTol) { m_dLinTol = dTol ; }
private : private :
ICURVEPLIST m_CrvLst ; ICURVEPLIST m_CrvLst ;
double m_dLinTol ;
} ; } ;
-10
View File
@@ -38,16 +38,6 @@ class Plane3d
m_dDist = ( ptP - ORIG) * m_vtN ; m_dDist = ( ptP - ORIG) * m_vtN ;
return true ; return true ;
} }
bool Set( const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3)
{ if ( AreSamePointApprox( ptP1, ptP2) ||
AreSamePointApprox( ptP2, ptP3) ||
AreSamePointApprox( ptP3, ptP1)) {
m_vtN = V_NULL ;
return false ;
}
Vector3d vtN = ( ptP2 - ptP1) ^ ( ptP3 - ptP2) ;
return Set( ptP1, vtN) ;
}
void Reset( void) void Reset( void)
{ m_vtN = V_NULL ; { m_vtN = V_NULL ;
m_dDist = 0 ; m_dDist = 0 ;
+20 -26
View File
@@ -1,13 +1,12 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2013-2023 // EgalTech 2013-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkPoint3d.h Data : 23.08.23 Versione : 2.5h2 // File : EGkPoint3d.h Data : 22.08.224 Versione : 2.4h2
// Contenuto : Dichiarazione della classe Punto 3d. // Contenuto : Dichiarazione della classe Punto 3d.
// //
// //
// //
// Modifiche : 30.12.12 DS Creazione modulo. // Modifiche : 30.12.12 DS Creazione modulo.
// 23.08.23 DS Aggiunto P_INVALID.
// //
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -43,9 +42,6 @@ class EGK_EXPORT Point3d
void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ;} void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ;}
public : public :
//! Verifica la validità delle coordinate del punto
bool IsValid( void) const
{ return ( std::isfinite( x) && std::isfinite( y) && std::isfinite( z)) ; }
//! Verifica se il punto è quasi l'origine //! Verifica se il punto è quasi l'origine
bool IsSmall( void) const bool IsSmall( void) const
{ return ( ( x * x + y * y + z * z) < SQ_EPS_SMALL) ; } { return ( ( x * x + y * y + z * z) < SQ_EPS_SMALL) ; }
@@ -54,19 +50,19 @@ class EGK_EXPORT Point3d
{ return ( ( x * x + y * y + z * z) < SQ_EPS_ZERO) ; } { return ( ( x * x + y * y + z * z) < SQ_EPS_ZERO) ; }
//! Somma sul posto con un vettore //! Somma sul posto con un vettore
Point3d& operator +=( const Vector3d& vtV) Point3d& operator +=( const Vector3d& vtV)
{ x += vtV.x ; y += vtV.y ; z += vtV.z ; return *this ; } { this->x += vtV.x ; this->y += vtV.y ; this->z += vtV.z ; return *this ; }
//! Sottrazione sul posto con un vettore //! Sottrazione sul posto con un vettore
Point3d& operator -=( const Vector3d& vtV) Point3d& operator -=( const Vector3d& vtV)
{ x -= vtV.x ; y -= vtV.y ; z -= vtV.z ; return *this ; } { this->x -= vtV.x ; this->y -= vtV.y ; this->z -= vtV.z ; return *this ; }
//! Somma sul posto con un altro punto (valida solo se equivalente ad una combinazione baricentrica) //! Somma sul posto con un altro punto (valida solo se equivalente ad una combinazione baricentrica)
Point3d& operator +=( const Point3d& ptP) Point3d& operator +=( const Point3d& ptP)
{ x += ptP.x ; y += ptP.y ; z += ptP.z ; return *this ; } { this->x += ptP.x ; this->y += ptP.y ; this->z += ptP.z ; return *this ; }
//! Moltiplicazione sul posto con un numero //! Moltiplicazione sul posto con un numero
Point3d& operator *=( double dMul) Point3d& operator *=( double dMul)
{ x *= dMul ; y *= dMul ; z *= dMul ; return *this ; } { this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
//! Divisione sul posto con un numero //! Divisione sul posto con un numero
Point3d& operator /=( double dDiv) Point3d& operator /=( double dDiv)
{ double dMul = 1 / dDiv ; x *= dMul ; y *= dMul ; z *= dMul ; return *this ; } { double dMul = 1 / dDiv ; this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
//! Traslazione dato il vettore di movimento //! Traslazione dato il vettore di movimento
void Translate( const Vector3d& vtMove) ; void Translate( const Vector3d& vtMove) ;
//! Rotazione attorno ad un asse per un punto, dato l'angolo in gradi //! Rotazione attorno ad un asse per un punto, dato l'angolo in gradi
@@ -100,15 +96,13 @@ class EGK_EXPORT Point3d
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Punti notevoli // Punti notevoli
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Punto non valido
const Point3d P_INVALID( NAN, NAN, NAN) ;
//! Punto origine //! Punto origine
const Point3d ORIG( 0, 0, 0) ; const Point3d ORIG( 0, 0, 0) ;
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Somma di due punti (valida solo se equivalente ad una combinazione baricentrica) //! Somma di due punti (valida solo se equivalente ad una combinazione baricentrica)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
operator+( const Point3d& ptP1, const Point3d& ptP2) operator+( const Point3d& ptP1, const Point3d& ptP2)
{ {
return Point3d( ptP1.x + ptP2.x, ptP1.y + ptP2.y, ptP1.z + ptP2.z) ; return Point3d( ptP1.x + ptP2.x, ptP1.y + ptP2.y, ptP1.z + ptP2.z) ;
@@ -117,16 +111,16 @@ operator+( const Point3d& ptP1, const Point3d& ptP2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Somma di un punto e un vettore //! Somma di un punto e un vettore
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
operator+( const Point3d& ptP1, const Vector3d& vtV2) operator+( const Point3d& ptP1, const Vector3d& vtV2)
{ {
return Point3d( ptP1.x + vtV2.x, ptP1.y + vtV2.y, ptP1.z + vtV2.z) ; return Point3d( ptP1.x + vtV2.x, ptP1.y + vtV2.y, ptP1.z + vtV2.z) ;
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Opposto di un punto, genera un vettore //! Opposto di un punto
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator-( const Point3d& ptP) operator-( const Point3d& ptP)
{ {
return Vector3d( - ptP.x, - ptP.y, - ptP.z) ; return Vector3d( - ptP.x, - ptP.y, - ptP.z) ;
@@ -135,7 +129,7 @@ operator-( const Point3d& ptP)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Differenza di due punti, genera un vettore //! Differenza di due punti, genera un vettore
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator-( const Point3d& ptP1, const Point3d& ptP2) operator-( const Point3d& ptP1, const Point3d& ptP2)
{ {
return Vector3d( ptP1.x - ptP2.x, ptP1.y - ptP2.y, ptP1.z - ptP2.z) ; return Vector3d( ptP1.x - ptP2.x, ptP1.y - ptP2.y, ptP1.z - ptP2.z) ;
@@ -144,7 +138,7 @@ operator-( const Point3d& ptP1, const Point3d& ptP2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Sottrazione di un punto e un vettore //! Sottrazione di un punto e un vettore
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
operator-( const Point3d& ptP1, const Vector3d& vtV2) operator-( const Point3d& ptP1, const Vector3d& vtV2)
{ {
return Point3d( ptP1.x - vtV2.x, ptP1.y - vtV2.y, ptP1.z - vtV2.z) ; return Point3d( ptP1.x - vtV2.x, ptP1.y - vtV2.y, ptP1.z - vtV2.z) ;
@@ -153,7 +147,7 @@ operator-( const Point3d& ptP1, const Vector3d& vtV2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Prodotto con uno scalare //! Prodotto con uno scalare
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
operator*( const Point3d& ptP, double dMul) operator*( const Point3d& ptP, double dMul)
{ {
return Point3d( ptP.x * dMul, ptP.y * dMul, ptP.z * dMul) ; return Point3d( ptP.x * dMul, ptP.y * dMul, ptP.z * dMul) ;
@@ -162,7 +156,7 @@ operator*( const Point3d& ptP, double dMul)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Prodotto di uno scalare con un punto //! Prodotto di uno scalare con un punto
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
operator*( double dMul, const Point3d& ptP) operator*( double dMul, const Point3d& ptP)
{ {
return Point3d( ptP.x * dMul, ptP.y * dMul, ptP.z * dMul) ; return Point3d( ptP.x * dMul, ptP.y * dMul, ptP.z * dMul) ;
@@ -171,7 +165,7 @@ operator*( double dMul, const Point3d& ptP)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Divisione per uno scalare //! Divisione per uno scalare
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
operator/( const Point3d& ptP, double dDiv) operator/( const Point3d& ptP, double dDiv)
{ {
double dMul ; double dMul ;
@@ -183,7 +177,7 @@ operator/( const Point3d& ptP, double dDiv)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Somma mediata di due punti (baricentrica) //! Somma mediata di due punti (baricentrica)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
Media( const Point3d& ptP1, const Point3d& ptP2, double dCoeff = 0.5) Media( const Point3d& ptP1, const Point3d& ptP2, double dCoeff = 0.5)
{ {
return Point3d( ( 1 - dCoeff) * ptP1.x + dCoeff * ptP2.x, return Point3d( ( 1 - dCoeff) * ptP1.x + dCoeff * ptP2.x,
@@ -374,7 +368,7 @@ AreSamePointXYExact( const Point3d& ptP1, const Point3d& ptP2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Restituisce una copia in locale del punto passato //! Restituisce una copia in locale del punto passato
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
GetToLoc( const Point3d& ptP, const Frame3d& frRef) GetToLoc( const Point3d& ptP, const Frame3d& frRef)
{ {
Point3d ptQ = ptP ; Point3d ptQ = ptP ;
@@ -385,7 +379,7 @@ GetToLoc( const Point3d& ptP, const Frame3d& frRef)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Restituisce una copia in globale del punto passato //! Restituisce una copia in globale del punto passato
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
GetToGlob( const Point3d& ptP, const Frame3d& frRef) GetToGlob( const Point3d& ptP, const Frame3d& frRef)
{ {
Point3d ptQ = ptP ; Point3d ptQ = ptP ;
@@ -396,7 +390,7 @@ GetToGlob( const Point3d& ptP, const Frame3d& frRef)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Restituisce una copia dal primo al secondo riferimento del punto passato //! Restituisce una copia dal primo al secondo riferimento del punto passato
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Point3d inline Point3d
GetLocToLoc( const Point3d& ptP, const Frame3d& frOri, const Frame3d& frDest) GetLocToLoc( const Point3d& ptP, const Frame3d& frOri, const Frame3d& frDest)
{ {
Point3d ptQ = ptP ; Point3d ptQ = ptP ;
+3 -10
View File
@@ -116,11 +116,6 @@ class PolyLine
EGK_EXPORT bool GetConvexHullXY( PNTVECTOR& vConvHull) const ; EGK_EXPORT bool GetConvexHullXY( PNTVECTOR& vConvHull) const ;
EGK_EXPORT bool GetMinAreaRectangleXY( Point3d& ptCen, Vector3d& vtAx, double& dLen, double& dHeight) const ; EGK_EXPORT bool GetMinAreaRectangleXY( Point3d& ptCen, Vector3d& vtAx, double& dLen, double& dHeight) const ;
EGK_EXPORT bool Trim( const Plane3d& plPlane, bool bInVsOut = true) ; EGK_EXPORT bool Trim( const Plane3d& plPlane, bool bInVsOut = true) ;
EGK_EXPORT void SetTempProp( int nProp, int nPropInd = 0)
{ if ( nPropInd >= 0 && nPropInd < 2)
m_nTempProp[nPropInd] = nProp ; }
EGK_EXPORT int GetTempProp( int nPropInd = 0) const
{ return (( nPropInd >= 0 && nPropInd < 2) ? m_nTempProp[nPropInd] : 0) ; }
private : private :
bool MyChangeStart( int nPos) ; bool MyChangeStart( int nPos) ;
@@ -128,17 +123,15 @@ class PolyLine
bool MyMakeConvex( const Vector3d& vtN, bool bLeftSide) ; bool MyMakeConvex( const Vector3d& vtN, bool bLeftSide) ;
private : private :
int m_nRejected ; // numero punti rifiutati perchè coincidenti int m_nRejected ;
int m_nTempProp[2] ; // vettore proprietà temporanee PNTULIST m_lUPoints ;
PNTULIST m_lUPoints ; // lista dei punti mutable PNTULIST::const_iterator m_iter ;
mutable PNTULIST::const_iterator m_iter ; // iteratore corrente
} ; } ;
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Raccolte di PolyLine // Raccolte di PolyLine
typedef std::vector<PolyLine> POLYLINEVECTOR ; // vettore di PolyLine typedef std::vector<PolyLine> POLYLINEVECTOR ; // vettore di PolyLine
typedef std::list<PolyLine> POLYLINELIST ; // lista di PolyLine typedef std::list<PolyLine> POLYLINELIST ; // lista di PolyLine
typedef std::vector<POLYLINEVECTOR> POLYLINEMATRIX ; // matrice di PolyLine
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
EGK_EXPORT bool DistPointPolyLine( const Point3d& ptP, const PolyLine& plPoly, double& dDist) ; EGK_EXPORT bool DistPointPolyLine( const Point3d& ptP, const PolyLine& plPoly, double& dDist) ;
+3 -3
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2015-2023 // EgalTech 2015-2020
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkPolygon3d.h Data : 17.12.23 Versione : 2.5l3 // File : Polygon3d.h Data : 02.10.20 Versione : 2.2j1
// Contenuto : Dichiarazione della classe Polygon3d (poligono nello spazio). // Contenuto : Dichiarazione della classe Polygon3d (poligono nello spazio).
// //
// //
@@ -58,7 +58,7 @@ class Polygon3d
EGK_EXPORT bool ToGlob( const Frame3d& frRef) ; EGK_EXPORT bool ToGlob( const Frame3d& frRef) ;
EGK_EXPORT bool ToLoc( const Frame3d& frRef) ; EGK_EXPORT bool ToLoc( const Frame3d& frRef) ;
EGK_EXPORT bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ; EGK_EXPORT bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
EGK_EXPORT bool GetLocalBBox( BBox3d& b3Loc) const ;
EGK_EXPORT bool IsValid( void) const EGK_EXPORT bool IsValid( void) const
{ return ! m_Plane.GetVersN().IsSmall() ; } { return ! m_Plane.GetVersN().IsSmall() ; }
EGK_EXPORT const Plane3d& GetPlane( void) const EGK_EXPORT const Plane3d& GetPlane( void) const
-32
View File
@@ -1,32 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023-2023
//----------------------------------------------------------------------------
// File : EGkPolygonElevation.h Data : 02.10.20 Versione : 2.2j1
// Contenuto : Dichiarazione della classe Polygon3d (poligono nello spazio).
//
//
//
// Modifiche : 30.08.15 DS Creazione modulo.
// 19.06.19 DS Aggiunta GetVertices.
// 23.07.19 DS Aggiunte Offset e Invert.
// 02.10.20 DS A FromPlaneTrimmedWithBox aggiunto parametro dToler.
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkPolygon3d.h"
#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
//----------------------------------------------------------------------------
EGK_EXPORT bool PolygonElevationInBBox( const Polygon3d& pgFacet, const BBox3d& b3Box, bool bAcceptOutFacet, double& dElev) ;
EGK_EXPORT bool PolygonElevationInClosedSurfTm( const Polygon3d& pgFacet, const ISurfTriMesh& CldStm, bool bAcceptOutFacet, double& dElev) ;
-43
View File
@@ -1,43 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023-2023
//----------------------------------------------------------------------------
// File : EGkProjectCurveSurfTm.h Data : 31.08.23 Versione : 2.5h3
// Contenuto : Dichiarazione funzioni proiezione curve su superficie Trimesh.
//
//
//
// Modifiche : 31.08.23 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkCurve.h"
#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
//----------------------------------------------------------------------------
// Definizione di Punto 5assi e sue raccolte
struct Point5ax {
Point3d ptP ;
Vector3d vtDir ;
double dPar ;
int nFlag ;
Point5ax( void) : ptP(), vtDir(), dPar(), nFlag() {} ;
Point5ax( const Point3d& ptBase, const Vector3d& vtTool, double dU, int nData)
: ptP( ptBase), vtDir( vtTool), dPar( dU), nFlag( nData) {} ;
} ;
typedef std::vector<Point5ax> PNT5AXVECTOR ; // vettore di Punti 5assi
//----------------------------------------------------------------------------
// Proiezione di una curva su una superficie TriMesh lungo la direzione data.
EGK_EXPORT bool ProjectCurveOnSurfTm( const ICurve& crCrv, const ISurfTriMesh& tmSurf, const Vector3d& vtDir, double dLinTol,
PNT5AXVECTOR& vPt5ax) ;
+1 -1
View File
@@ -30,7 +30,7 @@ EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionRectangle( double dWidth, double dL
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionStadium( double dWidth, double dLen) ; EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionStadium( double dWidth, double dLen) ;
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionDisk( double dRadius) ; EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionDisk( double dRadius) ;
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromFatCurve( ICurve* pCrv, double dRadius, EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromFatCurve( ICurve* pCrv, double dRadius,
bool bSquareEnds, bool bSquareMids, double dOffsLinTol = 10 * EPS_SMALL) ; bool bSquareEnds, bool bSquareMids) ;
// NB : la curva ingrassata non deve autointersecarsi // NB : la curva ingrassata non deve autointersecarsi
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromTriangle( const Triangle3d& Tria) ; EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromTriangle( const Triangle3d& Tria) ;
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromPolyLine( const PolyLine& ContourPolyLine) ; EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromPolyLine( const PolyLine& ContourPolyLine) ;
+4 -6
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2014-2023 // EgalTech 2014-2014
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkStmFromTriangleSoup.h Data : 07.05.23 Versione : 2.5e2 // File : EGkStmFromTriangleSoup.h Data : 19.05.14 Versione : 1.5e7
// Contenuto : Dichiarazione della classe StmFromTriangleSoup. // Contenuto : Dichiarazione della classe StmFromTriangleSoup.
// //
// //
@@ -35,14 +35,12 @@ class StmFromTriangleSoup
EGK_EXPORT ~StmFromTriangleSoup( void) ; EGK_EXPORT ~StmFromTriangleSoup( void) ;
EGK_EXPORT bool Start( int nBuckets = GRID_STD_BUCKETS) ; EGK_EXPORT bool Start( int nBuckets = GRID_STD_BUCKETS) ;
EGK_EXPORT bool AddTriangle( const Triangle3d& Tria) ; EGK_EXPORT bool AddTriangle( const Triangle3d& Tria) ;
EGK_EXPORT bool AddTriangle( const Point3d& ptP0, const Point3d& ptP1, const Point3d& ptP2, EGK_EXPORT bool AddTriangle( const Point3d& ptP0, const Point3d& ptP1, const Point3d& ptP2) ;
double dU0 = -1, double dV0 = -1, double dU1 = -1, double dV1 = -1, double dU2 = -1, double dV2 = -1) ;
EGK_EXPORT bool AddSurfTriMesh( const ISurfTriMesh& stmSource) ;
EGK_EXPORT bool End( void) ; EGK_EXPORT bool End( void) ;
EGK_EXPORT ISurfTriMesh* GetSurf( void) ; EGK_EXPORT ISurfTriMesh* GetSurf( void) ;
private : private :
inline int AddVertex( const Point3d& ptP, double dU = -1, double dV = -1) ; inline int AddVertex( const Point3d& ptP) ;
private : private :
ISurfTriMesh* m_pSTM ; ISurfTriMesh* m_pSTM ;
-29
View File
@@ -1,29 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023-2023
//----------------------------------------------------------------------------
// File : EGkSubtractProjectedFacesOnStmFace.h Data : 26.09.23 Versione : 2.5j1
// Contenuto : Dichiarazione della funzione per proiettare facce di TriMesh su una superficie di TriMesh.
//
//
//
// Modifiche : 26.09.23 RE 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
//-----------------------------------------------------------------------------
EGK_EXPORT bool SubtractProjectedFacesOnStmFace( const ISurfTriMesh& Stm, int nFaceInd, ISURFTMPOVECTOR& vStmOthers,
bool bOCFlag, bool& bExistProjection, ISurfTriMesh*& pStmRes,
int& nNewFaceNbr) ;
-61
View File
@@ -1,61 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023-2023
//----------------------------------------------------------------------------
// File : EGkSurfAux.h Data : 09.08.23 Versione :
// Contenuto : Dichiarazione funzioni ausiliarie per ISurf.
//
//
//
// Modifiche : 09.08.23 DB Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkCurveComposite.h"
#include "/EgtDev/Include/EGkSurf.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
//----------------------------------------------------------------------------
//! Struttura dati per superficie Nurbs
struct SNurbsSurfData
{
int nDegU ; // grado in U
int nDegV ; // grado in V
bool bRat ; // flag di superficie razionale (pesi non tutti unitari)
bool bPeriodicU ; // flag per segnalare vettore dei nodi periodico in U
bool bPeriodicV ; // flag per segnalare vettore dei nodi periodico in V
bool bClosedU ; // flag di superficie chiusa sul parametro U
bool bClosedV ; // flag di superficie chiusa sul parametro V
bool bClampedU ; // flag di superficie clamped sul parametro U
bool bClampedV ; // flag di superficie clamped sul parametro V
bool bExtraKnotes ; // flag per segnalare presenza di nodi extra all'inizio e fine (totale 2)
DBLVECTOR vU ; // vettore dei nodi in U
DBLVECTOR vV ; // vettore dei nodi in V
int nCPU ; // numero di punti di controllo in U
int nCPV ; // numero di punti di controllo in V
PNTVECTOR vCP ; // vettore dei punti di controllo
PNTMATRIX mCP ; // matrice dei punti di controllo
DBLMATRIX mW ; // matrice dei pesi
SNurbsSurfData( void) : nDegU( 0), nDegV( 0), bRat( false), bPeriodicU( false), bPeriodicV( false), bClosedU( false), bClosedV( false),
bClampedU( false), bClampedV( false), bExtraKnotes(false) {}
} ;
// N.B. : in caso la superficie sia razionale i punti di controllo sono in forma NON OMOGENEA [ x, y, z, w] ( dove la forma omogenea è [ w*x, w*y, w*z, w])
// tutte le operazioni richiedono la forma OMOGENEA, finite le quali posso riportarmi alla forma NON OMOGENEA
//----------------------------------------------------------------------------
//! Trasforma una superficie Nurbs standard in una nuova superficie di Bezier semplice o composta
EGK_EXPORT bool NurbsSurfaceCanonicalize( SNurbsSurfData& snData) ;
EGK_EXPORT ISurf* NurbsToBezierSurface( const SNurbsSurfData& snData) ;
-2
View File
@@ -37,7 +37,6 @@ class __declspec( novtable) ISurfBezier : public ISurf
virtual bool SetControlPoint( int nIndU, int nIndV, const Point3d& ptCtrl, double dW) = 0 ; virtual bool SetControlPoint( int nIndU, int nIndV, const Point3d& ptCtrl, double dW) = 0 ;
virtual bool SetControlPoint( int nInd, const Point3d& ptCtrl, double dW) = 0 ; virtual bool SetControlPoint( int nInd, const Point3d& ptCtrl, double dW) = 0 ;
virtual bool SetTrimRegion( const ISurfFlatRegion& sfrTrimReg) = 0 ; virtual bool SetTrimRegion( const ISurfFlatRegion& sfrTrimReg) = 0 ;
virtual ISurfFlatRegion* GetTrimRegion( void) const = 0 ;
virtual bool GetInfo( int& nDegU, int& nDegV, int& nSpanU, int& nSpanV, bool& bIsRat, bool& bTrimmed) const = 0 ; virtual bool GetInfo( int& nDegU, int& nDegV, int& nSpanU, int& nSpanV, bool& bIsRat, bool& bTrimmed) const = 0 ;
virtual const Point3d& GetControlPoint( int nIndU, int nIndV, bool* pbOk) const = 0 ; virtual const Point3d& GetControlPoint( int nIndU, int nIndV, bool* pbOk) const = 0 ;
virtual const Point3d& GetControlPoint( int nInd, bool* pbOk) const = 0 ; virtual const Point3d& GetControlPoint( int nInd, bool* pbOk) const = 0 ;
@@ -58,7 +57,6 @@ class __declspec( novtable) ISurfBezier : public ISurf
virtual bool GetControlCurveOnU( int nIndV, PolyLine& plCtrlU) const = 0 ; virtual bool GetControlCurveOnU( int nIndV, PolyLine& plCtrlU) const = 0 ;
virtual bool GetControlCurveOnV( int nIndU, PolyLine& plCtrlV) const = 0 ; virtual bool GetControlCurveOnV( int nIndU, PolyLine& plCtrlV) const = 0 ;
virtual const ISurfTriMesh* GetAuxSurf( void) const = 0 ; virtual const ISurfTriMesh* GetAuxSurf( void) const = 0 ;
virtual bool GetLeaves ( std::vector<std::tuple<int, Point3d, Point3d>>& vLeaves) const = 0 ;
} ; } ;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
+1 -5
View File
@@ -17,7 +17,6 @@
#include "/EgtDev/Include/EGkIntersCurves.h" #include "/EgtDev/Include/EGkIntersCurves.h"
#include "/EgtDev/Include/EgkCurveComposite.h" #include "/EgtDev/Include/EgkCurveComposite.h"
#include "/EgtDev/Include/EgtPointerOwner.h" #include "/EgtDev/Include/EgtPointerOwner.h"
#include "/EgtDev/Include/EGkVoronoi.h"
class ISurfTriMesh ; class ISurfTriMesh ;
@@ -37,7 +36,6 @@ class __declspec( novtable) ISurfFlatRegion : public ISurf
virtual bool Subtract( const ISurfFlatRegion& Other) = 0 ; virtual bool Subtract( const ISurfFlatRegion& Other) = 0 ;
virtual bool Intersect( const ISurfFlatRegion& Other) = 0 ; virtual bool Intersect( const ISurfFlatRegion& Other) = 0 ;
virtual bool Offset( double dDist, int nType) = 0 ; virtual bool Offset( double dDist, int nType) = 0 ;
virtual ISurfFlatRegion* CreateOffsetSurf( double dDist, int nType) const = 0 ;
virtual bool GetGrossArea( double& dArea) const = 0 ; virtual bool GetGrossArea( double& dArea) const = 0 ;
virtual const Point3d& GetPlanePoint( void) const = 0 ; virtual const Point3d& GetPlanePoint( void) const = 0 ;
virtual const Vector3d& GetNormVersor( void) const = 0 ; virtual const Vector3d& GetNormVersor( void) const = 0 ;
@@ -50,9 +48,7 @@ class __declspec( novtable) ISurfFlatRegion : public ISurf
virtual bool GetChunkCentroid( int nChunk, Point3d& ptCen) const ; virtual bool GetChunkCentroid( int nChunk, Point3d& ptCen) const ;
virtual bool GetCurveClassification( const ICurve& Crv, double dLenMin, CRVCVECTOR& ccClass) const = 0 ; virtual bool GetCurveClassification( const ICurve& Crv, double dLenMin, CRVCVECTOR& ccClass) const = 0 ;
virtual int GetChunkSimpleClassification( int nChunk, const ISurfFlatRegion& Other, int nOthChunk) const ; // compare only outsides virtual int GetChunkSimpleClassification( int nChunk, const ISurfFlatRegion& Other, int nOthChunk) const ; // compare only outsides
virtual Voronoi* GetVoronoiObject( void) const = 0 ; virtual bool GetZigZagInfill( double dSideStep, bool bAllowStepCorrection, bool bInvert, ICRVCOMPOPOVECTOR& vpCrvs) const = 0 ;
virtual bool CalcVoronoiDiagram( ICURVEPOVECTOR& vCrvs, int nBound = VORONOI_STD_BOUND) const = 0 ;
virtual bool CalcMedialAxis( ICURVEPOVECTOR& vCrvs, int nSide = Voronoi::WMAT_LEFT) const = 0 ;
} ; } ;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
+4 -12
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2014-2023 // EgalTech 2014-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkSurfTriMesh.h Data : 10.12.23 Versione : 2.5l2 // File : EGkSurfTriMesh.h Data : 10.10.22 Versione : 2.4i4
// Contenuto : Dichiarazione della interfaccia ISurfTriMesh. // Contenuto : Dichiarazione della interfaccia ISurfTriMesh.
// //
// //
@@ -43,8 +43,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
virtual void SetLinearTolerance( double dLinTol) = 0 ; virtual void SetLinearTolerance( double dLinTol) = 0 ;
virtual void SetBoundaryAngle( double dBoundaryAngDeg) = 0 ; virtual void SetBoundaryAngle( double dBoundaryAngDeg) = 0 ;
virtual void SetSmoothAngle( double dSmoothAngDeg) = 0 ; virtual void SetSmoothAngle( double dSmoothAngDeg) = 0 ;
virtual int AddVertex( const Point3d& ptVert, double dU = -1, double dV = -1) = 0 ; virtual int AddVertex( const Point3d& ptVert) = 0 ;
virtual bool MoveVertex( int nInd, const Point3d& ptNewVert) = 0 ;
virtual int AddTriangle( const int nIdVert[3], int nTFlag = 0) = 0 ; virtual int AddTriangle( const int nIdVert[3], int nTFlag = 0) = 0 ;
virtual bool RemoveTriangle( int nId) = 0 ; virtual bool RemoveTriangle( int nId) = 0 ;
virtual bool AdjustTopology( void) = 0 ; virtual bool AdjustTopology( void) = 0 ;
@@ -68,7 +67,6 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
virtual double GetLinearTolerance( void) const = 0 ; virtual double GetLinearTolerance( void) const = 0 ;
virtual double GetSmoothAngle( void) const = 0 ; virtual double GetSmoothAngle( void) const = 0 ;
virtual bool GetVertex( int nId, Point3d& ptP) const = 0 ; virtual bool GetVertex( int nId, Point3d& ptP) const = 0 ;
virtual bool GetVertexParam( int nId, double& dU, double& dV) const = 0 ;
virtual int GetFirstVertex( Point3d& ptP) const = 0 ; virtual int GetFirstVertex( Point3d& ptP) const = 0 ;
virtual int GetNextVertex( int nId, Point3d& ptP) const = 0 ; virtual int GetNextVertex( int nId, Point3d& ptP) const = 0 ;
virtual bool GetTriangle( int nId, int nIdVert[3]) const = 0 ; virtual bool GetTriangle( int nId, int nIdVert[3]) const = 0 ;
@@ -86,12 +84,11 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
virtual bool GetTriangleSmoothNormals( int nId, TriNormals3d& TNrms) const = 0 ; virtual bool GetTriangleSmoothNormals( int nId, TriNormals3d& TNrms) const = 0 ;
virtual ISurfTriMesh* CloneTriangle( int nTria) const = 0 ; virtual ISurfTriMesh* CloneTriangle( int nTria) const = 0 ;
virtual bool GetLoops( POLYLINEVECTOR& vPL) const = 0 ; virtual bool GetLoops( POLYLINEVECTOR& vPL) const = 0 ;
virtual bool GetSilhouette( const Vector3d& vtDir, double dTol, POLYLINEVECTOR& vPL, bool bAllTria = false) const = 0 ; virtual bool GetSilhouette( const Vector3d& vtDir, double dTol, POLYLINEVECTOR& vPL) const = 0 ;
virtual int GetFacetCount( void) const = 0 ; virtual int GetFacetCount( void) const = 0 ;
virtual int GetFacetSize( void) const = 0 ; virtual int GetFacetSize( void) const = 0 ;
virtual int GetFacetFromTria( int nT) const = 0 ; virtual int GetFacetFromTria( int nT) const = 0 ;
virtual bool GetAllTriaInFacet( int nF, INTVECTOR& vT) const = 0 ; virtual bool GetAllTriaInFacet( int nF, INTVECTOR& vT) const = 0 ;
virtual bool GetAllVertInFacet( int nF, INTVECTOR& vVert) const = 0 ;
virtual bool GetFacetLoops( int nF, POLYLINEVECTOR& vPL) const = 0 ; virtual bool GetFacetLoops( int nF, POLYLINEVECTOR& vPL) const = 0 ;
virtual bool GetFacetAdjacencies( int nF, INTMATRIX& vAdj) const = 0 ; virtual bool GetFacetAdjacencies( int nF, INTMATRIX& vAdj) const = 0 ;
virtual bool GetFacetNearestEndPoint( int nF, const Point3d& ptNear, Point3d& ptEnd, Vector3d& vtN) const = 0 ; virtual bool GetFacetNearestEndPoint( int nF, const Point3d& ptNear, Point3d& ptEnd, Vector3d& vtN) const = 0 ;
@@ -105,11 +102,6 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
virtual bool SwapFacets( int nF1, int nF2) = 0 ; virtual bool SwapFacets( int nF1, int nF2) = 0 ;
virtual bool GetFacetLocalBBox( int nF, BBox3d& b3Loc, int nFlag = BBF_STANDARD) const = 0 ; virtual bool GetFacetLocalBBox( int nF, BBox3d& b3Loc, int nFlag = BBF_STANDARD) const = 0 ;
virtual bool GetFacetBBox( int nF, const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const = 0 ; virtual bool GetFacetBBox( int nF, const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const = 0 ;
virtual int GetEdgeCount( void) const = 0 ;
virtual int GetEdgeSize( void) const = 0 ;
virtual bool GetEdge( int nInd, int& nV1, int& nV2, int& nFl, int& nFr, double& dAng) const = 0 ;
virtual bool GetEdge( int nInd, Point3d& ptP1, Point3d& ptP2, double& dAng) const = 0 ;
virtual bool GetEdges( ICURVEPOVECTOR& vpCurve) const = 0 ;
virtual bool Cut( const Plane3d& plPlane, bool bSaveOnEq) = 0 ; virtual bool Cut( const Plane3d& plPlane, bool bSaveOnEq) = 0 ;
virtual bool GeneralizedCut( const ICurve& cvCurve, bool bSaveOnEq) = 0 ; virtual bool GeneralizedCut( const ICurve& cvCurve, bool bSaveOnEq) = 0 ;
virtual bool Add( const ISurfTriMesh& Other) = 0 ; virtual bool Add( const ISurfTriMesh& Other) = 0 ;
+19 -25
View File
@@ -1,14 +1,13 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2013-2023 // EgalTech 2013-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkVector3d.h Data : 23.08.23 Versione : 2.5h2 // File : EGkVector3d.h Data : 27.08.22 Versione : 2.4h2
// Contenuto : Dichiarazione della classe Vettore 3d. // Contenuto : Dichiarazione della classe Vettore 3d.
// //
// //
// //
// Modifiche : 31.12.13 DS Creazione modulo. // Modifiche : 31.12.13 DS Creazione modulo.
// 14.12.19 DS Aggiunti confronti con Epsilon. // 14.12.19 DS Aggiunti confronti con Epsilon.
// 23.08.23 DS Aggiunto V_INVALID.
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -45,9 +44,6 @@ class EGK_EXPORT Vector3d
void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ; } void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ; }
public : public :
//! Verifica la validità delle coordinate del vettore
bool IsValid( void) const
{ return ( std::isfinite( x) && std::isfinite( y) && std::isfinite( z)) ; }
//! Quadrato della lunghezza del vettore //! Quadrato della lunghezza del vettore
double SqLen( void) const double SqLen( void) const
{ return ( x * x + y * y + z * z) ; } { return ( x * x + y * y + z * z) ; }
@@ -114,16 +110,16 @@ class EGK_EXPORT Vector3d
{ return ( ! IsX() && ! IsY() && ! IsZ()) ; } { return ( ! IsX() && ! IsY() && ! IsZ()) ; }
//! Somma sul posto con altro vettore //! Somma sul posto con altro vettore
Vector3d& operator +=( const Vector3d& vtV) Vector3d& operator +=( const Vector3d& vtV)
{ x += vtV.x ; y += vtV.y ; z += vtV.z ; return *this ; } { this->x += vtV.x ; this->y += vtV.y ; this->z += vtV.z ; return *this ; }
//! Sottrazione sul posto con altro vettore //! Sottrazione sul posto con altro vettore
Vector3d& operator -=( const Vector3d& vtV) Vector3d& operator -=( const Vector3d& vtV)
{ x -= vtV.x ; y -= vtV.y ; z -= vtV.z ; return *this ; } { this->x -= vtV.x ; this->y -= vtV.y ; this->z -= vtV.z ; return *this ; }
//! Moltiplicazione sul posto con un numero //! Moltiplicazione sul posto con un numero
Vector3d& operator *=( double dMul) Vector3d& operator *=( double dMul)
{ x *= dMul ; y *= dMul ; z *= dMul ; return *this ; } { this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
//! Divisione sul posto con un numero //! Divisione sul posto con un numero
Vector3d& operator /=( double dDiv) Vector3d& operator /=( double dDiv)
{ double dMul = 1 / dDiv ; x *= dMul ; y *= dMul ; z *= dMul ; return *this ; } { double dMul = 1 / dDiv ; this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
//! Ritorna la rappresentazione in coordinate sferiche //! Ritorna la rappresentazione in coordinate sferiche
void ToSpherical( double* pdLen, double* pdAngVertDeg, double* pdAngOrizzDeg) const ; void ToSpherical( double* pdLen, double* pdAngVertDeg, double* pdAngOrizzDeg) const ;
//! Inversione del vettore //! Inversione del vettore
@@ -171,8 +167,6 @@ class EGK_EXPORT Vector3d
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Vettori notevoli // Vettori notevoli
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Vettore non valido
const Vector3d V_INVALID( NAN, NAN, NAN) ;
//! Vettore nullo //! Vettore nullo
const Vector3d V_NULL( 0, 0, 0) ; const Vector3d V_NULL( 0, 0, 0) ;
//! Versore asse X //! Versore asse X
@@ -205,7 +199,7 @@ EGK_EXPORT Vector3d FromNearestHorizontalOrtho( const Vector3d& vtV, const Vecto
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Opposto di un vettore //! Opposto di un vettore
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator-( const Vector3d& vtV) operator-( const Vector3d& vtV)
{ {
return ( Vector3d( - vtV.x, - vtV.y, - vtV.z)) ; return ( Vector3d( - vtV.x, - vtV.y, - vtV.z)) ;
@@ -214,7 +208,7 @@ operator-( const Vector3d& vtV)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Somma di due vettori //! Somma di due vettori
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator+( const Vector3d& vtV1, const Vector3d& vtV2) operator+( const Vector3d& vtV1, const Vector3d& vtV2)
{ {
return ( Vector3d( vtV1.x + vtV2.x, vtV1.y + vtV2.y, vtV1.z + vtV2.z)) ; return ( Vector3d( vtV1.x + vtV2.x, vtV1.y + vtV2.y, vtV1.z + vtV2.z)) ;
@@ -223,7 +217,7 @@ operator+( const Vector3d& vtV1, const Vector3d& vtV2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Sottrazione di due vettori //! Sottrazione di due vettori
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator-( const Vector3d& vtV1, const Vector3d& vtV2) operator-( const Vector3d& vtV1, const Vector3d& vtV2)
{ {
return ( Vector3d( vtV1.x - vtV2.x, vtV1.y - vtV2.y, vtV1.z - vtV2.z)) ; return ( Vector3d( vtV1.x - vtV2.x, vtV1.y - vtV2.y, vtV1.z - vtV2.z)) ;
@@ -232,7 +226,7 @@ operator-( const Vector3d& vtV1, const Vector3d& vtV2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Prodotto con uno scalare //! Prodotto con uno scalare
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator*( const Vector3d& vtV, double dMul) operator*( const Vector3d& vtV, double dMul)
{ {
return ( Vector3d( vtV.x * dMul, vtV.y * dMul, vtV.z * dMul)) ; return ( Vector3d( vtV.x * dMul, vtV.y * dMul, vtV.z * dMul)) ;
@@ -241,7 +235,7 @@ operator*( const Vector3d& vtV, double dMul)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Prodotto di uno scalare con un vettore //! Prodotto di uno scalare con un vettore
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator*( double dMul, const Vector3d& vtV) operator*( double dMul, const Vector3d& vtV)
{ {
return ( Vector3d( vtV.x * dMul, vtV.y * dMul, vtV.z * dMul)) ; return ( Vector3d( vtV.x * dMul, vtV.y * dMul, vtV.z * dMul)) ;
@@ -250,7 +244,7 @@ operator*( double dMul, const Vector3d& vtV)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Divisione con uno scalare //! Divisione con uno scalare
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator/( const Vector3d& vtV, double dDiv) operator/( const Vector3d& vtV, double dDiv)
{ {
double dMul = 1 / dDiv ; double dMul = 1 / dDiv ;
@@ -278,7 +272,7 @@ ScalarXY( const Vector3d& vtV1, const Vector3d& vtV2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Prodotto vettoriale //! Prodotto vettoriale
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
operator^( const Vector3d& vtV1, const Vector3d& vtV2) operator^( const Vector3d& vtV1, const Vector3d& vtV2)
{ {
return ( Vector3d( vtV1.y * vtV2.z - vtV1.z * vtV2.y, return ( Vector3d( vtV1.y * vtV2.z - vtV1.z * vtV2.y,
@@ -298,7 +292,7 @@ CrossXY( const Vector3d& vtV1, const Vector3d& vtV2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Somma mediata di due vettori (baricentrica) //! Somma mediata di due vettori (baricentrica)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff = 0.5) Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff = 0.5)
{ {
return ( Vector3d( ( 1 - dCoeff) * vtV1.x + dCoeff * vtV2.x, return ( Vector3d( ( 1 - dCoeff) * vtV1.x + dCoeff * vtV2.x,
@@ -309,7 +303,7 @@ Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff = 0.5)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Restituisce il componente del vettore parallelo a quello di riferimento //! Restituisce il componente del vettore parallelo a quello di riferimento
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
ParallCompo( const Vector3d& vtV, const Vector3d& vtRef) ParallCompo( const Vector3d& vtV, const Vector3d& vtRef)
{ {
if ( vtRef.IsNormalized()) if ( vtRef.IsNormalized())
@@ -321,7 +315,7 @@ ParallCompo( const Vector3d& vtV, const Vector3d& vtRef)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Restituisce il componente del vettore ortogonale a quello di riferimento //! Restituisce il componente del vettore ortogonale a quello di riferimento
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
OrthoCompo( const Vector3d& vtV, const Vector3d& vtRef) OrthoCompo( const Vector3d& vtV, const Vector3d& vtRef)
{ {
if ( vtRef.IsNormalized()) if ( vtRef.IsNormalized())
@@ -432,7 +426,7 @@ AreOrthoExact( const Vector3d& vtV1, const Vector3d& vtV2)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Restituisce una copia in locale del vettore passato //! Restituisce una copia in locale del vettore passato
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
GetToLoc( const Vector3d& vtV, const Frame3d& frRef) GetToLoc( const Vector3d& vtV, const Frame3d& frRef)
{ {
Vector3d vtW = vtV ; Vector3d vtW = vtV ;
@@ -443,7 +437,7 @@ GetToLoc( const Vector3d& vtV, const Frame3d& frRef)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Restituisce una copia in globale del vettore passato //! Restituisce una copia in globale del vettore passato
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
GetToGlob( const Vector3d& vtV, const Frame3d& frRef) GetToGlob( const Vector3d& vtV, const Frame3d& frRef)
{ {
Vector3d vtW = vtV ; Vector3d vtW = vtV ;
@@ -454,7 +448,7 @@ GetToGlob( const Vector3d& vtV, const Frame3d& frRef)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
//! Restituisce una copia dal primo al secondo riferimento del vettore passato //! Restituisce una copia dal primo al secondo riferimento del vettore passato
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const Vector3d inline Vector3d
GetLocToLoc( const Vector3d& vtV, const Frame3d& frOri, const Frame3d& frDest) GetLocToLoc( const Vector3d& vtV, const Frame3d& frOri, const Frame3d& frDest)
{ {
Vector3d vtW = vtV ; Vector3d vtW = vtV ;
+2 -4
View File
@@ -1,13 +1,12 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2015-2023 // EgalTech 2015-2020
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGkVolZmap.h Data : 12.09.23 Versione : 2.5i1 // File : EGkVolZmap.h Data : 12.05.19 Versione : 2.2k1
// Contenuto : Dichiarazione della interfaccia IVolZmap. // Contenuto : Dichiarazione della interfaccia IVolZmap.
// //
// //
// //
// Modifiche : 22.01.15 DS Creazione modulo. // Modifiche : 22.01.15 DS Creazione modulo.
// 12.09.23 DS Aggiunto metodo IsTriDexel.
// //
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -61,7 +60,6 @@ class __declspec( novtable) IVolZmap : public IGeoObj
virtual bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const = 0 ; virtual bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const = 0 ;
virtual bool GetEdges( ICURVEPOVECTOR& vpCurve) const = 0 ; virtual bool GetEdges( ICURVEPOVECTOR& vpCurve) const = 0 ;
virtual bool GetVolume( double& dVol) const = 0 ; virtual bool GetVolume( double& dVol) const = 0 ;
virtual bool IsTriDexel( void) const = 0 ;
virtual bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const = 0 ; virtual bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const = 0 ;
virtual int GetResolution( void) const = 0 ; virtual int GetResolution( void) const = 0 ;
virtual bool ChangeResolution( int nDexvoxRatio) = 0 ; virtual bool ChangeResolution( int nDexvoxRatio) = 0 ;
-93
View File
@@ -1,93 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2023
//----------------------------------------------------------------------------
// File : EGkVoronoi.h Data : 23.11.23 Versione : 2.5k5
// Contenuto : Dichiarazione della classe Voronoi con libreria VRONI
//
//
//
// Modifiche : 23.11.23 SP Creazione modulo.
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkFrame3d.h"
#include "/EgtDev/Include/EGkCurve.h"
#include "/EgtDev/Include/EGkCurveArc.h"
#include "/EgtDev/Include/EGkCurveBezier.h"
#include "/EgtDev/Include/EGkCurveComposite.h"
#include "/EgtDev/Include/EGkCurveLine.h"
#include "/EgtDev/Extern/vroni/Include/vroni_object.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
static const int VORONOI_STD_BOUND = 3 ;
static const double VRONI_OFFS_TOL = 1e-14 ;
//-------------------------- Forward Definitions -------------------------------
class ISurfFlatRegion ;
//----------------------------------------------------------------------------
class Voronoi
{
public :
// costanti per il lato del medial axis
enum WMATSide { WMAT_LEFT = 0,
WMAT_RIGHT = 1,
WMAT_BOTHSIDES = 2} ;
public :
EGK_EXPORT Voronoi( void)
: m_vroni( nullptr), m_nBound( VORONOI_STD_BOUND), m_bVDComputed( false), m_bAllowAdd( true) {} ;
EGK_EXPORT Voronoi( const ICurve* pCrv, bool bAllowAdd) ;
EGK_EXPORT Voronoi( const ISurfFlatRegion* pSfr, bool bAllowAdd) ;
EGK_EXPORT ~Voronoi( void) ;
public :
EGK_EXPORT bool AddCurve( const ICurve* pCrv) ;
EGK_EXPORT bool AddSurfFlatRegion( const ISurfFlatRegion* pSfr) ;
EGK_EXPORT ICurve* GetCurve( int nId) const ;
EGK_EXPORT int GetCurveCount( void) const
{ return m_vpCrvs.size() ; } ;
EGK_EXPORT bool CalcVoronoiDiagram( ICURVEPOVECTOR& vCrvs, int nBound = VORONOI_STD_BOUND) ;
EGK_EXPORT bool CalcOffset( ICURVEPOVECTOR& vOffs, double dOffs, int nType) ;
EGK_EXPORT bool CalcFatCurve( ICURVEPOVECTOR& vOffs, double dOffs, bool bSquareEnds, bool bSquareMids) ;
EGK_EXPORT bool CalcMedialAxis( ICURVEPOVECTOR& vCrvs, int nSide) ;
private :
bool Clear( void) ;
bool IsValid( void) const
{ return m_vroni != nullptr ; } ;
bool AddCurveToVroni( const ICurve * pCrv) ;
bool AddLineToVroni( const ICurveLine* pLine, int& nVroniCrv, int nLoopId, int nCrvId = 0, Point3d ptForcedEnd = P_INVALID) ;
bool AddArcToVroni( const ICurveArc* pArc, int& nVroniCrv, int nLoopId, int nCrvId = 0, Point3d ptForcedEnd = P_INVALID) ;
bool AddCompoToVroni( const ICurveComposite* pCompo, int& nCrv, int nLoopId) ;
bool AddBezierToVroni( const ICurveBezier* pBezier, int& nVroniCrv, int nLoopId) ;
bool CalcVoronoi( int nBound = VORONOI_STD_BOUND) ;
bool CalcVroniOffset( ICRVCOMPOPLIST& vOffs, double dOffs, bool bRightOffs, bool bLeftOffs) ;
bool UpdateVoronoi( double dOffs) ;
bool VerifyCurvesValidityForOffset( void) ;
bool AdjustOpenOffsetCurve( ICurveComposite& pCompo, double dOffs) ;
bool AdjustOffsetStart( ICurveComposite& pCompo) ;
int GetOffsetCurveSide( const ICurveComposite& pOffs, int nCrv) ;
ICurve* GetBisectorCurve( int i) ;
private :
vroniObject* m_vroni ; // oggetto base della libreria vroni
Frame3d m_Frame ; // frame in cui è espresso l'oggetto vroni
int m_nBound ; // bound associato al diagramma di Voronoi corrente
CICURVEPVECTOR m_vpCrvs ; // curve associate al Voronoi ( espresse rispetto a m_Frame)
BBox3d m_bBox ; // box degli oggetti associati al Voronoi
bool m_bVDComputed ; // indica se il diagramma di Voronoi è stato calcolato
bool m_bAllowAdd ; // indica se possibile aggiungere altre curve/superifici dopo aver creato l'oggetto Voronoi
} ;
-6
View File
@@ -28,9 +28,3 @@ class ILogger ;
EGN_EXPORT const char* GetEGnVersion( void) ; EGN_EXPORT const char* GetEGnVersion( void) ;
// permette di impostare il logger per la Dll // permette di impostare il logger per la Dll
EGN_EXPORT void SetEGnLogger( ILogger* pLogger) ; EGN_EXPORT void SetEGnLogger( ILogger* pLogger) ;
// imposta la chiave di protezione
EGN_EXPORT void SetEGnKey( const std::string& sKey) ;
// imposta il tipo di chiave di protezione
EGN_EXPORT void SetEGnKeyType( int nType) ;
// imposta se chiave hardware di rete
EGN_EXPORT void SetEGnNetHwKey( bool bNetHwKey) ;
-36
View File
@@ -1,36 +0,0 @@
//----------------------------------------------------------------------------
// EgalTech 2023-2023
//----------------------------------------------------------------------------
// File : EGnGetKeyData.h Data : 29.05.23 Versione : 2.5e3
// Contenuto : Prototipo funzioni gestione dati chiavi di protezione.
//
//
//
// Modifiche : 29.05.23 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#define NOMINMAX
#include <windows.h>
#include <string>
//----------------------- Macro per import/export ----------------------------
#undef EGN_EXPORT
#if defined( I_AM_EGN) // da definirsi solo nella DLL
#define EGN_EXPORT __declspec( dllexport)
#else
#define EGN_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
EGN_EXPORT bool SetEGnKeyLevel( int nRet, int nKeyLev, int nKeyExpDays) ;
EGN_EXPORT int GetEGnKeyLevel( int nProd, int nVer, int nLev, int& nKeyLev, int& nKeyExpDays) ;
EGN_EXPORT bool SetEGnKeyOptions( int nRet, int nKeyOpt1, int nKeyOpt2, int nKeyOptExpDays) ;
EGN_EXPORT int GetEGnKeyOptions( int nProd, int nVer, int nLev, unsigned int& nKeyOpt1, unsigned int& nKeyOpt2, int& nKeyOptExpDays) ;
// Interpretazione della stringa di LockId
EGN_EXPORT bool GetLockIdStringInfo( const std::string& sLockId, int& nKeyType, bool& bNetKey, int& nUserId) ;
EGN_EXPORT bool GetLockIdStringNetData( const std::string& sLockId, std::string& sAddrPort) ;
+4 -4
View File
@@ -196,11 +196,11 @@ EGN_EXPORT bool FromString( const std::string& sVal, STRVECTOR& vsVal) ;
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline const std::string inline const std::string
ToString( int nVal, int nPrec = 1, int nRadix = 10) ToString( int nVal, int nPrec = 1)
{ {
// eseguo conversione // eseguo conversione
char szBuff[24] ; char szBuff[24] ;
int nErr = _itoa_s( nVal, szBuff, nRadix) ; int nErr = _itoa_s( nVal, szBuff, 10) ;
// se errore, ritorno stringa opportuna // se errore, ritorno stringa opportuna
if ( nErr != 0) { if ( nErr != 0) {
_ASSERT( 0) ; _ASSERT( 0) ;
@@ -216,11 +216,11 @@ ToString( int nVal, int nPrec = 1, int nRadix = 10)
return sBuff ; return sBuff ;
} }
inline const std::string inline const std::string
ToString( unsigned int nVal, int nPrec = 1, int nRadix = 10) ToString( unsigned int nVal, int nPrec = 1)
{ {
// eseguo conversione // eseguo conversione
char szBuff[24] ; char szBuff[24] ;
int nErr = _ultoa_s( nVal, szBuff, nRadix) ; int nErr = _ui64toa_s( nVal, szBuff, 24, 10) ;
// se errore, ritorno stringa opportuna // se errore, ritorno stringa opportuna
if ( nErr != 0) { if ( nErr != 0) {
_ASSERT( 0) ; _ASSERT( 0) ;
+2 -4
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2014-2024 // EgalTech 2014-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EGrScene.h Data : 09.01.24 Versione : 2.5l7 // File : EGrScene.h Data : 22.10.22 Versione : 2.4j1
// Contenuto : Dichiarazione della interfaccia IEGrScene per scena OpenGL. // Contenuto : Dichiarazione della interfaccia IEGrScene per scena OpenGL.
// //
// //
@@ -93,8 +93,6 @@ class IEGrScene
// Grid // Grid
virtual bool SetGridShow( bool bShowGrid, bool bShowFrame) = 0 ; virtual bool SetGridShow( bool bShowGrid, bool bShowFrame) = 0 ;
virtual bool SetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) = 0 ; virtual bool SetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) = 0 ;
virtual bool SetGridGeoAdv( double dSnapStep, int nMinLineSstep, int nMajLineSstep,
double dXmin, double dXmax, double dYmin, double dYmax) = 0 ;
virtual bool SetGridColor( Color colMinLine, Color colMajLine) = 0 ; virtual bool SetGridColor( Color colMinLine, Color colMajLine) = 0 ;
virtual void GetGridParam( double& dSnapStep, int& nExtStep) const = 0 ; virtual void GetGridParam( double& dSnapStep, int& nExtStep) const = 0 ;
virtual bool GetShowGrid( void) = 0 ; virtual bool GetShowGrid( void) = 0 ;
+2 -12
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2014-2024 // EgalTech 2014-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EInAPI.h Data : 09.01.24 Versione : 2.5l6 // File : EInAPI.h Data : 06.05.22 Versione : 2.4e1
// Contenuto : API (application programming interface). // Contenuto : API (application programming interface).
// //
// //
@@ -34,8 +34,6 @@ extern "C" {
// General // General
EIN_EXPORT BOOL __stdcall EgtInit( int nDebug, const wchar_t* wsLogFile, const wchar_t* wsLogMsg) ; EIN_EXPORT BOOL __stdcall EgtInit( int nDebug, const wchar_t* wsLogFile, const wchar_t* wsLogMsg) ;
EIN_EXPORT BOOL __stdcall EgtExit( void) ; EIN_EXPORT BOOL __stdcall EgtExit( void) ;
typedef bool (__stdcall * pfOnTerminateProcess) ( int) ;
EIN_EXPORT BOOL __stdcall EgtSetOnTerminateProcess( pfOnTerminateProcess pFun) ;
EIN_EXPORT BOOL __stdcall EgtSetUserLevel( int nUserLev) ; EIN_EXPORT BOOL __stdcall EgtSetUserLevel( int nUserLev) ;
EIN_EXPORT int __stdcall EgtGetUserLevel( void) ; EIN_EXPORT int __stdcall EgtGetUserLevel( void) ;
EIN_EXPORT BOOL __stdcall EgtSetKey( const wchar_t* wsKey) ; EIN_EXPORT BOOL __stdcall EgtSetKey( const wchar_t* wsKey) ;
@@ -52,7 +50,6 @@ EIN_EXPORT void __stdcall EgtDisableCommandLogger( void) ;
EIN_EXPORT BOOL __stdcall EgtGetVersionInfo( wchar_t*& wsVer) ; EIN_EXPORT BOOL __stdcall EgtGetVersionInfo( wchar_t*& wsVer) ;
EIN_EXPORT BOOL __stdcall EgtGetKeyInfo( wchar_t*& wsKey) ; EIN_EXPORT BOOL __stdcall EgtGetKeyInfo( wchar_t*& wsKey) ;
EIN_EXPORT BOOL __stdcall EgtSetLockType( int nType) ; EIN_EXPORT BOOL __stdcall EgtSetLockType( int nType) ;
EIN_EXPORT BOOL __stdcall EgtSetLockId( const wchar_t* wsLockId) ;
EIN_EXPORT BOOL __stdcall EgtSetNetHwKey( BOOL bNetHwKey) ; EIN_EXPORT BOOL __stdcall EgtSetNetHwKey( BOOL bNetHwKey) ;
EIN_EXPORT BOOL __stdcall EgtGetKeyLevel( int nProd, int nVer, int nLev, int* pnKLev) ; EIN_EXPORT BOOL __stdcall EgtGetKeyLevel( int nProd, int nVer, int nLev, int* pnKLev) ;
EIN_EXPORT BOOL __stdcall EgtGetKeyOptions( int nProd, int nVer, int nLev, unsigned int* pnOpt2) ; EIN_EXPORT BOOL __stdcall EgtGetKeyOptions( int nProd, int nVer, int nLev, unsigned int* pnOpt2) ;
@@ -115,13 +112,11 @@ EIN_EXPORT BOOL __stdcall EgtImportDxf( const wchar_t* wsFilePath, double dScale
EIN_EXPORT BOOL __stdcall EgtImportPnt( const wchar_t* wsFilePath, int nFlag) ; EIN_EXPORT BOOL __stdcall EgtImportPnt( const wchar_t* wsFilePath, int nFlag) ;
EIN_EXPORT BOOL __stdcall EgtImportStl( const wchar_t* wsFilePath, double dScaleFactor) ; EIN_EXPORT BOOL __stdcall EgtImportStl( const wchar_t* wsFilePath, double dScaleFactor) ;
EIN_EXPORT BOOL __stdcall EgtImport3MF( const wchar_t* wsFilePath) ; EIN_EXPORT BOOL __stdcall EgtImport3MF( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtImport3dm( const wchar_t* wsFilePath) ;
EIN_EXPORT BOOL __stdcall EgtAdvancedImportIsEnabled( void) ; EIN_EXPORT BOOL __stdcall EgtAdvancedImportIsEnabled( void) ;
EIN_EXPORT BOOL __stdcall EgtAdvancedImport( const wchar_t* wsFilePath, double dLinToler) ; EIN_EXPORT BOOL __stdcall EgtAdvancedImport( const wchar_t* wsFilePath, double dLinToler) ;
EIN_EXPORT BOOL __stdcall EgtExportDxf( int nId, const wchar_t* wsFilePath, int nFlag, int nFilter) ; EIN_EXPORT BOOL __stdcall EgtExportDxf( int nId, const wchar_t* wsFilePath, int nFlag, int nFilter) ;
EIN_EXPORT BOOL __stdcall EgtExportStl( int nId, const wchar_t* wsFilePath, int nFilter) ; EIN_EXPORT BOOL __stdcall EgtExportStl( int nId, const wchar_t* wsFilePath, int nFilter) ;
EIN_EXPORT BOOL __stdcall EgtExport3MF( int nId, const wchar_t* wsFilePath, int nFilter) ; EIN_EXPORT BOOL __stdcall EgtExport3MF( int nId, const wchar_t* wsFilePath, int nFilter) ;
EIN_EXPORT BOOL __stdcall EgtExport3dm( int nId, const wchar_t* wsFilePath, int nFilter) ;
EIN_EXPORT BOOL __stdcall EgtExportSvg( int nId, const wchar_t* wsFilePath, int nFilter) ; EIN_EXPORT BOOL __stdcall EgtExportSvg( int nId, const wchar_t* wsFilePath, int nFilter) ;
EIN_EXPORT BOOL __stdcall EgtSetThreeJSLibDir( const wchar_t* wsThreeJSLibDir) ; EIN_EXPORT BOOL __stdcall EgtSetThreeJSLibDir( const wchar_t* wsThreeJSLibDir) ;
EIN_EXPORT BOOL __stdcall EgtExportThreeJS( int nId, const wchar_t* wsFilePath, int nFilter) ; EIN_EXPORT BOOL __stdcall EgtExportThreeJS( int nId, const wchar_t* wsFilePath, int nFilter) ;
@@ -339,8 +334,6 @@ EIN_EXPORT BOOL __stdcall EgtSelectPathObjs( int nId, BOOL bHaltOnFork) ;
EIN_EXPORT int __stdcall EgtDuploNew( int nSouId) ; EIN_EXPORT int __stdcall EgtDuploNew( int nSouId) ;
EIN_EXPORT BOOL __stdcall EgtDuploCount( int nSouId, int* pnCount) ; EIN_EXPORT BOOL __stdcall EgtDuploCount( int nSouId, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtDuploList( int nSouId, int*& vInd, int* pnCount) ; EIN_EXPORT BOOL __stdcall EgtDuploList( int nSouId, int*& vInd, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtDuploInRawCount( int nSouId, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtDuploWithoutRawList( int*& vInd, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtDuploSetModified( int nSouId) ; EIN_EXPORT BOOL __stdcall EgtDuploSetModified( int nSouId) ;
EIN_EXPORT BOOL __stdcall EgtDuploGetModified( int nSouId, BOOL* pbModif) ; EIN_EXPORT BOOL __stdcall EgtDuploGetModified( int nSouId, BOOL* pbModif) ;
EIN_EXPORT BOOL __stdcall EgtDuploSetLocked( int nDupId) ; EIN_EXPORT BOOL __stdcall EgtDuploSetLocked( int nDupId) ;
@@ -722,7 +715,6 @@ EIN_EXPORT int __stdcall EgtGetLastMachGroup( void) ;
EIN_EXPORT int __stdcall EgtGetPrevMachGroup( int nId) ; EIN_EXPORT int __stdcall EgtGetPrevMachGroup( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetMachGroupNewName( const wchar_t* wsName, wchar_t*& wsNewName) ; EIN_EXPORT BOOL __stdcall EgtGetMachGroupNewName( const wchar_t* wsName, wchar_t*& wsNewName) ;
EIN_EXPORT int __stdcall EgtAddMachGroup( const wchar_t* wsName, const wchar_t* wsMachineName) ; EIN_EXPORT int __stdcall EgtAddMachGroup( const wchar_t* wsName, const wchar_t* wsMachineName) ;
EIN_EXPORT int __stdcall EgtCopyMachGroup( const wchar_t* wsSouName, const wchar_t* wsName) ;
EIN_EXPORT BOOL __stdcall EgtRemoveMachGroup( int nMGroupId) ; EIN_EXPORT BOOL __stdcall EgtRemoveMachGroup( int nMGroupId) ;
EIN_EXPORT BOOL __stdcall EgtGetMachGroupName( int nMGroupId, wchar_t*& wsName) ; EIN_EXPORT BOOL __stdcall EgtGetMachGroupName( int nMGroupId, wchar_t*& wsName) ;
EIN_EXPORT BOOL __stdcall EgtGetMachGroupMachineName( int nMGroupId, wchar_t*& wsMachineName) ; EIN_EXPORT BOOL __stdcall EgtGetMachGroupMachineName( int nMGroupId, wchar_t*& wsMachineName) ;
@@ -979,8 +971,6 @@ EIN_EXPORT BOOL __stdcall EgtSetWinRectAttribs( BOOL bOutline, const int WrCol[4
EIN_EXPORT BOOL __stdcall EgtSetGlobFrameShow( BOOL bShow) ; EIN_EXPORT BOOL __stdcall EgtSetGlobFrameShow( BOOL bShow) ;
EIN_EXPORT BOOL __stdcall EgtSetGridShow( BOOL bShowGrid, BOOL bShowFrame) ; EIN_EXPORT BOOL __stdcall EgtSetGridShow( BOOL bShowGrid, BOOL bShowFrame) ;
EIN_EXPORT BOOL __stdcall EgtSetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) ; EIN_EXPORT BOOL __stdcall EgtSetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) ;
EIN_EXPORT BOOL __stdcall EgtSetGridGeoAdv( double dSnapStep, int nMinLineSstep, int nMajLineSstep,
double dXmin, double dXmax, double dYmin, double dYmax) ;
EIN_EXPORT BOOL __stdcall EgtSetGridColor( const int nMinCol[4], const int nMajCol[4]) ; EIN_EXPORT BOOL __stdcall EgtSetGridColor( const int nMinCol[4], const int nMajCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtResize( int nW, int nH) ; EIN_EXPORT BOOL __stdcall EgtResize( int nW, int nH) ;
EIN_EXPORT BOOL __stdcall EgtDraw( void) ; EIN_EXPORT BOOL __stdcall EgtDraw( void) ;
+3 -9
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2015-2023 // EgalTech 2015-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EMkMachMgr.h Data : 28.10.23 Versione : 2.5j4 // File : EMkMachMgr.h Data : 21.09.22 Versione : 2.4i4
// Contenuto : Dichiarazione della interfaccia IMachMgr. // Contenuto : Dichiarazione della interfaccia IMachMgr.
// //
// //
@@ -13,8 +13,6 @@
// 10.11.20 DS Portate in interfaccia funzioni di calcolo con vettori di angoli. // 10.11.20 DS Portate in interfaccia funzioni di calcolo con vettori di angoli.
// 13.01.21 DS Aggiunte in interfaccia GetCalcHead e GetCalcExit. // 13.01.21 DS Aggiunte in interfaccia GetCalcHead e GetCalcExit.
// 21.09.22 DS Aggiunta in interfaccia GetAxisOffset. // 21.09.22 DS Aggiunta in interfaccia GetAxisOffset.
// 25.08.23 DS Aggiunta in interfaccia CopyMachGroup.
// 28.10.23 DS Aggiunte in interfaccia GetClEntAxesVal, GetToolSetupPosInCurrSetup e GetAllCurrAxesName.
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -59,7 +57,6 @@ class __declspec( novtable) IMachMgr
virtual int GetPrevMachGroup( int nId) const = 0 ; virtual int GetPrevMachGroup( int nId) const = 0 ;
virtual bool GetMachGroupNewName( std::string& sName) const = 0 ; virtual bool GetMachGroupNewName( std::string& sName) const = 0 ;
virtual int AddMachGroup( const std::string& sName, const std::string& sMachineName) = 0 ; virtual int AddMachGroup( const std::string& sName, const std::string& sMachineName) = 0 ;
virtual int CopyMachGroup( const std::string& sSouName, const std::string& sName) = 0 ;
virtual bool RemoveMachGroup( int nId) = 0 ; virtual bool RemoveMachGroup( int nId) = 0 ;
virtual std::string GetMachGroupName( int nId) const = 0 ; virtual std::string GetMachGroupName( int nId) const = 0 ;
virtual std::string GetMachGroupMachineName( int nId) const = 0 ; virtual std::string GetMachGroupMachineName( int nId) const = 0 ;
@@ -167,7 +164,6 @@ class __declspec( novtable) IMachMgr
virtual bool ImportSetup( const std::string& sName) = 0 ; virtual bool ImportSetup( const std::string& sName) = 0 ;
virtual bool VerifyCurrSetup( STRVECTOR& vsErrors) = 0 ; virtual bool VerifyCurrSetup( STRVECTOR& vsErrors) = 0 ;
virtual bool FindToolInCurrSetup( const std::string& sTool) = 0 ; virtual bool FindToolInCurrSetup( const std::string& sTool) = 0 ;
virtual bool GetToolSetupPosInCurrSetup( const std::string& sTool, std::string& sTcPos) = 0 ;
virtual bool GetToolsInCurrSetupPos( const std::string& sTcPos, STRVECTOR& vsTools) = 0 ; virtual bool GetToolsInCurrSetupPos( const std::string& sTcPos, STRVECTOR& vsTools) = 0 ;
virtual bool UpdateCurrSetup( void) = 0 ; virtual bool UpdateCurrSetup( void) = 0 ;
virtual bool EraseCurrSetup( void) = 0 ; virtual bool EraseCurrSetup( void) = 0 ;
@@ -266,9 +262,8 @@ class __declspec( novtable) IMachMgr
virtual bool GetMachiningEndPoint( Point3d& ptEnd) const = 0 ; virtual bool GetMachiningEndPoint( Point3d& ptEnd) const = 0 ;
// CL Entities Interrogations // CL Entities Interrogations
virtual bool GetClEntMove( int nEntId, int& nMove) const = 0 ; virtual bool GetClEntMove( int nEntId, int& nMove) const = 0 ;
virtual bool GetClEntFlag( int nEntId, int& nFlag, int& nFlag2) const = 0 ; virtual bool GetClEntFlag( int nEntId, int& nFlag) const = 0 ;
virtual bool GetClEntIndex( int nEntId, int& nIndex) const = 0 ; virtual bool GetClEntIndex( int nEntId, int& nIndex) const = 0 ;
virtual bool GetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) const = 0 ;
// Simulation // Simulation
virtual bool SimInit( void) = 0 ; virtual bool SimInit( void) = 0 ;
virtual bool SimStart( bool bFirst) = 0 ; virtual bool SimStart( bool bFirst) = 0 ;
@@ -287,7 +282,6 @@ class __declspec( novtable) IMachMgr
// Machine Calc // Machine Calc
virtual bool SetCalcTable( const std::string& sTable) = 0 ; virtual bool SetCalcTable( const std::string& sTable) = 0 ;
virtual bool SetCalcTool( const std::string& sTool, const std::string& sHead, int nExit) = 0 ; virtual bool SetCalcTool( const std::string& sTool, const std::string& sHead, int nExit) = 0 ;
virtual bool GetAllCurrAxesName( STRVECTOR& vAxName) const = 0 ;
virtual bool SetRotAxisBlock( const std::string& sAxis, double dVal) = 0 ; virtual bool SetRotAxisBlock( const std::string& sAxis, double dVal) = 0 ;
virtual bool GetRotAxisBlocked( int nInd, std::string& sAxis, double& dVal) const = 0 ; virtual bool GetRotAxisBlocked( int nInd, std::string& sAxis, double& dVal) const = 0 ;
virtual bool GetCalcTool( std::string& sTool) const = 0 ; virtual bool GetCalcTool( std::string& sTool) const = 0 ;
+3 -5
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2015-2023 // EgalTech 2015-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EmkMachiningConst.h Data : 06.09.23 Versione : 2.5i1 // File : EmkMachiningConst.h Data : 04.02.22 Versione : 2.4b1
// Contenuto : Costanti delle lavorazioni. // Contenuto : Costanti delle lavorazioni.
// //
// //
@@ -12,7 +12,6 @@
// 03.06.20 DS Agg. MPA_TABMIN e MPA_TABMAX. // 03.06.20 DS Agg. MPA_TABMIN e MPA_TABMAX.
// 09.11.20 DS Agg. MPA_SIDEANGFEED e MPA_STEPLAST. // 09.11.20 DS Agg. MPA_SIDEANGFEED e MPA_STEPLAST.
// 04.02.22 DS Agg. MPA_EPICYCLESRAD e MPA_EPICYCLESDIST. // 04.02.22 DS Agg. MPA_EPICYCLESRAD e MPA_EPICYCLESDIST.
// 06.09.23 DS Agg. 5AxMachining.
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -63,8 +62,7 @@ enum MachiningType {
MT_CHISELING = OPER_CHISELING, MT_CHISELING = OPER_CHISELING,
MT_SURFROUGHING = OPER_SURFROUGHING, MT_SURFROUGHING = OPER_SURFROUGHING,
MT_SURFFINISHING = OPER_SURFFINISHING, MT_SURFFINISHING = OPER_SURFFINISHING,
MT_WATERJETTING = OPER_WATERJETTING, MT_WATERJETTING = OPER_WATERJETTING
MT_5AXMACHINING = OPER_5AXMACHINING
} ; } ;
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
-1
View File
@@ -33,7 +33,6 @@ static std::string MCH_TABS = "TABS" ;
static std::string MCH_PV = "PV" ; static std::string MCH_PV = "PV" ;
static std::string MCH_ST = "ST" ; static std::string MCH_ST = "ST" ;
static std::string MCH_CL = "CL" ; static std::string MCH_CL = "CL" ;
static std::string MCH_DBL = "DBL" ;
static std::string MCH_PATH = "P" ; static std::string MCH_PATH = "P" ;
// Nomi di entità CL speciali // Nomi di entità CL speciali
static std::string MCH_CL_CLIMB = "CLIMB" ; static std::string MCH_CL_CLIMB = "CLIMB" ;
+4 -7
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2015-2023 // EgalTech 2015-2019
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EmkOperationConst.h Data : 06.09.23 Versione : 2.5i1 // File : EmkOperationConst.h Data : 08.07.19 Versione : 2.1g2
// Contenuto : Costanti delle operazioni. // Contenuto : Costanti delle operazioni.
// //
// //
@@ -12,7 +12,6 @@
// 03.02.17 DS Agg. Chiseling. // 03.02.17 DS Agg. Chiseling.
// 25.05.19 DS Agg. SurfRoughing e SurfFinishing. // 25.05.19 DS Agg. SurfRoughing e SurfFinishing.
// 08.07.19 DS Agg. WaterJetting. // 08.07.19 DS Agg. WaterJetting.
// 06.09.23 DS Agg. 5AxMachining.
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -32,8 +31,7 @@ enum OperType { OPER_NULL = 0, // nulla
OPER_CHISELING = 0x020000, // scalpellatura OPER_CHISELING = 0x020000, // scalpellatura
OPER_SURFROUGHING = 0x040000, // sgrossatura superficie OPER_SURFROUGHING = 0x040000, // sgrossatura superficie
OPER_SURFFINISHING = 0x080000, // finitura superficie OPER_SURFFINISHING = 0x080000, // finitura superficie
OPER_WATERJETTING = 0x100000, // taglio water jet OPER_WATERJETTING = 0x100000} ; // taglio water jet
OPER_5AXMACHINING = 0x200000} ; // lavorazione 5 assi
// Controllo tipo valido // Controllo tipo valido
bool inline IsValidDispositionType( int nType) bool inline IsValidDispositionType( int nType)
{ {
@@ -52,6 +50,5 @@ bool inline IsValidMachiningType( int nType)
nType == OPER_CHISELING || nType == OPER_CHISELING ||
nType == OPER_SURFROUGHING || nType == OPER_SURFROUGHING ||
nType == OPER_SURFFINISHING || nType == OPER_SURFFINISHING ||
nType == OPER_WATERJETTING || nType == OPER_WATERJETTING ) ;
nType == OPER_5AXMACHINING) ;
} }
+1 -2
View File
@@ -35,8 +35,7 @@ enum SimCollObjType { MCH_SIM_COB_NULL = 0,
MCH_SIM_COB_BOX = 1, MCH_SIM_COB_BOX = 1,
MCH_SIM_COB_CYL = 2, MCH_SIM_COB_CYL = 2,
MCH_SIM_COB_SPHE = 3, MCH_SIM_COB_SPHE = 3,
MCH_SIM_COB_CONE = 4, MCH_SIM_COB_CONE = 4} ;
MCH_SIM_COB_POLY = 101} ;
//------------------------ Stato di visualizzazione della macchina ------------ //------------------------ Stato di visualizzazione della macchina ------------
enum MachLook { MCH_LOOK_NONE = -1, enum MachLook { MCH_LOOK_NONE = -1,
-1
View File
@@ -29,7 +29,6 @@ enum FileType { FT_NULL = 0,
FT_BTLX = 19, FT_BTLX = 19,
FT_3MF = 20, FT_3MF = 20,
FT_OBJ = 21, FT_OBJ = 21,
FT_3DM = 22 ,
FT_IGES = 31, FT_IGES = 31,
FT_STEP = 32, FT_STEP = 32,
FT_ACIS = 33, FT_ACIS = 33,
+11 -54
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2015-2024 // EgalTech 2015-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EXcExecutor.h Data : 09.01.24 Versione : 2.5l6 // File : EXcExecutor.h Data : 06.05.22 Versione : 2.4e1
// Contenuto : Interfaccia Executor. // Contenuto : Interfaccia Executor.
// //
// //
@@ -37,8 +37,6 @@ class LuaMgr ;
// General // General
EXE_EXPORT bool ExeInit( int nDebug, const std::string& sLogFile, const std::string& sLogMsg) ; EXE_EXPORT bool ExeInit( int nDebug, const std::string& sLogFile, const std::string& sLogMsg) ;
EXE_EXPORT bool ExeExit( void) ; EXE_EXPORT bool ExeExit( void) ;
EXE_EXPORT bool ExeSetOnTerminateProcess( pfOnTerminateProcess pFun) ;
EXE_EXPORT bool ExeOnTerminateProcess( int nExitCode) ;
EXE_EXPORT int ExeGetDebugLevel( void) ; EXE_EXPORT int ExeGetDebugLevel( void) ;
EXE_EXPORT bool ExeSetUserLevel( int nUserLev) ; EXE_EXPORT bool ExeSetUserLevel( int nUserLev) ;
EXE_EXPORT int ExeGetUserLevel( void) ; EXE_EXPORT int ExeGetUserLevel( void) ;
@@ -57,8 +55,7 @@ EXE_EXPORT bool ExeGetExecutableVersion( std::string& sVer) ;
EXE_EXPORT bool ExeGetVersionInfo( std::string& sVer, const char* szNewLine) ; EXE_EXPORT bool ExeGetVersionInfo( std::string& sVer, const char* szNewLine) ;
EXE_EXPORT bool ExeGetKeyInfo( std::string& sKey) ; EXE_EXPORT bool ExeGetKeyInfo( std::string& sKey) ;
EXE_EXPORT bool ExeSetLockType( int nType) ; EXE_EXPORT bool ExeSetLockType( int nType) ;
EXE_EXPORT bool ExeSetLockId( const std::string& sLockId) ; EXE_EXPORT bool ExeSetNetHwKey( bool bNetHwKey) ;
EXE_EXPORT bool ExeSetNetHwKey( bool bNetHwKey, int nUserId = 0, const std::string& sAddrPort = "") ;
EXE_EXPORT bool ExeGetKeyLevel( int nProd, int nVer, int nLev, int& nKLev) ; EXE_EXPORT bool ExeGetKeyLevel( int nProd, int nVer, int nLev, int& nKLev) ;
EXE_EXPORT bool ExeGetKeyOptions( int nProd, int nVer, int nLev, unsigned int& nOpt2) ; EXE_EXPORT bool ExeGetKeyOptions( int nProd, int nVer, int nLev, unsigned int& nOpt2) ;
EXE_EXPORT bool ExeGetKeyLeftDays( int& nLeftDays) ; EXE_EXPORT bool ExeGetKeyLeftDays( int& nLeftDays) ;
@@ -123,13 +120,11 @@ EXE_EXPORT bool ExeImportDxf( const std::string& sFilePath, double dScaleFactor)
EXE_EXPORT bool ExeImportPnt( const std::string& sFilePath, int nFlag) ; EXE_EXPORT bool ExeImportPnt( const std::string& sFilePath, int nFlag) ;
EXE_EXPORT bool ExeImportStl( const std::string& sFilePath, double dScaleFactor) ; EXE_EXPORT bool ExeImportStl( const std::string& sFilePath, double dScaleFactor) ;
EXE_EXPORT bool ExeImport3MF( const std::string& sFilePath) ; EXE_EXPORT bool ExeImport3MF( const std::string& sFilePath) ;
EXE_EXPORT bool ExeImport3dm( const std::string& sFilePath) ;
EXE_EXPORT bool ExeAdvancedImportIsEnabled( void) ; EXE_EXPORT bool ExeAdvancedImportIsEnabled( void) ;
EXE_EXPORT bool ExeAdvancedImport( const std::string& sFilePath, double dToler = 0.1) ; EXE_EXPORT bool ExeAdvancedImport( const std::string& sFilePath, double dToler = 0.1) ;
EXE_EXPORT bool ExeExportDxf( int nId, const std::string& sFilePath, int nFlag = 1, int nFilter = 393) ; EXE_EXPORT bool ExeExportDxf( int nId, const std::string& sFilePath, int nFlag = 1, int nFilter = 393) ;
EXE_EXPORT bool ExeExportStl( int nId, const std::string& sFilePath, int nFilter = 393) ; EXE_EXPORT bool ExeExportStl( int nId, const std::string& sFilePath, int nFilter = 393) ;
EXE_EXPORT bool ExeExport3MF( int nId, const std::string& sFilePath, int nFilter = 393) ; EXE_EXPORT bool ExeExport3MF( int nId, const std::string& sFilePath, int nFilter = 393) ;
EXE_EXPORT bool ExeExport3dm( int nId, const std::string& sFilePath, int nFilter = 393) ;
EXE_EXPORT bool ExeExportSvg( int nId, const std::string& sFilePath, int nFilter = 393) ; EXE_EXPORT bool ExeExportSvg( int nId, const std::string& sFilePath, int nFilter = 393) ;
EXE_EXPORT bool ExeSetThreeJSLibDir( const std::string & sThreeJSLibDir) ; EXE_EXPORT bool ExeSetThreeJSLibDir( const std::string & sThreeJSLibDir) ;
EXE_EXPORT bool ExeExportThreeJS( int nId, const std::string& sFilePath, int nFilter = 393) ; EXE_EXPORT bool ExeExportThreeJS( int nId, const std::string& sFilePath, int nFilter = 393) ;
@@ -232,14 +227,12 @@ EXE_EXPORT int ExeCreateAlignedDimension( int nParentId, const Point3d& ptP1, c
const Point3d& ptDim, const std::string& sText, int nRefType) ; const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateRadialDimension( int nParentId, int nCrvId, const Point3d& ptDim, const std::string& sText, int nRefType) ; EXE_EXPORT int ExeCreateRadialDimension( int nParentId, int nCrvId, const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateDiametralDimension( int nParentId, int nCrvId, const Point3d& ptDim, const std::string& sText, int nRefType) ; EXE_EXPORT int ExeCreateDiametralDimension( int nParentId, int nCrvId, const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP0, const Point3d& ptP2, EXE_EXPORT int ExeCreateAngularDimension( int nParentId, const Point3d& ptP1, const Point3d& ptV, const Point3d& ptP2,
const Point3d& ptDim, const std::string& sText, int nRefType) ; const Point3d& ptDim, const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimensionFromLines( int nParentId, const INTVECTOR vLineIds, const Point3d& ptDim, EXE_EXPORT int ExeCreateAngularDimensionFromLines( int nParentId, const INTVECTOR vLineIds, const Point3d& ptDim,
const std::string& sText, int nRefType) ; const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimensionFromArc( int nParentId, int nCrvId, const Point3d& ptDim, EXE_EXPORT int ExeCreateAngularDimensionFromArc( int nParentId, int nCrvId, const Point3d& ptDim,
const std::string& sText, int nRefType) ; const std::string& sText, int nRefType) ;
EXE_EXPORT int ExeCreateAngularDimensionFromCircle( int nParentId, int nCrvId, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptDim,
const std::string& sText, int nRefType) ;
// GeomDB Create Curve // GeomDB Create Curve
EXE_EXPORT int ExeCreateLine( int nParentId, const Point3d& ptIni, const Point3d& ptFin, int nRefType) ; EXE_EXPORT int ExeCreateLine( int nParentId, const Point3d& ptIni, const Point3d& ptFin, int nRefType) ;
@@ -270,8 +263,6 @@ EXE_EXPORT int ExeCreateArcC2PEx( int nParentId, const Point3d& ptCen,
const Point3d& ptNearEnd, int nRefType) ; const Point3d& ptNearEnd, int nRefType) ;
EXE_EXPORT int ExeCreateArc3P( int nParentId, const Point3d& ptP1, EXE_EXPORT int ExeCreateArc3P( int nParentId, const Point3d& ptP1,
const Point3d& ptP2, const Point3d& ptP3, int nRefType) ; const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT int ExeCreateArc2PB( int nParentId, const Point3d& ptStart, const Point3d& ptEnd,
double dBulge, int nRefType) ;
EXE_EXPORT int ExeCreateArc2PD( int nParentId, const Point3d& ptStart, const Point3d& ptEnd, EXE_EXPORT int ExeCreateArc2PD( int nParentId, const Point3d& ptStart, const Point3d& ptEnd,
double dDirSDeg, int nRefType) ; double dDirSDeg, int nRefType) ;
EXE_EXPORT int ExeCreateArc2PDEx( int nParentId, const Point3d& ptStart, EXE_EXPORT int ExeCreateArc2PDEx( int nParentId, const Point3d& ptStart,
@@ -318,7 +309,7 @@ EXE_EXPORT int ExeCreateCirclesAlongCurve( int nParentId, int nCrvId, double dO
double dStartAdd, double dEndAdd, double dDiam, int* pnCount) ; double dStartAdd, double dEndAdd, double dDiam, int* pnCount) ;
// GeomDB Create Surf // GeomDB Create Surf
EXE_EXPORT int ExeCreateSurfFlatRegion( int nParentId, const INTVECTOR& vCrvIds, int* pnCount) ; EXE_EXPORT int ExeCreateSurfFlatRegion( int nParentId, const INTVECTOR& vCrvIds, int* pnCount) ;
EXE_EXPORT int ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquaredEnds, bool bSquaredMids, double dLinTol) ; EXE_EXPORT int ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquared) ;
EXE_EXPORT int ExeCreateSurfFrRectangle( int nParentId, const Point3d& ptIni, const Point3d& ptCross, int nRefType) ; EXE_EXPORT int ExeCreateSurfFrRectangle( int nParentId, const Point3d& ptIni, const Point3d& ptCross, int nRefType) ;
EXE_EXPORT int ExeCreateSurfFrRectangle3P( int nParentId, const Point3d& ptIni, EXE_EXPORT int ExeCreateSurfFrRectangle3P( int nParentId, const Point3d& ptIni,
const Point3d& ptCross, const Point3d& ptDir, int nRefType) ; const Point3d& ptCross, const Point3d& ptDir, int nRefType) ;
@@ -337,8 +328,6 @@ EXE_EXPORT int ExeCreateSurfTmCone( int nParentId, const Point3d& ptOrig, const
double dRad, double dHeight, double dLinTol, int nRefType) ; double dRad, double dHeight, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmSphere( int nParentId, const Point3d& ptOrig, EXE_EXPORT int ExeCreateSurfTmSphere( int nParentId, const Point3d& ptOrig,
double dRad, double dLinTol, int nRefType) ; double dRad, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmTriangle( int nParentId, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmRectangle( int nParentId, const Point3d& ptO, const Point3d& ptL, const Point3d& ptT, int nRefType) ;
EXE_EXPORT int ExeCreateSurfTmByFlatContour( int nParentId, int nCrvId, double dLinTol) ; EXE_EXPORT int ExeCreateSurfTmByFlatContour( int nParentId, int nCrvId, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmByRegion( int nParentId, const INTVECTOR& vCrvIds, double dLinTol) ; EXE_EXPORT int ExeCreateSurfTmByRegion( int nParentId, const INTVECTOR& vCrvIds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfTmByExtrusion( int nParentId, const INTVECTOR& vCrvIds, const Vector3d& vtExtr, EXE_EXPORT int ExeCreateSurfTmByExtrusion( int nParentId, const INTVECTOR& vCrvIds, const Vector3d& vtExtr,
@@ -361,7 +350,6 @@ EXE_EXPORT int ExeCreateSurfTmBySurfBezier( int nParentId, int nSbezId) ;
EXE_EXPORT int ExeCreateSurfTmByVolZmap( int nParentId, int nZmapId, int nPart) ; EXE_EXPORT int ExeCreateSurfTmByVolZmap( int nParentId, int nZmapId, int nPart) ;
EXE_EXPORT int ExeCreateSurfBezier( int nParentId, int nDegU, int nDegV, int nSpanU, int nSpanV, const PNTVECTOR& vPnt, int nRefType) ; EXE_EXPORT int ExeCreateSurfBezier( int nParentId, int nDegU, int nDegV, int nSpanU, int nSpanV, const PNTVECTOR& vPnt, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBezierRational( int nParentId, int nDegU, int nDegV, int nSpanU, int nSpanV, const PNTUVECTOR& vPntW, int nRefType) ; EXE_EXPORT int ExeCreateSurfBezierRational( int nParentId, int nDegU, int nDegV, int nSpanU, int nSpanV, const PNTUVECTOR& vPntW, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBezierLeaves( int nParentId, int nSurfBzId, int nTextHeight = 50, bool bShowTrim = false, int* pnCount = nullptr) ;
// GeomDB Create Volume // GeomDB Create Volume
EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dDimX, EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dDimX,
@@ -385,7 +373,6 @@ EXE_EXPORT int ExeGetFirstLayer( int nPartId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetNextLayer( int nId, bool bOnlyVisible) ; EXE_EXPORT int ExeGetNextLayer( int nId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetLastLayer( int nPartId, bool bOnlyVisible) ; EXE_EXPORT int ExeGetLastLayer( int nPartId, bool bOnlyVisible) ;
EXE_EXPORT int ExeGetPrevLayer( int nId, bool bOnlyVisible) ; EXE_EXPORT int ExeGetPrevLayer( int nId, bool bOnlyVisible) ;
EXE_EXPORT bool ExeIsGhostPart( int nGhostId) ;
EXE_EXPORT int ExeGetFirstGhostPart( void) ; EXE_EXPORT int ExeGetFirstGhostPart( void) ;
EXE_EXPORT int ExeGetNextGhostPart( int nId) ; EXE_EXPORT int ExeGetNextGhostPart( int nId) ;
EXE_EXPORT bool ExeEraseEmptyParts( void) ; EXE_EXPORT bool ExeEraseEmptyParts( void) ;
@@ -397,8 +384,6 @@ EXE_EXPORT bool ExeSelectPathObjs( int nId, bool bHaltOnFork) ;
EXE_EXPORT int ExeDuploNew( int nSouId) ; EXE_EXPORT int ExeDuploNew( int nSouId) ;
EXE_EXPORT bool ExeDuploCount( int nSouId, int& nCount) ; EXE_EXPORT bool ExeDuploCount( int nSouId, int& nCount) ;
EXE_EXPORT bool ExeDuploList( int nSouId, INTVECTOR& vnRef) ; EXE_EXPORT bool ExeDuploList( int nSouId, INTVECTOR& vnRef) ;
EXE_EXPORT bool ExeDuploInRawCount( int nSouId, int& nCount) ;
EXE_EXPORT bool ExeDuploWithoutRawList( INTVECTOR& vnRef) ;
EXE_EXPORT bool ExeDuploSetModified( int nSouId) ; EXE_EXPORT bool ExeDuploSetModified( int nSouId) ;
EXE_EXPORT bool ExeDuploGetModified( int nSouId, bool& bModif) ; EXE_EXPORT bool ExeDuploGetModified( int nSouId, bool& bModif) ;
EXE_EXPORT bool ExeDuploSetLocked( int nDupId) ; EXE_EXPORT bool ExeDuploSetLocked( int nDupId) ;
@@ -537,7 +522,7 @@ EXE_EXPORT int ExeSplitText( int nId, int* pnCount) ;
// GeomDb Curve Modify // GeomDb Curve Modify
EXE_EXPORT bool ExeInvertCurve( const INTVECTOR& vIds) ; EXE_EXPORT bool ExeInvertCurve( const INTVECTOR& vIds) ;
EXE_EXPORT bool ExeOffsetCurve( int nId, double dDist, int nType) ; EXE_EXPORT bool ExeOffsetCurve( int nId, double dDist, int nType) ;
EXE_EXPORT int ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount, double dLinTol = 10 * EPS_SMALL) ; EXE_EXPORT int ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount) ;
EXE_EXPORT int ExeCurveMedialAxis( int nId) ; EXE_EXPORT int ExeCurveMedialAxis( int nId) ;
EXE_EXPORT bool ExeApproxCurve( int nId, int nApprType, double dLinTol) ; EXE_EXPORT bool ExeApproxCurve( int nId, int nApprType, double dLinTol) ;
EXE_EXPORT bool ExeProjectCurveOnPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ; EXE_EXPORT bool ExeProjectCurveOnPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ;
@@ -591,10 +576,6 @@ EXE_EXPORT bool ExeMergeCurvesInCurveCompo( int nId, double dLinTol, bool bStart
EXE_EXPORT bool ExeRemoveCurveCompoUndercutOnY( int nId, double dLinTol) ; EXE_EXPORT bool ExeRemoveCurveCompoUndercutOnY( int nId, double dLinTol) ;
EXE_EXPORT bool ExeChainCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ; EXE_EXPORT bool ExeChainCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ;
EXE_EXPORT bool ExeReorderCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ; EXE_EXPORT bool ExeReorderCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ;
EXE_EXPORT bool ExeProjectCurveOnSurfTm( int nCurveId, int nSurfTmId, const Vector3d& vtDir, int nDestGrpId, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCurveGetVoronoi( int nId, int nDestGrpId, int nBound, int* pnCount) ;
EXE_EXPORT int ExeCurveGetMedialAxis( int nId, int nDestGrpId, int nSide, int* pnCount) ;
EXE_EXPORT int ExeCurveGetFatCurve( int nId, int nDestGrpId, double dRad, bool bSquareEnds, bool bSquareMids, int* pnCount) ;
// GeomDb Surf Modify // GeomDb Surf Modify
EXE_EXPORT bool ExeInvertSurface( const INTVECTOR& vIds) ; EXE_EXPORT bool ExeInvertSurface( const INTVECTOR& vIds) ;
@@ -606,7 +587,6 @@ EXE_EXPORT bool ExeSurfFrIntersect( int nId1, int nId2) ;
EXE_EXPORT bool ExeSurfFrOffset( int nId, double dDist, int nType) ; EXE_EXPORT bool ExeSurfFrOffset( int nId, double dDist, int nType) ;
EXE_EXPORT bool ExeSurfFrMoveSimpleNoCollision( int nId1, int nId2, const Vector3d& vtDir, double& dLen, int nRefType) ; EXE_EXPORT bool ExeSurfFrMoveSimpleNoCollision( int nId1, int nId2, const Vector3d& vtDir, double& dLen, int nRefType) ;
EXE_EXPORT bool ExeSurfFrRotateSimpleNoCollision( int nId1, int nId2, const Point3d& ptCen, double& dAngDeg, int nRefType) ; EXE_EXPORT bool ExeSurfFrRotateSimpleNoCollision( int nId1, int nId2, const Point3d& ptCen, double& dAngDeg, int nRefType) ;
EXE_EXPORT bool ExeSurfTmMoveVertex( int nId, int nVert, const Point3d& ptNewVert, int nRefType, bool bUpdate) ;
EXE_EXPORT int ExeSurfTmToTriangles( int nId, int* pnCount) ; EXE_EXPORT int ExeSurfTmToTriangles( int nId, int* pnCount) ;
EXE_EXPORT bool ExeSurfTmRemoveFacet( int nId, int nFacet) ; EXE_EXPORT bool ExeSurfTmRemoveFacet( int nId, int nFacet) ;
EXE_EXPORT bool ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2) ; EXE_EXPORT bool ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2) ;
@@ -619,10 +599,6 @@ EXE_EXPORT bool ExeSurfTmIntersect( int nId1, int nId2, bool bTwoColors = false)
EXE_EXPORT bool ExeSurfTmResetTwoColors( int nId) ; EXE_EXPORT bool ExeSurfTmResetTwoColors( int nId) ;
EXE_EXPORT int ExeSurfTmSplit( int nId, int nSplitterId, int* pnCount) ; EXE_EXPORT int ExeSurfTmSplit( int nId, int nSplitterId, int* pnCount) ;
EXE_EXPORT bool ExeSurfTmCut( int nId, int nCutterId, bool bInVsOut, bool bSaveOnEq) ; EXE_EXPORT bool ExeSurfTmCut( int nId, int nCutterId, bool bInVsOut, bool bSaveOnEq) ;
EXE_EXPORT bool ExeSurfTmSubtractProjectedFacesOnFace( int nSurfId, int nFaceInd, int nDestGrpId,
INTVECTOR vSurfsId, bool bOCFlag,
bool& bExistProjection, int& nNewId, int& nNewFaceNbr) ;
EXE_EXPORT bool ExeSurfBzTrim( int nId, int nCutterId) ;
// GeomDb Volume Modify // GeomDb Volume Modify
EXE_EXPORT int ExeExplodeVolume( int nId, int* pnCount) ; EXE_EXPORT int ExeExplodeVolume( int nId, int* pnCount) ;
@@ -654,10 +630,6 @@ EXE_EXPORT bool ExeTextGetFont( int nId, std::string& sFont) ;
EXE_EXPORT bool ExeTextGetHeight( int nId, double& dH) ; EXE_EXPORT bool ExeTextGetHeight( int nId, double& dH) ;
EXE_EXPORT bool ExeTextGetItalic( int nId, bool& bItl) ; EXE_EXPORT bool ExeTextGetItalic( int nId, bool& bItl) ;
// GeomDb Get Pocketing
EXE_EXPORT bool ExePocketing( const int nId, double dRad, double dStep, double dAngle, int nType, bool bSmooth, int nDestGrpId, int& nFirstId, int& nCrvCount) ;
EXE_EXPORT int ExeSurfFrGetZigZagInfill( int nId, int nDestGrpId, double dStep, double dAng, bool bSmooth, bool bRemoveOverlapLink,int* pnCount) ;
// GeomDb Curve Get // GeomDb Curve Get
EXE_EXPORT bool ExeCurveDomain( int nId, double* pdStart, double* pdEnd) ; EXE_EXPORT bool ExeCurveDomain( int nId, double* pdStart, double* pdEnd) ;
EXE_EXPORT bool ExeCurveLength( int nId, double* pdLen) ; EXE_EXPORT bool ExeCurveLength( int nId, double* pdLen) ;
@@ -698,12 +670,10 @@ EXE_EXPORT bool ExeSurfFrTestExternal( int nId1, int nId2, double dMinDist) ;
EXE_EXPORT int ExeSurfFrChunkCount( int nId) ; EXE_EXPORT int ExeSurfFrChunkCount( int nId) ;
EXE_EXPORT int ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2, double dToler = 0) ; EXE_EXPORT int ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2, double dToler = 0) ;
EXE_EXPORT int ExeExtractSurfFrChunkLoops( int nId, int nChunk, int nDestGrpId, int* pnCount) ; EXE_EXPORT int ExeExtractSurfFrChunkLoops( int nId, int nChunk, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeSurfFrGetZigZagInfill( int nId, int nDestGrpId, double dStep, double dAng, bool bSmooth, int* pnCount) ; EXE_EXPORT int ExeSurfFrGetZigZagInfill( int nId, int nDestGrpId, double dStep, double dAng, bool bStepCorrection,
EXE_EXPORT int ExeSurfTmVertexCount( int nId) ; bool bInvert, int* pnCount) ;
EXE_EXPORT int ExeSurfTmFacetCount( int nId) ;
EXE_EXPORT int ExeSurfTmPartCount( int nId) ; EXE_EXPORT int ExeSurfTmPartCount( int nId) ;
EXE_EXPORT bool ExeSurfTmGetVertex( int nId, int nVert, int nRefId, Point3d& ptVert) ; EXE_EXPORT int ExeSurfTmFacetCount( int nId) ;
EXE_EXPORT bool ExeSurfTmGetNearestVertex( int nId, const Point3d& ptNear, int nRefId, int& nVert, Point3d& ptVert) ;
EXE_EXPORT int ExeSurfTmFacetFromTria( int nId, int nT) ; EXE_EXPORT int ExeSurfTmFacetFromTria( int nId, int nT) ;
EXE_EXPORT bool ExeSurfTmFacetAdjacencies( int nId, int nFacet, INTMATRIX& vAdj) ; EXE_EXPORT bool ExeSurfTmFacetAdjacencies( int nId, int nFacet, INTMATRIX& vAdj) ;
EXE_EXPORT bool ExeSurfTmFacetNearestEndPoint( int nId, int nFacet, const Point3d& ptNear, int nRefId, EXE_EXPORT bool ExeSurfTmFacetNearestEndPoint( int nId, int nFacet, const Point3d& ptNear, int nRefId,
@@ -713,22 +683,18 @@ EXE_EXPORT bool ExeSurfTmFacetNearestMidPoint( int nId, int nFacet, const Point3
EXE_EXPORT bool ExeSurfTmFacetCenter( int nId, int nFacet, int nRefId, Point3d& ptCen, Vector3d& vtN) ; EXE_EXPORT bool ExeSurfTmFacetCenter( int nId, int nFacet, int nRefId, Point3d& ptCen, Vector3d& vtN) ;
EXE_EXPORT bool ExeSurfTmFacetNormVersor( int nId, int nFacet, int nRefId, Vector3d& vtNorm) ; EXE_EXPORT bool ExeSurfTmFacetNormVersor( int nId, int nFacet, int nRefId, Vector3d& vtNorm) ;
EXE_EXPORT bool ExeSurfTmFacetMinAreaRectangle( int nId, int nFacet, int nRefId, Frame3d& frRect, double& dDimX, double& dDimY) ; EXE_EXPORT bool ExeSurfTmFacetMinAreaRectangle( int nId, int nFacet, int nRefId, Frame3d& frRect, double& dDimX, double& dDimY) ;
EXE_EXPORT bool ExeSurfTmFacetElevationInBBox( int nId, int nFacet, const BBox3d& b3Box, bool bAcceptOutFacet, int nRefId, double& dElev) ;
EXE_EXPORT bool ExeSurfTmFacetElevationInClosedSurfTm( int nFacetStmId, int nFacet, int nClosedStmId, bool bAcceptOutFacet, double& dElev) ;
EXE_EXPORT bool ExeSurfTmFacetOppositeSide( int nId, int nFacet, const Vector3d& vtDir, int nRefId, EXE_EXPORT bool ExeSurfTmFacetOppositeSide( int nId, int nFacet, const Vector3d& vtDir, int nRefId,
Point3d& ptP1, Point3d& ptP2) ; Point3d& ptP1, Point3d& ptP2) ;
EXE_EXPORT bool ExeSurfTmFacetOppositeSideEx( int nId, int nFacet, const Vector3d& vtDir, int nRefId, EXE_EXPORT bool ExeSurfTmFacetOppositeSideEx( int nId, int nFacet, const Vector3d& vtDir, int nRefId,
Point3d& ptP1, Point3d& ptPm, Point3d& ptP2, Vector3d& vtIn1, Vector3d& vtOut2, double& dLen, double& dWidth) ; Point3d& ptP1, Point3d& ptPm, Point3d& ptP2, Vector3d& vtIn1, Vector3d& vtOut2, double& dLen, double& dWidth) ;
EXE_EXPORT bool ExeSurfTmFacetsContact( int nId, int nF1, int nF2, int nRefId, bool& bAdjac, Point3d& ptP1, Point3d& ptP2, double& dAng) ; EXE_EXPORT bool ExeSurfTmFacetsContact( int nId, int nF1, int nF2, int nRefId, bool& bAdjac, Point3d& ptP1, Point3d& ptP2, double& dAng) ;
EXE_EXPORT int ExeExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ; EXE_EXPORT int ExeExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeGetSurfTmSilhouette( int nId, const Vector3d& vtDir, double dToler, int nDestGrpId, int nRefType, int* pnCount, bool bAllTria = false) ; EXE_EXPORT int ExeGetSurfTmSilhouette( int nId, const Vector3d& vtDir, double dToler, int nDestGrpId, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ; EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ; EXE_EXPORT int ExeCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
EXE_EXPORT bool ExeSurfTmGetAllVertInFacet( int nId, int nFacet, INTVECTOR& vVert) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBox( int nId, int nFacet, int nFlag, BBox3d& b3Box) ; EXE_EXPORT bool ExeSurfTmGetFacetBBox( int nId, int nFacet, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBoxGlob( int nId, int nFacet, int nFlag, BBox3d& b3Box) ; EXE_EXPORT bool ExeSurfTmGetFacetBBoxGlob( int nId, int nFacet, int nFlag, BBox3d& b3Box) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBoxRef( int nId, int nFacet, int nFlag, const Frame3d& frRef, BBox3d& b3Box) ; EXE_EXPORT bool ExeSurfTmGetFacetBBoxRef( int nId, int nFacet, int nFlag, const Frame3d& frRef, BBox3d& b3Box) ;
EXE_EXPORT int ExeSurfTmGetEdges( int nId, int nDestGrpId, bool bSmoothAng, int* pnCount) ;
EXE_EXPORT bool ExeSurfBezierGetPoint( int nSurfId, double dU, double dV, int nRefId, Point3d& ptP) ; EXE_EXPORT bool ExeSurfBezierGetPoint( int nSurfId, double dU, double dV, int nRefId, Point3d& ptP) ;
EXE_EXPORT bool ExeSurfBezierGetPointD1( int nSurfId, double dU, double dV, int nUsd, int nVsd, int nRefId, EXE_EXPORT bool ExeSurfBezierGetPointD1( int nSurfId, double dU, double dV, int nUsd, int nVsd, int nRefId,
Point3d& ptP, Vector3d& vtDerU, Vector3d& vtDerV) ; Point3d& ptP, Vector3d& vtDerU, Vector3d& vtDerV) ;
@@ -823,7 +789,6 @@ EXE_EXPORT int ExeCDeRectPrismoidSolid( const Frame3d& frPrismoid, double dBase
EXE_EXPORT int ExeCDeCylSolid( const Frame3d& frCyl, double dR, double dH, int nSolidId, double dSafeDist, int nRefType) ; EXE_EXPORT int ExeCDeCylSolid( const Frame3d& frCyl, double dR, double dH, int nSolidId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeCDeConeSolid( const Frame3d& frCone, double dR1, double dR2, double dH, int nSolidId, double dSafeDist, int nRefType) ; EXE_EXPORT int ExeCDeConeSolid( const Frame3d& frCone, double dR1, double dR2, double dH, int nSolidId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeCDeSpheSolid( const Point3d& ptCen, double dR, int nSolidId, double dSafeDist, int nRefType) ; EXE_EXPORT int ExeCDeSpheSolid( const Point3d& ptCen, double dR, int nSolidId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeCDeSolidSolid( int nSolid1Id, int nSolid2Id, double dSafeDist) ;
// Maximum Filler // Maximum Filler
EXE_EXPORT bool ExeMaxFillerStart( void) ; EXE_EXPORT bool ExeMaxFillerStart( void) ;
@@ -899,7 +864,6 @@ EXE_EXPORT bool ExeCAvSetAdvTool( double dToolLen, double dToolDiam, double dTip
EXE_EXPORT bool ExeCAvSetSawTool( double dToolLen, double dToolDiam, double dThickness, double dStemDiam, double dToolCornR) ; EXE_EXPORT bool ExeCAvSetSawTool( double dToolLen, double dToolDiam, double dThickness, double dStemDiam, double dToolCornR) ;
EXE_EXPORT bool ExeCAvSetGenTool( int nToolSectId) ; EXE_EXPORT bool ExeCAvSetGenTool( int nToolSectId) ;
EXE_EXPORT int ExeCAvGetToolOutline( int nDestGrpId, bool bApprox = false) ; EXE_EXPORT int ExeCAvGetToolOutline( int nDestGrpId, bool bApprox = false) ;
EXE_EXPORT double ExeCAvToolPosBox( const Point3d& ptP, const Vector3d& vtAx, const BBox3d& b3Box, const Vector3d& vtMove) ;
EXE_EXPORT double ExeCAvToolPosStm( const Point3d& ptP, const Vector3d& vtAx, int nSurfTmId, const Vector3d& vtMove, int nRefType) ; EXE_EXPORT double ExeCAvToolPosStm( const Point3d& ptP, const Vector3d& vtAx, int nSurfTmId, const Vector3d& vtMove, int nRefType) ;
EXE_EXPORT bool ExeCAvToolPathStm( int nCrvId, const Vector3d& vtAx, int nSurfTmId, const Vector3d& vtMove, double dLinTol, int nRefType) ; EXE_EXPORT bool ExeCAvToolPathStm( int nCrvId, const Vector3d& vtAx, int nSurfTmId, const Vector3d& vtMove, double dLinTol, int nRefType) ;
@@ -924,7 +888,6 @@ EXE_EXPORT int ExeGetLastMachGroup( void) ;
EXE_EXPORT int ExeGetPrevMachGroup( int nId) ; EXE_EXPORT int ExeGetPrevMachGroup( int nId) ;
EXE_EXPORT bool ExeGetMachGroupNewName( std::string& sName) ; EXE_EXPORT bool ExeGetMachGroupNewName( std::string& sName) ;
EXE_EXPORT int ExeAddMachGroup( const std::string& sName, const std::string& sMachineName) ; EXE_EXPORT int ExeAddMachGroup( const std::string& sName, const std::string& sMachineName) ;
EXE_EXPORT int ExeCopyMachGroup( const std::string& sSouName, const std::string& sName) ;
EXE_EXPORT bool ExeRemoveMachGroup( int nMGroupId) ; EXE_EXPORT bool ExeRemoveMachGroup( int nMGroupId) ;
EXE_EXPORT bool ExeGetMachGroupName( int nId, std::string& sName) ; EXE_EXPORT bool ExeGetMachGroupName( int nId, std::string& sName) ;
EXE_EXPORT bool ExeGetMachGroupMachineName( int nId, std::string& sMachineName) ; EXE_EXPORT bool ExeGetMachGroupMachineName( int nId, std::string& sMachineName) ;
@@ -1032,7 +995,6 @@ EXE_EXPORT bool ExeGetDefaultSetupName( std::string& sName) ;
EXE_EXPORT bool ExeImportSetup( const std::string& sName) ; EXE_EXPORT bool ExeImportSetup( const std::string& sName) ;
EXE_EXPORT bool ExeVerifyCurrSetup( STRVECTOR& vsErrors) ; EXE_EXPORT bool ExeVerifyCurrSetup( STRVECTOR& vsErrors) ;
EXE_EXPORT bool ExeFindToolInCurrSetup( const std::string& sTool) ; EXE_EXPORT bool ExeFindToolInCurrSetup( const std::string& sTool) ;
EXE_EXPORT bool ExeGetToolSetupPosInCurrSetup( const std::string& sTool, std::string& sTcPos) ;
EXE_EXPORT bool ExeGetToolsInCurrSetupPos( const std::string& sTcPos, STRVECTOR& vsTools) ; EXE_EXPORT bool ExeGetToolsInCurrSetupPos( const std::string& sTcPos, STRVECTOR& vsTools) ;
EXE_EXPORT bool ExeUpdateCurrSetup( void) ; EXE_EXPORT bool ExeUpdateCurrSetup( void) ;
EXE_EXPORT bool ExeEraseCurrSetup( void) ; EXE_EXPORT bool ExeEraseCurrSetup( void) ;
@@ -1131,10 +1093,8 @@ EXE_EXPORT bool ExeUpdateAllMachinings( bool bStopOnFirstErr, std::string& sErrL
EXE_EXPORT bool ExeUpdateAllMachiningsEx( bool bStopOnFirstErr, std::string& sErrList, std::string& sWarnList) ; EXE_EXPORT bool ExeUpdateAllMachiningsEx( bool bStopOnFirstErr, std::string& sErrList, std::string& sWarnList) ;
// CL Entities Interrogations // CL Entities Interrogations
EXE_EXPORT bool ExeGetClEntMove( int nEntId, int& nMove) ; EXE_EXPORT bool ExeGetClEntMove( int nEntId, int& nMove) ;
EXE_EXPORT bool ExeGetClEntFlag( int nEntId, int& nFlag, int& nFlag2) ; EXE_EXPORT bool ExeGetClEntFlag( int nEntId, int& nFlag) ;
EXE_EXPORT bool ExeGetClEntIndex( int nEntId, int& nIndex) ; EXE_EXPORT bool ExeGetClEntIndex( int nEntId, int& nIndex) ;
EXE_EXPORT bool ExeGetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) ;
// Simulation // Simulation
EXE_EXPORT bool ExeSimInit( void) ; EXE_EXPORT bool ExeSimInit( void) ;
EXE_EXPORT bool ExeSimStart( bool bFirst) ; EXE_EXPORT bool ExeSimStart( bool bFirst) ;
@@ -1168,7 +1128,6 @@ EXE_EXPORT bool ExeGetAllTcPosNames( STRVECTOR& vNames) ;
// Machine Calc // Machine Calc
EXE_EXPORT bool ExeSetCalcTable( const std::string& sTable) ; EXE_EXPORT bool ExeSetCalcTable( const std::string& sTable) ;
EXE_EXPORT bool ExeSetCalcTool( const std::string& sTool, const std::string& sHead, int nExit) ; EXE_EXPORT bool ExeSetCalcTool( const std::string& sTool, const std::string& sHead, int nExit) ;
EXE_EXPORT bool ExeGetAllCurrAxesName( STRVECTOR& vAxName) ;
EXE_EXPORT bool ExeSetRotAxisBlock( const std::string& sAxis, double dVal) ; EXE_EXPORT bool ExeSetRotAxisBlock( const std::string& sAxis, double dVal) ;
EXE_EXPORT bool ExeGetCalcTool( std::string& sTool, std::string& sHead, int& nExit) ; EXE_EXPORT bool ExeGetCalcTool( std::string& sTool, std::string& sHead, int& nExit) ;
EXE_EXPORT bool ExeGetRotAxisBlocked( int nInd, std::string& sAxis, double& dVal) ; EXE_EXPORT bool ExeGetRotAxisBlocked( int nInd, std::string& sAxis, double& dVal) ;
@@ -1215,8 +1174,6 @@ EXE_EXPORT bool ExeSetWinRectAttribs( bool bOutline, Color WrCol) ;
EXE_EXPORT bool ExeSetGlobFrameShow( bool bShow) ; EXE_EXPORT bool ExeSetGlobFrameShow( bool bShow) ;
EXE_EXPORT bool ExeSetGridShow( bool bShowGrid, bool bShowFrame) ; EXE_EXPORT bool ExeSetGridShow( bool bShowGrid, bool bShowFrame) ;
EXE_EXPORT bool ExeSetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) ; EXE_EXPORT bool ExeSetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) ;
EXE_EXPORT bool ExeSetGridGeoAdv( double dSnapStep, int nMinLineSstep, int nMajLineSstep,
double dXmin, double dXmax, double dYmin, double dYmax) ;
EXE_EXPORT bool ExeSetGridColor( Color colMin, Color colMaj) ; EXE_EXPORT bool ExeSetGridColor( Color colMin, Color colMaj) ;
EXE_EXPORT bool ExeResize( int nW, int nH) ; EXE_EXPORT bool ExeResize( int nW, int nH) ;
EXE_EXPORT bool ExeDraw( void) ; EXE_EXPORT bool ExeDraw( void) ;
+1 -1
View File
@@ -37,7 +37,7 @@ class ExecManager
{ return m_pExecMap.insert( std::pair< std::string, Exec>( sName, eFunc)).second ; } { return m_pExecMap.insert( std::pair< std::string, Exec>( sName, eFunc)).second ; }
int Execute( T& Executor, const std::string& sCmd1, const std::string& sCmd2, const STRVECTOR& vsParams) int Execute( T& Executor, const std::string& sCmd1, const std::string& sCmd2, const STRVECTOR& vsParams)
{ const auto Iter = m_pExecMap.find( sCmd1) ; { KeyExecMap::iterator Iter = m_pExecMap.find( sCmd1) ;
if ( Iter != m_pExecMap.end() && (Iter->second) != nullptr) { if ( Iter != m_pExecMap.end() && (Iter->second) != nullptr) {
if ( ( Executor.*(Iter->second))( sCmd2, vsParams)) if ( ( Executor.*(Iter->second))( sCmd2, vsParams))
return ER_OK ; return ER_OK ;
+3 -4
View File
@@ -1,13 +1,13 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2018-2023 // EgalTech 2018-2018
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EgtFunPtrType.h Data : 23.11.23 Versione : 2.5k5 // File : EgtFunPtrType.h Data : 19.07.18 Versione : 1.9g2
// Contenuto : Dichiarazione tipi puntatori a funzione. // Contenuto : Dichiarazione tipi puntatori a funzione.
// //
// //
// //
// Modifiche : 19.07.18 DS Creazione modulo. // Modifiche : 19.07.18 DS Creazione modulo.
// 23.11.23 DS Aggiunta pfOnTerminateProcess. //
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -16,6 +16,5 @@
#include <string> #include <string>
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
typedef bool (__stdcall * pfOnTerminateProcess) ( int) ;
typedef int (__stdcall * pfProcEvents) (int, int) ; typedef int (__stdcall * pfProcEvents) (int, int) ;
typedef bool (__stdcall * pfOutText) ( const std::string&) ; typedef bool (__stdcall * pfOutText) ( const std::string&) ;
+1 -1
View File
@@ -24,7 +24,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
const int KEY_BASELIB_PROD = 207 ; const int KEY_BASELIB_PROD = 207 ;
const int KEY_BASELIB_VER = 2512 ; const int KEY_BASELIB_VER = 2504 ;
const int KEY_BASELIB_LEV = 1 ; const int KEY_BASELIB_LEV = 1 ;
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
+8 -6
View File
@@ -1,13 +1,13 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2013-2023 // EgalTech 2013-2013
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EgtLogger.h Data : 15.12.23 Versione : 2.5l3 // File : EgtLogger.h Data : 06.12.13 Versione : 1.4a4
// Contenuto : Classi per logger. // Contenuto : Classi per logger.
// //
// //
// //
// Modifiche : 06.12.13 DS Creazione modulo. // Modifiche : 06.12.13 DS Creazione modulo.
// 15.12.23 DS Ora default è thread safe. //
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -76,7 +76,7 @@ namespace egtlogger
} ; } ;
public : public :
Logger( LogLevel nLevel, const char* szName, bool bThreadSafe = true, Logger( LogLevel nLevel, const char* szName, bool bThreadSafe = false,
int nLoggableItems = LI_DATETIME | LI_LOGGERNAME | LI_LOGGERLEVEL | LI_FUNCTION | LI_LINENUMBER) int nLoggableItems = LI_DATETIME | LI_LOGGERNAME | LI_LOGGERLEVEL | LI_FUNCTION | LI_LINENUMBER)
: m_nLevel( nLevel), m_name( szName), m_threadProtect( bThreadSafe), m_loggableItem( nLoggableItems) : m_nLevel( nLevel), m_name( szName), m_threadProtect( bThreadSafe), m_loggableItem( nLoggableItems)
{} {}
@@ -109,7 +109,8 @@ namespace egtlogger
void ClearOutputStreams( void) void ClearOutputStreams( void)
{ {
for ( auto iter = m_outputStreams.cbegin() ; iter < m_outputStreams.cend() ; ++iter) { std::vector<StreamInfo>::iterator iter ;
for ( iter = m_outputStreams.begin(); iter < m_outputStreams.end() ; ++iter) {
if ( iter->bOwned) if ( iter->bOwned)
delete iter->pStream ; delete iter->pStream ;
} }
@@ -126,7 +127,8 @@ namespace egtlogger
{ {
m_threadProtect.Lock() ; m_threadProtect.Lock() ;
for ( auto iter = m_outputStreams.cbegin() ; iter < m_outputStreams.cend() ; ++iter) { std::vector<StreamInfo>::iterator iter ;
for ( iter = m_outputStreams.begin() ; iter < m_outputStreams.end() ; ++iter) {
if ( nLevel < iter->nLevel) if ( nLevel < iter->nLevel)
continue ; continue ;
+4 -4
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2016-2023 // EgalTech 2016-2018
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EgtNumUtils.h Data : 16.08.23 Versione : 2.5h2 // File : EgtNumUtils.h Data : 05.11.16 Versione : 1.6w1
// Contenuto : Funzioni numeriche di base. // Contenuto : Funzioni numeriche di base.
// //
// //
@@ -17,14 +17,14 @@
inline inline
int Clamp( int nVal, int nMin, int nMax) int Clamp( int nVal, int nMin, int nMax)
{ {
return ( nVal < nMin ? nMin : ( nVal > nMax ? nMax : nVal)) ; return ( nVal < nMin ? nMin : nMax < nVal ? nMax : nVal) ;
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
inline inline
double Clamp( double dVal, double dMin, double dMax) double Clamp( double dVal, double dMin, double dMax)
{ {
return ( dVal < dMin ? dMin : ( dVal > dMax ? dMax : dVal)) ; return ( dVal < dMin ? dMin : dMax < dVal ? dMax : dVal) ;
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
-1
View File
@@ -28,7 +28,6 @@ int GetKeyLevel( const std::string& sKey, int nProd, int nVer, int nLev,
int GetKeyOptions( const std::string& sKey, int nProd, int nVer, int nLev, int GetKeyOptions( const std::string& sKey, int nProd, int nVer, int nLev,
unsigned int& nKOpt1, unsigned int& nKOpt2, int& nKOptExpDays) ; unsigned int& nKOpt1, unsigned int& nKOpt2, int& nKOptExpDays) ;
int GetCurrDay( void) ; int GetCurrDay( void) ;
int GetMinDay( void) ;
//-------------------------- Constants ---------------------------------------- //-------------------------- Constants ----------------------------------------
// Codici di ritorno // Codici di ritorno
+5 -8
View File
@@ -1,14 +1,13 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2014-2023 // EgalTech 2014-2022
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : SELkLockId.cpp Data : 30.05.23 Versione : 2.5e5 // File : SELkLockId.cpp Data : 16.05.22 Versione : 2.4e3
// Contenuto : Dichiarazione funzioni per gestione/calcolo Id protezione, // Contenuto : Dichiarazione funzioni per gestione/calcolo Id protezione,
// da macchina o da chiave hardware. // da macchina o da chiave hardware.
// //
// //
// Modifiche : 10.09.14 DS Creazione modulo. // Modifiche : 10.09.14 DS Creazione modulo.
// 16.05.22 DS Aggiunta gestione chiave di rete. // 16.05.22 DS Aggiunta gestione chiave di rete.
// 30.05.23 DS Aggiunta gestione utente di rete e rilascio chiave di rete.
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@@ -17,12 +16,10 @@
#include <string> #include <string>
//------------------------------------------------------------------------------- //-------------------------------------------------------------------------------
// Imposto il tipo di protezione ammessa (ANY, HW, SW) // Imposto il tipo di protezione
bool SetLockType( int nType) ; bool SetLockType( int nType) ;
// Imposto chiave di rete, identificativo utente (0-9) e indirizzo // Forzo chiave di rete (se prevista protezione hardware)
bool SetNetHwKey( bool bNetHwKey, int nUserId, const std::string& sAddrPort) ; bool SetNetHwKey( bool bNetHwKey) ;
// Libero chiave di rete (da eseguire al termine del programma)
bool CloseNetHwKey( void) ;
// Recupero l'identificativo in chiaro della protezione // Recupero l'identificativo in chiaro della protezione
bool GetLockId( std::string& sLockId) ; bool GetLockId( std::string& sLockId) ;
// Recupero l'identificativo cifrato della protezione // Recupero l'identificativo cifrato della protezione