Compare commits

..

1 Commits

Author SHA1 Message Date
Riccardo Elitropi 29d330a8fc Include :
- Prototipi Trimming.
2025-12-22 17:10:19 +01:00
19 changed files with 63 additions and 176 deletions
+3 -5
View File
@@ -1,14 +1,13 @@
//----------------------------------------------------------------------------
// EgalTech 2020-2026
// EgalTech 2020-2022
//----------------------------------------------------------------------------
// File : EExBeamConst.h Data : 23.01.26 Versione : 3.1a2
// File : EExBeamConst.h Data : 04.04.22 Versione : 2.4d2
// Contenuto : Dichiarazione delle costanti per travi e pareti con BTL.
//
//
//
// Modifiche : 30.08.20 DS Creazione modulo.
// 04.04.22 DS Aggiunto EIBFLAG_TRIM_WITH_OUTLINE.
// 23.01.26 DS Aggiunto EIBFLAG_PARTOFFSET.
//
//----------------------------------------------------------------------------
@@ -23,5 +22,4 @@ enum EImBtlFlag { EIBFLAG_NONE = 0x0000,
EIBFLAG_SORT = 0x0010, // ordina i pezzi nel DB in base al nome
EIBFLAG_USEUATTR = 0x0020, // utilizza i parametri utente U per modificare la geometria delle features
EIBFLAG_OUTL_FLAT_POS = 0x0040, // pezzi secondo outline o di piatto (prevale sui precedenti POS)
EIBFLAG_TRIM_WITH_OUTLINE = 0x0080, // esegui il trim delle feature con l'outline (se presente)
EIBFLAG_PARTOFFSET = 0x0100} ; // gestione geometrica del PARTOFFSET
EIBFLAG_TRIM_WITH_OUTLINE = 0x0080} ; // esegui il trim delle feature con l'outline (se presente)
+1 -2
View File
@@ -33,6 +33,5 @@ EGK_EXPORT bool CDeClosedSurfTmClosedSurfTm( const ISurfTriMesh& SurfA, const IS
//----------------------------------------------------------------------------
// Verifica l'interferenza tra le due superfici : restituisce true in caso di interferenza.
// Se richiesta verifica inclusione se una delle due è chiusa controlla l'inclusione dell'altra.
//----------------------------------------------------------------------------
EGK_EXPORT bool TestSurfTmSurfTm( const ISurfTriMesh& SurfA, const ISurfTriMesh& SurfB, double dSafeDist, bool bTestEnclosion = false) ;
EGK_EXPORT bool TestSurfTmSurfTm( const ISurfTriMesh& SurfA, const ISurfTriMesh& SurfB, double dSafeDist) ;
+2 -5
View File
@@ -78,7 +78,7 @@ EGK_EXPORT ICurveBezier* ApproxArcCurveBezierWithSingleCubic( const ICurve* pCrv
//----------------------------------------------------------------------------
//! Campiona una serie di punti dalla curva e li approssima con una o più curve di bezier
EGK_EXPORT ICurve* ApproxCurveWithBezier( const ICurve* pCrv, double dTol) ;
EGK_EXPORT ICurve* ApproxCurveWithBezier( const ICurve*, double dTol, int nType) ;
//----------------------------------------------------------------------------
//! Interpola un set di punti e li approssima con una o più curve di bezier cubiche
@@ -167,7 +167,4 @@ EGK_EXPORT bool CalcFatOffsetCurves( const ICURVEPVECTOR& vpCrvs, ICURVEPOVECTOR
//----------------------------------------------------------------------------
//! Resetta l'oggetto voronoi associato alla curva liberandone la memoria
EGK_EXPORT void ResetCurveVoronoi( const ICurve& crvC) ;
//! fa il join delle curve passate in input
EGK_EXPORT bool GetChainedCurves( ICRVCOMPOPOVECTOR& vCrv, double dChainTol = 5 * EPS_SMALL, bool bAllowInvert = false) ;
EGK_EXPORT void ResetCurveVoronoi( const ICurve& crvC) ;
+4 -10
View File
@@ -93,16 +93,10 @@ inline ICurveComposite* ConvertCurveToComposite( IGeoObj* pGObj)
delete pGObj ;
return nullptr ;
}
ICurveComposite* pCrvCo = GetCurveComposite( pGObj) ;
if ( pCrvCo != nullptr) {
return pCrvCo ;
}
else {
pCrvCo = CreateCurveComposite() ;
if ( pCrvCo == nullptr) {
delete pGObj ;
return nullptr ;
}
ICurveComposite* pCrvCo = CreateCurveComposite() ;
if ( pCrvCo == nullptr) {
delete pGObj ;
return nullptr ;
}
ICurve* pCrv = static_cast<ICurve*>( pGObj) ;
Vector3d vtExtr ;
+7 -7
View File
@@ -47,7 +47,7 @@ class DistPointSurfBz
EGK_EXPORT bool IsZero( void) const
{ return IsEpsilon( EPS_ZERO) ; }
EGK_EXPORT bool GetMinDistPoint( Point3d& ptMinDistPoint) const ;
EGK_EXPORT bool GetParamsAtMinDistPoint( double& dU, double& dV) const ;
EGK_EXPORT bool GetParamPoint( Point3d& ptParamPoint) const ;
EGK_EXPORT bool GetNorm( Vector3d& vtN) const ;
EGK_EXPORT bool IsPointInside( void) const
{ return ( m_bIsInside && m_bIsSurfClosed) ; }
@@ -58,10 +58,10 @@ class DistPointSurfBz
void Calculate( const Point3d& ptP, const ISurfBezier& srfBz) ;
private :
double m_dDist ; // Minima distanza del punto dalla superficie
Point3d m_ptMinDistPoint ; // Punto sulla superficie a minima distanza
Point3d m_ptParam ; // punto corrispondente nello spazio parametrico (x->U, y->V)
Vector3d m_vtN ; // normale alla superficie nel punto a minima distanza
bool m_bIsInside ; // Flag per punto interno o esterno alla superficie ( se chiusa )
bool m_bIsSurfClosed ; // Flag per superficie aperta o chiusa
double m_dDist ; // Minima distanza del punto dalla superficie
Point3d m_ptMinDistPoint ; // Punto sulla superficie a minima distanza
Point3d m_ptParam ; // punto corrispondente nello spazio parametrico
Vector3d m_vtN ; // normale alla superficie nel punto a minima distanza
bool m_bIsInside ; // Flag per punto interno o esterno alla superficie ( se chiusa )
bool m_bIsSurfClosed ; // Flag per superficie aperta o chiusa
} ;
+1 -2
View File
@@ -34,8 +34,7 @@ enum GdbInsPos { GDB_FIRST_SON = 0,
//----------------- Costanti tipo salvataggio del DB geometrico ----------------
enum GdbSave { GDB_SV_TXT = 0,
GDB_SV_BIN = 1,
GDB_SV_CMPTXT = 2,
GDB_SV_CMPBIN = 3} ;
GDB_SV_CMPTXT = 2} ;
//----------------- Costanti tipo oggetti del DB geometrico --------------------
enum GdbType { GDB_TY_NONE = 0,
+3 -5
View File
@@ -1,13 +1,12 @@
//----------------------------------------------------------------------------
// EgalTech 2025-2025
//----------------------------------------------------------------------------
// File : MultiGeomDB.h Data : 22.12.25 Versione : 2.7l3
// File : MultiGeomDB.h Data : 08.10.25 Versione : 2.7j1
// Contenuto : Dichiarazione delle funzioni tra due GeomDB.
//
//
//
// Modifiche : 08.10.25 DB Creazione modulo.
// 22.12.25 DS Aggiunta funzione DuplicateGeomDB.
//
//
//----------------------------------------------------------------------------
@@ -25,6 +24,5 @@
#endif
//----------------------------------------------------------------------------
EGK_EXPORT int Copy( IGeomDB* pSouGeomDB, int nSouId, IGeomDB* pDestGeomDB, int nDestId, int nRefId, int nSonBeforeAfter = GDB_LAST_SON) ;
EGK_EXPORT int CopyGlob( IGeomDB* pSouGeomDB, int nSouId, IGeomDB* pDestGeomDB, int nDestId, int nRefId, int nSonBeforeAfter = GDB_LAST_SON) ;
EGK_EXPORT bool DuplicateGeomDB( IGeomDB* pSouGeomDB, IGeomDB* pDestGeomDB, bool bSkipTemp = false) ;
EGK_EXPORT int Copy( IGeomDB* pSouGeomDB, int nSouId, IGeomDB* pDestGeomDB, int nDestId, int nRefId, int nSonBeforeAfter = GDB_LAST_SON) ;
EGK_EXPORT int CopyGlob( IGeomDB* pSouGeomDB, int nSouId, IGeomDB* pDestGeomDB, int nDestId, int nRefId, int nSonBeforeAfter = GDB_LAST_SON) ;
+1 -1
View File
@@ -108,7 +108,7 @@ class PolyLine
EGK_EXPORT bool GetMaxDistanceFromLine( const Point3d& ptLine, const Vector3d& vtLine, double dLen,
double& dMaxDist, bool bIsSegment = true) const ;
EGK_EXPORT bool AdjustForMaxSegmentLen( double dMaxLen) ;
EGK_EXPORT bool RemoveAlignedPoints( double dToler = EPS_SMALL, bool bStartEnd = true) ;
EGK_EXPORT bool RemoveAlignedPoints( double dToler = EPS_SMALL) ;
EGK_EXPORT bool ApproxOnSide( const Vector3d& vtN, bool bLeftSide, double dToler = EPS_SMALL) ;
EGK_EXPORT bool MakeConvex( const Vector3d& vtN, bool bLeftSide) ;
EGK_EXPORT bool Invert( bool bInvertU = true) ;
+3 -8
View File
@@ -31,18 +31,13 @@ struct Point5ax {
Point3d ptP ;
Vector3d vtDir1 ;
Vector3d vtDir2 ;
Vector3d vtDirU ;
Vector3d vtDirV ;
double dPar ;
int nFlag ;
Point5ax( void) : ptP(), vtDir1(), vtDir2(), vtDirU(), vtDirV(), dPar(), nFlag() {} ;
Point5ax( void) : ptP(), vtDir1(), vtDir2(), dPar(), nFlag() {} ;
Point5ax( const Point3d& ptBase, const Vector3d& vtTool, double dU, int nData)
: ptP( ptBase), vtDir1( vtTool), vtDir2(), vtDirU(), vtDirV(), dPar( dU), nFlag( nData) {} ;
: ptP( ptBase), vtDir1( vtTool), vtDir2(), dPar( dU), nFlag( nData) {} ;
Point5ax( const Point3d& ptBase, const Vector3d& vtTool, const Vector3d& vtTool2, double dU, int nData)
: ptP( ptBase), vtDir1( vtTool), vtDir2( vtTool2), vtDirU(), vtDirV(), dPar( dU), nFlag( nData) {} ;
Point5ax( const Point3d& ptBase, const Vector3d& vtTool, const Vector3d& vtTool2,
const Vector3d& vtDU, const Vector3d& vtDV, double dU, int nData)
: ptP( ptBase), vtDir1( vtTool), vtDir2( vtTool2), vtDirU( vtDU), vtDirV( vtDV), dPar( dU), nFlag( nData) {} ;
: ptP( ptBase), vtDir1( vtTool), vtDir2( vtTool2), dPar( dU), nFlag( nData) {} ;
} ;
typedef std::vector<Point5ax> PNT5AXVECTOR ; // vettore di Punti 5assi
+1 -1
View File
@@ -44,7 +44,7 @@ EGK_EXPORT ISurfBezier* GetSurfBezierByScrewing( const ICurve* pCurve, const Poi
//EGK_EXPORT ISurfBezier* GetSurfBezierTransSwept( const ICurve* pSect, const ICurve* pGuide, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierRuled( const Point3d& ptP, const ICurve* pCurve, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierRuled( const ICurve* pCurve1, const ICurve* pCurve2, int nType, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierRuledGuided( const ICurve* pCurve1, const ICurve* pCurve2, const BIPNTVECTOR& vCrv, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierRuledGuided( const ICurve* pCurve1, const ICurve* pCurve2, const ICURVEPOVECTOR& vCrv, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierSkinned( const CICURVEPVECTOR& vCrv, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierSweptInPlane( const ICurve* pSect, const ICurve* pGuide, const Vector3d& vtNorm, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierSwept3d( const ICurve* pSect, const ICurve* pGuide, const Vector3d& vtNorm, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
+4 -4
View File
@@ -74,13 +74,13 @@ class __declspec( novtable) ISurfBezier : public ISurf
Vector3d* pvtDerUU = nullptr, Vector3d* pvtDerVV = nullptr, Vector3d* pvtDerUV = nullptr) const = 0 ;
virtual ICurveComposite* GetCurveOnU( double dV) const = 0 ;
virtual ICurveComposite* GetCurveOnV( double dU) const = 0 ;
virtual ICurveComposite* GetLoop( int nLoop) const = 0 ; // nLoop 0-based (1°esterno, successivi interni)
virtual ICurveComposite* GetLoop( int nLoop) const = 0 ; // nLoop 0-based (1°esterno, successivi interni)
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 const ISurfTriMesh* GetAuxSurfRefined( void) const = 0 ;
virtual ISurfTriMesh* GetApproxSurf( double dTol, double dSideMin = 10 * EPS_SMALL, bool bUpdateEdges = false) const = 0 ;
virtual bool GetLeaves( std::vector<std::tuple<int, Point3d, Point3d>>& vLeaves, bool bRefined = false) const = 0 ;
virtual ISurfTriMesh* GetApproxSurf( double dTol, double dSideMin = 100 * EPS_SMALL, bool bUpdateEdges = false) const = 0 ;
virtual bool GetLeaves ( std::vector<std::tuple<int, Point3d, Point3d>>& vLeaves) const = 0 ;
virtual bool GetTriangles2D( std::vector<std::tuple<int,Point3d, Point3d, Point3d>>& vTria2D) const = 0 ;
virtual bool UnprojectPointFromStm( int nT, const Point3d& ptI, Point3d& ptSP, int nIL = 5) const = 0 ;
virtual bool UnprojectPointFromStm( int nT, const Point3d& ptI, Point3d& ptSP, int nIL, const Point3d& ptIPrev, bool* bTroughEdge = nullptr) const = 0 ;
@@ -96,7 +96,7 @@ class __declspec( novtable) ISurfBezier : public ISurf
virtual bool IsPlanar( void) const = 0 ;
virtual bool CreateByFlatContour( const PolyLine& PL) = 0 ;
virtual bool CreateByRegion( const POLYLINEVECTOR& vPL) = 0 ;
virtual bool CreateByExtrusion( const ICurve* pCrv, const Vector3d& vtExtr) = 0 ;
virtual bool CreateByExtrusion( const ICurve* pCrv, const Vector3d& vtExtr, bool bDeg3OrDeg2 = false) = 0 ;
virtual bool CreateByScrewing( const ICurve* pCurve, const Point3d& ptAx, const Vector3d& vtAx, double dAngRotDeg, double dMove) = 0 ;
virtual bool CreateByPointCurve( const Point3d& pt, const ICurve* pCurve) = 0 ;
virtual bool CreateByTwoCurves( const ICurve* pCurve1, const ICurve* pCurve2, int nType) = 0 ;
+9 -11
View File
@@ -31,8 +31,8 @@ typedef std::vector<ISURFPOVECTOR> ISURFPOMATRIX ;
typedef std::vector<ICRVCOMPOPOVECTOR> ICRVCOMPOPOMATRIX ;
//-----------------------------------------------------------------------------
EGK_EXPORT bool GetTrimmingStmAdjTria( const ISurfTriMesh* pStm, int nStartTria, const Point3d& ptStartTria,
double dAngTol, double dSize, double dSizeTol, ISurfTriMesh* pStmAdjTria) ;
EGK_EXPORT bool GetTrimmingStmAdjTria( const ISurfTriMesh* pStm, const INTVECTOR& vTria, const PNTVECTOR& vPts,
double dAngTol, double dSize, double dSizeTol, INTVECTOR& vOtherTria) ;
EGK_EXPORT bool GetTrimmingAdjSurfs( const CISURFPVECTOR& vSurf, const CISURFPVECTOR& vOtherSurf, double dLinTol,
double dAngTol, double dFaceAngTol,
INTVECTOR& vIndOtherSurf) ;
@@ -43,16 +43,14 @@ EGK_EXPORT bool GetTrimmingBezierEdges( ICRVCOMPOPOVECTOR& vCompoRawEdges, doubl
ICRVCOMPOPOVECTOR& vCompoEdges) ;
EGK_EXPORT bool GetTrimmingFinalBorders( ICRVCOMPOPOVECTOR& vCompoBezierEdges, double dLinTol,
double dAngTol, BIPNTVECTOR& vBreakingPts, double dThick, double dThickTol) ;
EGK_EXPORT bool GetTrimmingFinalBorders( CISURFPVECTOR& vpSurf, const SELVECTOR& vSurfFaces, double dSurfLinTol,
double dSurfAngTol, double dLinTol, double dAngTol, double dThick,
EGK_EXPORT bool GetTrimmingFinalBorders( CISURFPVECTOR& vpSurf, const SELVECTOR& vSurfFaces, double dLinTol, double dAngTol, double dThick,
ICRVCOMPOPOVECTOR& vCompoBezierEdges) ;
EGK_EXPORT ISurfBezier* GetTrimmingRuledBezier( const CISURFPVECTOR& vSurf, const ICurve* pCrvEdge1, const ICurve* pCrvEdge2,
double dLinTol, const BIPNTVECTOR& vSyncPoints) ;
double dLinTol, const BIPNTVECTOR& vSyncPoints,
const INTVECTOR& vIndPriority, const INTVECTOR& vIndVisible) ;
EGK_EXPORT bool GetTrimmingSurfBzSyncPoints( const ICurve* pCrvEdge1, const ICurve* pCrvEdge2,
double dLinTol, BIPNTVECTOR& vSyncPoints) ;
EGK_EXPORT bool GetTrimmingSyncInterpolation( const ICurve* pCrvEdge1, const ICurve* pCrvEdge2,
const ICurve* pSync1, const ICurve* pSync2, double dLinTol,
double dAngTol, BIPNTVECTOR& vSyncPoints) ;
EGK_EXPORT bool GetTrimmingHoleBorders( const CISURFPVECTOR& vpSurf, const Point3d& ptRef, double dSurfLinTol,
double dSurfAngTol, double dEdgeLinTol, double dEdgeAngTol,
double dEdgeThick, ICRVCOMPOPOVECTOR& vHoleBorders) ;
EGK_EXPORT bool GetTrimmingAutoEntities( const CISURFPVECTOR& vSurf, double dShapeLinTol, double dShapeAngTol,
double dLinTol, double dEdgeLinTol, double dAngTol, double dAngFaceTol,
const STRVECTOR& vsShapes, ISURFPOMATRIX& matSelSurfMatrix,
ICRVCOMPOPOMATRIX& matCompoBorders, ISURFBEZPOVECTOR& vSurfBz) ;
+2 -4
View File
@@ -1,14 +1,13 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2026
// EgalTech 2013-2022
//----------------------------------------------------------------------------
// File : EGnFileUtils.h Data : 09.01.26 Versione : 3.1a1
// File : EGnFileUtils.h Data : 09.04.22 Versione : 2.4d1
// Contenuto : Prototipi funzioni di utilità su file e direttori.
//
//
//
// Modifiche : 11.12.13 DS Creazione modulo.
// 09.04.22 DS Aggiunta FindAllFiles.
// 09.01.26 DS Aggiunta EraseNonEmptyDirectory.
//
//----------------------------------------------------------------------------
@@ -43,5 +42,4 @@ EGN_EXPORT bool ExistsDirectory( const std::string& sDir) ;
EGN_EXPORT bool CreateDirectoryEgt( const std::string& sDir) ;
EGN_EXPORT bool EmptyDirectory( const std::string& sDir) ;
EGN_EXPORT bool EraseDirectory( const std::string& sDir) ;
EGN_EXPORT bool EraseNonEmptyDirectory( const std::string& sDir) ;
EGN_EXPORT bool FindAllDirectories( const std::string& sDirSpec, STRVECTOR& vsDirNames) ;
+3 -81
View File
@@ -189,30 +189,7 @@ EGN_EXPORT bool FromString( const std::string& sVal, DBLVECTOR& vdVal) ;
EGN_EXPORT bool FromString( const std::string& sVal, STRVECTOR& vsVal) ;
//----------------------------------------------------------------------------
inline const std::string
ToStringAdv( int nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr)
{
// eseguo conversione
const int nBuffSize = 36 ;
char szBuff[nBuffSize]{} ;
auto Res = std::to_chars( szBuff, szBuff + nBuffSize - 1, nVal, nRadix) ;
if ( Res.ec != std::errc()) {
if ( pnErr != nullptr)
*pnErr = int( Res.ec) ;
return "#Error" ;
}
// gestione codice di errore
if ( pnErr != nullptr)
*pnErr = 0 ;
// verifico lunghezza minima
int nLen = (int) strlen( szBuff) ;
if ( nLen >= nPrec)
return szBuff ;
// porto la stringa alla minima lunghezza
std::string sBuff( szBuff) ;
sBuff.insert( 0, ( nPrec - nLen), '0') ;
return sBuff ;
}
EGN_EXPORT const std::string ToStringAdv( int nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr) ;
inline const std::string
ToString( int nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr)
{
@@ -233,31 +210,7 @@ ToString( int nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr)
*pnErr = 0 ;
return szBuff ;
}
inline const std::string
ToStringAdv( unsigned int nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr)
{
// eseguo conversione
const int nBuffSize = 36 ;
char szBuff[nBuffSize]{} ;
auto Res = std::to_chars( szBuff, szBuff + nBuffSize - 1, nVal, nRadix) ;
if ( Res.ec != std::errc()) {
if ( pnErr != nullptr)
*pnErr = int( Res.ec) ;
return "#Error" ;
}
// gestione codice di errore
if ( pnErr != nullptr)
*pnErr = 0 ;
// verifico lunghezza minima
int nLen = (int) strlen( szBuff) ;
if ( nLen >= nPrec)
return szBuff ;
// porto la stringa alla minima lunghezza
std::string sBuff( szBuff) ;
sBuff.insert( 0, ( nPrec - nLen), '0') ;
return sBuff ;
}
EGN_EXPORT const std::string ToStringAdv( unsigned int nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr) ;
inline const std::string
ToString( unsigned int nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr)
{
@@ -278,38 +231,7 @@ ToString( unsigned int nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullpt
*pnErr = 0 ;
return szBuff ;
}
template <size_t size>
const std::string ToString( const unsigned int (&nVal)[size], int nPrec = 1)
{ std::string sDest ; sDest.reserve( 8 * size) ;
for ( const auto& nV : nVal)
sDest += ToString( nV, nPrec) + "," ;
sDest.pop_back() ;
return sDest ; }
inline const std::string
ToStringAdv( long long nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr)
{
// eseguo conversione
const int nBuffSize = 68 ;
char szBuff[nBuffSize]{} ;
auto Res = std::to_chars( szBuff, szBuff + nBuffSize - 1, nVal, nRadix) ;
if ( Res.ec != std::errc()) {
if ( pnErr != nullptr)
*pnErr = int( Res.ec) ;
return "#Error" ;
}
// gestione codice di errore
if ( pnErr != nullptr)
*pnErr = 0 ;
// verifico lunghezza minima
int nLen = (int) strlen( szBuff) ;
if ( nLen >= nPrec)
return szBuff ;
// porto la stringa alla minima lunghezza
std::string sBuff( szBuff) ;
sBuff.insert( 0, ( nPrec - nLen), '0') ;
return sBuff ;
}
EGN_EXPORT const std::string ToStringAdv( long long nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr) ;
inline const std::string
ToString( long long nVal, int nPrec = 1, int nRadix = 10, int* pnErr = nullptr)
{
-1
View File
@@ -285,7 +285,6 @@ class __declspec( novtable) IMachMgr
virtual bool GetClEntMove( int nEntId, int& nMove) const = 0 ;
virtual bool GetClEntFlag( int nEntId, int& nFlag, int& nFlag2) const = 0 ;
virtual bool GetClEntIndex( int nEntId, int& nIndex) const = 0 ;
virtual bool GetClEntFeed( int nEntId, double& dFeed) const = 0 ;
virtual bool GetClEntAxesStatus( int nEntId, int& nStatus) const = 0 ;
virtual bool GetClEntAxesMask( int nEntId, int& nMask) const = 0 ;
virtual bool GetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) const = 0 ;
-2
View File
@@ -34,7 +34,6 @@ static std::string MCH_AUXVIEW = "AVIEW" ;
static std::string MCH_TABS = "TABS" ;
static std::string MCH_PV = "PV" ;
static std::string MCH_ST = "ST" ;
static std::string MCH_ST_DBL = "STDBL" ;
static std::string MCH_CL = "CL" ;
static std::string MCH_DBL = "DBL" ;
static std::string MCH_PATH = "P" ;
@@ -50,7 +49,6 @@ static std::string MCH_CL_AGB_DWN = "AGBD" ;
static std::string MCH_CL_AGB_IN = "AGBI" ;
static std::string MCH_CL_AGB_OUT = "AGBO" ;
static std::string MCH_CL_AGB_UP = "AGBU" ;
static std::string MCH_CL_DBP = "DBP" ;
// Nomi di entità di preview
static std::string MCH_PV_CUT = "CUT" ;
static std::string MCH_PV_PRE_CUT = "PRC" ;
+1 -2
View File
@@ -69,8 +69,7 @@ enum ApprType{ APP_LINES = 0, // come ICurve::APL_STD
APP_LEFT_CONVEX_LINES = 11, // come ICurve::APL_LEFT_CONVEX
APP_RIGHT_LINES = 2, // come ICurve::APL_RIGHT
APP_RIGHT_CONVEX_LINES = 12, // come ICurve::APL_RIGHT_CONVEX
APP_ARCS = 3,
APP_CUBIC_BEZIER = 4} ;
APP_ARCS = 3} ;
//----------------- Costanti tipo punto intersezione Linea Curva ---------------
enum CLiType { CLT_NONE = 0,
+15 -21
View File
@@ -407,7 +407,7 @@ EXE_EXPORT int ExeSurfTmOffset( int nParentId, const INTVECTOR& vIds, double dO
EXE_EXPORT int ExeSurfTmThickeningOffset( int nParentId, const INTVECTOR& vIds, double dOffs, double dLinTol, int nType) ;
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 = 50, bool bShowTrim = false, bool bRefined = false, int* pnCount = nullptr) ;
EXE_EXPORT int ExeCreateSurfBezierLeaves( int nParentId, int nSurfBzId, int nTextHeight = 50, bool bShowTrim = false, int* pnCount = nullptr) ;
EXE_EXPORT int ExeCreateBezierSphere( int nParentId, const Point3d& ptCenter, double dR, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBezierTria2D( int nParentId, int nSurfBzId, int nTextHeight, bool bShowTrim, int* pnCount) ;
EXE_EXPORT int ExeCreateSurfBzByFlatContour( int nParentId, int nCrvId, double dLinTol) ;
@@ -424,8 +424,7 @@ EXE_EXPORT int ExeCreateSurfBzByRevolve( int nParentId, int nCrvId,
bool bCapEnds, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBzByPointCurve( int nParentId, int nCrvId, const Point3d& ptAx, bool bCapEnds, double dLinTol, int nRefType) ;
EXE_EXPORT int ExeCreateSurfBzRuled( int nParentId, int nCrvId1, int nCrvId2, int nRuledType, bool bCapEnds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfBzRuledGuided( int nParentId, int nCrvId1, int nCrvId2, const BIPNTVECTOR& vGuidesCrv,
bool bCapEnds, double dLinTol, int nLayGuides = GDB_ID_NULL) ;
EXE_EXPORT int ExeCreateSurfBzRuledGuided( int nParentId, int nCrvId1, int nCrvId2, int nLayGuides, bool bCapEnds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfBzSkinned( int nParentId, const INTVECTOR& nCrvId1, bool bCapEnds, double dLinTol) ;
EXE_EXPORT int ExeCreateSurfBzSwept( int nParentId, int nSectId, int nGuideId, const Vector3d& vtAx,
bool bCapEnds, double dLinTol, int nRefType) ;
@@ -505,7 +504,6 @@ EXE_EXPORT int ExeCopy( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT int ExeCopyEx( int nSouCtx, int nSouId, int nDestCtx, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT int ExeCopyGlob( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT int ExeCopyGlobEx( int nSouCtx, int nSouId, int nDestCtx, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeDuplicateGeomDB( int nSouCtx, int nDestCtx, bool bSkipTemp = false) ;
EXE_EXPORT bool ExeRelocate( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeRelocateGlob( int nSouId, int nRefId, int nSonBeforeAfter) ;
EXE_EXPORT bool ExeGroupSwap( int nId1, int nId2, bool bSwapRef, bool bMark) ;
@@ -855,7 +853,6 @@ EXE_EXPORT bool ExeSurfBezierGetPointNrmD1( int nSurfId, double dU, double dV, i
Point3d& ptP, Vector3d& vtN, Vector3d& vtDerU, Vector3d& vtDerV) ;
EXE_EXPORT int ExeSurfBezierGetCurveU( int nSurfId, double dV, int nDestGrpId) ;
EXE_EXPORT int ExeSurfBezierGetCurveV( int nSurfId, double dU, int nDestGrpId) ;
EXE_EXPORT bool ExeSurfBezParamsFromPoint( int nSurfId, const Point3d& ptOnSurf, int nDestGrpId) ;
EXE_EXPORT bool ExeSurfBezierGetInfo( int nSurfId, int& nDegU, int& nDegV, int& nSpanU, int& nSpanV, bool& bIsRat, bool& bTrimmed) ;
EXE_EXPORT int ExeSurfBezierGetControlCurveU( int nSurfId, int nIndV, int nDestGrpId) ;
EXE_EXPORT int ExeSurfBezierGetControlCurveV( int nSurfId, int nIndU, int nDestGrpId) ;
@@ -968,7 +965,7 @@ EXE_EXPORT int ExeTestRectPrismoidSurface( const Frame3d& frPrismoid, double dB
EXE_EXPORT int ExeTestCylSurface( const Frame3d& frCyl, double dR, double dH, int nSurfId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeTestConeSurface( const Frame3d& frCone, double dR1, double dR2, double dH, int nSurfId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeTestSpheSurface( const Point3d& ptCen, double dR, int nSurfId, double dSafeDist, int nRefType) ;
EXE_EXPORT int ExeTestSurfaceSurface( int nSurf1Id, int nSurf2Id, double dSafeDist, bool bTestEnclosion = false) ;
EXE_EXPORT int ExeTestSurfaceSurface( int nSurf1Id, int nSurf2Id, double dSafeDist) ;
// Maximum Filler
EXE_EXPORT bool ExeMaxFillerStart( void) ;
@@ -1293,7 +1290,6 @@ EXE_EXPORT bool ExeUpdateAllMachiningsEx( bool bStopOnFirstErr, std::string& sEr
EXE_EXPORT bool ExeGetClEntMove( int nEntId, int& nMove) ;
EXE_EXPORT bool ExeGetClEntFlag( int nEntId, int& nFlag, int& nFlag2) ;
EXE_EXPORT bool ExeGetClEntIndex( int nEntId, int& nIndex) ;
EXE_EXPORT bool ExeGetClEntFeed( int nEntId, double& dFeed) ;
EXE_EXPORT bool ExeGetClEntAxesStatus( int nEntId, int& nStatus) ;
EXE_EXPORT bool ExeGetClEntAxesMask( int nEntId, int& nMask) ;
EXE_EXPORT bool ExeGetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) ;
@@ -1503,27 +1499,25 @@ EXE_EXPORT bool ExeBase64Encode( const std::string& sFile, std::string& sB64Dest
EXE_EXPORT bool ExeBase64Decode( const std::string& sB64Sou, const std::string& sFile) ;
// Trimming
EXE_EXPORT int ExeTrimmingGetSurfTmFaceAdj( int nParentId, int nSurfId, int nTria, const Point3d& vPts,
double dAngTol, double dSize, double dSizeTol) ;
EXE_EXPORT bool ExeTrimmingGetSurfTmFaceAdj( int nSurfId, const INTVECTOR& vTria, const PNTVECTOR& vPts,
double dAngTol, double dSize, double dSizeTol, INTVECTOR& vOtherFaces) ;
EXE_EXPORT int ExeTrimmingGetSurfTmFromStmFaces( int nParentId, int nSurfId, const INTVECTOR& vFaces) ;
EXE_EXPORT bool ExeTrimmingGetAdjSurfs( const INTVECTOR& vSurfId, const INTVECTOR& vOtherSurfId, double dLinTol,
double dAngTol, double dAngFaceTol, INTVECTOR& vResId) ;
EXE_EXPORT bool ExeTrimmingGetBorders( int nParentId, const SELVECTOR& vIds, double dSurfLinTol, double dSurfAngTol,
double dLinTol, double dAngTol, int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetBordersByNormals( int nParentId, const SELVECTOR& vIds, double dSurfLinTol,
double dSurfAngTol, double dLinTol, double dAngTol,
double dThick, int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetBorders( int nParentId, const SELVECTOR& vIds, double dLinTol, double dAngTol,
int& nCount, int& nFirstId) ;
EXE_EXPORT bool ExeTrimmingGetBordersByNormals( int nParentId, const SELVECTOR& vIds, double dLinTol,
double dAngTol, double dThick, Point3d& ptNear, int& nCount, int& nFirstId) ;
EXE_EXPORT bool ExeTrimmingGetFinalBorders( int nParentId, const INTVECTOR& vCrvBezierId, double dLinTol, double dAngTol,
const PNTVECTOR& vBreakingPts, double dThick, double dThickTol,
int& nFirstId, int& nCount) ;
EXE_EXPORT int ExeTrimmingGetRuledBezier( int nParentId, const INTVECTOR& vIds, int nEdge1Id, int nEdge2Id, double dLinTol,
const INTVECTOR& vnLineIds) ;
EXE_EXPORT bool ExeTrimmingInterpolateSyncLines( int nParentId, int nSync1Id, int nSync2Id,
int nBorder1Id, int nBorder2Id, double dEdgeLinTol,
double dEdgeAngTol, int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetSurfBzSyncPoints( int nParentId, int nEdge1Id, int nEdge2Id, double dLinTol,
double dAngTol, int nLineNbr, bool bShowOnCorners,
int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetHoleBorder( int nParentId, const INTVECTOR& vSurfIds, const INTVECTOR& vOtherSurfIds,
double dSurfLinTol, double dSurfAngTol, double dEdgeLinTol, double dEdgeAngTol,
double dEdgeThick, int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingSkimSyncPoints( int nEdge1Id, int nEdge2Id, const INTVECTOR& vnLineId, double dLinTol,
double dAngTol, int nMaxInvLine) ;
EXE_EXPORT bool ExeTrimmingAutoSearch( int nParentId, int nSurfLayerId, double dShapeLinTol, double dShapeAngTol,
double dLinTol, double dEdgeLinTol, double dAngTol, double dAngFaceTol,
const STRVECTOR& vsShapes) ;
+3 -4
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2026
// EgalTech 2015-2025
//----------------------------------------------------------------------------
// File : EgtKeyCodes.h Data : 02.01.26 Versione : 3.1a1
// File : EgtKeyCodes.h Data : 01.11.25 Versione : 2.7k1
// Contenuto : Costanti per codici di protezione librerie di base.
//
//
@@ -19,7 +19,6 @@
// 01.01.23 DS Passaggio a versione 25.
// 16.01.24 DS Passaggio a versione 26.
// 07.01.25 DS Passaggio a versione 27.
// 02.01.26 DS Passaggio a versione 31.
//
//----------------------------------------------------------------------------
@@ -27,7 +26,7 @@
//----------------------------------------------------------------------------
const int KEY_BASELIB_PROD = 207 ;
const int KEY_BASELIB_VER = 3103 ;
const int KEY_BASELIB_VER = 2712 ;
const int KEY_BASELIB_LEV = 1 ;
//----------------------------------------------------------------------------