Compare commits
47 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 33cd3aa310 | |||
| e2295d2502 | |||
| 328f571012 | |||
| 129dfa412e | |||
| 6f0c532456 | |||
| b3d649894f | |||
| bb030c1008 | |||
| 05243da50b | |||
| 80423a1eb6 | |||
| 0318d44994 | |||
| bd7ed86369 | |||
| 65fee5de7b | |||
| f614420f37 | |||
| 9144694734 | |||
| 4c7cf4d0e4 | |||
| 6c983db4d7 | |||
| d497fb30cd | |||
| 3f05d8d830 | |||
| 56a10b43b4 | |||
| 0288f200f8 | |||
| c8370b9dc7 | |||
| 19c2dffa32 | |||
| 4df6b4f95d | |||
| cb3f9075e6 | |||
| 992073ea80 | |||
| 90bac7ecf8 | |||
| d4e0b3183f | |||
| 886e63f1a0 | |||
| 7f4d123700 | |||
| 29078f12d3 | |||
| 040b3cc386 | |||
| 997bf37426 | |||
| 70b81d88c3 | |||
| e1d42cfca8 | |||
| 70ae6c8cb2 | |||
| dc8b2e1fe6 | |||
| 58efb93e9f | |||
| 532a6f487c | |||
| d50bf5e4da | |||
| f6429f8361 | |||
| 6b3d3a39be | |||
| 46baa14304 | |||
| 9357f8fef0 | |||
| 966a4ff0c1 | |||
| 4f82bc1a6a | |||
| 35982ecc97 | |||
| b6b36bbf01 |
@@ -43,6 +43,8 @@ class __declspec( novtable) IBeamMgr
|
||||
virtual bool SetPartCount( int nCount) = 0 ;
|
||||
virtual bool SetPartBox( double dLength, double dHeight, double dWidth, bool bUpdate = true) = 0 ;
|
||||
virtual bool GetSideData( int nSide, Frame3d& frRef, double& dLength, double& dWidth, double& dHeight) = 0 ;
|
||||
virtual bool ShowFacesName( bool bShow) = 0 ;
|
||||
virtual bool ShowLoadingSide( bool bShow, bool bFromLeft) = 0 ;
|
||||
virtual int AddProcess( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
||||
const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt,
|
||||
int nCrvId, int nCrv2Id, bool bUpdate = true) = 0 ;
|
||||
|
||||
+7
-7
@@ -1,12 +1,12 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2014
|
||||
// EgalTech 2022-2022
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EExExportStl.h Data : 07.08.14 Versione : 1.5h2
|
||||
// File : EExExportThreeJS.h Data : 22.10.22 Versione : 2.4j1
|
||||
// Contenuto : Dichiarazione della interfaccia IExportStl.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 07.08.14 DS Creazione modulo.
|
||||
// Modifiche : 22.10.22 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -27,16 +27,16 @@
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class __declspec(novtable) IExportThreeJS
|
||||
class __declspec( novtable) IExportThreeJS
|
||||
{
|
||||
public:
|
||||
virtual ~IExportThreeJS( void) {}
|
||||
virtual bool SetOptions( int nFilter) = 0 ;
|
||||
virtual bool Export( IGeomDB* pGDB, int nId, const std::string& sFile, IEGrScene* pScene, bool bUdm) = 0 ;
|
||||
};
|
||||
virtual bool Export( IGeomDB* pGDB, int nId, IEGrScene* pScene, bool bUdm, const std::string& sFile) = 0 ;
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
extern "C" {
|
||||
EEX_EXPORT bool SetThreeJSAuxDir( const std::string& sThreeJSAuxDir) ;
|
||||
EEX_EXPORT bool SetThreeJSLibDir( const std::string& sThreeJSLibDir) ;
|
||||
EEX_EXPORT IExportThreeJS* CreateExportThreeJS( void) ;
|
||||
}
|
||||
|
||||
+5
-2
@@ -1,7 +1,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2014
|
||||
// EgalTech 2014-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkAngle.h Data : 14.07.14 Versione : 1.5g2
|
||||
// File : EGkAngle.h Data : 10.02.23 Versione : 2.5b1
|
||||
// Contenuto : Dichiarazione funzioni per gestione angoli.
|
||||
//
|
||||
//
|
||||
@@ -27,3 +27,6 @@ EGK_EXPORT double AngleNearAngle( double dAngDeg, double dAngRefDeg) ;
|
||||
EGK_EXPORT double DiffAngle( double dAng1Deg, double dAng2Deg) ;
|
||||
EGK_EXPORT double MediaAngle( double dAng1Deg, double dAng2Deg, double dCoeff) ;
|
||||
EGK_EXPORT bool AngleInSpan( double dAngDeg, double dAngRefDeg, double dAngSpanDeg) ;
|
||||
EGK_EXPORT bool AngleInRange( double dAngDeg, double dAngMinDeg, double dAngMaxDeg) ;
|
||||
EGK_EXPORT bool AdjustAngleInSpan( double& dAngDeg, double dAngRefDeg, double dAngSpanDeg) ;
|
||||
EGK_EXPORT bool AdjustAngleInRange( double& dAngDeg, double dAngMinDeg, double dAngMaxDeg) ;
|
||||
|
||||
+4
-3
@@ -1,13 +1,13 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2015
|
||||
// EgalTech 2014-2022
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkArcSpecial.h Data : 15.03.15 Versione : 1.6c2
|
||||
// File : EGkArcSpecial.h Data : 20.12.22 Versione : 2.4l3
|
||||
// Contenuto : Dichiarazione funzioni per calcolo speciale archi.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 12.06.14 DS Creazione modulo.
|
||||
//
|
||||
// 20.12.22 DS Aggiunta GetArc2PCN.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -28,3 +28,4 @@
|
||||
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* 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) ;
|
||||
|
||||
+41
-7
@@ -1,14 +1,14 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2013-2022
|
||||
// EgalTech 2013-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkBBox3d.h Data : 17.08.22 Versione : 2.4h1
|
||||
// File : EGkBBox3d.h Data : 12.05.23 Versione : 2.5e3
|
||||
// Contenuto : Dichiarazione della classe axis aligned bounding box BBox3d.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 14.01.13 DS Creazione modulo.
|
||||
// 17.08.22 DS Aggiunte GetDimX, GetDimY, GetDimZ.
|
||||
//
|
||||
// 12.05.23 DS Aggiunta Overlaps con Box su riferimento.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -90,10 +90,11 @@ class EGK_EXPORT BBox3d
|
||||
bool EnclosesXY( const Point3d& ptP) const ;
|
||||
bool Encloses( const BBox3d& b3Box) const ;
|
||||
bool EnclosesXY( const BBox3d& b3Box) const ;
|
||||
bool Overlaps( const BBox3d& b3B) const ;
|
||||
bool OverlapsXY( const BBox3d& b3B) const ;
|
||||
bool FindIntersection( const BBox3d& b3B, BBox3d& b3Int) const ;
|
||||
bool FindIntersectionXY( const BBox3d& b3B, BBox3d& b3Int) const ;
|
||||
bool Overlaps( const BBox3d& b3Box) const ;
|
||||
bool OverlapsXY( const BBox3d& b3Box) const ;
|
||||
bool Overlaps( const Frame3d& frBox, const BBox3d& b3Box) const ;
|
||||
bool FindIntersection( const BBox3d& b3Box, BBox3d& b3Int) const ;
|
||||
bool FindIntersectionXY( const BBox3d& b3Box, BBox3d& b3Int) const ;
|
||||
double SqDistFromPoint( const Point3d& ptP) const ;
|
||||
double SqDistFromPointXY( const Point3d& ptP) const ;
|
||||
double DistFromPoint( const Point3d& ptP) const
|
||||
@@ -126,3 +127,36 @@ class EGK_EXPORT BBox3d
|
||||
Point3d m_ptMin ;
|
||||
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 ;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2020-2020
|
||||
// EgalTech 2020-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkCDeSurfTmSurfTm.h Data : 13.11.20 Versione :
|
||||
// File : EGkCDeClosedSurfTmClosedSurfTm.h Data : 14.06.23 Versione : 2.5f3
|
||||
// Contenuto : Dichiarazione funzione verifica collisione tra
|
||||
// SurfTm e SurfTm.
|
||||
//
|
||||
@@ -27,4 +27,4 @@
|
||||
// di collisione o inconsistenza dei parametri di input.
|
||||
// Le due superfici devono essere espresse nel medesimo sistema di riferimento.
|
||||
// La distanza di sicurezza ha effetto solo se maggiore di EPS_SMALL.
|
||||
EGK_EXPORT bool CDeClosedSurfTmClosedSurfTm( const SurfTriMesh& SurfA, const SurfTriMesh& SurfB, double dSafeDist) ;
|
||||
EGK_EXPORT bool CDeClosedSurfTmClosedSurfTm( const ISurfTriMesh& SurfA, const ISurfTriMesh& SurfB, double dSafeDist) ;
|
||||
|
||||
@@ -28,5 +28,5 @@
|
||||
// Raggio principale R1, raggio secondario R2.
|
||||
// Il toro è posto nel piano XY del suo riferimento, centrato sull'origine.
|
||||
// La funzione restituisce true in caso di collisione.
|
||||
EGK_EXPORT bool CDeConvexTorusClosedSurfTm( const Frame3d& frTorusFrame, double dRad1, double dRad2,
|
||||
EGK_EXPORT bool CDeConvexTorusClosedSurfTm( const Frame3d& frTorus, double dRad1, double dRad2,
|
||||
double dSafeDist, const ISurfTriMesh& tmSurf) ;
|
||||
|
||||
@@ -31,6 +31,7 @@ class __declspec( novtable) ICurve : public IGeoObj
|
||||
PP_END = 3} ; // punto coincidente con la fine
|
||||
enum ApprLineType { APL_STD = 0, // approssimazione standard
|
||||
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_CONVEX = 11, // linee sempre a sinistra convesse
|
||||
APL_RIGHT = 2, // linee sempre a destra
|
||||
|
||||
@@ -56,7 +56,9 @@ class __declspec( novtable) ICurveComposite : public ICurve
|
||||
virtual bool ModifyCurveToLine( int nCrv) = 0 ;
|
||||
virtual bool ArcsToBezierCurves( void) = 0 ;
|
||||
virtual bool ArcsBezierCurvesToArcsPerpExtr( 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 RemoveSmallDefects( double dLinTol, double dAngTolDeg, bool bAlsoSpikes = false) = 0 ;
|
||||
virtual bool RemoveUndercutOnY( double dLinTol, double dAngTolDeg) = 0 ;
|
||||
virtual bool IsAPoint( void) const = 0 ;
|
||||
virtual bool IsALine( double dLinTol, Point3d& ptStart, Point3d& ptEnd) const = 0 ;
|
||||
|
||||
+1
-1
@@ -47,4 +47,4 @@ EGK_EXPORT const std::string& GetNfeFontDir( void) ;
|
||||
// restituisce il nome del font di default
|
||||
EGK_EXPORT const std::string& GetDefaultFont( void) ;
|
||||
// imposto il gestore eventi
|
||||
EGK_EXPORT bool SetEGkProcessEvents( pfProcEvents pFun) ;
|
||||
EGK_EXPORT bool SetEGkProcessEvents( pfProcEvents pFun) ;
|
||||
|
||||
@@ -32,6 +32,12 @@ class __declspec( novtable) IExtDimension : public IGeoObj
|
||||
int nDecDigit, const std::string& sFont, double dTextHeight) = 0 ;
|
||||
virtual bool SetLinear( const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptPos,
|
||||
const Vector3d& vtN, const Vector3d& vtDir, const std::string& sText) = 0 ;
|
||||
virtual bool SetRadial( const Point3d& ptCen, const Point3d& ptPos,
|
||||
const Vector3d& vtN, const std::string& sText) = 0 ;
|
||||
virtual bool SetDiametral( const Point3d& ptCen, const Point3d& ptPos,
|
||||
const Vector3d& vtN, const std::string& sText) = 0 ;
|
||||
virtual bool SetAngular( const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptV, const Point3d& ptPos,
|
||||
const Vector3d& vtN, const std::string& sText ) = 0 ;
|
||||
virtual const Vector3d& GetNormVersor( void) const = 0 ;
|
||||
virtual const Vector3d& GetDirVersor( void) const = 0 ;
|
||||
virtual const std::string& GetText( void) const = 0 ;
|
||||
|
||||
+51
-18
@@ -56,23 +56,23 @@ class EGK_EXPORT Frame3d
|
||||
bool ToLoc( const Frame3d& frRef) ;
|
||||
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
|
||||
Frame3d& operator*=( const Frame3d& frRef)
|
||||
{ this->ToGlob( frRef) ; return *this ;}
|
||||
{ ToGlob( frRef) ; return *this ; }
|
||||
Frame3d& operator/=( const Frame3d& frRef)
|
||||
{ this->ToLoc( frRef) ; return *this ;}
|
||||
{ ToLoc( frRef) ; return *this ; }
|
||||
bool IsValid( void) const
|
||||
{ return ( m_nType != ERR) ; }
|
||||
int GetType( void) const
|
||||
{ return m_nType ;}
|
||||
{ return m_nType ; }
|
||||
int GetZType( void) const
|
||||
{ return m_nZType ;}
|
||||
{ return m_nZType ; }
|
||||
const Point3d& Orig( void) const
|
||||
{ return m_ptOrig ;}
|
||||
{ return m_ptOrig ; }
|
||||
const Vector3d& VersX( void) const
|
||||
{ return m_vtVersX ;}
|
||||
{ return m_vtVersX ; }
|
||||
const Vector3d& VersY( void) const
|
||||
{ return m_vtVersY ;}
|
||||
{ return m_vtVersY ; }
|
||||
const Vector3d& VersZ( void) const
|
||||
{ return m_vtVersZ ;}
|
||||
{ return m_vtVersZ ; }
|
||||
bool GetRotationsCAC1( double& dAngC, double& dAngA, double& dAngC1) const ;
|
||||
bool GetFixedAxesRotationsABC( double& dAngADeg, double& dAngBDeg, double& dAngCDeg) const ;
|
||||
|
||||
@@ -97,23 +97,56 @@ const Frame3d GLOB_FRM ;
|
||||
//----------------------------------------------------------------------------
|
||||
// Prodotto di due frame (porta il primo dal secondo nel globale)
|
||||
//----------------------------------------------------------------------------
|
||||
inline Frame3d
|
||||
operator*( const Frame3d& frRef1, const Frame3d& frRef2)
|
||||
inline const Frame3d
|
||||
operator*( const Frame3d& frRef, const Frame3d& frOri)
|
||||
{
|
||||
Frame3d frRefR = frRef1 ;
|
||||
frRefR.ToGlob( frRef2) ;
|
||||
return frRefR ;
|
||||
Frame3d frNew = frRef ;
|
||||
frNew.ToGlob( frOri) ;
|
||||
return frNew ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Divisione di due frame (porta il primo dal globale nel secondo)
|
||||
//----------------------------------------------------------------------------
|
||||
inline Frame3d
|
||||
operator/( const Frame3d& frRef1, const Frame3d& frRef2)
|
||||
inline const Frame3d
|
||||
operator/( const Frame3d& frRef, const Frame3d& frDest)
|
||||
{
|
||||
Frame3d frRefR = frRef1 ;
|
||||
frRefR.ToLoc( frRef2) ;
|
||||
return frRefR ;
|
||||
Frame3d frNew = frRef ;
|
||||
frNew.ToLoc( frDest) ;
|
||||
return frNew ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! 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 ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
+6
-4
@@ -1,13 +1,13 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2013-2013
|
||||
// EgalTech 2013-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkGdbIterator.h Data : 04.12.13 Versione : 1.4a3
|
||||
// File : EGkGdbIterator.h Data : 29.01.23 Versione : 2.5a2
|
||||
// Contenuto : Dichiarazione della interfaccia IGdbIterator.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 04.12.13 DS Creazione modulo.
|
||||
//
|
||||
// 29.01.23 DS Aggiunte GetAllInfo e CopyAllInfoFrom.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -142,6 +142,8 @@ class __declspec( novtable) IGdbIterator
|
||||
virtual bool GetInfo( const std::string& sKey, STRVECTOR& vsInfo) const = 0 ;
|
||||
virtual bool ExistsInfo( const std::string& sKey) const = 0 ;
|
||||
virtual bool RemoveInfo( const std::string& sKey) = 0 ;
|
||||
virtual bool GetAllInfo( STRVECTOR& vsInfo) const = 0 ;
|
||||
virtual bool CopyAllInfoFrom( const IGdbIterator& iIter) = 0 ;
|
||||
// TextureData
|
||||
virtual bool SetTextureName( const std::string& sTxrName) = 0 ;
|
||||
virtual bool SetTextureFrame( const Frame3d& frTxrRef) = 0 ;
|
||||
@@ -156,4 +158,4 @@ class __declspec( novtable) IGdbIterator
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
EGK_EXPORT IGdbIterator* CreateGdbIterator( IGeomDB* pGDB = nullptr) ;
|
||||
EGK_EXPORT IGdbIterator* CreateGdbIterator( IGeomDB* pGDB = nullptr) ;
|
||||
|
||||
@@ -23,6 +23,12 @@
|
||||
typedef std::vector<Point3d> PNTVECTOR ; // vettore di punti
|
||||
typedef std::list<Point3d> PNTLIST ; // lista di punti
|
||||
typedef std::vector<PNTVECTOR> PNTMATRIX ; // matrice di punti
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Raccolte di coppie Point3d,int
|
||||
typedef std::pair<Point3d,int> POINTI ; // coppia punto, intero
|
||||
typedef std::vector<POINTI> PNTIVECTOR ; // vettore di coppie punto, intero
|
||||
typedef std::list<POINTI> PNTILIST ; // lista di coppie punto, intero
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Raccolte di coppie Point3d,dU
|
||||
|
||||
@@ -33,6 +33,9 @@ const double SQ_EPS_ZERO = EPS_ZERO * EPS_ZERO ;
|
||||
const double INFINITO = 1e10 ;
|
||||
const double SQ_INFINITO = INFINITO * INFINITO ;
|
||||
|
||||
// coefficiente componente di vettore largamente predominante
|
||||
const double KV_BIG = 1e5 ;
|
||||
|
||||
// conversione da gradi a radianti e viceversa
|
||||
const double PIGRECO = 3.14159265358979323846 ;
|
||||
const double DEGTORAD = PIGRECO / 180. ;
|
||||
|
||||
+4
-2
@@ -1,7 +1,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2013-2014
|
||||
// EgalTech 2013-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkGeomDB.h Data : 03.12.14 Versione : 1.5k1
|
||||
// File : EGkGeomDB.h Data : 29.01.23 Versione : 2.5a
|
||||
// Contenuto : Dichiarazione della interfaccia IGeomDB.
|
||||
//
|
||||
//
|
||||
@@ -11,6 +11,7 @@
|
||||
// 21.05.14 DS Agg. GotoFirst/Next/Last/Prev.
|
||||
// 30.05.14 DS Agg. metodi di Shear.
|
||||
// 03.12.14 DS Aggiunta gestione riferimento di griglia.
|
||||
// 29.01.23 DS Aggiunta GetAllInfo.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -176,6 +177,7 @@ class __declspec( novtable) IGeomDB
|
||||
virtual bool GetInfo( int nId, const std::string& sKey, STRVECTOR& vsInfo) const = 0 ;
|
||||
virtual bool ExistsInfo( int nId, const std::string& sKey) const = 0 ;
|
||||
virtual bool RemoveInfo( int nId, const std::string& sKey) = 0 ;
|
||||
virtual bool GetAllInfo( int nId, STRVECTOR& vsInfo) const = 0 ;
|
||||
virtual bool CopyAllInfoFrom( int nId, int nSouId) = 0 ;
|
||||
// TextureData
|
||||
virtual bool DumpTextureData( int nId, std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const = 0 ;
|
||||
|
||||
@@ -38,6 +38,16 @@ class Plane3d
|
||||
m_dDist = ( ptP - ORIG) * m_vtN ;
|
||||
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)
|
||||
{ m_vtN = V_NULL ;
|
||||
m_dDist = 0 ;
|
||||
|
||||
+21
-18
@@ -42,6 +42,9 @@ class EGK_EXPORT Point3d
|
||||
void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ;}
|
||||
|
||||
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
|
||||
bool IsSmall( void) const
|
||||
{ return ( ( x * x + y * y + z * z) < SQ_EPS_SMALL) ; }
|
||||
@@ -50,19 +53,19 @@ class EGK_EXPORT Point3d
|
||||
{ return ( ( x * x + y * y + z * z) < SQ_EPS_ZERO) ; }
|
||||
//! Somma sul posto con un vettore
|
||||
Point3d& operator +=( const Vector3d& vtV)
|
||||
{ this->x += vtV.x ; this->y += vtV.y ; this->z += vtV.z ; return *this ; }
|
||||
{ x += vtV.x ; y += vtV.y ; z += vtV.z ; return *this ; }
|
||||
//! Sottrazione sul posto con un vettore
|
||||
Point3d& operator -=( const Vector3d& vtV)
|
||||
{ this->x -= vtV.x ; this->y -= vtV.y ; this->z -= vtV.z ; return *this ; }
|
||||
{ x -= vtV.x ; y -= vtV.y ; z -= vtV.z ; return *this ; }
|
||||
//! Somma sul posto con un altro punto (valida solo se equivalente ad una combinazione baricentrica)
|
||||
Point3d& operator +=( const Point3d& ptP)
|
||||
{ this->x += ptP.x ; this->y += ptP.y ; this->z += ptP.z ; return *this ; }
|
||||
{ x += ptP.x ; y += ptP.y ; z += ptP.z ; return *this ; }
|
||||
//! Moltiplicazione sul posto con un numero
|
||||
Point3d& operator *=( double dMul)
|
||||
{ this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
|
||||
{ x *= dMul ; y *= dMul ; z *= dMul ; return *this ; }
|
||||
//! Divisione sul posto con un numero
|
||||
Point3d& operator /=( double dDiv)
|
||||
{ double dMul = 1 / dDiv ; this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
|
||||
{ double dMul = 1 / dDiv ; x *= dMul ; y *= dMul ; z *= dMul ; return *this ; }
|
||||
//! Traslazione dato il vettore di movimento
|
||||
void Translate( const Vector3d& vtMove) ;
|
||||
//! Rotazione attorno ad un asse per un punto, dato l'angolo in gradi
|
||||
@@ -102,7 +105,7 @@ const Point3d ORIG( 0, 0, 0) ;
|
||||
//----------------------------------------------------------------------------
|
||||
//! Somma di due punti (valida solo se equivalente ad una combinazione baricentrica)
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
operator+( const Point3d& ptP1, const Point3d& ptP2)
|
||||
{
|
||||
return Point3d( ptP1.x + ptP2.x, ptP1.y + ptP2.y, ptP1.z + ptP2.z) ;
|
||||
@@ -111,16 +114,16 @@ operator+( const Point3d& ptP1, const Point3d& ptP2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Somma di un punto e un vettore
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
operator+( const Point3d& ptP1, const Vector3d& vtV2)
|
||||
{
|
||||
return Point3d( ptP1.x + vtV2.x, ptP1.y + vtV2.y, ptP1.z + vtV2.z) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Opposto di un punto
|
||||
//! Opposto di un punto, genera un vettore
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator-( const Point3d& ptP)
|
||||
{
|
||||
return Vector3d( - ptP.x, - ptP.y, - ptP.z) ;
|
||||
@@ -129,7 +132,7 @@ operator-( const Point3d& ptP)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Differenza di due punti, genera un vettore
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator-( const Point3d& ptP1, const Point3d& ptP2)
|
||||
{
|
||||
return Vector3d( ptP1.x - ptP2.x, ptP1.y - ptP2.y, ptP1.z - ptP2.z) ;
|
||||
@@ -138,7 +141,7 @@ operator-( const Point3d& ptP1, const Point3d& ptP2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Sottrazione di un punto e un vettore
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
operator-( const Point3d& ptP1, const Vector3d& vtV2)
|
||||
{
|
||||
return Point3d( ptP1.x - vtV2.x, ptP1.y - vtV2.y, ptP1.z - vtV2.z) ;
|
||||
@@ -147,7 +150,7 @@ operator-( const Point3d& ptP1, const Vector3d& vtV2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Prodotto con uno scalare
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
operator*( const Point3d& ptP, double dMul)
|
||||
{
|
||||
return Point3d( ptP.x * dMul, ptP.y * dMul, ptP.z * dMul) ;
|
||||
@@ -156,7 +159,7 @@ operator*( const Point3d& ptP, double dMul)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Prodotto di uno scalare con un punto
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
operator*( double dMul, const Point3d& ptP)
|
||||
{
|
||||
return Point3d( ptP.x * dMul, ptP.y * dMul, ptP.z * dMul) ;
|
||||
@@ -165,7 +168,7 @@ operator*( double dMul, const Point3d& ptP)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Divisione per uno scalare
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
operator/( const Point3d& ptP, double dDiv)
|
||||
{
|
||||
double dMul ;
|
||||
@@ -177,7 +180,7 @@ operator/( const Point3d& ptP, double dDiv)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Somma mediata di due punti (baricentrica)
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
Media( const Point3d& ptP1, const Point3d& ptP2, double dCoeff = 0.5)
|
||||
{
|
||||
return Point3d( ( 1 - dCoeff) * ptP1.x + dCoeff * ptP2.x,
|
||||
@@ -368,7 +371,7 @@ AreSamePointXYExact( const Point3d& ptP1, const Point3d& ptP2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Restituisce una copia in locale del punto passato
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
GetToLoc( const Point3d& ptP, const Frame3d& frRef)
|
||||
{
|
||||
Point3d ptQ = ptP ;
|
||||
@@ -379,7 +382,7 @@ GetToLoc( const Point3d& ptP, const Frame3d& frRef)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Restituisce una copia in globale del punto passato
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
GetToGlob( const Point3d& ptP, const Frame3d& frRef)
|
||||
{
|
||||
Point3d ptQ = ptP ;
|
||||
@@ -390,7 +393,7 @@ GetToGlob( const Point3d& ptP, const Frame3d& frRef)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Restituisce una copia dal primo al secondo riferimento del punto passato
|
||||
//----------------------------------------------------------------------------
|
||||
inline Point3d
|
||||
inline const Point3d
|
||||
GetLocToLoc( const Point3d& ptP, const Frame3d& frOri, const Frame3d& frDest)
|
||||
{
|
||||
Point3d ptQ = ptP ;
|
||||
|
||||
@@ -135,7 +135,9 @@ typedef std::list<PolyLine> POLYLINELIST ; // lista 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, double& dMinDistPar) ;
|
||||
EGK_EXPORT bool IsPointInsidePolyLine( const Point3d& ptP, const PolyLine& plPoly, double dToler) ;
|
||||
EGK_EXPORT bool GetPointParamOnPolyLine( const Point3d& ptP, const PolyLine& plPoly, double dToler, double& dPar) ;
|
||||
EGK_EXPORT bool ChangePolyLineStart( PolyLine& plPoly, const Point3d& ptNewStart, double dToler) ;
|
||||
EGK_EXPORT bool SplitPolyLineAtPoint( const PolyLine& plPoly, const Point3d& ptP, double dToler, PolyLine& plPoly1, PolyLine& plPoly2) ;
|
||||
EGK_EXPORT bool AssociatePolyLinesMinDistPoints( const PolyLine& PL1, const PolyLine& PL2, PNTIVECTOR& vPnt1, PNTIVECTOR& vPnt2, bool& bCommonInternalPoints) ;
|
||||
|
||||
@@ -24,6 +24,9 @@
|
||||
#define EGK_EXPORT __declspec( dllimport)
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
enum RS_CAP { RSCAP_NONE = 0, RSCAP_FLAT = 1, RSCAP_ROUND = 2, RSCAP_BEVEL = 3} ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshByFlatContour( const ICurve* pCurve, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshByRegion( const CICURVEPVECTOR& vpCurve, double dLinTol = 10 * EPS_SMALL) ;
|
||||
@@ -35,6 +38,8 @@ EGK_EXPORT ISurfTriMesh* GetSurfTriMeshByRevolve( const ICurve* pCurve, const Po
|
||||
const Vector3d& vtAx, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshByScrewing( const ICurve* pCurve, const Point3d& ptAx, const Vector3d& vtAx,
|
||||
double dAngRotDeg, double dMove, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshRectSwept( double dDimH, double dDimV, double dBevelH, double dBevelV,
|
||||
const ICurve* pGuide, int nCapType, double dLinTol) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshSwept( const ICurve* pSect, const ICurve* pGuide, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshRuled( const Point3d& ptP, const ICurve* pCurve, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshRuled( const ICurve* pCurve1, const ICurve* pCurve2, int nType, double dLinTol = 10 * EPS_SMALL) ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2014
|
||||
// EgalTech 2014-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkStmFromTriangleSoup.h Data : 19.05.14 Versione : 1.5e7
|
||||
// File : EGkStmFromTriangleSoup.h Data : 07.05.23 Versione : 2.5e2
|
||||
// Contenuto : Dichiarazione della classe StmFromTriangleSoup.
|
||||
//
|
||||
//
|
||||
@@ -36,6 +36,7 @@ class StmFromTriangleSoup
|
||||
EGK_EXPORT bool Start( int nBuckets = GRID_STD_BUCKETS) ;
|
||||
EGK_EXPORT bool AddTriangle( const Triangle3d& Tria) ;
|
||||
EGK_EXPORT bool AddTriangle( const Point3d& ptP0, const Point3d& ptP1, const Point3d& ptP2) ;
|
||||
EGK_EXPORT bool AddSurfTriMesh( const ISurfTriMesh& stmSource) ;
|
||||
EGK_EXPORT bool End( void) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurf( void) ;
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ class __declspec( novtable) ISurfBezier : public ISurf
|
||||
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 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 const Point3d& GetControlPoint( int nIndU, int nIndV, bool* pbOk) const = 0 ;
|
||||
virtual const Point3d& GetControlPoint( int nInd, bool* pbOk) const = 0 ;
|
||||
@@ -57,6 +58,7 @@ class __declspec( novtable) ISurfBezier : public ISurf
|
||||
virtual bool GetControlCurveOnU( int nIndV, PolyLine& plCtrlU) const = 0 ;
|
||||
virtual bool GetControlCurveOnV( int nIndU, PolyLine& plCtrlV) const = 0 ;
|
||||
virtual const ISurfTriMesh* GetAuxSurf( void) const = 0 ;
|
||||
virtual bool GetLeaves ( std::vector<std::tuple<int, Point3d, Point3d>>& vLeaves) const = 0 ;
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
+44
-31
@@ -14,6 +14,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "/EgtDev/Include/EGkGeoConst.h"
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
|
||||
//----------------------- Macro per import/export -----------------------------
|
||||
@@ -43,6 +44,9 @@ class EGK_EXPORT Vector3d
|
||||
void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ; }
|
||||
|
||||
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
|
||||
double SqLen( void) const
|
||||
{ return ( x * x + y * y + z * z) ; }
|
||||
@@ -70,53 +74,60 @@ class EGK_EXPORT Vector3d
|
||||
{ return ( abs( 1.0 - (x * x + y * y + z * z)) < ( 2 * EPS_ZERO)) ; }
|
||||
//! Verifica se il vettore è parallelo ed equiverso con X+
|
||||
bool IsXplus( void) const
|
||||
{ return ( x > EPS_ZERO && abs( y) < EPS_ZERO && abs( z) < EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( y), abs( z)) ;
|
||||
return ( x > EPS_ZERO && dMO < 10 * EPS_ZERO && x > KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è parallelo ed equiverso con X-
|
||||
bool IsXminus( void) const
|
||||
{ return ( x < - EPS_ZERO && abs( y) < EPS_ZERO && abs( z) < EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( y), abs( z)) ;
|
||||
return ( x < -EPS_ZERO && dMO < 10 * EPS_ZERO && x < -KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è parallelo a X
|
||||
bool IsX( void) const
|
||||
{ return ( abs( x) > EPS_ZERO && abs( y) < EPS_ZERO && abs( z) < EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( y), abs( z)) ;
|
||||
return ( abs( x) > EPS_ZERO && dMO < 10 * EPS_ZERO && abs( x) > KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è parallelo ed equiverso con Y+
|
||||
bool IsYplus( void) const
|
||||
{ return ( abs( x) < EPS_ZERO && y > EPS_ZERO && abs( z) < EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( z), abs( x)) ;
|
||||
return ( y > EPS_ZERO && dMO < 10 * EPS_ZERO && y > KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è parallelo ed equiverso con Y-
|
||||
bool IsYminus( void) const
|
||||
{ return ( abs( x) < EPS_ZERO && y < - EPS_ZERO && abs( z) < EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( z), abs( x)) ;
|
||||
return ( y < -EPS_ZERO && dMO < 10 * EPS_ZERO && y < -KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è parallelo a Y
|
||||
bool IsY( void) const
|
||||
{ return ( abs( x) < EPS_ZERO && abs( y) > EPS_ZERO && abs( z) < EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( z), abs( x)) ;
|
||||
return ( abs( y) > EPS_ZERO && dMO < 10 * EPS_ZERO && abs( y) > KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è parallelo ed equiverso con Z+
|
||||
bool IsZplus( void) const
|
||||
{ return ( abs( x) < EPS_ZERO && abs( y) < EPS_ZERO && z > EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( x), abs( y)) ;
|
||||
return ( z > EPS_ZERO && dMO < 10 * EPS_ZERO && z > KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è parallelo ed equiverso con Z-
|
||||
bool IsZminus( void) const
|
||||
{ return ( abs( x) < EPS_ZERO && abs( y) < EPS_ZERO && z < - EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( x), abs( y)) ;
|
||||
return ( z < -EPS_ZERO && dMO < 10 * EPS_ZERO && z < -KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è parallelo a Z
|
||||
bool IsZ( void) const
|
||||
{ return ( abs( x) < EPS_ZERO && abs( y) < EPS_ZERO && abs( z) > EPS_ZERO) ; }
|
||||
{ double dMO = std::max( abs( x), abs( y)) ;
|
||||
return ( abs( z) > EPS_ZERO && dMO < 10 * EPS_ZERO && abs( z) > KV_BIG * dMO) ; }
|
||||
//! Verifica se il vettore è generico
|
||||
bool IsGeneric( void) const
|
||||
{ return (( abs( x) > EPS_ZERO && abs( y) > EPS_ZERO) ||
|
||||
( abs( y) > EPS_ZERO && abs( z) > EPS_ZERO) ||
|
||||
( abs( z) > EPS_ZERO && abs( x) > EPS_ZERO)) ; }
|
||||
{ return ( ! IsX() && ! IsY() && ! IsZ()) ; }
|
||||
//! Somma sul posto con altro vettore
|
||||
Vector3d& operator +=( const Vector3d& vtV)
|
||||
{ this->x += vtV.x ; this->y += vtV.y ; this->z += vtV.z ; return *this ; }
|
||||
{ x += vtV.x ; y += vtV.y ; z += vtV.z ; return *this ; }
|
||||
//! Sottrazione sul posto con altro vettore
|
||||
Vector3d& operator -=( const Vector3d& vtV)
|
||||
{ this->x -= vtV.x ; this->y -= vtV.y ; this->z -= vtV.z ; return *this ; }
|
||||
{ x -= vtV.x ; y -= vtV.y ; z -= vtV.z ; return *this ; }
|
||||
//! Moltiplicazione sul posto con un numero
|
||||
Vector3d& operator *=( double dMul)
|
||||
{ this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
|
||||
{ x *= dMul ; y *= dMul ; z *= dMul ; return *this ; }
|
||||
//! Divisione sul posto con un numero
|
||||
Vector3d& operator /=( double dDiv)
|
||||
{ double dMul = 1 / dDiv ; this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
|
||||
{ double dMul = 1 / dDiv ; x *= dMul ; y *= dMul ; z *= dMul ; return *this ; }
|
||||
//! Ritorna la rappresentazione in coordinate sferiche
|
||||
void ToSpherical( double* pdLen, double* pdAngVertDeg, double* pdAngOrizzDeg) const ;
|
||||
//! Inversione del vettore
|
||||
void Invert( void)
|
||||
{ x = - x ; y = - y ; z = - z ; }
|
||||
{ x = -x ; y = -y ; z = -z ; }
|
||||
//! Normalizzazione del vettore (trasformazione in versore)
|
||||
bool Normalize( double dEps = EPS_SMALL) ;
|
||||
//! Rotazione attorno ad un asse, dato l'angolo in gradi
|
||||
@@ -141,7 +152,9 @@ class EGK_EXPORT Vector3d
|
||||
bool GetAngleXY( const Vector3d& vtEnd, double& dAngDeg) const ;
|
||||
//! \brief Calcolo angolo di rotazione per portare la componente del vettore perpendicolare
|
||||
//! all'asse di rotazione sulla stessa direzione della componente perpendicolare di vtEnd
|
||||
bool GetRotation( const Vector3d& vtEnd, const Vector3d& vtAx, double& dAngDeg, bool& bDet) const ;
|
||||
bool GetRotation( const Vector3d& vtEnd, const Vector3d& vtAx, double dEpsZero, double& dAngDeg, bool& bDet) const ;
|
||||
bool GetRotation( const Vector3d& vtEnd, const Vector3d& vtAx, double& dAngDeg, bool& bDet) const
|
||||
{ return GetRotation( vtEnd, vtAx, EPS_ZERO, dAngDeg, bDet) ;}
|
||||
|
||||
public :
|
||||
union {
|
||||
@@ -189,7 +202,7 @@ EGK_EXPORT Vector3d FromNearestHorizontalOrtho( const Vector3d& vtV, const Vecto
|
||||
//----------------------------------------------------------------------------
|
||||
//! Opposto di un vettore
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator-( const Vector3d& vtV)
|
||||
{
|
||||
return ( Vector3d( - vtV.x, - vtV.y, - vtV.z)) ;
|
||||
@@ -198,7 +211,7 @@ operator-( const Vector3d& vtV)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Somma di due vettori
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator+( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
{
|
||||
return ( Vector3d( vtV1.x + vtV2.x, vtV1.y + vtV2.y, vtV1.z + vtV2.z)) ;
|
||||
@@ -207,7 +220,7 @@ operator+( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Sottrazione di due vettori
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator-( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
{
|
||||
return ( Vector3d( vtV1.x - vtV2.x, vtV1.y - vtV2.y, vtV1.z - vtV2.z)) ;
|
||||
@@ -216,7 +229,7 @@ operator-( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Prodotto con uno scalare
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator*( const Vector3d& vtV, double dMul)
|
||||
{
|
||||
return ( Vector3d( vtV.x * dMul, vtV.y * dMul, vtV.z * dMul)) ;
|
||||
@@ -225,7 +238,7 @@ operator*( const Vector3d& vtV, double dMul)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Prodotto di uno scalare con un vettore
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator*( double dMul, const Vector3d& vtV)
|
||||
{
|
||||
return ( Vector3d( vtV.x * dMul, vtV.y * dMul, vtV.z * dMul)) ;
|
||||
@@ -234,7 +247,7 @@ operator*( double dMul, const Vector3d& vtV)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Divisione con uno scalare
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator/( const Vector3d& vtV, double dDiv)
|
||||
{
|
||||
double dMul = 1 / dDiv ;
|
||||
@@ -262,7 +275,7 @@ ScalarXY( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Prodotto vettoriale
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
operator^( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
{
|
||||
return ( Vector3d( vtV1.y * vtV2.z - vtV1.z * vtV2.y,
|
||||
@@ -282,7 +295,7 @@ CrossXY( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Somma mediata di due vettori (baricentrica)
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff = 0.5)
|
||||
{
|
||||
return ( Vector3d( ( 1 - dCoeff) * vtV1.x + dCoeff * vtV2.x,
|
||||
@@ -293,7 +306,7 @@ Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff = 0.5)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Restituisce il componente del vettore parallelo a quello di riferimento
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
ParallCompo( const Vector3d& vtV, const Vector3d& vtRef)
|
||||
{
|
||||
if ( vtRef.IsNormalized())
|
||||
@@ -305,7 +318,7 @@ ParallCompo( const Vector3d& vtV, const Vector3d& vtRef)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Restituisce il componente del vettore ortogonale a quello di riferimento
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
OrthoCompo( const Vector3d& vtV, const Vector3d& vtRef)
|
||||
{
|
||||
if ( vtRef.IsNormalized())
|
||||
@@ -416,7 +429,7 @@ AreOrthoExact( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Restituisce una copia in locale del vettore passato
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
GetToLoc( const Vector3d& vtV, const Frame3d& frRef)
|
||||
{
|
||||
Vector3d vtW = vtV ;
|
||||
@@ -427,7 +440,7 @@ GetToLoc( const Vector3d& vtV, const Frame3d& frRef)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Restituisce una copia in globale del vettore passato
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
GetToGlob( const Vector3d& vtV, const Frame3d& frRef)
|
||||
{
|
||||
Vector3d vtW = vtV ;
|
||||
@@ -438,7 +451,7 @@ GetToGlob( const Vector3d& vtV, const Frame3d& frRef)
|
||||
//----------------------------------------------------------------------------
|
||||
//! Restituisce una copia dal primo al secondo riferimento del vettore passato
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
inline const Vector3d
|
||||
GetLocToLoc( const Vector3d& vtV, const Frame3d& frOri, const Frame3d& frDest)
|
||||
{
|
||||
Vector3d vtW = vtV ;
|
||||
|
||||
+18
-9
@@ -64,18 +64,27 @@ class __declspec( novtable) IVolZmap : public IGeoObj
|
||||
virtual int GetResolution( void) const = 0 ;
|
||||
virtual bool ChangeResolution( int nDexvoxRatio) = 0 ;
|
||||
virtual bool SetToolTolerances( double dLinTol, double dAngTolDeg = 90) = 0 ;
|
||||
virtual bool SetStdTool( const std::string& sToolName, double dH, double dR, double dCornR, double dCutterH, int nFlag) = 0 ;
|
||||
virtual bool SetStdTool( const std::string& sToolName,
|
||||
double dH, double dR, double dCornR, double dCutterH, int nFlag, bool bFirst) = 0 ;
|
||||
virtual bool SetAdvTool( const std::string& sToolName,
|
||||
double dH, double dR, double dTipH, double dTipR, double dCornR, double dCutterH, int nFlag) = 0 ;
|
||||
double dH, double dR, double dTipH, double dTipR, double dCornR, double dCutterH, int nFlag, bool bFirst) = 0 ;
|
||||
virtual bool SetSawTool( const std::string& sToolName,
|
||||
double dH, double dR, double dThick, double dStemR, double dCornR, int nFlag) = 0 ;
|
||||
virtual bool SetGenTool( const std::string& sToolName, const ICurveComposite* pToolOutline, int nFlag) = 0 ;
|
||||
virtual bool SetMortiserTool( const std::string& sToolName, double dH, double dW, double dTh, double dRc, int nFlag) = 0 ;
|
||||
virtual bool SetChiselTool( const std::string& sToolName, double dH, double dW, double dTh, int nFlag) = 0 ;
|
||||
virtual bool ResetTool( void) = 0 ;
|
||||
double dH, double dR, double dThick, double dStemR, double dCornR, int nFlag, bool bFirst) = 0 ;
|
||||
virtual bool SetGenTool( const std::string& sToolName,
|
||||
const ICurveComposite* pToolOutline, int nFlag, bool bFirst) = 0 ;
|
||||
virtual bool SetMortiserTool( const std::string& sToolName,
|
||||
double dH, double dW, double dTh, double dRc, int nFlag, bool bFirst) = 0 ;
|
||||
virtual bool SetChiselTool( const std::string& sToolName,
|
||||
double dH, double dW, double dTh, int nFlag, bool bFirst) = 0 ;
|
||||
virtual int GetToolCount( void) const = 0 ;
|
||||
virtual bool SetCurrTool( int nCurrTool) = 0 ;
|
||||
virtual bool ResetTools( void) = 0 ;
|
||||
virtual const ICurveComposite& GetToolOutline( bool bApprox = false) const = 0 ;
|
||||
virtual bool MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Point3d& ptPe, const Vector3d& vtDe) = 0 ;
|
||||
virtual bool MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Vector3d& vtAs,
|
||||
virtual bool MillingStep( int nCurrTool,
|
||||
const Point3d& ptPs, const Vector3d& vtDs,
|
||||
const Point3d& ptPe, const Vector3d& vtDe) = 0 ;
|
||||
virtual bool MillingStep( int nCurrTool,
|
||||
const Point3d& ptPs, const Vector3d& vtDs, const Vector3d& vtAs,
|
||||
const Point3d& ptPe, const Vector3d& vtDe, const Vector3d& vtAe) = 0 ;
|
||||
virtual bool GetDepth( const Point3d& ptP, const Vector3d& vtDir, double& dInLength, double& dOutLength, bool bExact) const = 0 ;
|
||||
virtual bool GetLineIntersection( const Point3d& ptP, const Vector3d& vtD, ILZIVECTOR& vIntersInfo) const = 0 ;
|
||||
|
||||
@@ -28,3 +28,9 @@ class ILogger ;
|
||||
EGN_EXPORT const char* GetEGnVersion( void) ;
|
||||
// permette di impostare il logger per la Dll
|
||||
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) ;
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// 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) ;
|
||||
+3
-5
@@ -1,7 +1,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2019
|
||||
// EgalTech 2014-2022
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGrScene.h Data : 13.02.14 Versione : 2.1i2
|
||||
// File : EGrScene.h Data : 22.10.22 Versione : 2.4j1
|
||||
// Contenuto : Dichiarazione della interfaccia IEGrScene per scena OpenGL.
|
||||
//
|
||||
//
|
||||
@@ -95,7 +95,7 @@ class IEGrScene
|
||||
virtual bool SetGridGeo( double dSnapStep, int nMinLineSstep, int nMajLineSstep, int nExtSstep) = 0 ;
|
||||
virtual bool SetGridColor( Color colMinLine, Color colMajLine) = 0 ;
|
||||
virtual void GetGridParam( double& dSnapStep, int& nExtStep) const = 0 ;
|
||||
virtual bool GetShowGrid() = 0 ;
|
||||
virtual bool GetShowGrid( void) = 0 ;
|
||||
// Glob Frame
|
||||
virtual bool SetGlobFrameShow( bool bShow) = 0 ;
|
||||
// Direct
|
||||
@@ -142,8 +142,6 @@ class IEGrScene
|
||||
// Image
|
||||
virtual bool GetImage( int nShowMode, Color colBackTop, Color colBackBottom,
|
||||
int nDestWidth, int nDestHeight, const std::string& sFile) = 0 ;
|
||||
|
||||
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -50,6 +50,7 @@ EIN_EXPORT void __stdcall EgtDisableCommandLogger( void) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtGetVersionInfo( wchar_t*& wsVer) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtGetKeyInfo( wchar_t*& wsKey) ;
|
||||
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 EgtGetKeyLevel( int nProd, int nVer, int nLev, int* pnKLev) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtGetKeyOptions( int nProd, int nVer, int nLev, unsigned int* pnOpt2) ;
|
||||
@@ -114,10 +115,12 @@ EIN_EXPORT BOOL __stdcall EgtImportStl( const wchar_t* wsFilePath, double dScale
|
||||
EIN_EXPORT BOOL __stdcall EgtImport3MF( const wchar_t* wsFilePath) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtAdvancedImportIsEnabled( void) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtAdvancedImport( const wchar_t* wsFilePath, double dLinToler) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtExportDxf( int nId, const wchar_t* wsFilePath, int nFlag) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtExportStl( int nId, const wchar_t* wsFilePath) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtExport3MF( int nId, const wchar_t* wsFilePath) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtExportSvg( int nId, const wchar_t* wsFilePath) ;
|
||||
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 EgtExport3MF( 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 EgtExportThreeJS( int nId, const wchar_t* wsFilePath, int nFilter) ;
|
||||
|
||||
// BeamManager
|
||||
EIN_EXPORT BOOL __stdcall EgtInitBeamMgr( int nFlag) ;
|
||||
@@ -133,6 +136,8 @@ EIN_EXPORT BOOL __stdcall EgtBeamSetPartBox( double dLength, double dHeight, dou
|
||||
EIN_EXPORT BOOL __stdcall EgtBeamGetSideData( int nSide,
|
||||
double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3],
|
||||
double* pdLength, double* pdWidth, double* pdHeight) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtBeamShowFacesName( BOOL bShow) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtBeamShowLoadingSide( BOOL bShow, BOOL bFromLeft) ;
|
||||
EIN_EXPORT int __stdcall EgtBeamAddProcess( int nGroup, int nProc, int nSide, const wchar_t* wsDes, int nProcId,
|
||||
const double ptOrig[3], const double vX[3], const double vY[3], const double vZ[3],
|
||||
int nPar, const double vPar[], const wchar_t* wsPar, const wchar_t* wsUAtts,
|
||||
@@ -174,7 +179,7 @@ EIN_EXPORT BOOL __stdcall EgtLuaCallFunction( const wchar_t* wsFun) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtLuaEvalNumExpr( const wchar_t* wsExpr, double* pdVal) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtLuaEvalStringExpr( const wchar_t* wsExpr, wchar_t*& wsVal) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtLuaExecLine( const wchar_t* wsLine) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtLuaExecFile( const wchar_t* wsFilePath) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtLuaExecFile( const wchar_t* wsFilePath, BOOL bLogInfo) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtLuaRequire( const wchar_t* wsFilePath) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtLuaGetLastError( wchar_t*& wsError) ;
|
||||
|
||||
@@ -512,10 +517,12 @@ EIN_EXPORT BOOL __stdcall EgtMergeCurvesInCurveCompo( int nId, double dLinTol, B
|
||||
// GeomDb Surf Modify
|
||||
EIN_EXPORT BOOL __stdcall EgtInvertSurface( int nId) ;
|
||||
EIN_EXPORT int __stdcall EgtExplodeSurface( int nId, int* pnCount) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtApproxSurface( int nId, double dLinTol) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfFrAdd( int nId1, int nId2) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfFrSubtract( int nId1, int nId2) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfFrIntersect( int nId1, int nId2) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfFrOffset( int nId, double dDist, int nType) ;
|
||||
EIN_EXPORT int __stdcall EgtSurfTmToTriangles( int nId, int* pnCount) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfTmRemoveFacet( int nId, int nFacet) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtCutSurfTmPlane( int nId, const double ptOn[3], const double vtN[3], BOOL bSaveOnEq, int nRefType) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtCutSurfTmClosedCurve( int nSurfId, int nCurveId, BOOL bSaveOnEq) ;
|
||||
@@ -562,11 +569,15 @@ EIN_EXPORT BOOL __stdcall EgtArcNormVersor( int nId, int nRefId, double vtNorm[3
|
||||
EIN_EXPORT BOOL __stdcall EgtCurveCompoCenter( int nId, int nSimpCrv, int nRefId, double ptCen[3]) ;
|
||||
|
||||
// GeomDb Surf Get
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfArea( int nId, double* pdArea) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfIsClosed( int nId) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfVolume( int nId, double* pdVol) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfFrNormVersor( int nId, int nRefId, double vtNorm[3]) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfFrGrossArea( int nId, double* pdArea) ;
|
||||
EIN_EXPORT int __stdcall EgtSurfFrChunkCount( int nId) ;
|
||||
EIN_EXPORT int __stdcall EgtSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2, double dToler) ;
|
||||
EIN_EXPORT int __stdcall EgtExtractSurfFrChunkLoops( int nId, int nChunk, int nDestGrpId, int* pnCount) ;
|
||||
EIN_EXPORT int __stdcall EgtSurfTmPartCount( int nId) ;
|
||||
EIN_EXPORT int __stdcall EgtSurfTmFacetCount( int nId) ;
|
||||
EIN_EXPORT int __stdcall EgtSurfTmFacetFromTria( int nId, int nT) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfTmFacetNearestEndPoint( int nId, int nFacet, const double ptNear[3], int nRefId,
|
||||
|
||||
+4
-3
@@ -1,7 +1,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2015-2019
|
||||
// EgalTech 2015-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EmkSimuGenConst.h Data : 05.08.19 Versione : 2.1h1
|
||||
// File : EmkSimuGenConst.h Data : 16.01.23 Versione : 2.5a2
|
||||
// Contenuto : Costanti per simulazione e generazione.
|
||||
//
|
||||
//
|
||||
@@ -35,7 +35,8 @@ enum SimCollObjType { MCH_SIM_COB_NULL = 0,
|
||||
MCH_SIM_COB_BOX = 1,
|
||||
MCH_SIM_COB_CYL = 2,
|
||||
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 ------------
|
||||
enum MachLook { MCH_LOOK_NONE = -1,
|
||||
|
||||
@@ -36,6 +36,7 @@ enum FileType { FT_NULL = 0,
|
||||
FT_JT = 35,
|
||||
FT_VRML = 36,
|
||||
FT_C3D = 37,
|
||||
FT_HTML = 51,
|
||||
FT_TSC = 101,
|
||||
FT_LUA = 102} ;
|
||||
|
||||
@@ -84,6 +85,13 @@ enum CrvRegClass { CRC_NULL = 0,
|
||||
CRC_ON = 3,
|
||||
CRC_INTERS = 4} ;
|
||||
|
||||
//----------------- Costanti tipo estremi di superficie swept con sezione rettangolare ----------
|
||||
enum RSCapType { RSCT_NONE = 0, // come RSCAP_NONE
|
||||
RSCT_FLAT = 1, // come RSCAP_FLAT
|
||||
RSCT_ROUND = 2, // come RSCAP_ROUND
|
||||
RSCT_BEVEL = 3} ; // come RSCAP_BEVEL
|
||||
|
||||
|
||||
//----------------- Costanti flag import CNC -----------------------------------
|
||||
enum EicFlag { EIC_FLAG_NONE = 0, // come EImCncFlag::EICFLAG_NONE
|
||||
EIC_FLAG_CHAIN = 1, // come EImCncFlag::EICFLAG_CHAIN
|
||||
|
||||
+41
-16
@@ -55,7 +55,8 @@ EXE_EXPORT bool ExeGetExecutableVersion( std::string& sVer) ;
|
||||
EXE_EXPORT bool ExeGetVersionInfo( std::string& sVer, const char* szNewLine) ;
|
||||
EXE_EXPORT bool ExeGetKeyInfo( std::string& sKey) ;
|
||||
EXE_EXPORT bool ExeSetLockType( int nType) ;
|
||||
EXE_EXPORT bool ExeSetNetHwKey( bool bNetHwKey) ;
|
||||
EXE_EXPORT bool ExeSetLockId( const std::string& sLockId) ;
|
||||
EXE_EXPORT bool ExeSetNetHwKey( bool bNetHwKey, int nUserId = 0) ;
|
||||
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 ExeGetKeyLeftDays( int& nLeftDays) ;
|
||||
@@ -66,6 +67,7 @@ EXE_EXPORT bool ExeGetMemoryInfo( std::string& sMem) ;
|
||||
EXE_EXPORT bool ExeOutLog( const std::string& sMsg, int nDebugLevel = 0) ;
|
||||
EXE_EXPORT bool ExeSetEnableUI( bool bEnableUI) ;
|
||||
EXE_EXPORT bool ExeGetEnableUI( void) ;
|
||||
EXE_EXPORT int ExeMessageBox( const std::string& sText, const std::string& sTitle, int nType) ;
|
||||
EXE_EXPORT bool ExeSetProcessEvents( pfProcEvents pFun) ;
|
||||
EXE_EXPORT int ExeProcessEvents( int nProg, int nPause) ;
|
||||
EXE_EXPORT bool ExeSetOutText( pfOutText pFun) ;
|
||||
@@ -111,7 +113,6 @@ EXE_EXPORT bool ExeSaveMachGroupToFile( int nMGroupId, const std::string& sFileP
|
||||
// Exchange
|
||||
EXE_EXPORT int ExeGetFileType( const std::string& sFilePath) ;
|
||||
EXE_EXPORT bool ExeSetBtlAuxDir( const std::string& sBtlAuxDir) ;
|
||||
EXE_EXPORT bool ExeSetThreeJSAuxDir( const std::string & sThreeJSAuxDir) ;
|
||||
EXE_EXPORT bool ExeImportBtl( const std::string& sFilePath, int nFlag) ;
|
||||
EXE_EXPORT bool ExeImportBtlx( const std::string& sFilePath, int nFlag) ;
|
||||
EXE_EXPORT bool ExeImportCnc( const std::string& sFilePath, int nFlag) ;
|
||||
@@ -122,10 +123,11 @@ EXE_EXPORT bool ExeImportStl( const std::string& sFilePath, double dScaleFactor)
|
||||
EXE_EXPORT bool ExeImport3MF( const std::string& sFilePath) ;
|
||||
EXE_EXPORT bool ExeAdvancedImportIsEnabled( void) ;
|
||||
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) ;
|
||||
EXE_EXPORT bool ExeExportStl( int nId, const std::string& sFilePath) ;
|
||||
EXE_EXPORT bool ExeExport3MF( int nId, const std::string& sFilePath) ;
|
||||
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 ExeExport3MF( 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 ExeExportThreeJS( int nId, const std::string& sFilePath, int nFilter = 393) ;
|
||||
|
||||
// BeamManager
|
||||
@@ -140,6 +142,8 @@ EXE_EXPORT bool ExeBeamSetPartName( const std::string& sName) ;
|
||||
EXE_EXPORT bool ExeBeamSetPartCount( int nCount) ;
|
||||
EXE_EXPORT bool ExeBeamSetPartBox( double dLength, double dHeight, double dWidth, bool bUpdate = true) ;
|
||||
EXE_EXPORT bool ExeBeamGetSideData( int nSide, Frame3d& frRef, double& dLength, double& dWidth, double& dHeight) ;
|
||||
EXE_EXPORT bool ExeBeamShowFacesName( bool bShow) ;
|
||||
EXE_EXPORT bool ExeBeamShowLoadingSide( bool bShow, bool bFromLeft) ;
|
||||
EXE_EXPORT int ExeBeamAddProcess( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId,
|
||||
const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt,
|
||||
int nCrvId, int nCrv2Id, bool bUpdate = true) ;
|
||||
@@ -181,7 +185,7 @@ EXE_EXPORT bool ExeLuaCallFunction( const std::string& sFun) ;
|
||||
EXE_EXPORT bool ExeLuaEvalNumExpr( const std::string& sExpr, double* pdVal) ;
|
||||
EXE_EXPORT bool ExeLuaEvalStringExpr( const std::string& sExpr, std::string& sVal) ;
|
||||
EXE_EXPORT bool ExeLuaExecLine( const std::string& sLine) ;
|
||||
EXE_EXPORT bool ExeLuaExecFile( const std::string& sFilePath) ;
|
||||
EXE_EXPORT bool ExeLuaExecFile( const std::string& sFilePath, bool LogInfo = true) ;
|
||||
EXE_EXPORT bool ExeLuaRequire( const std::string& sFilePath) ;
|
||||
EXE_EXPORT bool ExeLuaGetLastError( std::string& sError) ;
|
||||
|
||||
@@ -222,6 +226,16 @@ EXE_EXPORT int ExeCreateVerticalDimension( int nParentId, const Point3d& ptP1,
|
||||
const Point3d& ptDim, const std::string& sText, int nRefType) ;
|
||||
EXE_EXPORT int ExeCreateAlignedDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP2,
|
||||
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 ExeCreateAngularDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP0, const Point3d& ptP2,
|
||||
const Point3d& ptDim, const std::string& sText, int nRefType) ;
|
||||
EXE_EXPORT int ExeCreateAngularDimensionFromLines( int nParentId, const INTVECTOR vLineIds, const Point3d& ptDim,
|
||||
const std::string& sText, int nRefType) ;
|
||||
EXE_EXPORT int ExeCreateAngularDimensionFromArc( int nParentId, int nCrvId, const Point3d& ptDim,
|
||||
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
|
||||
EXE_EXPORT int ExeCreateLine( int nParentId, const Point3d& ptIni, const Point3d& ptFin, int nRefType) ;
|
||||
@@ -329,6 +343,8 @@ EXE_EXPORT int ExeCreateSurfTmByRevolve( int nParentId, int nCrvId,
|
||||
EXE_EXPORT int ExeCreateSurfTmByScrewing( int nParentId, int nCrvId,
|
||||
const Point3d& ptAx, const Vector3d& vtAx,
|
||||
double dAngRotDeg, double dMove, bool bCapEnds, double dLinTol, int nRefType) ;
|
||||
EXE_EXPORT int ExeCreateSurfTmRectSwept( int nParentId, double dDimH, double dDimV, double dBevelH, double dBevelV,
|
||||
int nGuideId, int nCapType, double dLinTol) ;
|
||||
EXE_EXPORT int ExeCreateSurfTmSwept( int nParentId, int nSectId, int nGuideId, bool bCapEnds, double dLinTol) ;
|
||||
EXE_EXPORT int ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, int nType, double dLinTol) ;
|
||||
EXE_EXPORT int ExeCreateSurfTmByTriangles( int nParentId, const INTVECTOR& vIds, bool bErase) ;
|
||||
@@ -337,6 +353,7 @@ EXE_EXPORT int ExeCreateSurfTmBySurfBezier( int nParentId, int nSbezId) ;
|
||||
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 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) ;
|
||||
|
||||
// GeomDB Create Volume
|
||||
EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dDimX,
|
||||
@@ -468,6 +485,7 @@ EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, DBLVECTOR& vdInfo)
|
||||
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, STRVECTOR& vsInfo) ;
|
||||
EXE_EXPORT bool ExeExistsInfo( int nId, const std::string& sKey) ;
|
||||
EXE_EXPORT bool ExeRemoveInfo( int nId, const std::string& sKey) ;
|
||||
EXE_EXPORT bool ExeGetAllInfo( int nId, STRVECTOR& vsInfo) ;
|
||||
EXE_EXPORT bool ExeSetTextureName( int nId, const std::string& sTxrName) ;
|
||||
EXE_EXPORT bool ExeSetTextureFrame( int nId, const Frame3d& frTxrRef, int nRefType) ;
|
||||
EXE_EXPORT bool ExeRemoveTextureData( int nId) ;
|
||||
@@ -516,7 +534,8 @@ EXE_EXPORT bool ExeChangeClosedCurveStart( int nId, double dU) ;
|
||||
EXE_EXPORT bool ExeChangeClosedCurveStartPoint( int nId, const Point3d& ptP, int nRefType) ;
|
||||
EXE_EXPORT bool ExeModifyCurveStartPoint( int nId, const Point3d& ptP, int nRefType) ;
|
||||
EXE_EXPORT bool ExeModifyCurveEndPoint( int nId, const Point3d& ptP, int nRefType) ;
|
||||
EXE_EXPORT bool ExeSpiralizeCurve( int nId, double dDelta) ;
|
||||
EXE_EXPORT bool ExeSpiralizeCurveAlongExtrusion( int nId, double dDelta) ;
|
||||
EXE_EXPORT bool ExeSpiralizeCurveAlongGuide( int nCrvId, int nGuideId, double dLinTol) ;
|
||||
EXE_EXPORT bool ExeModifyCurveExtrusion( const INTVECTOR& vIds, const Vector3d& vtExtr, int nRefType) ;
|
||||
EXE_EXPORT bool ExeModifyCurveThickness( const INTVECTOR& vIds, double dThick) ;
|
||||
EXE_EXPORT bool ExeTrimCurveStartAtLen( int nId, double dLen) ;
|
||||
@@ -565,6 +584,7 @@ EXE_EXPORT bool ExeReorderCurvesInGroup( int nGroupId, const Point3d& ptNear, in
|
||||
// GeomDb Surf Modify
|
||||
EXE_EXPORT bool ExeInvertSurface( const INTVECTOR& vIds) ;
|
||||
EXE_EXPORT int ExeExplodeSurface( int nId, int* pnCount) ;
|
||||
EXE_EXPORT bool ExeApproxSurface( int nId, double dLinTol) ;
|
||||
EXE_EXPORT bool ExeSurfFrAdd( int nId1, int nId2) ;
|
||||
EXE_EXPORT bool ExeSurfFrSubtract( int nId1, int nId2) ;
|
||||
EXE_EXPORT bool ExeSurfFrIntersect( int nId1, int nId2) ;
|
||||
@@ -583,26 +603,27 @@ EXE_EXPORT bool ExeSurfTmIntersect( int nId1, int nId2, bool bTwoColors = false)
|
||||
EXE_EXPORT bool ExeSurfTmResetTwoColors( int nId) ;
|
||||
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 ExeSurfBzTrim( int nId, int nCutterId) ;
|
||||
|
||||
// GeomDb Volume Modify
|
||||
EXE_EXPORT int ExeExplodeVolume( int nId, int* pnCount) ;
|
||||
EXE_EXPORT bool ExeVolZmapChangeResolution( int nId, int nNewRes) ;
|
||||
EXE_EXPORT bool ExeRemoveVolZmapPart( int nId, int nPart) ;
|
||||
EXE_EXPORT bool ExeVolZmapSetStdTool( const INTVECTOR& vIds, const std::string& sToolName,
|
||||
double dLen, double dDiam, double dCornR, double dCutterH, int nFlag) ;
|
||||
double dLen, double dDiam, double dCornR, double dCutterH, int nFlag, bool bFirst) ;
|
||||
EXE_EXPORT bool ExeVolZmapSetAdvTool( const INTVECTOR& vIds, const std::string& sToolName,
|
||||
double dLen, double dDiam, double dTipLen, double dTipDiam, double dCornR, double dCutterH, int nFlag) ;
|
||||
double dLen, double dDiam, double dTipLen, double dTipDiam, double dCornR, double dCutterH, int nFlag, bool bFirst) ;
|
||||
EXE_EXPORT bool ExeVolZmapSetSawTool( const INTVECTOR& vIds, const std::string& sToolName,
|
||||
double dLen, double dDiam, double dThick, double dStemDiam, double dCornR, int nFlag) ;
|
||||
EXE_EXPORT bool ExeVolZmapSetGenTool( const INTVECTOR& vIds, const std::string& sToolName, int nToolSectId, int nFlag) ;
|
||||
double dLen, double dDiam, double dThick, double dStemDiam, double dCornR, int nFlag, bool bFirst) ;
|
||||
EXE_EXPORT bool ExeVolZmapSetGenTool( const INTVECTOR& vIds, const std::string& sToolName, int nToolSectId, int nFlag, bool bFirst) ;
|
||||
EXE_EXPORT bool ExeVolZmapSetMortiserTool( const INTVECTOR& vIds, const std::string& sToolName,
|
||||
double dLen, double dWidth, double dThick, double dCornR, int nFlag) ;
|
||||
double dLen, double dWidth, double dThick, double dCornR, int nFlag, bool bFirst) ;
|
||||
EXE_EXPORT bool ExeVolZmapSetChiselTool( const INTVECTOR& vIds, const std::string& sToolName,
|
||||
double dLen, double dWidth, double dThick, int nFlag) ;
|
||||
EXE_EXPORT bool ExeVolZmapResetTool( const INTVECTOR& vIds) ;
|
||||
double dLen, double dWidth, double dThick, int nFlag, bool bFirst) ;
|
||||
EXE_EXPORT bool ExeVolZmapResetTools( const INTVECTOR& vIds) ;
|
||||
EXE_EXPORT int ExeVolZmapGetToolOutline( int nId, int nDestGrpId, bool bApprox = false) ;
|
||||
EXE_EXPORT bool ExeVolZmapMillingStep( int nId, const Point3d& ptPs, const Vector3d& vtDs,
|
||||
const Point3d& ptPe, const Vector3d& vtD, int nRefTypee) ;
|
||||
const Point3d& ptPe, const Vector3d& vtD, int nRefType) ;
|
||||
EXE_EXPORT bool ExeVolZmapMillingStep( int nId, const Point3d& ptPs, const Vector3d& vtDs, const Vector3d& vtAs,
|
||||
const Point3d& ptPe, const Vector3d& vtDe, const Vector3d& vtAe, int nRefType) ;
|
||||
EXE_EXPORT bool ExeCutVolZmapPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ;
|
||||
@@ -638,6 +659,7 @@ EXE_EXPORT bool ExeArcRadius( int nId, double* pdRad) ;
|
||||
EXE_EXPORT bool ExeArcAngCenter( int nId, double* pdAngDeg) ;
|
||||
EXE_EXPORT bool ExeArcDeltaN( int nId, double* pdDeltaN) ;
|
||||
EXE_EXPORT bool ExeArcNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;
|
||||
EXE_EXPORT bool ExeCurveCompoLength( int nId, int nSimpCrv, double& dLen) ;
|
||||
EXE_EXPORT bool ExeCurveCompoCenter( int nId, int nSimpCrv, int nRefId, Point3d& ptCen) ;
|
||||
EXE_EXPORT bool ExeCurveCompoRadius( int nId, int nSimpCrv, double& dRad) ;
|
||||
EXE_EXPORT bool ExeCurveCompoAngCenter( int nId, int nSimpCrv, double& dAngCen) ;
|
||||
@@ -645,6 +667,7 @@ EXE_EXPORT bool ExeCurveCompoNormVersor( int nId, int nSimpCrv, int nRefId, Vect
|
||||
|
||||
// GeomDb Surf Get
|
||||
EXE_EXPORT bool ExeSurfArea( int nId, double& dArea) ;
|
||||
EXE_EXPORT bool ExeSurfIsClosed( int nId) ;
|
||||
EXE_EXPORT bool ExeSurfVolume( int nId, double& dVol) ;
|
||||
EXE_EXPORT bool ExeSurfFrNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;
|
||||
EXE_EXPORT bool ExeSurfFrGrossArea( int nId, double& dArea) ;
|
||||
@@ -654,6 +677,7 @@ EXE_EXPORT int ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, i
|
||||
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 bStepCorrection,
|
||||
bool bInvert, int* pnCount) ;
|
||||
EXE_EXPORT int ExeSurfTmPartCount( int nId) ;
|
||||
EXE_EXPORT int ExeSurfTmFacetCount( int nId) ;
|
||||
EXE_EXPORT int ExeSurfTmFacetFromTria( int nId, int nT) ;
|
||||
EXE_EXPORT bool ExeSurfTmFacetAdjacencies( int nId, int nFacet, INTMATRIX& vAdj) ;
|
||||
@@ -757,6 +781,7 @@ EXE_EXPORT int ExeParPlanesSurfTmInters( const Point3d& ptOn, const Vector3d& vt
|
||||
EXE_EXPORT int ExeSurfTmSurfTmInters( int nId1, int nId2, int nDestGrpId, double dToler,
|
||||
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
|
||||
EXE_EXPORT int ExePlaneCurveInters( const Point3d& ptOn, const Vector3d& vtN, const int nId, const int nDestGrpId, const int nRefType, int* pnCount) ;
|
||||
EXE_EXPORT int ExeCurveCurveInters( const int nId1, const int nId2, const int nDestGrpId, int* pnPntCount, int* pnCrvCount) ;
|
||||
EXE_EXPORT bool ExeLineVolZmapInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType, INTDBLVECTOR& vInters) ;
|
||||
EXE_EXPORT int ExePlaneVolZmapInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType,
|
||||
int* pnCount) ;
|
||||
@@ -769,6 +794,7 @@ 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 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 ExeCDeSolidSolid( int nSolid1Id, int nSolid2Id, double dSafeDist) ;
|
||||
|
||||
// Maximum Filler
|
||||
EXE_EXPORT bool ExeMaxFillerStart( void) ;
|
||||
@@ -969,7 +995,6 @@ EXE_EXPORT bool ExeTdbGetToolHolderDir( std::string& sTHolderDir) ;
|
||||
EXE_EXPORT bool ExeTdbExport( const STRVECTOR& vsToolsNames, const std::string& sOutFile) ;
|
||||
EXE_EXPORT bool ExeTdbToBeImported( const std::string& sFile, STRVECTOR& vsToolsNames, INTVECTOR& vToolsTypes) ;
|
||||
EXE_EXPORT bool ExeTdbImport( const std::string& sFile, const STRVECTOR& vsToolsToImport, const STRVECTOR& vsToolsNames, STRVECTOR& vsImported) ;
|
||||
|
||||
// Setup
|
||||
EXE_EXPORT int ExeGetCurrSetup( void) ;
|
||||
EXE_EXPORT bool ExeGetDefaultSetupName( std::string& sName) ;
|
||||
|
||||
+4
-3
@@ -1,7 +1,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2015-2022
|
||||
// EgalTech 2015-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EgtKeyCodes.h Data : 05.09.22 Versione : 2.4i1
|
||||
// File : EgtKeyCodes.h Data : 01.01.23 Versione : 2.5a1
|
||||
// Contenuto : Costanti per codici di protezione librerie di base.
|
||||
//
|
||||
//
|
||||
@@ -16,6 +16,7 @@
|
||||
// 04.08.20 DS Portato a 22 KEY_BASELIB_VER.
|
||||
// 01.01.21 DS Nuova gestione KEY_BASELIB_VER con versione prodotto e mese.
|
||||
// 01.01.22 DS Passaggio a versione 24.
|
||||
// 01.01.23 DS Passaggio a versione 25.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -23,7 +24,7 @@
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const int KEY_BASELIB_PROD = 207 ;
|
||||
const int KEY_BASELIB_VER = 2410 ;
|
||||
const int KEY_BASELIB_VER = 2506 ;
|
||||
const int KEY_BASELIB_LEV = 1 ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
+8
-3
@@ -1,13 +1,13 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2013-2013
|
||||
// EgalTech 2013-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EgtPointerOwner.h Data : 04.12.13 Versione : 1.4a3
|
||||
// File : EgtPointerOwner.h Data : 27.03.23 Versione : 2.5c3
|
||||
// Contenuto : Dichiarazione classe template per puntatore con auto rilascio.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 25.11.13 DS Creazione modulo.
|
||||
//
|
||||
// 27.03.23 DS Aggiunta Set( PtrOwner<T2>& RPT).
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -25,6 +25,11 @@ class PtrOwner
|
||||
PtrOwner( const PtrOwner<T>& RPT) = delete ;
|
||||
~PtrOwner( void) { Reset() ; }
|
||||
bool Set( T* pT) { Reset() ; m_pT = pT ; return ( m_pT != nullptr) ; }
|
||||
template <class T2> bool Set( PtrOwner<T2>& RPT)
|
||||
{ if ( (void*) this == (void*) &RPT)
|
||||
return true ;
|
||||
return Set( Release( RPT)) ;
|
||||
}
|
||||
void Reset( void) { if ( m_pT != nullptr) delete m_pT ; m_pT = nullptr ; }
|
||||
T& operator*() const { return *m_pT ; }
|
||||
T* operator->() const { return m_pT ; }
|
||||
|
||||
@@ -28,3 +28,9 @@ typedef std::list<std::string> STRLIST ;
|
||||
typedef std::pair<int,std::string> INTSTR ; // coppia intero, stringa
|
||||
typedef std::vector<INTSTR> INTSTRVECTOR ; // vettore di coppie intero, stringa
|
||||
typedef std::list<INTSTR> INTSTRLIST ; // lista di coppie intero, stringa
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Raccolte di coppie double, string
|
||||
typedef std::pair<double,std::string> DBLSTR ; // coppia double, stringa
|
||||
typedef std::vector<DBLSTR> DBLSTRVECTOR ; // vettore di coppie double, stringa
|
||||
typedef std::list<DBLSTR> DBLSTRLIST ; // lista di coppie double, stringa
|
||||
|
||||
@@ -28,6 +28,7 @@ int GetKeyLevel( 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) ;
|
||||
int GetCurrDay( void) ;
|
||||
int GetMinDay( void) ;
|
||||
|
||||
//-------------------------- Constants ----------------------------------------
|
||||
// Codici di ritorno
|
||||
|
||||
+8
-5
@@ -1,13 +1,14 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2022
|
||||
// EgalTech 2014-2023
|
||||
//----------------------------------------------------------------------------
|
||||
// File : SELkLockId.cpp Data : 16.05.22 Versione : 2.4e3
|
||||
// File : SELkLockId.cpp Data : 30.05.23 Versione : 2.5e5
|
||||
// Contenuto : Dichiarazione funzioni per gestione/calcolo Id protezione,
|
||||
// da macchina o da chiave hardware.
|
||||
//
|
||||
//
|
||||
// Modifiche : 10.09.14 DS Creazione modulo.
|
||||
// 16.05.22 DS Aggiunta gestione chiave di rete.
|
||||
// 30.05.23 DS Aggiunta gestione utente di rete e rilascio chiave di rete.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -16,10 +17,12 @@
|
||||
#include <string>
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
// Imposto il tipo di protezione
|
||||
// Imposto il tipo di protezione ammessa (ANY, HW, SW)
|
||||
bool SetLockType( int nType) ;
|
||||
// Forzo chiave di rete (se prevista protezione hardware)
|
||||
bool SetNetHwKey( bool bNetHwKey) ;
|
||||
// Imposto chiave di rete e identificativo utente (0-9)
|
||||
bool SetNetHwKey( bool bNetHwKey, int nUserId) ;
|
||||
// Libero chiave di rete (da eseguire al termine del programma)
|
||||
bool CloseNetHwKey( void) ;
|
||||
// Recupero l'identificativo in chiaro della protezione
|
||||
bool GetLockId( std::string& sLockId) ;
|
||||
// Recupero l'identificativo cifrato della protezione
|
||||
|
||||
Reference in New Issue
Block a user