Compare commits

...

117 Commits

Author SHA1 Message Date
Daniele Bariletti 1c4109e9a2 Merge commit '9144694734e55e22ee227a51ec928897e760ad79' into ExtDimension_Angular 2023-04-19 16:47:30 +02:00
DarioS 9144694734 Include :
- aggiornamento prototipi Vector3d.
2023-04-17 09:28:48 +02:00
Daniele Bariletti db1243aba5 Include :
- aggiornamento prototipi
2023-04-14 10:02:16 +02:00
Daniele Bariletti faa791c428 Merge commit '4c7cf4d0e40a3618fdafee73bd4d484811de6916' into ExtDimension_Angular 2023-04-14 09:56:58 +02:00
DarioS 4c7cf4d0e4 Include :
- aggiornamento prototipi.
2023-04-11 19:34:08 +02:00
DarioS 6c983db4d7 Merge remote-tracking branch 'origin/ExtDimension_Angular' 2023-04-08 11:26:54 +02:00
DarioS d497fb30cd Include :
- aggiornamento codici protezione librerie per cambio mese.
2023-04-03 08:53:01 +02:00
Daniele Bariletti 3f05d8d830 Include :
- aggiunti prototipi per quotature.
2023-03-31 14:58:44 +02:00
DarioS 56a10b43b4 Include :
- miglioramento e irrobustimento a PtrOwner.
2023-03-27 20:39:06 +02:00
DarioS 0288f200f8 Include :
- modifiche a PtrOwner, aggiunta nuova Set.
2023-03-27 18:42:01 +02:00
DarioS c8370b9dc7 Include :
- aggiornato codice di controllo versione.
2023-03-06 08:31:58 +01:00
DarioS 19c2dffa32 Include :
- aggiornamento prototipi.
2023-02-27 17:05:17 +01:00
DarioS 4df6b4f95d Include :
- migliorati test IsXplus,... su Vector3d.
2023-02-27 08:14:24 +01:00
DarioS cb3f9075e6 Include :
- aggiornamento prototipi.
2023-02-20 09:14:45 +01:00
DarioS 992073ea80 Include :
- aggiunti prototipi di nuove funzioni.
2023-02-10 11:26:25 +01:00
DarioS 90bac7ecf8 Include :
- aggiornamento chiavi di protezione.
2023-02-09 10:38:14 +01:00
DarioS d4e0b3183f Include :
- modifica estetica.
2023-02-06 08:12:08 +01:00
SaraP 886e63f1a0 Include :
- aggiornamento prototipo.
2023-02-01 09:35:59 +01:00
SaraP 7f4d123700 Include :
- aggiunto prototipo.
2023-01-31 15:36:12 +01:00
DarioS 29078f12d3 Include :
- aggiornamento prototipi.
2023-01-30 09:41:37 +01:00
DarioS 040b3cc386 Include :
- nessuna modifica sostanziale.
2023-01-18 08:41:27 +01:00
DarioS 997bf37426 Include :
- aggiornamento prototipi
- aggiunte raccolte di coppie double-string.
2023-01-17 11:29:05 +01:00
DarioS 70b81d88c3 Include :
- aggiornamento prototipi.
2023-01-11 14:53:58 +01:00
DarioS e1d42cfca8 Include :
- aggiornamento chiavi di protezione.
2023-01-03 08:58:20 +01:00
DarioS 70ae6c8cb2 Include :
- aggiornamento prototipi.
2022-12-28 19:40:48 +01:00
SaraP dc8b2e1fe6 Include :
- aggiornamento prototipi.
2022-12-28 14:19:02 +01:00
DarioS 58efb93e9f Include :
- aggiornamento prototipi.
2022-12-20 16:36:32 +01:00
DarioS 532a6f487c Include :
- aggiornamento prototipi.
2022-12-12 14:43:18 +01:00
DarioS d50bf5e4da Include :
- aggiornamento a dicembre codici protezione librerie.
2022-12-05 08:10:46 +01:00
SaraP f6429f8361 Include :
- aggiunti prototipi.
2022-12-01 11:25:17 +01:00
DarioS 6b3d3a39be Include :
- aggiornamento prototipi.
2022-11-14 08:38:43 +01:00
DarioS 46baa14304 Include :
- aggiornamento prototipi.
2022-11-08 16:43:19 +01:00
DarioS 9357f8fef0 Include :
- aggiornamento prototipi.
2022-11-04 19:18:37 +01:00
DarioS 966a4ff0c1 Include :
- cambio sottoversione mensile per librerie
- aggiornamento prototipi.
2022-11-02 15:10:03 +01:00
DarioS 4f82bc1a6a Include :
- aggiornamento prototipi.
2022-10-26 18:07:42 +02:00
DarioS 35982ecc97 Include :
- aggiornamento prototipi.
2022-10-24 08:44:59 +02:00
Riccardo Elitropi b6b36bbf01 Merge commit '24c1414752e47a903d107978105b888142d61a98' 2022-10-20 15:59:27 +02:00
Riccardo Elitropi 24c1414752 Include :
- aggiornamento e aggiunta prototipi ExportThreeJS.
2022-10-20 15:56:25 +02:00
Riccardo Elitropi d54c5cf3a3 Merge commit '63bc857b1c48c08a7ac6163263ecba3e0304fd66' into ThreeJS 2022-10-20 15:54:17 +02:00
DarioS 63bc857b1c Include :
- aggiornamento codici protezione librerie.
2022-10-12 10:20:31 +02:00
SaraP c79c941621 Include :
- aggiunto prototipo.
2022-10-11 16:07:35 +02:00
DarioS b52b844857 Include :
- aggiornamento prototipi.
2022-10-11 12:29:26 +02:00
Riccardo Elitropi c0073596fd Include :
- Aggiornamento prototipi.
2022-10-05 12:07:17 +02:00
riccardo.elitropi 8f3a5c8d67 Merge commit 'dd73dd57835d5e30b2acd4c52aef1e3c8a9e3894' into ThreeJS 2022-09-29 12:10:39 +02:00
DarioS dd73dd5783 Include :
- aggiornamento prototipi.
2022-09-24 18:47:59 +02:00
riccardo.elitropi b5a1142d5b Merge commit 'd28f8a10387f2cd9904dc381cb22a2f97ac997ed' into ThreeJS 2022-09-20 17:39:51 +02:00
riccardo.elitropi 0dd071a104 Merge remote-tracking branch 'origin/ThreeJS' into ThreeJS 2022-09-20 17:39:05 +02:00
riccardo.elitropi b7f2dadcfe Include:
- Modifica ExeExportThreeJS terzo parametro controllo gruppi.
2022-09-20 17:37:25 +02:00
DarioS d28f8a1038 Include :
- aggiornamento prototipi.
2022-09-13 08:11:43 +02:00
DarioS 12e3b407b0 Include :
- aggiornamento prototipi.
2022-09-09 08:43:50 +02:00
DarioS 0b696228d7 Include :
- aggiornamento codici protezione librerie.
2022-09-07 12:51:31 +02:00
SaraP 50b03f11cd Merge commit '78974f80452ac1db8bb16cdcb12e2d5f8cd5d24f' into ThreeJS 2022-09-01 11:14:58 +02:00
DarioS 78974f8045 Include :
- aggiornamento prototipi.
2022-08-31 15:35:39 +02:00
DarioS acfea6a2d3 Include :
- aggiornamento parametri
- in Frame3d possibilità di costruire e resettare un riferimento come non inizializzato
- in Vector3d aggiunte IsX, IsY, IsZ.
2022-08-29 07:15:53 +02:00
riccardo.elitropi 3e045e7ab6 Merge commit '2c8ffb13ea3e40e4d5bb8dcc579e5032843bd737' into ThreeJS 2022-08-26 14:38:08 +02:00
DarioS 2c8ffb13ea Include :
- aggiunto valore opzionale 0.5 a Media di Vector3d.
2022-08-26 14:37:16 +02:00
riccardo.elitropi 83e545b466 Merge commit '34599980fe4eb9723fc7ab7ce497d9bd1c4a3e04' into ThreeJS 2022-08-26 14:16:59 +02:00
riccardo.elitropi ea621cd6e0 Include :
- modifica parametri funzioni exportThreejs.
2022-08-26 14:16:36 +02:00
DarioS 34599980fe Include :
- aggiornamento prototipi
- in Vector3d aggiunte funzioni GetToLoc, GetToGlob e GetLocToLoc per avere subito una copia del trasformato
- in Point3d aggiunte funzioni GetToLoc, GetToGlob e GetLocToLoc per avere subito una copia del trasformato.
2022-08-23 11:45:50 +02:00
riccardo.elitropi 27b9bc8979 Include :
- Aggiunti prototipi per ExportThreeJS.
2022-08-22 17:52:29 +02:00
DarioS ebae52195d Include :
- aggiornati prototipi
- in Vector3d migliorate ParallCompo e OrthoCompo.
2022-08-21 16:23:35 +02:00
DarioS b46df7b95e Include :
- aggiornamento prototipi.
2022-08-17 19:22:56 +02:00
SaraP 72e5aac4bd Include :
- aggiunti e aggiornati prototipi.
2022-07-28 16:23:50 +02:00
SaraP d7d3cd1d2f Include :
- aggiunto prototipo.
2022-07-15 17:05:18 +02:00
DarioS 2724fd7da2 Include :
- aggiornamento prototipi.
2022-07-06 17:47:14 +02:00
DarioS 34e4585cb0 Include :
- aggiornata chiave protezione librerie per cambio mese.
2022-07-04 11:01:58 +02:00
SaraP 2e15477a6b Include :
- aggiunto prototipo.
2022-06-24 17:14:04 +02:00
DarioS 281385250b Include :
- aggiunte costanti per plunge in lavorazione Mortising
- migliorate funzioni Clamp.
2022-06-19 11:06:02 +02:00
DarioS cc7de574ea Include :
- aggiornata per cambio mese chiave protezione librerie.
2022-06-06 06:59:44 +02:00
DarioS a783f67a1c Include :
- aggiunte costanti per quata di base del tool holder.
2022-05-29 16:41:08 +02:00
DarioS 9bcc1d8208 Include :
- aggiunto prototipo.
2022-05-26 14:43:47 +02:00
SaraP 88d7bd76dd Include :
- aggiunto prototipo.
2022-05-25 16:45:49 +02:00
DarioS 6243972bb8 Include :
- aggiornamento prototipi.
2022-05-17 08:27:21 +02:00
DarioS c8faafd10b Include :
- modifiche a SetValInNotes, GetValInNotes e RemoveValInNotes per gestire chiavi con terminatore ':' già compreso a cui non aggiungere '='.
2022-05-14 11:41:40 +02:00
DarioS c0cecd27ae Include :
- aggiunta e aggiornamento prototipi.
2022-05-09 19:30:13 +02:00
SaraP 5457f4707c Include :
- aggiornamento prototipi.
2022-05-09 11:35:17 +02:00
SaraP 87fdfbb689 Include :
- aggiunta HashGrids1d
- aggiunti prototipi.
2022-05-09 09:11:18 +02:00
DarioS 32a81f8382 Include :
- aggiornamento mensile codici di protezione librerie.
2022-05-01 17:56:44 +02:00
DarioS 6c196ca7da Include :
- modifiche a SaveGeoObj per casi di oggetto non valido.
2022-04-26 08:14:43 +02:00
DarioS 70c3695ee9 Include :
- aggiunto prototipo.
2022-04-22 08:54:27 +02:00
DarioS 799548c17c Include :
- aggiornamento prototipi.
2022-04-19 11:16:50 +02:00
DarioS f1fb3a8b6a Include :
- aggiunti prototipi.
2022-04-13 14:54:01 +02:00
DarioS b0d59a283d Include :
- aggiunti prototipi.
2022-04-12 18:04:15 +02:00
DarioS c87395f201 Include :
- aggiunto prototipo.
2022-04-11 19:16:40 +02:00
DarioS a8339f748a Include :
- aggiunti prototipi.
2022-04-11 16:28:34 +02:00
DarioS 329e56cb9f Include :
- aggiornamento prototipi.
2022-04-11 08:36:34 +02:00
DarioS b552b36101 Include :
- aggiunto flag EIBFLAG_TRIM_WITH_OUTLINE per BTL.
2022-04-04 17:27:25 +02:00
DarioS 7e4d8cb061 Include :
- aggiornata versione per librerie a 2404.
2022-04-03 12:01:17 +02:00
DarioS 9e53331f4b Include :
- aggiornamento prototipi.
2022-03-24 10:52:07 +01:00
DarioS 3c9fee6701 Include :
- aggiornamento prototipi.
2022-03-24 08:55:02 +01:00
DarioS 53d855cc80 Include :
- aggiunta a Color funzione Intensify.
2022-03-20 18:49:13 +01:00
DarioS f7a539ff8d Include :
- aggiornata versione per librerie a 2403.
2022-03-08 19:46:29 +01:00
DarioS ab8ec30e29 Include :
- sistemato minuscole/maiuscole.
2022-02-26 17:46:21 +01:00
DarioS 8640bd9ec0 Include :
- aggiornamento mensile versione minima per librerie
- aggiunte costanti per lavorazione di svuotatura ad epicicli per lucidatura.
2022-02-04 18:25:22 +01:00
DarioS b2f7fa94f7 Include :
- aggiornamento prototipi.
2022-01-24 08:19:39 +01:00
DarioS afd6dd7855 Include :
- aggiunta costante EIBFLAG_OUTL_FLAT_POS = 64 per flag import BTL.
2022-01-18 11:37:38 +01:00
DarioS 1767036299 Include :
- aggiornati prototipi.
2022-01-17 15:12:05 +01:00
DarioS bbb6ff6ef5 Include :
- aggiunta costante per formato OBJ.
2022-01-14 12:05:59 +01:00
DarioS 80588fc44c Include :
- aggiornamento prototipi.
2022-01-10 18:36:46 +01:00
DarioS e994bb1836 Include :
- sistemazione prototipi.
2022-01-09 15:18:34 +01:00
DarioS 103ea771b4 Include :
- aggiornamento prototipi
- aggiunta costante MAX_EDGE_LEN_STD per triangolazioni di facce di SurfTriMesh.
2022-01-07 10:04:05 +01:00
DarioS d07cc81d83 Include :
- aggiornamento prototipi.
2022-01-04 08:09:19 +01:00
DarioS 4733040613 Include :
- aggiornamento prototipi.
2021-12-20 18:58:25 +01:00
DarioS 236a0625f4 Include :
- aggiornamento prototipi.
2021-12-19 18:42:27 +01:00
DarioS 13b742e04d Include :
- aggiornamento prototipi.
2021-12-08 16:46:44 +01:00
DarioS 45b3427c76 Include :
- aggiornamento prototipi.
2021-12-06 16:50:41 +01:00
DarioS d374680aec Include :
- aggiornamento prototipi.
2021-12-02 11:24:54 +01:00
DarioS d16330e412 Include :
- aggiornamento prototipi.
2021-12-01 10:13:36 +01:00
DarioS b5b2490da5 Include :
- aggiornamento prototipi.
2021-11-16 06:28:03 +01:00
DarioS 130d508286 Include :
- aggiornamento prototipi.
2021-11-02 08:24:15 +01:00
LorenzoM bcae60ae52 Spostate funzioni polyline nel file opportuno 2021-10-27 18:03:40 +02:00
DarioS 4a2e309b61 Include :
- aggiornamento prototipi.
2021-10-24 18:05:04 +02:00
DarioS 34b4b82928 Include :
- aggiornati codici di protezione per cambio mese.
2021-10-04 09:01:00 +02:00
DarioS 3223628941 Include :
- correzioni a Triangle3d e Triangle3dEx per funzioni bool che non restituivano il risultato
- a Triangle3d aggiunta funzione GetSqMinHeight (quadrato della minima altezza del triangolo)
- aggiornamento prototipi.
2021-09-26 16:33:54 +02:00
DarioS 8e8709682f Include :
- aggiunte costanti MILL_LI_TG_PERP e MILL_LO_PERP_TG.
2021-09-25 12:51:20 +02:00
DarioS 7178e9715c Include :
- aggiunta costante parametro utensile TPA_CORE (spessore anima di lama).
2021-09-16 12:45:49 +02:00
DarioS 4628b536ba Include :
- aggiornamento prototipi.
2021-09-13 15:52:10 +02:00
95 changed files with 837 additions and 251 deletions
+12 -10
View File
@@ -1,23 +1,25 @@
//----------------------------------------------------------------------------
// EgalTech 2020-2020
// EgalTech 2020-2022
//----------------------------------------------------------------------------
// File : EExBeamConst.h Data : 30.08.20 Versione : 2.2i1
// 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.
//
//----------------------------------------------------------------------------
#pragma once
//-----------------------------------------------------------------------------
enum EImBtlFlag { EIBFLAG_NONE = 0x0000,
EIBFLAG_FLAT_POS = 0x0001, // pezzi di piatto (prevale sul successivo)
EIBFLAG_VERT_POS = 0x0002, // pezzi in verticale
EIBFLAG_SPECIAL_TRIM = 0x0004, // trim speciale per pareti
EIBFLAG_TS3_POS = 0x0008, // pezzi come in TechnoEssetre (prevale sui precedenti POS)
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
enum EImBtlFlag { EIBFLAG_NONE = 0x0000,
EIBFLAG_FLAT_POS = 0x0001, // pezzi di piatto (prevale sul successivo)
EIBFLAG_VERT_POS = 0x0002, // pezzi in verticale
EIBFLAG_SPECIAL_TRIM = 0x0004, // trim speciale per pareti
EIBFLAG_TS3_POS = 0x0008, // pezzi come in TechnoEssetre (prevale sui precedenti POS)
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)
+12 -5
View File
@@ -1,19 +1,20 @@
//----------------------------------------------------------------------------
// EgalTech 2020-2021
// EgalTech 2020-2022
//----------------------------------------------------------------------------
// File : EExBeamMgr.h Data : 01.06.21 Versione : 2.2f1
// File : EExBeamMgr.h Data : 06.07.22 Versione : 2.4g2
// Contenuto : Dichiarazione della interfaccia IBeamMgr.
//
//
//
// Modifiche : 30.08.20 DS Creazione modulo.
// 01.06.21 DS Aggiunti parametri vsUAtt per Process.
// 06.07.22 DS Aggiunta GetSideData.
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include "/EgtDev/Include/EExBeamConst.h"
#include <string>
@@ -32,6 +33,7 @@ class __declspec( novtable) IBeamMgr
virtual ~IBeamMgr( void) {}
virtual bool Init( IGeomDB* pGDB, int nFlag = 0) = 0 ;
virtual bool SetFlag( int nFlag) = 0 ;
virtual int CreatePart( void) = 0 ;
virtual bool SetPart( int nPartId) = 0 ;
virtual bool ErasePart( void) = 0 ;
@@ -40,10 +42,15 @@ class __declspec( novtable) IBeamMgr
virtual bool SetPartName( const std::string& sName) = 0 ;
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, bool bUpdate = true) = 0 ;
const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt,
int nCrvId, int nCrv2Id, bool bUpdate = true) = 0 ;
virtual int ModifyProcess( int nGeomId, 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, bool bUpdate = true) = 0 ;
const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt,
int nCrvId, int nCrv2Id, bool bUpdate = true) = 0 ;
virtual bool EraseProcess( int nGeomId, bool bUpdate = true) = 0 ;
virtual bool EnableProcess( int nGeomId, bool bEnable, bool bUpdate = true) = 0 ;
virtual bool CalcSolid( int nPartId, bool bRecalc = false) = 0 ;
+2
View File
@@ -34,6 +34,8 @@ extern "C" {
EEX_EXPORT void SetEExLogger( ILogger* pLogger) ;
// imposta la chiave di protezione
EEX_EXPORT void SetEExKey( const std::string& sKey) ;
// imposta se chiave hardware di rete
EEX_EXPORT void SetEExNetHwKey( bool bNetHwKey) ;
}
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgnCmdExecutor.h"
#include "/EgtDev/Include/EGnCmdExecutor.h"
class IGeomDB ;
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include "/EgtDev/Include/EExExportConst.h"
#include <string>
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include "/EgtDev/Include/EExExportConst.h"
#include <string>
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include "/EgtDev/Include/EExExportConst.h"
#include <string>
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include "/EgtDev/Include/EExExportConst.h"
#include <string>
+42
View File
@@ -0,0 +1,42 @@
//----------------------------------------------------------------------------
// EgalTech 2022-2022
//----------------------------------------------------------------------------
// File : EExExportThreeJS.h Data : 22.10.22 Versione : 2.4j1
// Contenuto : Dichiarazione della interfaccia IExportStl.
//
//
//
// Modifiche : 22.10.22 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkGeomDB.h"
#include "/EgtDev/Include/EExExportConst.h"
#include <string>
#include "/EgtDev/Include/EGrScene.h"
//----------------------- Macro per import/export ----------------------------
#undef EEK_EXPORT
#if defined( I_AM_EEX) // da definirsi solo nella DLL
#define EEX_EXPORT __declspec( dllexport)
#else
#define EEX_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
class __declspec( novtable) IExportThreeJS
{
public:
virtual ~IExportThreeJS( void) {}
virtual bool SetOptions( int nFilter) = 0 ;
virtual bool Export( IGeomDB* pGDB, int nId, IEGrScene* pScene, bool bUdm, const std::string& sFile) = 0 ;
} ;
//-----------------------------------------------------------------------------
extern "C" {
EEX_EXPORT bool SetThreeJSLibDir( const std::string& sThreeJSLibDir) ;
EEX_EXPORT IExportThreeJS* CreateExportThreeJS( void) ;
}
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include <string>
//----------------------- Macro per import/export ----------------------------
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include <string>
//----------------------- Macro per import/export ----------------------------
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include <string>
//----------------------- Macro per import/export ----------------------------
+1 -1
View File
@@ -14,7 +14,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include <string>
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include <string>
//----------------------- Macro per import/export ----------------------------
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkGeomDB.h"
#include "/EgtDev/Include/EGkGeomDB.h"
#include <string>
//----------------------- Macro per import/export ----------------------------
+5 -2
View File
@@ -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) ;
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EgkArcCenTgCurvePnt.h Data : 15.03.15 Versione : 1.6c2
// File : EGkArcCenTgCurvePnt.h Data : 15.03.15 Versione : 1.6c2
// Contenuto : Dichiarazione funzioni per calcolo arco dati centro,
// tangente a curva e punto vicino a finale.
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EgkArcPntDirTgCurve.h Data : 13.03.15 Versione : 1.6c2
// File : EGkArcPntDirTgCurve.h Data : 13.03.15 Versione : 1.6c2
// Contenuto : Dichiarazione funzioni per calcolo arco dato punto iniziale
// direzione e tangente a curva.
//
+4 -3
View File
@@ -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) ;
+7 -3
View File
@@ -1,19 +1,20 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
// EgalTech 2013-2022
//----------------------------------------------------------------------------
// File : EGkBBox3d.h Data : 14.01.14 Versione : 1.5a4
// File : EGkBBox3d.h Data : 17.08.22 Versione : 2.4h1
// Contenuto : Dichiarazione della classe axis aligned bounding box BBox3d.
//
//
//
// Modifiche : 14.01.13 DS Creazione modulo.
// 17.08.22 DS Aggiunte GetDimX, GetDimY, GetDimZ.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGKPoint3d.h"
#include "/EgtDev/Include/EGkPoint3d.h"
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
@@ -72,6 +73,9 @@ class EGK_EXPORT BBox3d
{ return m_ptMax ; }
bool GetMinMax( Point3d& ptMin, Point3d& ptMax) const ;
bool GetMinDim( Point3d& ptMin, double& dDimX, double& dDimY, double& dDimZ) const ;
double GetDimX( void) const ;
double GetDimY( void) const ;
double GetDimZ( void) const ;
bool GetCenterExtent( Point3d& ptCenter, Vector3d& vtExtent) const ;
bool GetCenter( Point3d& ptCenter) const ;
bool GetRadius( double& dRad) const ;
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkCurve.h"
#include "/EgtDev/Include/EGkCurve.h"
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
+28
View File
@@ -0,0 +1,28 @@
//----------------------------------------------------------------------------
// EgalTech 2022-202
//----------------------------------------------------------------------------
// File : EGkCircle2Pe.h Data : 18.08.22 Versione : 2.4h2
// Contenuto : Dichiarazione funzioni per calcolo circonferenze per 2 punti
// diametrali.
//
//
// Modifiche : 18.08.22 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkCurveArc.h"
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
#if defined( I_AM_EGK) // da definirsi solo nella DLL
#define EGK_EXPORT __declspec( dllexport)
#else
#define EGK_EXPORT __declspec( dllimport)
#endif
//----------------------------------------------------------------------------
EGK_EXPORT ICurveArc* GetCircle2P( const Point3d& ptP1, const Point3d& ptP2, const Vector3d& vtN) ;
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EgkCircleCenTgCurve.h Data : 12.03.15 Versione : 1.6c2
// File : EGkCircleCenTgCurve.h Data : 12.03.15 Versione : 1.6c2
// Contenuto : Dichiarazione funzioni per calcolo circonferenze di centro
// dato tangenti a curve.
//
+4
View File
@@ -60,6 +60,10 @@ class Color
{ m_Col[ALPHA] = (( nAlpha < 0) ? 0 : (( nAlpha > MAX_ALPHA) ? MAX_ALPHA : nAlpha)) ; }
void SetAlpha( double dAlpha)
{ m_Col[ALPHA] = (( dAlpha < 0) ? 0 : (( dAlpha > 1) ? MAX_ALPHA : int( lround( dAlpha * MAX_ALPHA)))) ; }
void Intensify( double dCoeff)
{ Set( int( m_Col[RED] * dCoeff), int( m_Col[GREEN] * dCoeff), int( m_Col[BLUE] * dCoeff), m_Col[ALPHA]) ;
if ( dCoeff > 1 && m_Col[RED] < 64 && m_Col[GREEN] < 64 && m_Col[BLUE] < 64)
Set( 64, 64, 64, m_Col[ALPHA]) ; }
int GetIntRed( void) const
{ return m_Col[RED] ; }
int GetIntGreen( void) const
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : EgkCurve.h Data : 06.05.14 Versione : 1.5e3
// File : EGkCurve.h Data : 06.05.14 Versione : 1.5e3
// Contenuto : Dichiarazione della interfaccia ICurve.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : EgkCurveArc.h Data : 22.11.13 Versione : 1.3a1
// File : EGkCurveArc.h Data : 22.11.13 Versione : 1.3a1
// Contenuto : Dichiarazione della interfaccia ICurveArc.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : EgkCurveAux.h Data : 23.05.14 Versione : 1.5e9
// File : EGkCurveAux.h Data : 23.05.14 Versione : 1.5e9
// Contenuto : Dichiarazione funzioni ausiliarie per ICurve.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : EgkCurveBezier.h Data : 22.11.13 Versione : 1.3a1
// File : EGkCurveBezier.h Data : 22.11.13 Versione : 1.3a1
// Contenuto : Dichiarazione della interfaccia ICurveBezier.
//
//
+10 -3
View File
@@ -1,13 +1,15 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2021
// EgalTech 2013-2022
//----------------------------------------------------------------------------
// File : EgkCurveComposite.h Data : 03.04.21 Versione : 2.3g2
// File : EGkCurveComposite.h Data : 24.03.22 Versione : 2.4c2
// Contenuto : Dichiarazione della interfaccia ICurveComposite.
//
//
//
// Modifiche : 22.11.13 DS Creazione modulo.
// 21.07.21 LM Aggiunto parametro opzionale a Set/GetCurveTempProp.
// 23.01.22 DS Aggiunti metodi IsARectangle e IsATrapezoid.
// 24.03.22 DS Aggiunto metodo AddLineTg.
//
//----------------------------------------------------------------------------
@@ -43,8 +45,9 @@ class __declspec( novtable) ICurveComposite : public ICurve
virtual bool ChangeStartPoint( double dU) = 0 ;
virtual bool AddPoint( const Point3d& ptStart) = 0 ;
virtual bool AddLine( const Point3d& ptNew, bool bEndOrStart = true) = 0 ;
virtual bool AddArcTg( const Point3d& ptNew, bool bEndOrStart = true) = 0 ;
virtual bool AddLineTg( double dLen, bool bEndOrStart = true) = 0 ;
virtual bool AddArc2P( const Point3d& ptOther, const Point3d& ptNew, bool bEndOrStart = true) = 0 ;
virtual bool AddArcTg( const Point3d& ptNew, bool bEndOrStart = true) = 0 ;
virtual bool AddJoint( double dU) = 0 ;
virtual bool ModifyJoint( int nU, const Point3d& ptNewJoint) = 0 ;
virtual bool RemoveJoint( int nU) = 0 ;
@@ -53,11 +56,15 @@ 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 ;
virtual bool IsACircle( double dLinTol, Point3d& ptCen, Vector3d& vtN, double& dRad, bool& bCCW) const = 0 ;
virtual bool IsARectangle( double dLinTol, Point3d& ptP, Vector3d& vtL1, Vector3d& vtL2) const = 0 ;
virtual bool IsATrapezoid( double dLinTol, Point3d& ptP, Vector3d& vtB1, Vector3d& vtL1, Vector3d& vtB2) const = 0 ;
virtual bool SetCurveTempProp( int nCrv, int nProp, int nPropInd = 0) = 0 ;
virtual bool GetCurveTempProp( int nCrv, int& nProp, int nPropInd = 0) const = 0 ;
} ;
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : EgkCurveLine.h Data : 22.11.13 Versione : 1.3a1
// File : EGkCurveLine.h Data : 22.11.13 Versione : 1.3a1
// Contenuto : Dichiarazione della interfaccia ICurveLine.
//
//
+1 -1
View File
@@ -14,7 +14,7 @@
#pragma once
#include "/EgtDev/Include/EGkCurve.h"
#include "/EgtDEv/Include/EgkGeomDB.h"
#include "/EgtDEv/Include/EGkGeomDB.h"
//-----------------------------------------------------------------------------
class CurveLocal
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : EgkCurvePointDiffGeom.h Data : 26.12.13 Versione : 1.4l4
// File : EGkCurvePointDiffGeom.h Data : 26.12.13 Versione : 1.4l4
// Contenuto : Tipi generali per calcoli geometrici.
//
//
+3 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2020
//----------------------------------------------------------------------------
// File : EgkDllMain.h Data : 19.09.20 Versione : 2.2i2
// File : EGkDllMain.h Data : 19.09.20 Versione : 2.2i2
// Contenuto : Prototipi funzioni generali della DLL.
//
//
@@ -38,6 +38,8 @@ EGK_EXPORT void SetEGkLogger( ILogger* pLogger) ;
EGK_EXPORT void SetEGkKey( const std::string& sKey) ;
// imposta il tipo di chiave di protezione
EGK_EXPORT void SetEGkKeyType( int nType) ;
// imposta se chiave hardware di rete
EGK_EXPORT void SetEGkNetHwKey( bool bNetHwKey) ;
// permette di inizializzare il font manager
EGK_EXPORT void InitFontManager( const std::string& sNfeFontDir, const std::string& sDefaultFont) ;
// restituisce il direttorio dei font proprietari (Nfe)
+6
View File
@@ -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& ptV, const Point3d& ptP2, 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 ;
+5 -5
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EgkFrame3d.h Data : 30.05.14 Versione : 1.5e10
// File : EGkFrame3d.h Data : 30.05.14 Versione : 1.5e10
// Contenuto : Dichiarazione della classe Reference Frame 3d.
//
//
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EGKPoint3d.h"
#include "/EgtDev/Include/EGkPoint3d.h"
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
@@ -30,8 +30,8 @@ class EGK_EXPORT Frame3d
enum Type { ERR = 0, TOP = 1, BOTTOM = 2, FRONT = 3,
BACK = 4, LEFT = 5, RIGHT = 6, GEN = 7} ;
public :
Frame3d( void)
: m_nType( TOP), m_nZType( TOP), m_ptOrig( ORIG),
Frame3d( bool bGlob = true)
: m_nType( bGlob ? TOP : ERR), m_nZType( bGlob ? TOP : ERR), m_ptOrig( ORIG),
m_vtVersX( X_AX), m_vtVersY( Y_AX), m_vtVersZ( Z_AX) {}
Frame3d( const Point3d& ptOrig)
: m_nType( TOP), m_nZType( TOP), m_ptOrig( ptOrig),
@@ -43,7 +43,7 @@ class EGK_EXPORT Frame3d
bool Set( const Point3d& ptOrig, const Vector3d& vtDirZ, const Vector3d& vtNearDirX) ;
bool Set( const Point3d& ptOrig, Type nType) ;
bool Set( const Point3d& ptOrig, double dAngCDeg, double dAngADeg, double dAngC1Deg) ;
bool Reset( void) ;
bool Reset( bool bGlob = true) ;
bool ChangeOrig( const Point3d& ptOrig) ;
bool Translate( const Vector3d& vtMove) ;
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) ;
+6 -5
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EgkGdbConst.h Data : 17.06.14 Versione : 1.5f5
// File : EGkGdbConst.h Data : 17.06.14 Versione : 1.5f5
// Contenuto : Costanti generali per DB geometrico.
//
//
@@ -83,7 +83,8 @@ const std::string GDB_SI_LIST = "!LST" ; // Vettore Id entit
const std::string GDB_SI_COPY = "!COP" ; // Id entità
const std::string GDB_SI_MGRPONLY = "!MGO" ; // Id entità
const std::string GDB_SI_DRAWMODE = "!DRM" ; // Flag
const std::string GDB_SI_DUPSOU = "!DSOU" ; // Id entità
const std::string GDB_SI_DUPLIST = "!DLST" ; // Vettore Id entità
const std::string GDB_SI_DUPMODIF = "!DMOD" ; // Flag
const std::string GDB_SI_DUPSOU = "!DSOU" ; // Duplo Id entità originale
const std::string GDB_SI_DUPLIST = "!DLST" ; // Duplo Vettore Id entità duplicate
const std::string GDB_SI_DUPMODIF = "!DMOD" ; // Flag di sorgente per duplo modificato
const std::string GDB_SI_DUPLOCKED = "!DLOK" ; // Flag di duplo bloccato (da non aggiornare seguendo originale)
const std::string GDB_SI_DUPTOUPDATE = "!DTUP" ; // Flag di duplo da aggiornare quando sbloccato
+2 -2
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : EgkGdbExecutor.h Data : 25.11.13 Versione : 1.3a1
// File : EGkGdbExecutor.h Data : 25.11.13 Versione : 1.3a1
// Contenuto : Dichiarazione della interfaccia IGdbExecutor.
//
//
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgnCmdExecutor.h"
#include "/EgtDev/Include/EGnCmdExecutor.h"
class IGeomDB ;
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : EgkGdbFunct.h Data : 13.03.14 Versione : 1.5c6
// File : EGkGdbFunct.h Data : 13.03.14 Versione : 1.5c6
// Contenuto : Funzioni generali per DB geometrico.
//
//
+6 -4
View File
@@ -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) ;
+7 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2019
//----------------------------------------------------------------------------
// File : EgkGeoCollection.h Data : 05.11.19 Versione : 2.1k1
// File : EGkGeoCollection.h Data : 05.11.19 Versione : 2.1k1
// Contenuto : Raccolte di oggetti geometrici.
//
//
@@ -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
+4 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2019
//----------------------------------------------------------------------------
// File : EgkGeoConst.h Data : 23.11.19 Versione : 2.1k5
// File : EGkGeoConst.h Data : 23.11.19 Versione : 2.1k5
// Contenuto : Costanti generali per calcoli geometrici.
//
//
@@ -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. ;
+6 -2
View File
@@ -1,12 +1,13 @@
//----------------------------------------------------------------------------
// EgalTech 2017-2017
// EgalTech 2017-2022
//----------------------------------------------------------------------------
// File : EGkGeoObjSave.h Data : 30.10.17 Versione : 1.8j5
// File : EGkGeoObjSave.h Data : 25.04.22 Versione : 2.4d4
// Contenuto : Funzione per salvare su file un Oggetto Geometrico.
//
//
//
// Modifiche : 30.10.17 DS Creazione modulo.
// 25.04.22 DS Aggiunti controlli.
//
//----------------------------------------------------------------------------
@@ -20,6 +21,9 @@
bool
SaveGeoObj( IGeoObj* pGObj, const std::string& sFile, int nFlag = GDB_SV_BIN)
{
// verifico validità oggetto
if ( pGObj == nullptr || ! pGObj->IsValid())
return false ;
// creo GeomDB temporaneo
PtrOwner<IGeomDB> pGeomDB( CreateGeomDB()) ;
if ( IsNull( pGeomDB))
+4 -2
View File
@@ -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 ;
+76
View File
@@ -0,0 +1,76 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2018
//----------------------------------------------------------------------------
// File : EGkHashGrids1d.h Data : 02.05.21 Versione : 2.4e1
// Contenuto : Dichiarazione della classe HashGrids1d.
//
//
//
// Modifiche : 04.07.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "EgtDev/Include/EGkBBox3d.h"
#include "EgtDev/Include/EgtNumCollection.h"
#include <unordered_map>
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
#if defined( I_AM_EGK) // da definirsi solo nella DLL
#define EGK_EXPORT __declspec( dllexport)
#else
#define EGK_EXPORT __declspec( dllimport)
#endif
//----------------------------------------------------------------------------
class HashGrids1d
{
public :
EGK_EXPORT HashGrids1d( void) ;
EGK_EXPORT ~HashGrids1d( void) ;
EGK_EXPORT void SetActivationGrid( bool bActivate) ;
EGK_EXPORT bool Add( int nObjId, const BBox3d& box) ;
EGK_EXPORT bool Modify( int nObjId, const BBox3d& box) ;
EGK_EXPORT bool Remove( int nObjId) ;
EGK_EXPORT bool Update( void) ;
EGK_EXPORT bool Find( const BBox3d& b3Test, INTVECTOR& vnIds) const ;
EGK_EXPORT void Clear( void) ;
friend class HashGrid1d ;
private :
struct ObjData {
int nId ;
BBox3d box ;
HashGrid1d* pHGrid ;
size_t nHash ;
size_t nCellId ;
ObjData( void)
: nId( -1), box(), pHGrid( nullptr), nHash( 0), nCellId( 0) {}
ObjData( int nI, const BBox3d& bb, HashGrid1d* pHG, size_t nH, size_t nCI)
: nId( nI), box( bb), pHGrid( pHG), nHash( nH), nCellId( nCI) {}
} ;
typedef std::list<ObjData> ObjList ;
typedef std::vector<ObjData*> PtrObjVector ;
typedef std::unordered_map<int,ObjData*> IntPObjUmap ;
private :
typedef std::list<HashGrid1d*> GridList ; // Tipo per lista di hash grid
private :
void addGrid( ObjData& obj) ;
void addList( ObjData& obj) ;
private :
ObjList m_ObjsList ; // Lista degli oggetti
IntPObjUmap m_ObjsMap ; // Map da Id a PtrObj
PtrObjVector m_objsToAdd ; // Vettore di puntatori agli oggetti da inserire
PtrObjVector m_nonGridObjs ; // Vettore di puntatori agli oggetti non assegnati alle griglie (per dimensioni o perchè pochi)
GridList m_GridList ; // Lista delle griglie di dimensione fissa ( in ordine crescente di dimensione di cella)
bool m_bActivate ; // Flag che abilita l'attivazione delle griglie
bool m_bGridActive ; // Flag di attivazione delle griglie
BBox3d m_b3Objs ; // Box totale di tutti gli oggetti inseriti
} ;
+2 -2
View File
@@ -124,7 +124,7 @@ class IntersCurveCurve
//! Restituisce il punto di intersezione più vicino al punto passato
EGK_EXPORT bool GetIntersPointNearTo( int nCrv, const Point3d& ptNear, Point3d& ptI) ;
//! Restituisce la classificazione di una curva rispetto all'altra ( nCrv=0 -> CurvaA, nCrv=1 -> CurvaB)
EGK_EXPORT bool GetCurveClassification( int nCrv, CRVCVECTOR& ccClass) ;
EGK_EXPORT bool GetCurveClassification( int nCrv, double dLenMin, CRVCVECTOR& ccClass) ;
//! Restituisce la classificazione di curve chiuse secondo le regole delle regioni
EGK_EXPORT int GetRegionCurveClassification( void) ;
@@ -142,7 +142,7 @@ class IntersCurveCurve
void CrvCompoCrvCompoCalculate( const ICurve& CurveA, const ICurve& CurveB) ;
bool AdjustIntersParams( bool bAdjCrvA, bool bAdjCrvB) ;
bool SwapInfoAB( ICCIVECTOR& Info, int IndCrvOrd) ;
bool CalcCurveClassification( const ICurve* pCurve, const ICCIVECTOR& Info, CRVCVECTOR& ccClass) ;
bool CalcCurveClassification( const ICurve* pCurve, const ICCIVECTOR& Info, double dLenMin, CRVCVECTOR& ccClass) ;
bool CalcCurveInOrOut( const ICurve* pCurveA, const ICurve* pCurveB, CRVCVECTOR& ccClass) ;
bool GetCurveOutClass( const ICurve* pCurve, int& nClass) ;
+3 -3
View File
@@ -1,8 +1,8 @@
//----------------------------------------------------------------------------
// EgalTech 2020-2020
// EgalTech 2020-2022
//----------------------------------------------------------------------------
// File : EGkIntersLineBox.h Data : 07.05.20 Versione : 2.2e1
// Contenuto : Dichiarazione della classe intersezione linea/box.
// File : EGkIntersLineBox.h Data : 08.01.22 Versione : 2.4a3
// Contenuto : Dichiarazione delle funzioni intersezione linea/box.
//
//
//
+6 -4
View File
@@ -1,18 +1,19 @@
//----------------------------------------------------------------------------
// EgalTech 2020-2020
// EgalTech 2020-2022
//----------------------------------------------------------------------------
// File : EGkIntersPlaneBox.h Data : 08.05.20 Versione : 2.2e1
// File : EGkIntersPlaneBox.h Data : 09.01.22 Versione : 2.4a3
// Contenuto : Dichiarazione della classe intersezione piano/box.
//
//
//
// Modifiche : 08.05.20 DS Creazione modulo.
//
// 09.01.22 DS Aggiunta TestIntersPlaneBox.
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkPlane3d.h"
#include "/EgtDev/Include/EGkBBox3d.h"
#include "/EgtDev/Include/EGkGeoCollection.h"
@@ -25,5 +26,6 @@
#endif
//-----------------------------------------------------------------------------
EGK_EXPORT bool IntersPlaneBox( const Point3d& ptOn, const Vector3d& vtN, const BBox3d& b3Box,
EGK_EXPORT bool TestIntersPlaneBox( const Plane3d& plPlane, const BBox3d& b3Box) ;
EGK_EXPORT bool IntersPlaneBox( const Plane3d& plPlane, const BBox3d& b3Box,
PNTVECTOR& vPnt, BIPNTVECTOR& vBpt, TRIA3DVECTOR& vTria) ;
+16
View File
@@ -14,6 +14,7 @@
#pragma once
#include "/EgtDev/Include/EGkSurfTriMesh.h"
#include "/EgtDev/Include/EGkHashGrids1d.h"
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
@@ -26,3 +27,18 @@
//-----------------------------------------------------------------------------
EGK_EXPORT bool IntersPlaneSurfTm( const Plane3d& plPlane, const ISurfTriMesh& Stm,
PNTVECTOR& vPnt, BIPNTVECTOR& vBpt, TRIA3DVECTOR& vTria) ;
//-----------------------------------------------------------------------------
class IntersParPlanesSurfTm
{
public :
EGK_EXPORT IntersParPlanesSurfTm( const Frame3d& frPlanes, const ISurfTriMesh& Stm) ;
EGK_EXPORT bool GetInters( double dDist, PNTVECTOR& vPnt, BIPNTVECTOR& vBpt, TRIA3DVECTOR& vTria) const ;
private :
bool m_bOk ;
const Frame3d m_frPlanes ;
const ISurfTriMesh* m_pSTm ;
HashGrids1d m_HGrids ;
} ;
+13 -12
View File
@@ -32,16 +32,17 @@ EGK_EXPORT int IntersTriaTria( const Triangle3d& trTria1, const Triangle3d& trTr
//-----------------------------------------------------------------------------
// Tipo di intersezione triangolo-triangolo
enum IntTriaTriaType { ITTT_NO = 0, // non c'è intersezione
ITTT_OVERLAPS = 1, // i triangoli si sovrappongono (i triangoli del poligono sono in vTria)
ITTT_VERT_VERT = 2, // intersezione coppia di vertici
ITTT_VERT_EDGE = 3, // vertice del primo su lato del secondo
ITTT_EDGE_VERT = 4, // vertice del secondo su lato del primo
ITTT_VERT_INT = 5, // vertice del primo nell'interno del secondo
ITTT_INT_VERT = 6, // vertice del secondo nell'interno del primo
ITTT_EDGE_EDGE_PNT = 7, // punto sull'intersezione di due lati
ITTT_EDGE_EDGE_SEG = 8, // sovrapposizione di lati
ITTT_EDGE_INT = 9, // lato del primo nell'interno del secondo
ITTT_INT_EDGE = 10, // lato del secondo nell'interno del primo
ITTT_INT_INT_SEG = 11, // segmento all'interno di entrambi i triangoli
enum IntTriaTriaType { ITTT_NO = 0, // non c'è intersezione
ITTT_OVERLAPS = 1, // i triangoli si sovrappongono (i triangoli del poligono sono in vTria)
ITTT_VERT_VERT = 2, // intersezione coppia di vertici
ITTT_VERT_EDGE = 3, // vertice del primo su lato del secondo
ITTT_EDGE_VERT = 4, // vertice del secondo su lato del primo
ITTT_VERT_INT = 5, // vertice del primo nell'interno del secondo
ITTT_INT_VERT = 6, // vertice del secondo nell'interno del primo
ITTT_EDGE_EDGE_PNT = 7, // punto sull'intersezione di due lati
ITTT_EDGE_EDGE_SEG = 8, // sovrapposizione di lati
ITTT_EDGE_INT = 9, // lato del primo nell'interno del secondo
ITTT_INT_EDGE = 10, // lato del secondo nell'interno del primo
ITTT_INT_INT_SEG = 11, // segmento all'interno di entrambi i triangoli
ITTT_COUNTER_OVERLAPS = 12 // triangoli sovrapposti controversi (i triangoli del poligono sono in vTria)
} ;
+1 -1
View File
@@ -20,7 +20,7 @@
#include "/EgtDev/Include/EGkColor.h"
#include "/EgtDev/Include/EGkGeoCollection.h"
#include "/EgtDev/Include/EGkSelection.h"
#include "/EgtDev/Include/EgnLuaAux.h"
#include "/EgtDev/Include/EGnLuaAux.h"
//----------------------------------------------------------------------------
inline bool
+27
View File
@@ -0,0 +1,27 @@
//----------------------------------------------------------------------------
// EgalTech 2022-2022
//----------------------------------------------------------------------------
// File : MedialAxis.h Data : 22.08.22 Versione : 2.4h2
// Contenuto : Dichiarazione funzione calcolo MedialAxis principale.
//
//
//
// Modifiche : 22.08.22 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkCurve.h"
//----------------------- Macro per import/export ----------------------------
#undef EGK_EXPORT
#if defined( I_AM_EGK) // da definirsi solo nella DLL
#define EGK_EXPORT __declspec( dllexport)
#else
#define EGK_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
EGK_EXPORT bool CurveSimpleMedialAxis( const ICurve* pCrv, PolyLine& PL) ;
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2019
//----------------------------------------------------------------------------
// File : EgkObjGraphics.h Data : 08/03/19 Versione : 2.1c1
// File : EGkObjGraphics.h Data : 08/03/19 Versione : 2.1c1
// Contenuto : Dichiarazione della interfaccia IObjGraphics.
//
//
+35 -2
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
// EgalTech 2013-2022
//----------------------------------------------------------------------------
// File : EGkPoint3d.h Data : 30.05.14 Versione : 1.5e10
// File : EGkPoint3d.h Data : 22.08.224 Versione : 2.4h2
// Contenuto : Dichiarazione della classe Punto 3d.
//
//
@@ -364,3 +364,36 @@ AreSamePointXYExact( const Point3d& ptP1, const Point3d& ptP2)
{
return ( SqDistXY( ptP1, ptP2) < SQ_EPS_ZERO) ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia in locale del punto passato
//----------------------------------------------------------------------------
inline Point3d
GetToLoc( const Point3d& ptP, const Frame3d& frRef)
{
Point3d ptQ = ptP ;
ptQ.ToLoc( frRef) ;
return ptQ ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia in globale del punto passato
//----------------------------------------------------------------------------
inline Point3d
GetToGlob( const Point3d& ptP, const Frame3d& frRef)
{
Point3d ptQ = ptP ;
ptQ.ToGlob( frRef) ;
return ptQ ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia dal primo al secondo riferimento del punto passato
//----------------------------------------------------------------------------
inline Point3d
GetLocToLoc( const Point3d& ptP, const Frame3d& frOri, const Frame3d& frDest)
{
Point3d ptQ = ptP ;
ptQ.LocToLoc( frOri, frDest) ;
return ptQ ;
}
+1 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkBBox3d.h"
#include "/EgtDev/Include/EGkBBox3d.h"
#include "/EgtDev/Include/EgtNumCollection.h"
#include <unordered_map>
+9
View File
@@ -132,3 +132,12 @@ class PolyLine
// Raccolte di PolyLine
typedef std::vector<PolyLine> POLYLINEVECTOR ; // vettore di PolyLine
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) ;
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EgkSelection.h Data : 11.06.15 Versione : 1.6f2
// File : EGkSelection.h Data : 11.06.15 Versione : 1.6f2
// Contenuto : Strutture e raccolte per indici di selezione,
// con funzioni di conversione da e verso stringhe.
//
+5 -1
View File
@@ -23,13 +23,17 @@
#define EGK_EXPORT __declspec( dllimport)
#endif
class Triangle3d ;
//----------------------------------------------------------------------------
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionRectangle( double dWidth, double dLen) ;
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionStadium( double dWidth, double dLen) ;
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionDisk( double dRadius) ;
// la curva ingrassata non deve autointersecarsi
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromFatCurve( ICurve* pCrv, double dRadius,
bool bSquareEnds, bool bSquareMids) ;
// NB : la curva ingrassata non deve autointersecarsi
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromTriangle( const Triangle3d& Tria) ;
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromPolyLine( const PolyLine& ContourPolyLine) ;
EGK_EXPORT ISurfFlatRegion* GetSurfFlatRegionFromPolyLineVector( const POLYLINEVECTOR& vContoursPolyLineVec) ;
//----------------------------------------------------------------------------
+6 -1
View File
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgkCurve.h"
#include "/EgtDev/Include/EGkCurve.h"
#include "/EgtDev/Include/EGkSurfTriMesh.h"
//----------------------- Macro per import/export ----------------------------
@@ -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 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EgkStringUtils3d.h Data : 10.03.14 Versione : 1.5c3
// File : EGkStringUtils3d.h Data : 10.03.14 Versione : 1.5c3
// Contenuto : Dichiarazione delle funzioni di utilità 3d per le stringhe.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2019
//----------------------------------------------------------------------------
// File : EgkSurf.h Data : 06.06.19 Versione : 2.1f1
// File : EGkSurf.h Data : 06.06.19 Versione : 2.1f1
// Contenuto : Dichiarazione della interfaccia ISurf.
//
//
+4 -2
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EgkSurfFlatRegion.h Data : 05.08.15 Versione : 1.6h2
// File : EGkSurfFlatRegion.h Data : 05.08.15 Versione : 1.6h2
// Contenuto : Dichiarazione della interfaccia ISurfFlatRegion.
//
//
@@ -15,6 +15,7 @@
#include "/EgtDev/Include/EGkSurf.h"
#include "/EgtDev/Include/EGkIntersCurves.h"
#include "/EgtDev/Include/EgkCurveComposite.h"
#include "/EgtDev/Include/EgtPointerOwner.h"
class ISurfTriMesh ;
@@ -45,8 +46,9 @@ class __declspec( novtable) ISurfFlatRegion : public ISurf
virtual const ISurfTriMesh* GetAuxSurf( void) const = 0 ;
virtual ISurfFlatRegion* CloneChunk( int nChunk) const = 0 ;
virtual bool GetChunkCentroid( int nChunk, Point3d& ptCen) const ;
virtual bool GetCurveClassification( const ICurve& Crv, CRVCVECTOR& ccClass) const = 0 ;
virtual bool GetCurveClassification( const ICurve& Crv, double dLenMin, CRVCVECTOR& ccClass) const = 0 ;
virtual int GetChunkSimpleClassification( int nChunk, const ISurfFlatRegion& Other, int nOthChunk) const ; // compare only outsides
virtual bool GetZigZagInfill( double dSideStep, bool bAllowStepCorrection, bool bInvert, ICRVCOMPOPOVECTOR& vpCrvs) const = 0 ;
} ;
//-----------------------------------------------------------------------------
+1 -1
View File
@@ -14,7 +14,7 @@
#pragma once
#include "/EgtDev/Include/EGkSurf.h"
#include "/EgtDEv/Include/EgkGeomDB.h"
#include "/EgtDEv/Include/EGkGeomDB.h"
//-----------------------------------------------------------------------------
class SurfLocal
+12 -5
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2020
// EgalTech 2014-2022
//----------------------------------------------------------------------------
// File : EgkSurfTriMesh.h Data : 15.10.20 Versione : 2.2j2
// File : EGkSurfTriMesh.h Data : 10.10.22 Versione : 2.4i4
// Contenuto : Dichiarazione della interfaccia ISurfTriMesh.
//
//
@@ -25,12 +25,16 @@ const int SVT_DEL = - 2 ; // vertice o triangolo cancellato
inline bool IsValidSvt( int nSvt)
{ return ( nSvt != SVT_NULL && nSvt != SVT_DEL) ; }
//----------------------------------------------------------------------------
const double MAX_EDGE_LEN_STD = 5000.0 ;
//----------------------------------------------------------------------------
class __declspec( novtable) ISurfTriMesh : public ISurf
{
public :
enum RuledType { RLT_ISOPAR = 0, // con parametrizzazione simile tra le due curve
RLT_MINDIST = 1} ; // con distanza minima tra le due curve
enum RuledType { RLT_ISOPAR = 0, // con parametrizzazione simile tra le due curve
RLT_MINDIST = 1, // con distanza minima tra le due curve
RLT_ISOPAR_SMOOTH = 2} ; // con parametrizzazione simile tra le due curve e lisciatura delle parti torte
public : // IGeoObj
ISurfTriMesh* Clone( void) const override = 0 ;
public :
@@ -54,6 +58,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
double dAngRot, double dStepRot, double dMove) = 0 ;
virtual bool DoCompacting( double dTol = EPS_SMALL) = 0 ;
virtual bool DoSewing( const ISurfTriMesh& stmOther, const Frame3d& frOther = GLOB_FRM, double dTol = 2 * EPS_SMALL) = 0 ;
virtual bool IsEmpty( void) const = 0 ;
virtual int GetVertexCount( void) const = 0 ;
virtual int GetTriangleCount( void) const = 0 ;
virtual int GetTriangleCount( int nTFlag) const = 0 ;
@@ -77,8 +82,9 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
virtual bool GetVertexSmoothNormal( int nV, int nT, Vector3d& vtN) const = 0 ;
virtual bool GetTriangleBoundaryEdges( int nId, TriFlags3d& TFlags) const = 0 ;
virtual bool GetTriangleSmoothNormals( int nId, TriNormals3d& TNrms) const = 0 ;
virtual ISurfTriMesh* CloneTriangle( int nTria) const = 0 ;
virtual bool GetLoops( POLYLINEVECTOR& vPL) const = 0 ;
virtual bool GetSilhouette( const Vector3d& vtDir, POLYLINEVECTOR& vPL) const = 0 ;
virtual bool GetSilhouette( const Vector3d& vtDir, double dTol, POLYLINEVECTOR& vPL) const = 0 ;
virtual int GetFacetCount( void) const = 0 ;
virtual int GetFacetSize( void) const = 0 ;
virtual int GetFacetFromTria( int nT) const = 0 ;
@@ -104,6 +110,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
virtual bool GetSurfClassification( const ISurfTriMesh& ClassifierSurf,
INTVECTOR& vTriaIn, INTVECTOR& vTriaOut, INTVECTOR& vTriaOnP, INTVECTOR& vTriaOnM, INTVECTOR& vTriaIndef) = 0 ;
virtual bool CutWithOtherSurf( const ISurfTriMesh& CutterSurf, bool bInVsOut, bool bSaveOnEq) = 0 ;
virtual bool Repair( double dMaxEdgeLen = MAX_EDGE_LEN_STD) = 0 ;
virtual bool GetAllTriaOverlapBox( const BBox3d& b3Box, INTVECTOR& vT) const = 0 ;
virtual const BBox3d& GetAllTriaBox( void) const = 0 ;
virtual int GetPartCount( void) const = 0 ;
+28 -18
View File
@@ -97,28 +97,28 @@ class Triangle3d
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ;
}
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng)
{ m_ptP[0].Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
m_ptP[1].Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
m_ptP[2].Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
m_vtN.Rotate( vtAx, dCosAng, dSinAng) ;
{ return ( m_ptP[0].Rotate( ptAx, vtAx, dCosAng, dSinAng) &&
m_ptP[1].Rotate( ptAx, vtAx, dCosAng, dSinAng) &&
m_ptP[2].Rotate( ptAx, vtAx, dCosAng, dSinAng) &&
m_vtN.Rotate( vtAx, dCosAng, dSinAng)) ;
}
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ)
{ m_ptP[0].Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
m_ptP[1].Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
m_ptP[2].Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
Validate( true) ;
return Validate( true) ;
}
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm)
{ m_ptP[0].Mirror( ptOn, vtNorm) ;
m_ptP[1].Mirror( ptOn, vtNorm) ;
m_ptP[2].Mirror( ptOn, vtNorm) ;
Validate( true) ;
return Validate( true) ;
}
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff)
{ m_ptP[0].Shear( ptOn, vtNorm, vtDir, dCoeff) ;
m_ptP[1].Shear( ptOn, vtNorm, vtDir, dCoeff) ;
m_ptP[2].Shear( ptOn, vtNorm, vtDir, dCoeff) ;
Validate( true) ;
return Validate( true) ;
}
bool ToGlob( const Frame3d& frRef)
{ return ( m_ptP[0].ToGlob( frRef) && m_ptP[1].ToGlob( frRef) && m_ptP[2].ToGlob( frRef) && m_vtN.ToGlob( frRef)) ; }
@@ -172,6 +172,15 @@ class Triangle3d
else
return ( std::max( dSqDistA, std::max( dSqDistB, dSqDistC)) / dTwoArea) ;
}
double GetSqMinHeight( void) const
{ Vector3d vtV1 = m_ptP[1] - m_ptP[0] ;
Vector3d vtV2 = m_ptP[2] - m_ptP[1] ;
Vector3d vtN = vtV1 ^ vtV2 ;
double dSqN = vtN.SqLen() ;
if ( dSqN < SQ_EPS_ZERO)
return 0 ;
return ( dSqN / std::max( { vtV1.SqLen(), vtV2.SqLen(), ( vtV1 + vtV2).SqLen()})) ;
}
protected :
Point3d m_ptP[3] ;
@@ -277,20 +286,21 @@ class Triangle3dEx : public Triangle3d
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng)
{ m_ptP[0].Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
m_ptP[1].Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
m_ptP[2].Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
m_vtN.Rotate( vtAx, dCosAng, dSinAng) ;
for ( int i = 0 ; i < 3 ; ++ i)
m_triN.vtN[i].Rotate( vtAx, dCosAng, dSinAng) ;
{ return ( m_ptP[0].Rotate( ptAx, vtAx, dCosAng, dSinAng) &&
m_ptP[1].Rotate( ptAx, vtAx, dCosAng, dSinAng) &&
m_ptP[2].Rotate( ptAx, vtAx, dCosAng, dSinAng) &&
m_vtN.Rotate( vtAx, dCosAng, dSinAng) &&
m_triN.vtN[0].Rotate( vtAx, dCosAng, dSinAng) &&
m_triN.vtN[1].Rotate( vtAx, dCosAng, dSinAng) &&
m_triN.vtN[2].Rotate( vtAx, dCosAng, dSinAng)) ;
}
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ)
{ m_ptP[0].Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
m_ptP[1].Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
m_ptP[2].Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
for ( int i = 0 ; i < 3 ; ++ i)
m_triN.vtN[i] = V_NULL ;
Validate( true) ;
m_triN.vtN[i] = V_NULL ;
return Validate( true) ;
}
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm)
{ m_ptP[0].Mirror( ptOn, vtNorm) ;
@@ -298,15 +308,15 @@ class Triangle3dEx : public Triangle3d
m_ptP[2].Mirror( ptOn, vtNorm) ;
for ( int i = 0 ; i < 3 ; ++ i)
m_triN.vtN[i].Mirror( vtNorm) ;
Validate( true) ;
return Validate( true) ;
}
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff)
{ m_ptP[0].Shear( ptOn, vtNorm, vtDir, dCoeff) ;
m_ptP[1].Shear( ptOn, vtNorm, vtDir, dCoeff) ;
m_ptP[2].Shear( ptOn, vtNorm, vtDir, dCoeff) ;
for ( int i = 0 ; i < 3 ; ++ i)
m_triN.vtN[i] = V_NULL ;
Validate( true) ;
m_triN.vtN[i] = V_NULL ;
return Validate( true) ;
}
bool ToGlob( const Frame3d& frRef)
{ return ( m_ptP[0].ToGlob( frRef) && m_ptP[1].ToGlob( frRef) && m_ptP[2].ToGlob( frRef) && m_vtN.ToGlob( frRef) &&
+78 -15
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2019
// EgalTech 2013-2022
//----------------------------------------------------------------------------
// File : EgkVector3d.h Data : 14.12.19 Versione : 2.1l4
// File : EGkVector3d.h Data : 27.08.22 Versione : 2.4h2
// Contenuto : Dichiarazione della classe Vettore 3d.
//
//
@@ -14,6 +14,7 @@
#pragma once
#include "/EgtDev/Include/EGkGeoConst.h"
#include <algorithm>
#include <cmath>
//----------------------- Macro per import/export -----------------------------
@@ -70,27 +71,43 @@ 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
{ 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
{ 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
{ 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 ; }
@@ -132,7 +149,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 {
@@ -172,6 +191,11 @@ EGK_EXPORT Vector3d FromPolar( double dLen, double dAngDeg) ;
//----------------------------------------------------------------------------
EGK_EXPORT Vector3d FromUprightOrtho( const Vector3d& vtV) ;
//----------------------------------------------------------------------------
//! Definizione come ortogonale al primo ricevuto, orizzontale e più vicino al secondo
//----------------------------------------------------------------------------
EGK_EXPORT Vector3d FromNearestHorizontalOrtho( const Vector3d& vtV, const Vector3d& vtNear) ;
//----------------------------------------------------------------------------
//! Opposto di un vettore
//----------------------------------------------------------------------------
@@ -269,7 +293,7 @@ CrossXY( const Vector3d& vtV1, const Vector3d& vtV2)
//! Somma mediata di due vettori (baricentrica)
//----------------------------------------------------------------------------
inline Vector3d
Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff)
Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff = 0.5)
{
return ( Vector3d( ( 1 - dCoeff) * vtV1.x + dCoeff * vtV2.x,
( 1 - dCoeff) * vtV1.y + dCoeff * vtV2.y,
@@ -282,7 +306,10 @@ Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff)
inline Vector3d
ParallCompo( const Vector3d& vtV, const Vector3d& vtRef)
{
return ( ( vtV * vtRef) * vtRef) ;
if ( vtRef.IsNormalized())
return ( ( vtV * vtRef) * vtRef) ;
else
return ( ( vtV * vtRef) * vtRef / vtRef.SqLen()) ;
}
//----------------------------------------------------------------------------
@@ -291,7 +318,10 @@ ParallCompo( const Vector3d& vtV, const Vector3d& vtRef)
inline Vector3d
OrthoCompo( const Vector3d& vtV, const Vector3d& vtRef)
{
return ( vtV - ( vtV * vtRef) * vtRef) ;
if ( vtRef.IsNormalized())
return ( vtV - ( vtV * vtRef) * vtRef) ;
else
return ( vtV - ( vtV * vtRef) * vtRef / vtRef.SqLen()) ;
}
//----------------------------------------------------------------------------
@@ -392,3 +422,36 @@ AreOrthoExact( const Vector3d& vtV1, const Vector3d& vtV2)
{
return ( abs( vtV1 * vtV2) < COS_ORTO_ANG_ZERO) ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia in locale del vettore passato
//----------------------------------------------------------------------------
inline Vector3d
GetToLoc( const Vector3d& vtV, const Frame3d& frRef)
{
Vector3d vtW = vtV ;
vtW.ToLoc( frRef) ;
return vtW ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia in globale del vettore passato
//----------------------------------------------------------------------------
inline Vector3d
GetToGlob( const Vector3d& vtV, const Frame3d& frRef)
{
Vector3d vtW = vtV ;
vtW.ToGlob( frRef) ;
return vtW ;
}
//----------------------------------------------------------------------------
//! Restituisce una copia dal primo al secondo riferimento del vettore passato
//----------------------------------------------------------------------------
inline Vector3d
GetLocToLoc( const Vector3d& vtV, const Frame3d& frOri, const Frame3d& frDest)
{
Vector3d vtW = vtV ;
vtW.LocToLoc( frOri, frDest) ;
return vtW ;
}
+19 -10
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2020
//----------------------------------------------------------------------------
// File : EgkVolZmap.h Data : 12.05.19 Versione : 2.2k1
// File : EGkVolZmap.h Data : 12.05.19 Versione : 2.2k1
// Contenuto : Dichiarazione della interfaccia IVolZmap.
//
//
@@ -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 ;
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EgnCmdExecutor.h Data : 21.03.14 Versione : 1.5c3
// File : EGnCmdExecutor.h Data : 21.03.14 Versione : 1.5c3
// Contenuto : Dichiarazione della interfaccia ICmdExecutor.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EgnCmdParser.h Data : 15.03.14 Versione : 1.5c
// File : EGnCmdParser.h Data : 15.03.14 Versione : 1.5c
// Contenuto : Dichiarazione della interfaccia ICmdParser.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : EgnDllMain.h Data : 21.11.13 Versione : 1.4l2
// File : EGnDllMain.h Data : 21.11.13 Versione : 1.4l2
// Contenuto : Prototipi funzioni generali della DLL.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2019
//----------------------------------------------------------------------------
// File : EgnFileCompare.h Data : 09.12.19 Versione : 2.1l4
// File : EGnFileCompare.h Data : 09.12.19 Versione : 2.1l4
// Contenuto : Prototipi funzioni di confronto tra file.
//
//
+6 -4
View File
@@ -1,19 +1,19 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2020
// EgalTech 2013-2022
//----------------------------------------------------------------------------
// File : EgnFileUtils.h Data : 30.11.20 Versione : 2.2k
// 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.
//
//----------------------------------------------------------------------------
#pragma once
#include <string>
#include "/EgtDev/Include/EgtStringBase.h"
//----------------------- Macro per import/export ----------------------------
@@ -34,6 +34,7 @@ EGN_EXPORT std::string GetFileExtension( const std::string& sFile) ;
EGN_EXPORT std::string ChangeFileExtension( const std::string& sFile, const std::string& sNewExt) ;
EGN_EXPORT bool FileExtensionMatches( const std::string& sFile, const std::string& sExt) ;
EGN_EXPORT bool FindFirstFileEgt( const std::string& sFileSpec, std::string& sFileName) ;
EGN_EXPORT bool FindAllFiles( const std::string& sFileSpec, STRVECTOR& vsFileNames) ;
EGN_EXPORT std::string GetFileName( const std::string& sPath) ;
EGN_EXPORT std::string GetFileTitleEgt( const std::string& sPath) ;
EGN_EXPORT std::string GetDirectory( const std::string& sPath) ;
@@ -41,3 +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 FindAllDirectories( const std::string& sDirSpec, STRVECTOR& vsDirNames) ;
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : EgnGetModuleVer.h Data : 10.12.13 Versione : 1.4a4
// File : EGnGetModuleVer.h Data : 10.12.13 Versione : 1.4a4
// Contenuto : Prototipo funzione calcolo versione del modulo richiesto.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EgnLuaMgr.h Data : 21.03.15 Versione : 1.6c6
// File : EGnLuaMgr.h Data : 21.03.15 Versione : 1.6c6
// Contenuto : Dichiarazione della classe LuaMgr.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EgnScanner.h Data : 06.03.14 Versione : 1.5c1
// File : EGnScanner.h Data : 06.03.14 Versione : 1.5c1
// Contenuto : Dichiarazione della classe CScan.
//
//
+38 -15
View File
@@ -1,42 +1,44 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2018
// EgalTech 2015-2022
//----------------------------------------------------------------------------
// File : EGnStringKeyVal.h Data : 27.11.18 Versione : 1.9k1
// File : EGnStringKeyVal.h Data : 13.05.22 Versione : 2.4e2
// Contenuto : Funzioni per gestione coppie chiave-valore in stringhe.
//
//
//
// Modifiche : 23.05.15 DS Creazione modulo.
// 27.11.18 DS Aggiunte Set/Get/RemoveValInNotes.
// 13.05.22 DS In SetValInNotes e GetValInNotes aggiunta gestione separatore ':'.
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EgnStringUtils.h"
#include "/EgtDev/Include/EGnStringUtils.h"
//----------------------------------------------------------------------------
static const char EQUAL = '=' ;
static const char COLON = ':' ;
//----------------------------------------------------------------------------
inline bool
IsValidKey( const std::string& sKey)
IsValidKey( const std::string& sKey, bool bFull = false)
{
return ( ! sKey.empty() &&
sKey.find( '\n') == std::string::npos &&
sKey.find( EQUAL) == std::string::npos &&
(( bFull && ( sKey.back() == EQUAL || sKey.back() == COLON)) ||
sKey.find( EQUAL) == std::string::npos) &&
sKey.find_first_not_of( " \t\r\n") != std::string::npos) ;
}
//----------------------------------------------------------------------------
inline bool
FindKey( const std::string& sString, const std::string& sKey)
FindKey( const std::string& sString, const std::string& sKey, bool bFull = false)
{
if ( sString.empty() || ! IsValidKey( sKey))
if ( sString.empty() || ! IsValidKey( sKey, bFull))
return false ;
return ( sString.compare( 0, sKey.length(), sKey) == 0 &&
sString.length() > sKey.length() &&
sString[sKey.length()] == EQUAL) ;
( bFull || ( sString.length() > sKey.length() && sString[sKey.length()] == EQUAL))) ;
}
//----------------------------------------------------------------------------
@@ -99,20 +101,28 @@ GetVal( const std::string& sString, const std::string& sKey, T& Val)
inline bool
SetValInNotes( const std::string& sKey, const std::string& sVal, std::string& sNotes)
{
// verifiche validità chiave
if ( ! IsValidKey( sKey) || ! IsValidVal( sVal))
return false ;
// chiave con carattere finale speciale
std::string sTkey = sKey ;
if ( sKey.back() != COLON)
sTkey += EQUAL ;
// ricerca se già presente
STRVECTOR vsTokens ;
Tokenize( sNotes, ";", vsTokens) ;
bool bFound = false ;
for ( auto& sToken : vsTokens) {
if ( FindKey( sToken, sKey)) {
sToken = sKey + EQUAL + sVal ;
if ( FindKey( sToken, sTkey, true)) {
sToken = sTkey + sVal ;
bFound = true ;
break ;
}
}
// altrimenti aggiunta
if ( ! bFound)
vsTokens.emplace_back( sKey + EQUAL + sVal) ;
vsTokens.emplace_back( sTkey + sVal) ;
// ricostruzione delle note
sNotes.clear() ;
for ( const auto& sToken : vsTokens) {
if ( ! IsEmptyOrSpaces( sToken))
@@ -133,13 +143,19 @@ SetValInNotes( const std::string& sKey, T& Val, std::string& sNotes)
inline bool
GetValInNotes( const std::string& sNotes, const std::string& sKey, std::string& sVal)
{
// verifiche validità chiave
if ( sNotes.empty() || ! IsValidKey( sKey))
return false ;
// chiave con carattere finale speciale
std::string sTkey = sKey ;
if ( sKey.back() != COLON)
sTkey += EQUAL ;
// ricerca
STRVECTOR vsTokens ;
Tokenize( sNotes, ";", vsTokens) ;
for ( const auto& sToken : vsTokens) {
if ( FindKey( sToken, sKey)) {
sVal = sToken.substr( sKey.length() + 1) ;
if ( FindKey( sToken, sTkey, true)) {
sVal = sToken.substr( sTkey.length()) ;
return true ;
}
}
@@ -159,18 +175,25 @@ GetValInNotes( const std::string& sNotes, const std::string& sKey, T& Val)
inline bool
RemoveValInNotes( const std::string& sKey, std::string& sNotes)
{
// verifiche validità chiave
if ( sNotes.empty() || ! IsValidKey( sKey))
return false ;
// chiave con carattere finale speciale
std::string sTkey = sKey ;
if ( sKey.back() != COLON)
sTkey += EQUAL ;
// ricerca
STRVECTOR vsTokens ;
Tokenize( sNotes, ";", vsTokens) ;
bool bFound = false ;
for ( size_t i = 0; i < vsTokens.size() ; ++ i) {
if ( FindKey( vsTokens[i], sKey)) {
if ( FindKey( vsTokens[i], sTkey, true)) {
vsTokens.erase( vsTokens.begin() + i) ;
bFound = true ;
break ;
}
}
// se trovato e cancellato, devo ricostruire le note
if ( bFound) {
sNotes.clear() ;
for ( const auto& sToken : vsTokens) {
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2013-2014
//----------------------------------------------------------------------------
// File : EgnStringUtils.h Data : 17.03.14 Versione : 1.5c2
// File : EGnStringUtils.h Data : 17.03.14 Versione : 1.5c2
// Contenuto : Dichiarazione delle funzioni di utilità per le stringhe.
//
//
+1 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EgnWriter.h Data : 02.06.15 Versione : 1.6f1
// File : EGnWriter.h Data : 02.06.15 Versione : 1.6f1
// Contenuto : Dichiarazione della classe Writer.
//
//
+3 -1
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : EgrDllMain.h Data : 13.02.14 Versione : 1.5b1
// File : EGrDllMain.h Data : 13.02.14 Versione : 1.5b1
// Contenuto : Prototipi funzioni generali della DLL.
//
//
@@ -32,6 +32,8 @@ extern "C" {
EGR_EXPORT void SetEGrLogger( ILogger* pLogger) ;
// imposta la chiave di protezione
EGR_EXPORT void SetEGrKey( const std::string& sKey) ;
// imposta se chiave hardware di rete
EGR_EXPORT void SetEGrNetHwKey( bool bNetHwKey) ;
}
+2 -2
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : EgrSceExecutor.h Data : 18.02.14 Versione : 1.5b3
// File : EGrSceExecutor.h Data : 18.02.14 Versione : 1.5b3
// Contenuto : Dichiarazione della interfaccia ISceExecutor.
//
//
@@ -13,7 +13,7 @@
#pragma once
#include "/EgtDev/Include/EgnCmdExecutor.h"
#include "/EgtDev/Include/EGnCmdExecutor.h"
class IEGrScene ;
+5 -2
View File
@@ -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.
//
//
@@ -64,6 +64,7 @@ class IEGrScene
virtual void GetCamera( double* pdAngVertDeg, double* pdAngOrizzDeg, double* pdDist = nullptr) const = 0 ;
virtual int GetCameraDir( void) const = 0 ;
virtual const Vector3d& GetCameraUp( void) const = 0 ;
virtual void GetOrthoCamParam(double* pdWidth, double* pdHeight, double* pdNear, double* pdFar) const = 0 ;
virtual bool PanCamera( const Point3d& ptWinOld, const Point3d& ptWinNew) = 0 ;
virtual bool RotateCamera( const Point3d& ptWinOld, const Point3d& ptWinNew) = 0 ;
virtual bool ZoomAll( void) = 0 ;
@@ -93,6 +94,8 @@ class IEGrScene
virtual bool SetGridShow( bool bShowGrid, bool bShowFrame) = 0 ;
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( void) = 0 ;
// Glob Frame
virtual bool SetGlobFrameShow( bool bShow) = 0 ;
// Direct
+55 -12
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2014
// EgalTech 2014-2022
//----------------------------------------------------------------------------
// File : EInAPI.h Data : 26.08.14 Versione : 1.5h1
// File : EInAPI.h Data : 06.05.22 Versione : 2.4e1
// Contenuto : API (application programming interface).
//
//
@@ -34,6 +34,8 @@ extern "C" {
// General
EIN_EXPORT BOOL __stdcall EgtInit( int nDebug, const wchar_t* wsLogFile, const wchar_t* wsLogMsg) ;
EIN_EXPORT BOOL __stdcall EgtExit( void) ;
EIN_EXPORT BOOL __stdcall EgtSetUserLevel( int nUserLev) ;
EIN_EXPORT int __stdcall EgtGetUserLevel( void) ;
EIN_EXPORT BOOL __stdcall EgtSetKey( const wchar_t* wsKey) ;
EIN_EXPORT BOOL __stdcall EgtSetNestKey( const wchar_t* wsNestKey) ;
EIN_EXPORT BOOL __stdcall EgtSetFont( const wchar_t* wsNfeFontDir, const wchar_t* wsDefaultFont) ;
@@ -48,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 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) ;
EIN_EXPORT BOOL __stdcall EgtGetKeyLeftDays( int* pnLeftDays) ;
@@ -111,13 +114,16 @@ 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) ;
EIN_EXPORT BOOL __stdcall EgtBeamSetFlag( int nFlag) ;
EIN_EXPORT int __stdcall EgtBeamCreatePart( void) ;
EIN_EXPORT BOOL __stdcall EgtBeamSetPart( int nPartId) ;
EIN_EXPORT BOOL __stdcall EgtBeamErasePart( void) ;
@@ -126,12 +132,19 @@ EIN_EXPORT BOOL __stdcall EgtBeamSetPartProdNbr( int nProdNbr) ;
EIN_EXPORT BOOL __stdcall EgtBeamSetPartName( const wchar_t* wsName) ;
EIN_EXPORT BOOL __stdcall EgtBeamSetPartCount( int nCount) ;
EIN_EXPORT BOOL __stdcall EgtBeamSetPartBox( double dLength, double dHeight, double dWidth, BOOL bUpdate) ;
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, BOOL bUpdate) ;
int nPar, const double vPar[], const wchar_t* wsPar, const wchar_t* wsUAtts,
int nCrvId, int nCrv2Id, BOOL bUpdate) ;
EIN_EXPORT int __stdcall EgtBeamModifyProcess( int nGeomId, 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, BOOL bUpdate) ;
int nPar, const double vPar[], const wchar_t* wsPar, const wchar_t* wsUAtts,
int nCrvId, int nCrv2Id, BOOL bUpdate) ;
EIN_EXPORT BOOL __stdcall EgtBeamEraseProcess( int nGeomId, BOOL bUpdate) ;
EIN_EXPORT BOOL __stdcall EgtBeamEnableProcess( int nGeomId, BOOL bEnable, BOOL bUpdate) ;
EIN_EXPORT BOOL __stdcall EgtBeamCalcSolid( int nPartId, BOOL bRecalc) ;
@@ -160,11 +173,12 @@ EIN_EXPORT BOOL __stdcall EgtLuaGetGlobStringVar( const wchar_t* wsVar, wchar_t*
EIN_EXPORT BOOL __stdcall EgtLuaGetGlobVectorVar( const wchar_t* wsVar, double vtVal[3]) ;
EIN_EXPORT BOOL __stdcall EgtLuaGetGlobPointVar( const wchar_t* wsVar, double ptVal[3]) ;
EIN_EXPORT BOOL __stdcall EgtLuaResetGlobVar( const wchar_t* wsVar) ;
EIN_EXPORT BOOL __stdcall EgtLuaExistsFunction( const wchar_t* wsFun) ;
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) ;
@@ -209,6 +223,8 @@ EIN_EXPORT int __stdcall EgtCreateCircleCP( int nParentId, const double ptCen[3
const double ptOn[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCircleCPEx( int nParentId, const double ptCen[3],
const double ptOn[3], int nSepO, int nIdO, int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCircle2P( int nParentId, const double ptP1[3],
const double ptP2[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateCircle3P( int nParentId, const double ptP1[3],
const double ptP2[3], const double ptP3[3], int nRefType) ;
EIN_EXPORT int __stdcall EgtCreateArc( int nParentId, const double ptCen[3], double dRad,
@@ -320,6 +336,9 @@ EIN_EXPORT BOOL __stdcall EgtDuploCount( int nSouId, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtDuploList( int nSouId, int*& vInd, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtDuploSetModified( int nSouId) ;
EIN_EXPORT BOOL __stdcall EgtDuploGetModified( int nSouId, BOOL* pbModif) ;
EIN_EXPORT BOOL __stdcall EgtDuploSetLocked( int nDupId) ;
EIN_EXPORT BOOL __stdcall EgtDuploResetLocked( int nDupId) ;
EIN_EXPORT BOOL __stdcall EgtDuploGetLocked( int nDupId, BOOL* pbModif) ;
EIN_EXPORT BOOL __stdcall EgtDuploUpdate( int nSouId) ;
EIN_EXPORT BOOL __stdcall EgtIsDuplo( int nDupId) ;
EIN_EXPORT int __stdcall EgtDuploGetOriginal( int nDupId) ;
@@ -473,7 +492,7 @@ EIN_EXPORT int __stdcall EgtSplitCurve( int nId, int nParts) ;
EIN_EXPORT int __stdcall EgtSplitCurveAtPoint( int nId, const double ptOn[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyCircleCP( int nId, const double ptOn[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyCircle3P( int nId, const double ptP1[3], const double ptP2[3], const double ptP3[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyArcRadius( int nId, double dRad) ;
EIN_EXPORT BOOL __stdcall EgtModifyArcRadius( int nId, double dRad, BOOL bKeepCenter) ;
EIN_EXPORT BOOL __stdcall EgtModifyArcC2P( int nId, const double ptEnd[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyArc3P( int nId, const double ptMid[3], int nRefType) ;
EIN_EXPORT BOOL __stdcall EgtModifyArcByFlip( int nId) ;
@@ -497,10 +516,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) ;
@@ -526,6 +547,7 @@ EIN_EXPORT BOOL __stdcall EgtTextGetItalic( int nId, BOOL* pbItl) ;
// GeomDb Curve Get
EIN_EXPORT BOOL __stdcall EgtCurveDomain( int nId, double* pdStart, double* pdEnd) ;
EIN_EXPORT BOOL __stdcall EgtCurveLength( int nId, double* pdLen) ;
EIN_EXPORT BOOL __stdcall EgtCurveParamAtLength( int nId, double dLen, double* pdU) ;
EIN_EXPORT BOOL __stdcall EgtCurveLengthAtPoint( int nId, const double ptOn[3], double dExtend, double* pdLen) ;
EIN_EXPORT BOOL __stdcall EgtCurveIsClosed( int nId) ;
EIN_EXPORT BOOL __stdcall EgtCurveIsFlat( int nId, BOOL bUseExtrusion, double dToler, double vtN[3], double* pdDist) ;
@@ -538,6 +560,7 @@ EIN_EXPORT BOOL __stdcall EgtCurveSelfIntersCount( int nId, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtCurveMinAreaRectangleXY( int nId, int nRefId,
double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3], double* pdDimX, double* pdDimY) ;
EIN_EXPORT int __stdcall EgtClosedCurveClassify( int nId1, int nId2) ;
EIN_EXPORT int __stdcall EgtCurveWithRegionClassify( int nCurveId, int nRegionId) ;
EIN_EXPORT BOOL __stdcall EgtArcRadius( int nId, double* pdRad) ;
EIN_EXPORT BOOL __stdcall EgtArcAngCenter( int nId, double* pdAngDeg) ;
EIN_EXPORT BOOL __stdcall EgtArcDeltaN( int nId, double* pdDeltaN) ;
@@ -545,11 +568,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,
@@ -563,7 +590,7 @@ EIN_EXPORT BOOL __stdcall EgtSurfTmFacetOppositeSide( int nId, int nFacet, const
EIN_EXPORT BOOL __stdcall EgtSurfTmFacetAdjacencies( int nId, int nFacet, int*& vAdj, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtSurfTmFacetsContact( int nId, int nF1, int nF2, int nRefId,
BOOL* pbAdjac, double ptP1[3], double ptP2[3], double* pdAng) ;
EIN_EXPORT int __stdcall EgtGetSurfTmSilhouette( int nId, const double vtDir[3], int nDestGrpId, int nRefType, int* pnCount) ;
EIN_EXPORT int __stdcall EgtGetSurfTmSilhouette( int nId, const double vtDir[3], double dToler, int nDestGrpId, int nRefType, int* pnCount) ;
EIN_EXPORT int __stdcall EgtExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ;
EIN_EXPORT int __stdcall EgtExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
EIN_EXPORT int __stdcall EgtCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
@@ -620,7 +647,9 @@ EIN_EXPORT BOOL __stdcall EgtPointSurfTmDist( const double ptP[3], int nId, int
// Geo Inters
EIN_EXPORT BOOL __stdcall EgtLineSurfTmInters( const double ptP[3], const double vtDir[3], int nId, int nRefType,
int*& vFlagInters, double*& vParInters, int* pnCount) ;
EIN_EXPORT int __stdcall EgtSurfTmSurfTmInters( int nId1, int nId2, int nDestGrpId,
EIN_EXPORT int __stdcall EgtPlaneSurfTmInters( const double ptOn[3], const double vtN[3], int nId, int nDestGrpId, int nRefType, double dToler,
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
EIN_EXPORT int __stdcall EgtSurfTmSurfTmInters( int nId1, int nId2, int nDestGrpId, double dToler,
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
// Maximum Filler
@@ -674,8 +703,10 @@ EIN_EXPORT wchar_t* __stdcall EgtGetLastMachMgrErrorString( void) ;
EIN_EXPORT int __stdcall EgtGetMachMgrWarningId( int nInd) ;
EIN_EXPORT wchar_t* __stdcall EgtGetMachMgrWarningString( int nInd) ;
// Machines
EIN_EXPORT BOOL __stdcall EgtGetMachines( wchar_t*& wsMachineNames, wchar_t*& wsMachineDirs) ;
EIN_EXPORT BOOL __stdcall EgtSetCurrMachine( const wchar_t* wsMachineName) ;
EIN_EXPORT BOOL __stdcall EgtGetCurrMachineName( wchar_t*& wsMachineName) ;
EIN_EXPORT BOOL __stdcall EgtGetCurrMachineDir( wchar_t*& wsMachineDir) ;
// Machining Groups
EIN_EXPORT int __stdcall EgtGetMachGroupCount( void) ;
EIN_EXPORT int __stdcall EgtGetFirstMachGroup( void) ;
@@ -735,6 +766,7 @@ EIN_EXPORT BOOL __stdcall EgtGetTableName( wchar_t*& wsTableName) ;
EIN_EXPORT BOOL __stdcall EgtGetTableRef( int nInd, double ptPos[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetTableArea( int nInd, double ptMin[3], double ptMax[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetTableAreaOffset( int nInd, double ptMinOffs[3], double ptMaxOffs[3]) ;
EIN_EXPORT BOOL __stdcall EgtChangeTable( const wchar_t* wsTable, BOOL bUpdateDisp) ;
EIN_EXPORT BOOL __stdcall EgtShowOnlyTable( BOOL bVal) ;
EIN_EXPORT int __stdcall EgtAddFixture( const wchar_t* wsName, const double ptPos[3], double dAngRotDeg, double dMov) ;
EIN_EXPORT BOOL __stdcall EgtKeepFixture( int nFxtId, int nSouPhase) ;
@@ -816,6 +848,9 @@ EIN_EXPORT BOOL __stdcall EgtMdbGetGeneralParamDouble( int nType, double* pdVal)
EIN_EXPORT BOOL __stdcall EgtMdbReload( void) ;
EIN_EXPORT BOOL __stdcall EgtMdbSave( void) ;
EIN_EXPORT BOOL __stdcall EgtMdbGetMachiningDir( wchar_t*& wsMchDir) ;
EIN_EXPORT BOOL __stdcall EgtMdbExport( const wchar_t* wsMachiningsNames, const wchar_t* wsOutFile) ;
EIN_EXPORT BOOL __stdcall EgtMdbToBeImported( const wchar_t* wsFile, wchar_t*& wsMachiningsNames, int*& vTypes, int* pnCount) ;
EIN_EXPORT BOOL __stdcall EgtMdbImport( const wchar_t* wsFile, const wchar_t* wsMachiningsToImport, const wchar_t* wsMachiningsNames, wchar_t*& wsImported) ;
// Operations
EIN_EXPORT int __stdcall EgtGetFirstOperation( void) ;
EIN_EXPORT int __stdcall EgtGetNextOperation( int nId) ;
@@ -872,6 +907,8 @@ EIN_EXPORT BOOL __stdcall EgtGetMachiningParamDouble( int nType, double* pdVal)
EIN_EXPORT BOOL __stdcall EgtGetMachiningParamString( int nType, wchar_t*& wsVal) ;
EIN_EXPORT BOOL __stdcall EgtGetMachiningGeometry( int nInd, int* pnId, int* pnSub) ;
EIN_EXPORT BOOL __stdcall EgtIsMachiningEmpty( void) ;
EIN_EXPORT BOOL __stdcall EgtGetMachiningStartPoint( double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetMachiningEndPoint( double ptP[3]) ;
EIN_EXPORT BOOL __stdcall EgtApplyAllMachinings( BOOL bRecalc, BOOL bStopOnFirstErr, wchar_t*& wsErrList) ;
EIN_EXPORT BOOL __stdcall EgtUpdateAllMachinings( BOOL bStopOnFirstErr, wchar_t*& wsErrList) ;
// Simulation
@@ -896,10 +933,12 @@ EIN_EXPORT int __stdcall EgtGetAxisId( const wchar_t* wsAxis) ;
EIN_EXPORT int __stdcall EgtGetHeadId( const wchar_t* wsHead) ;
EIN_EXPORT int __stdcall EgtGetHeadExitCount( const wchar_t* wsHead) ;
EIN_EXPORT BOOL __stdcall EgtGetAxisInvert( const wchar_t* wsAxis, BOOL* pbInvert) ;
EIN_EXPORT BOOL __stdcall EgtGetAxisOffset( const wchar_t* wsAxis, double* pdOffset) ;
EIN_EXPORT BOOL __stdcall EgtGetAllHeadsNames( wchar_t*& wsNames) ;
EIN_EXPORT BOOL __stdcall EgtGetAllTablesNames( wchar_t*& wsNames) ;
// Machine Calc
EIN_EXPORT BOOL __stdcall EgtSetCalcTool( const wchar_t* wsTool, const wchar_t* wsHead, int nExit) ;
EIN_EXPORT BOOL __stdcall EgtGetCalcTool( wchar_t*& wsTool, wchar_t*& wsHead, int* pnExit) ;
EIN_EXPORT BOOL __stdcall EgtGetCalcAngles( const double vtDirT[3], const double vtDirA[3],
int* pnStat, double* pdAngA1, double* pdAngB1, double* pdAngA2, double* pdAngB2) ;
EIN_EXPORT BOOL __stdcall EgtGetCalcPositions( const double ptP[3], double dAngA, double dAngB,
@@ -912,6 +951,9 @@ EIN_EXPORT BOOL __stdcall EgtGetOutstrokeInfo( wchar_t*& wsInfo) ;
// Machine Move
EIN_EXPORT BOOL __stdcall EgtSetAxisPos( const wchar_t* wsAxis, double dVal) ;
EIN_EXPORT BOOL __stdcall EgtGetAxisPos( const wchar_t* wsAxis, double* pdVal) ;
EIN_EXPORT BOOL __stdcall EgtGetAxisMin( const wchar_t* wsAxis, double* pdMin) ;
EIN_EXPORT BOOL __stdcall EgtGetAxisMax( const wchar_t* wsAxis, double* pdMax) ;
EIN_EXPORT BOOL __stdcall EgtGetAxisHomePos( const wchar_t* wsAxis, double* pdHome) ;
EIN_EXPORT BOOL __stdcall EgtLoadTool( const wchar_t* wsHead, int nExit, const wchar_t* wsTool) ;
EIN_EXPORT BOOL __stdcall EgtResetHeadSet( const wchar_t* wsHead) ;
EIN_EXPORT BOOL __stdcall EgtSetMachineLook( int nFlag) ;
@@ -1001,6 +1043,7 @@ EIN_EXPORT BOOL __stdcall EgtGetPhotoPath( int nId, wchar_t*& wsFile) ;
EIN_EXPORT BOOL __stdcall EgtChangePhotoPath( int nId, const wchar_t* wsFile) ;
EIN_EXPORT BOOL __stdcall EgtGetPhotoOrigin( int nId, double ptOri[3]) ;
EIN_EXPORT BOOL __stdcall EgtGetPhotoCenter( int nId, double ptCen[3]) ;
EIN_EXPORT BOOL __stdcall EgtChangePhotoCenterAsFlatScan( int nId) ;
EIN_EXPORT BOOL __stdcall EgtGetPhotoDimensions( int nId, double* pdDimX, double* pdDimY) ;
EIN_EXPORT BOOL __stdcall EgtGetPhotoPixels( int nId, int* pnPixelX, int* pnPixelY) ;
EIN_EXPORT BOOL __stdcall EgtGetPhotoImagePixels( int nId, int* pnPixelX, int* pnPixelY) ;
+2
View File
@@ -34,6 +34,8 @@ extern "C" {
EMK_EXPORT void SetEMkLogger( ILogger* pLogger) ;
// imposta la chiave di protezione
EMK_EXPORT void SetEMkKey( const std::string& sKey) ;
// imposta se chiave hardware di rete
EMK_EXPORT void SetEMkNetHwKey( bool bNetHwKey) ;
}
+10 -2
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2021
// EgalTech 2015-2022
//----------------------------------------------------------------------------
// File : EMkMachMgr.h Data : 24.05.21 Versione : 2.3e3
// File : EMkMachMgr.h Data : 21.09.22 Versione : 2.4i4
// Contenuto : Dichiarazione della interfaccia IMachMgr.
//
//
@@ -12,6 +12,7 @@
// 17.08.20 DS Aggiunte GetAxisMin e GetAxisMax.
// 10.11.20 DS Portate in interfaccia funzioni di calcolo con vettori di angoli.
// 13.01.21 DS Aggiunte in interfaccia GetCalcHead e GetCalcExit.
// 21.09.22 DS Aggiunta in interfaccia GetAxisOffset.
//
//----------------------------------------------------------------------------
@@ -43,6 +44,7 @@ class __declspec( novtable) IMachMgr
virtual int GetWarningId( int nInd) const = 0 ;
virtual std::string GetWarningString( int nInd) const = 0 ;
// Machines
virtual bool GetMachines( STRVECTOR& vsMachineNames, STRVECTOR& vsMachineDirs) const = 0 ;
virtual bool SetCurrMachine( const std::string& sMachineName) = 0 ;
virtual bool GetCurrMachineName( std::string& sMachineName) const = 0 ;
virtual bool GetCurrMachineDir( std::string& sMachineDir) const = 0 ;
@@ -106,6 +108,7 @@ class __declspec( novtable) IMachMgr
virtual bool GetTableRef( int nInd, Point3d& ptPos) const = 0 ;
virtual bool GetTableArea( int nInd, BBox3d& b3Area) const = 0 ;
virtual bool GetTableAreaOffset( int nInd, BBox3d& b3Area) const = 0 ;
virtual bool ChangeTable( const std::string& sTable, bool bUpdateDisp) = 0 ;
virtual bool ShowOnlyTable( bool bVal) = 0 ;
virtual int AddFixture( const std::string& sName, const Point3d& ptPos, double dAngRotDeg, double dMov) = 0 ;
virtual bool KeepFixture( int nFxtId, int nSouPhase) = 0 ;
@@ -192,6 +195,10 @@ class __declspec( novtable) IMachMgr
virtual bool MdbReload( void) = 0 ;
virtual bool MdbSave( void) const = 0 ;
virtual bool MdbGetMachiningDir( std::string& sMchDir) const = 0 ;
virtual bool MdbExport( const STRVECTOR& vsMachiningsNames, const std::string& sOutFile) const = 0 ;
virtual bool MdbToBeImported( const std::string& sFile, STRVECTOR& vsMachiningsNames, INTVECTOR& vMachiningsTypes) const = 0 ;
virtual bool MdbImport( const std::string& sFile, const STRVECTOR& vsMachiningsToImport, const STRVECTOR& vsMachiningsNames,
STRVECTOR& vsImported) = 0 ;
// Operations : general
virtual int GetOperationCount( void) const = 0 ;
virtual int GetFirstOperation( void) const = 0 ;
@@ -308,6 +315,7 @@ class __declspec( novtable) IMachMgr
virtual bool GetAxisToken( const std::string& sAxis, std::string& sToken) const = 0 ;
virtual bool GetAxisType( const std::string& sAxis, bool& bLinear) const = 0 ;
virtual bool GetAxisInvert( const std::string& sAxis, bool& bInvert) const = 0 ;
virtual bool GetAxisOffset( const std::string& sAxis, double& dOffset) const = 0 ;
virtual bool SetAxisPos( const std::string& sAxis, double dVal, double* pdNewVal = nullptr) = 0 ;
virtual bool GetAxisPos( const std::string& sAxis, double& dVal) const = 0 ;
virtual bool GetAxisMin( const std::string& sAxis, double& dMin) const = 0 ;
+15 -4
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2020
// EgalTech 2015-2022
//----------------------------------------------------------------------------
// File : EmkMachiningConst.h Data : 09.11.20 Versione : 2.2k2
// File : EmkMachiningConst.h Data : 04.02.22 Versione : 2.4b1
// Contenuto : Costanti delle lavorazioni.
//
//
@@ -11,6 +11,7 @@
// 25.05.19 DS Agg. SurfRoughing e SurfFinishing.
// 03.06.20 DS Agg. MPA_TABMIN e MPA_TABMAX.
// 09.11.20 DS Agg. MPA_SIDEANGFEED e MPA_STEPLAST.
// 04.02.22 DS Agg. MPA_EPICYCLESRAD e MPA_EPICYCLESDIST.
//
//----------------------------------------------------------------------------
@@ -149,6 +150,8 @@ enum MpaType { MPA_NONE = 0,
MPA_OSCFLATLEN = ( MPA_DOU + 49), // per fresatura
MPA_SIDEANGFEED = ( MPA_DOU + 50), // per tagli con lama
MPA_STEPLAST = ( MPA_DOU + 51), // per tagli con lama
MPA_EPICYCLESRAD = ( MPA_DOU + 52), // per svuotature con epicicli
MPA_EPICYCLESDIST = ( MPA_DOU + 53), // per svuotature con epicicli
MPA_NAME = ( MPA_STR + 0),
MPA_TOOL = ( MPA_STR + 1),
MPA_DEPTH_STR = ( MPA_STR + 2),
@@ -251,13 +254,15 @@ enum { MILL_LI_NONE = 0,
MILL_LI_TANGENT = 2,
MILL_LI_GLIDE = 3,
MILL_LI_ZIGZAG = 4,
MILL_LI_HELIX = 5} ;
MILL_LI_HELIX = 5,
MILL_LI_TG_PERP = 6} ;
// Tipo di uscita
enum { MILL_LO_NONE = 0,
MILL_LO_LINEAR = 1,
MILL_LO_TANGENT = 2,
MILL_LO_GLIDE = 3,
MILL_LO_AS_LI = 4} ;
MILL_LO_AS_LI = 4,
MILL_LO_PERP_TG = 5} ;
// Tipo lavorazione faccia
enum { MILL_FU_NONE = 0,
MILL_FU_PARAL_DOWN = 1,
@@ -347,6 +352,12 @@ enum { MORTISE_FU_NONE = 0,
MORTISE_FU_PARAL_BACK = 4,
MORTISE_FU_PARAL_LEFT = 5,
MORTISE_FU_PARAL_RIGHT = 6} ;
// Tipo di affondamento (plunge)
enum { MORTISE_PLUNGE_STEP = 0,
MORTISE_PLUNGE_START = 1,
MORTISE_PLUNGE_END = 2,
MORTISE_PLUNGE_START_END = 3,
MORTISE_PLUNGE_START_TO_END = 4} ;
//----------------------------------------------------------------------------
// Parametri per finitura superfici
+2 -2
View File
@@ -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.
//
//
+7 -2
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2021
//----------------------------------------------------------------------------
// File : EmkToolConst.h Data : 05.04.21 Versione : 2.3c2
// File : EmkToolConst.h Data : 16.09.21 Versione : 2.3i6
// Contenuto : Costanti degli utensili.
//
//
@@ -9,7 +9,8 @@
// Modifiche : 16.09.15 DS Creazione modulo.
// 03.02.17 DS Agg. chisel.
// 20.09.18 DS Agg. costanti per ToolHolder
// 05.04.21 DS Agg. TPA_LEN2 e TPA_STEMDIAM.
// 05.04.21 DS Agg. TPA_DIST e TPA_STEMDIAM.
// 16.09.21 DS Agg. TPA_CORE.
//
//----------------------------------------------------------------------------
@@ -88,6 +89,7 @@ enum TpaType { TPA_NONE = 0,
TPA_MINFEED = ( TPA_DOU + 17),
TPA_DIST = ( TPA_DOU + 18),
TPA_STEMDIAM = ( TPA_DOU + 19),
TPA_CORE = ( TPA_DOU + 20),
TPA_DRAW = ( TPA_STR + 0),
TPA_HEAD = ( TPA_STR + 1),
TPA_NAME = ( TPA_STR + 2),
@@ -106,14 +108,17 @@ const int TD_CUSTOMDRAW_ERR = 997 ;
//----------------------------------------------------------------------------
// Costanti per info in note di sistema
const std::string TSI_THBASE = "THB" ; // posizione base portautensile da naso mandrino
const std::string TSI_THLEN = "THH" ; // lunghezza portautensile da naso mandrino
const std::string TSI_THDIAM = "THD" ; // diametro massimo portautensile
const std::string TSI_ACTIVE = "ACTIVE" ; // flag di utensile attivo
const std::string TSI_DIST = "DIST" ; // distanza per sega a catena
const std::string TSI_STEM_DIAM = "D_STEM" ; // diametro effettivo del gambo utensile
const std::string TSI_CORE = "CORE" ; // anima per lama
//----------------------------------------------------------------------------
// Costanti per info in portautensili
const std::string TTH_BASE = "B" ; // posizione base portautensile da naso mandrino
const std::string TTH_LEN = "H" ; // lunghezza portautensile da naso mandrino
const std::string TTH_DIAM = "D" ; // diametro massimo portautensile
const std::string TTH_STEM_DIAM = "D_STEM" ; // diametro massimo gambo utensile
+1 -1
View File
@@ -14,7 +14,7 @@
#pragma once
#include "/EgtDev/Include/ENkCplxCollection.h"
#include "/EgtDev/Include/EgnLuaAux.h"
#include "/EgtDev/Include/EGnLuaAux.h"
//----------------------------------------------------------------------------
inline bool
+5
View File
@@ -24,6 +24,7 @@
#define ENS_EXPORT __declspec( dllimport)
#endif
class Point3d ;
class PolyArc ;
//-----------------------------------------------------------------------------
@@ -47,10 +48,14 @@ class __declspec( novtable) IAutoNester
virtual bool SetStartCorner( int nCorner) = 0 ;
virtual bool AddSheet( int nSheetId, const PolyArc& Outline, double dKerf, int nPriority, int nCount, bool* pbIsRect = nullptr) = 0 ;
virtual bool AddDefectToSheet( int nSheetId, const PolyArc& Outline) = 0 ;
virtual bool AddRestrictedZoneToSheet( int nRzConstrId, int nSheetId, const PolyArc& Outline) = 0 ;
virtual bool AddPart( int nPartId, const PolyArc& Outline, bool bCanFlip, bool bCanRotate, double dRotStep, int nPriority, int nCount) = 0 ;
virtual bool AddHoleToPart( int nPartId, const PolyArc& Hole) = 0 ;
virtual bool AddAnotherOutlineToPart( int nPartId, const PolyArc& AnotherOutline) = 0 ;
virtual bool AddToolOutlineToPart( int nPartId, const PolyArc& ToolOutline) = 0 ;
virtual bool SetRestrictedZoneToPart( int nPartId, int nRzConstrId) = 0 ;
virtual bool SetStripYconstraintToPart( int nPartId, const Point3d& ptRef, double dStripStart, double dStripRepeat) = 0 ;
virtual bool SetStripXconstraintToPart( int nPartId, const Point3d& ptRef, double dStripStart, double dStripRepeat) = 0 ;
virtual bool SetInterpartGap( double dGap) = 0 ;
virtual bool SetReportFile( const std::string& sReportFile) = 0 ;
virtual bool Compute( bool bMinimizeOnXvsY, int nMaxTime) = 0 ;
+14 -4
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2015
// EgalTech 2014-2022
//----------------------------------------------------------------------------
// File : EXeConst.h Data : 05.05.15 Versione : 1.6e2
// File : EXeConst.h Data : 11.01.22 Versione : 2.4a
// Contenuto : Costanti generali per EgtExecuter.
//
//
@@ -28,6 +28,7 @@ enum FileType { FT_NULL = 0,
FT_SVG = 18,
FT_BTLX = 19,
FT_3MF = 20,
FT_OBJ = 21,
FT_IGES = 31,
FT_STEP = 32,
FT_ACIS = 33,
@@ -35,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} ;
@@ -73,8 +75,9 @@ enum SLiType { SLT_NONE = 0,
SLT_TOUCH = 5} ;
//----------------- Costanti tipo di costruzione di superficie rigata ----------
enum RuledType{ RUL_TYPE_ISOPAR = 0, // come ISurfTrimesh::RLT_ISOPAR
RUL_TYPE_MINDIST = 1} ; // come ISurfTrimesh::RLT_MINDIST
enum RuledType{ RUL_TYPE_ISOPAR = 0, // come ISurfTrimesh::RLT_ISOPAR
RUL_TYPE_MINDIST = 1, // come ISurfTrimesh::RLT_MINDIST
RUL_TYPE_ISOPAR_SMOOTH = 3} ; // come ISurfTrimesh::RLT_ISOPAR_SMOOTH
enum CrvRegClass { CRC_NULL = 0,
CRC_IN = 1,
@@ -82,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
+92 -25
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2015
// EgalTech 2015-2022
//----------------------------------------------------------------------------
// File : EXcExecutor.h Data : 04.05.15 Versione : 1.6e1
// File : EXcExecutor.h Data : 06.05.22 Versione : 2.4e1
// Contenuto : Interfaccia Executor.
//
//
@@ -38,6 +38,8 @@ class LuaMgr ;
EXE_EXPORT bool ExeInit( int nDebug, const std::string& sLogFile, const std::string& sLogMsg) ;
EXE_EXPORT bool ExeExit( void) ;
EXE_EXPORT int ExeGetDebugLevel( void) ;
EXE_EXPORT bool ExeSetUserLevel( int nUserLev) ;
EXE_EXPORT int ExeGetUserLevel( void) ;
EXE_EXPORT bool ExeSetKey( const std::string& sKey) ;
EXE_EXPORT bool ExeSetNestKey( const std::string& sNestKey) ;
EXE_EXPORT bool ExeSetFont( const std::string& sNfeFontDir, const std::string& sDefaultFont) ;
@@ -53,6 +55,7 @@ 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 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) ;
@@ -63,6 +66,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) ;
@@ -118,13 +122,16 @@ 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
EXE_EXPORT bool ExeInitBeamMgr( int nFlag) ;
EXE_EXPORT bool ExeBeamSetFlag( int nFlag) ;
EXE_EXPORT int ExeBeamCreatePart( void) ;
EXE_EXPORT bool ExeBeamSetPart( int nPartId) ;
EXE_EXPORT bool ExeBeamErasePart( void) ;
@@ -133,10 +140,15 @@ EXE_EXPORT bool ExeBeamSetPartProdNbr( int nProdNbr) ;
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, bool bUpdate = true) ;
const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt,
int nCrvId, int nCrv2Id, bool bUpdate = true) ;
EXE_EXPORT int ExeBeamModifyProcess( int nGeomId, 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, bool bUpdate = true) ;
const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt,
int nCrvId, int nCrv2Id, bool bUpdate = true) ;
EXE_EXPORT bool ExeBeamEraseProcess( int nGeomId, bool bUpdate = true) ;
EXE_EXPORT bool ExeBeamEnableProcess( int nGeomId, bool bEnable, bool bUpdate = true) ;
EXE_EXPORT bool ExeBeamCalcSolid( int nPartId, bool bRecalc = false) ;
@@ -167,11 +179,12 @@ EXE_EXPORT bool ExeLuaGetGlobStringVar( const std::string& sVar, std::string& sV
EXE_EXPORT bool ExeLuaGetGlobVectorVar( const std::string& sVar, Vector3d& vtVal) ;
EXE_EXPORT bool ExeLuaGetGlobPointVar( const std::string& sVar, Point3d& ptVal) ;
EXE_EXPORT bool ExeLuaResetGlobVar( const std::string& sVar) ;
EXE_EXPORT bool ExeLuaExistsFunction( const std::string& sFun) ;
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) ;
@@ -212,6 +225,14 @@ 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& ptV, 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) ;
// GeomDB Create Curve
EXE_EXPORT int ExeCreateLine( int nParentId, const Point3d& ptIni, const Point3d& ptFin, int nRefType) ;
@@ -228,6 +249,7 @@ EXE_EXPORT int ExeCreateCircleCP( int nParentId, const Point3d& ptCen,
const Point3d& ptOn, int nRefType) ;
EXE_EXPORT int ExeCreateCircleCPEx( int nParentId, const Point3d& ptCen,
const Point3d& ptOn, int nSepO, int nIdO, int nRefType) ;
EXE_EXPORT int ExeCreateCircle2P( int nParentId, const Point3d& ptP1, const Point3d& ptP2, int nRefType) ;
EXE_EXPORT int ExeCreateCircle3P( int nParentId, const Point3d& ptP1,
const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT int ExeCreateArc( int nParentId, const Point3d& ptCen, double dRad,
@@ -262,8 +284,12 @@ EXE_EXPORT int ExeCreateCurveBezierFromArc( int nParentId, int nArcId, bool bEr
EXE_EXPORT int ExeCreateCurveCompo( int nParentId, const INTVECTOR& vIds, bool bErase) ;
EXE_EXPORT int ExeCreateCurveCompoByChain( int nParentId, const INTVECTOR& vIds,
const Point3d& ptNear, bool bErase, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeCreateCurveCompoByChainEx( int nParentId, const INTVECTOR& vIds,
const Point3d& ptNear, bool bErase, int nRefType, double dToler, int* pnCount) ;
EXE_EXPORT int ExeCreateCurveCompoByReorder( int nParentId, const INTVECTOR& vIds,
const Point3d& ptNear, bool bErase, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeCreateCurveCompoByReorderEx( int nParentId, const INTVECTOR& vIds,
const Point3d& ptNear, bool bErase, int nRefType, double dToler, int* pnCount) ;
EXE_EXPORT int ExeCreateCurveCompoByInterpolation( int nParentId, const PolyLine& PL, int nType, int nRefType) ;
EXE_EXPORT int ExeCreateCurveCompoByApproximation( int nParentId, const PolyLine& PL, int nType,
double dLinTol, int nRefType) ;
@@ -314,6 +340,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) ;
@@ -358,6 +386,9 @@ EXE_EXPORT bool ExeDuploCount( int nSouId, int& nCount) ;
EXE_EXPORT bool ExeDuploList( int nSouId, INTVECTOR& vnRef) ;
EXE_EXPORT bool ExeDuploSetModified( int nSouId) ;
EXE_EXPORT bool ExeDuploGetModified( int nSouId, bool& bModif) ;
EXE_EXPORT bool ExeDuploSetLocked( int nDupId) ;
EXE_EXPORT bool ExeDuploResetLocked( int nDupId) ;
EXE_EXPORT bool ExeDuploGetLocked( int nDupId, bool& bLocked) ;
EXE_EXPORT bool ExeDuploUpdate( int nSouId) ;
EXE_EXPORT bool ExeIsDuplo( int nDupId) ;
EXE_EXPORT int ExeDuploGetOriginal( int nDupId) ;
@@ -434,6 +465,9 @@ EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const Vector3d& vt
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const Point3d& ptP) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const BBox3d& b3Box) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const Frame3d& frFrame) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const INTVECTOR& vnInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const DBLVECTOR& vdInfo) ;
EXE_EXPORT bool ExeSetInfo( int nId, const std::string& sKey, const STRVECTOR& vsInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, bool& bInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, int& nInfo) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, double& dInfo) ;
@@ -442,8 +476,12 @@ EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, Vector3d& vtV) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, Point3d& ptP) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, BBox3d& b3Box) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, Frame3d& frFrame) ;
EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, INTVECTOR& vnInfo) ;
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) ;
@@ -485,12 +523,15 @@ EXE_EXPORT int ExeSplitText( int nId, int* pnCount) ;
EXE_EXPORT bool ExeInvertCurve( const INTVECTOR& vIds) ;
EXE_EXPORT bool ExeOffsetCurve( int nId, double dDist, int nType) ;
EXE_EXPORT int ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount) ;
EXE_EXPORT int ExeCurveMedialAxis( int nId) ;
EXE_EXPORT bool ExeApproxCurve( int nId, int nApprType, double dLinTol) ;
EXE_EXPORT bool ExeProjectCurveOnPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ;
EXE_EXPORT bool 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 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) ;
@@ -511,7 +552,7 @@ EXE_EXPORT int ExeSplitCurveAtSelfInters( int nId, int* pnCount) ;
EXE_EXPORT int ExeGetCurveLinearConvexHullXY( int nId, double dLinTol, int nRefType) ;
EXE_EXPORT bool ExeModifyCircleCP( int nId, const Point3d& ptOn, int nRefType) ;
EXE_EXPORT bool ExeModifyCircle3P( int nId, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3, int nRefType) ;
EXE_EXPORT bool ExeModifyArcRadius( int nId, double dRad) ;
EXE_EXPORT bool ExeModifyArcRadius( int nId, double dRad, bool bKeepCenter = true) ;
EXE_EXPORT bool ExeModifyArcC2P( int nId, const Point3d& ptEnd, int nRefType) ;
EXE_EXPORT bool ExeModifyArc3P( int nId, const Point3d& ptMid, int nRefType) ;
EXE_EXPORT bool ExeModifyArcToExplementary( int nId) ;
@@ -519,8 +560,9 @@ EXE_EXPORT bool ExeModifyArcByFlip( int nId) ;
EXE_EXPORT bool ExeCloseCurveCompo( int nId) ;
EXE_EXPORT bool ExeAddCurveCompoCurve( int nId, int nAddCrvId, bool bEraseOrig, bool bEndVsStart) ;
EXE_EXPORT bool ExeAddCurveCompoLine( int nId, const Point3d& ptP, bool bEndVsStart, int nRefType) ;
EXE_EXPORT bool ExeAddCurveCompoArcTg( int nId, const Point3d& ptP, bool bEndVsStart, int nRefType) ;
EXE_EXPORT bool ExeAddCurveCompoLineTg( int nId, double dLen, bool bEndVsStart) ;
EXE_EXPORT bool ExeAddCurveCompoArc2P( int nId, const Point3d& ptMid, const Point3d& ptP, bool bEndVsStart, int nRefType) ;
EXE_EXPORT bool ExeAddCurveCompoArcTg( int nId, const Point3d& ptP, bool bEndVsStart, int nRefType) ;
EXE_EXPORT bool ExeRemoveCurveCompoCurve( int nId, bool bLast) ;
EXE_EXPORT bool ExeAddCurveCompoJoint( int nId, double dU) ;
EXE_EXPORT bool ExeModifyCurveCompoJoint( int nId, int nU, const Point3d& ptP, int nRefType) ;
@@ -538,12 +580,14 @@ 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) ;
EXE_EXPORT bool ExeSurfFrOffset( int nId, double dDist, int nType) ;
EXE_EXPORT bool ExeSurfFrMoveSimpleNoCollision( int nId1, int nId2, const Vector3d& vtDir, double& dLen, int nRefType) ;
EXE_EXPORT bool ExeSurfFrRotateSimpleNoCollision( int nId1, int nId2, const Point3d& ptCen, double& dAngDeg, int nRefType) ;
EXE_EXPORT int ExeSurfTmToTriangles( int nId, int* pnCount) ;
EXE_EXPORT bool ExeSurfTmRemoveFacet( int nId, int nFacet) ;
EXE_EXPORT bool ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2) ;
EXE_EXPORT bool ExeSurfTmRemovePart( int nId, int nPart) ;
@@ -561,20 +605,20 @@ 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) ;
@@ -589,10 +633,14 @@ EXE_EXPORT bool ExeTextGetItalic( int nId, bool& bItl) ;
// GeomDb Curve Get
EXE_EXPORT bool ExeCurveDomain( int nId, double* pdStart, double* pdEnd) ;
EXE_EXPORT bool ExeCurveLength( int nId, double* pdLen) ;
EXE_EXPORT bool ExeCurveParamAtLength( int nId, double dLen, double* pdPar) ;
EXE_EXPORT bool ExeCurveParamAtPoint( int nId, const Point3d& pt, double dTol, int nRefType, double* pdPar) ;
EXE_EXPORT bool ExeCurveLengthAtPoint( int nId, const Point3d& ptOn, double dExtend, double* pdLen) ;
EXE_EXPORT bool ExeCurveIsClosed( int nId) ;
EXE_EXPORT bool ExeCurveIsFlat( int nId, Plane3d& Plane, bool bUseExtrusion = true, double dToler = EPS_SMALL) ;
EXE_EXPORT bool ExeCurveIsACircle( int nId, Point3d& ptCen, Vector3d& vtN, double& dRad, bool& bCCW, double dToler = EPS_SMALL) ;
EXE_EXPORT bool ExeCurveIsARectangle( int nId, Point3d& ptP, Vector3d& vtL1, Vector3d& vtL2, double dToler = EPS_SMALL) ;
EXE_EXPORT bool ExeCurveIsATrapezoid( int nId, Point3d& ptP, Vector3d& vtB1, Vector3d& vtL1, Vector3d& vtB2, double dToler = EPS_SMALL) ;
EXE_EXPORT bool ExeCurveAreaXY( int nId, double& dArea) ;
EXE_EXPORT bool ExeCurveArea( int nId, Plane3d& Plane, double& dArea) ;
EXE_EXPORT bool ExeCurveNearestExtremityToPoint( int nId, const Point3d& ptP, bool& bStart) ;
@@ -606,11 +654,15 @@ 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) ;
EXE_EXPORT bool ExeCurveCompoNormVersor( int nId, int nSimpCrv, int nRefId, Vector3d& vtNorm) ;
// 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) ;
@@ -618,6 +670,9 @@ EXE_EXPORT bool ExeSurfFrTestExternal( int nId1, int nId2, double dMinDist) ;
EXE_EXPORT int ExeSurfFrChunkCount( int nId) ;
EXE_EXPORT int ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2, double dToler = 0) ;
EXE_EXPORT int ExeExtractSurfFrChunkLoops( int nId, int nChunk, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int 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) ;
@@ -634,7 +689,7 @@ EXE_EXPORT bool ExeSurfTmFacetOppositeSideEx( int nId, int nFacet, const Vector3
Point3d& ptP1, Point3d& ptPm, Point3d& ptP2, Vector3d& vtIn1, Vector3d& vtOut2, double& dLen, double& dWidth) ;
EXE_EXPORT bool ExeSurfTmFacetsContact( int nId, int nF1, int nF2, int nRefId, bool& bAdjac, Point3d& ptP1, Point3d& ptP2, double& dAng) ;
EXE_EXPORT int ExeExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeGetSurfTmSilhouette( int nId, const Vector3d& vtDir, int nDestGrpId, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeGetSurfTmSilhouette( int nId, const Vector3d& vtDir, double dToler, int nDestGrpId, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
EXE_EXPORT bool ExeSurfTmGetFacetBBox( int nId, int nFacet, int nFlag, BBox3d& b3Box) ;
@@ -714,10 +769,14 @@ EXE_EXPORT bool ExeLineBoxInters( const Point3d& ptP, const Vector3d& vtDir, con
EXE_EXPORT int ExePlaneBoxInters( const Point3d& ptOn, const Vector3d& vtN, const BBox3d& b3Box, int nDestGrpId, int nRefType,
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
EXE_EXPORT bool ExeLineSurfTmInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType, INTDBLVECTOR& vInters) ;
EXE_EXPORT int ExePlaneSurfTmInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType,
EXE_EXPORT int ExePlaneSurfTmInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType, double dToler,
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
EXE_EXPORT int ExeSurfTmSurfTmInters( int nId1, int nId2, int nDestGrpId,
EXE_EXPORT int ExeParPlanesSurfTmInters( const Point3d& ptOn, const Vector3d& vtN, const DBLVECTOR& vdDist, int nId, int nDestGrpId, int nRefType, double dToler,
int* pnGrpCount) ;
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) ;
@@ -782,10 +841,14 @@ EXE_EXPORT bool ExeAutoNestSetGuillotineMode( void) ;
EXE_EXPORT bool ExeAutoNestSetStartCorner( int nCorner) ;
EXE_EXPORT bool ExeAutoNestAddSheet( int nSheetId, int nOutlineId, double dKerf, int nPriority, int nCount, bool* pbIsRect = nullptr) ;
EXE_EXPORT bool ExeAutoNestAddDefectToSheet( int nSheetId, int nDefectId) ;
EXE_EXPORT bool ExeAutoNestAddRestrictedZoneToSheet( int nSheetId, int nRstZoneId, int nRzConstrId) ;
EXE_EXPORT bool ExeAutoNestAddPart( int nPartId, int nOutlineId, bool bCanFlip, bool bCanRotate, double dRotStep, int nPriority, int nCount) ;
EXE_EXPORT bool ExeAutoNestAddHoleToPart( int nPartId, int nHoleId) ;
EXE_EXPORT bool ExeAutoNestAddAnotherOutlineToPart( int nPartId, int nAnotherOutlineId) ;
EXE_EXPORT bool ExeAutoNestAddToolOutlineToPart( int nPartId, int nToolOutlineId) ;
EXE_EXPORT bool ExeAutoNestSetRestrictedZoneToPart( int nPartId, int nRzConstrId) ;
EXE_EXPORT bool ExeAutoNestSetStripYconstraintToPart( int nPartId, const Point3d& ptRef, double dStripStart, double dStripRepeat) ;
EXE_EXPORT bool ExeAutoNestSetStripXconstraintToPart( int nPartId, const Point3d& ptRef, double dStripStart, double dStripRepeat) ;
EXE_EXPORT bool ExeAutoNestSetInterpartGap( double dGap) ;
EXE_EXPORT bool ExeAutoNestSetReportFile( const std::string& sReportFile) ;
EXE_EXPORT bool ExeAutoNestCompute( bool bMinimizeOnXvsY, int nMaxTime) ;
@@ -813,6 +876,7 @@ EXE_EXPORT std::string ExeGetLastMachMgrErrorString( void) ;
EXE_EXPORT int ExeGetMachMgrWarningId( int nInd) ;
EXE_EXPORT std::string ExeGetMachMgrWarningString( int nInd) ;
// Machines
EXE_EXPORT bool ExeGetMachines( STRVECTOR& vsMachineNames, STRVECTOR& vsMachineDirs) ;
EXE_EXPORT bool ExeSetCurrMachine( const std::string& sMachineName) ;
EXE_EXPORT bool ExeGetCurrMachineName( std::string& sMachineName) ;
EXE_EXPORT bool ExeGetCurrMachineDir( std::string& sMachineDir) ;
@@ -875,6 +939,7 @@ EXE_EXPORT bool ExeGetTable( std::string& sTable) ;
EXE_EXPORT bool ExeGetTableRef( int nInd, Point3d& ptPos) ;
EXE_EXPORT bool ExeGetTableArea( int nInd, BBox3d& b3Area) ;
EXE_EXPORT bool ExeGetTableAreaOffset( int nInd, BBox3d& b3AreaOffs) ;
EXE_EXPORT bool ExeChangeTable( const std::string& sTable, bool bUpdateDisp) ;
EXE_EXPORT bool ExeShowOnlyTable( bool bVal) ;
EXE_EXPORT int ExeAddFixture( const std::string& sName, const Point3d& ptPos, double dAngRotDeg, double dMov) ;
EXE_EXPORT bool ExeKeepFixture( int nFxtId, int nSouPhase) ;
@@ -924,7 +989,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) ;
@@ -962,6 +1026,9 @@ EXE_EXPORT bool ExeMdbGetGeneralParam( int nType, double& dVal) ;
EXE_EXPORT bool ExeMdbReload( void) ;
EXE_EXPORT bool ExeMdbSave( void) ;
EXE_EXPORT bool ExeMdbGetMachiningDir( std::string& sMchDir) ;
EXE_EXPORT bool ExeMdbExport( const STRVECTOR& vsMachiningsNames, const std::string& sOutFile) ;
EXE_EXPORT bool ExeMdbToBeImported( const std::string& sFile, STRVECTOR& vsMachiningsNames, INTVECTOR& vMachiningsTypes) ;
EXE_EXPORT bool ExeMdbImport( const std::string& sFile, const STRVECTOR& vsMachiningsToImport, const STRVECTOR& vsMachiningsNames, STRVECTOR& vsImported) ;
// Operations
EXE_EXPORT int ExeGetFirstOperation( void) ;
EXE_EXPORT int ExeGetNextOperation( int nId) ;
@@ -1054,6 +1121,7 @@ EXE_EXPORT int ExeGetTcPosId( const std::string& sTcPos) ;
EXE_EXPORT bool ExeGetAxisToken( const std::string& sAxis, std::string& sToken) ;
EXE_EXPORT bool ExeGetAxisType( const std::string& sAxis, bool& bLinear) ;
EXE_EXPORT bool ExeGetAxisInvert( const std::string& sAxis, bool& bInvert) ;
EXE_EXPORT bool ExeGetAxisOffset( const std::string& sAxis, double& dOffset) ;
EXE_EXPORT bool ExeGetAllTablesNames( STRVECTOR& vNames) ;
EXE_EXPORT bool ExeGetAllHeadsNames( STRVECTOR& vNames) ;
EXE_EXPORT bool ExeGetAllTcPosNames( STRVECTOR& vNames) ;
@@ -1061,10 +1129,8 @@ EXE_EXPORT bool ExeGetAllTcPosNames( STRVECTOR& vNames) ;
EXE_EXPORT bool ExeSetCalcTable( const std::string& sTable) ;
EXE_EXPORT bool ExeSetCalcTool( const std::string& sTool, const std::string& sHead, int nExit) ;
EXE_EXPORT bool ExeSetRotAxisBlock( const std::string& sAxis, double dVal) ;
EXE_EXPORT bool ExeGetCalcTool( std::string& sTool, std::string& sHead, int& nExit) ;
EXE_EXPORT bool ExeGetRotAxisBlocked( int nInd, std::string& sAxis, double& dVal) ;
EXE_EXPORT bool ExeGetCalcTool( std::string& sTool) ;
EXE_EXPORT bool ExeGetCalcHead( std::string& sHead) ;
EXE_EXPORT bool ExeGetCalcExit( int& nExit) ;
EXE_EXPORT bool ExeGetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
int& nStat, double& dAngA1, double& dAngB1, double& dAngA2, double& dAngB2) ;
EXE_EXPORT bool ExeGetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
@@ -1181,6 +1247,7 @@ EXE_EXPORT bool ExeGetPhotoPath( int nId, std::string& sPath) ;
EXE_EXPORT bool ExeChangePhotoPath( int nId, const std::string& sPath) ;
EXE_EXPORT bool ExeGetPhotoOrigin( int nId, Point3d& ptOri) ;
EXE_EXPORT bool ExeGetPhotoCenter( int nId, Point3d& ptCen) ;
EXE_EXPORT bool ExeChangePhotoCenterAsFlatScan( int nId) ;
EXE_EXPORT bool ExeGetPhotoDimensions( int nId, double& dDimX, double& dDimY) ;
EXE_EXPORT bool ExeGetPhotoPixels( int nId, int& nPixelX, int& nPixelY) ;
EXE_EXPORT bool ExeGetPhotoImagePixels( int nId, int& nPixelX, int& nPixelY) ;
+5 -3
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2015-2021
// EgalTech 2015-2023
//----------------------------------------------------------------------------
// File : EgtKeyCodes.h Data : 06.09.21 Versione : 2.3i1
// File : EgtKeyCodes.h Data : 01.01.23 Versione : 2.5a1
// Contenuto : Costanti per codici di protezione librerie di base.
//
//
@@ -15,6 +15,8 @@
// 22.02.20 DS Aggiunta costante KEYOPT_EMK_NC_OFF.
// 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.
//
//----------------------------------------------------------------------------
@@ -22,7 +24,7 @@
//----------------------------------------------------------------------------
const int KEY_BASELIB_PROD = 207 ;
const int KEY_BASELIB_VER = 2309 ;
const int KEY_BASELIB_VER = 2504 ;
const int KEY_BASELIB_LEV = 1 ;
//----------------------------------------------------------------------------
+2 -2
View File
@@ -17,14 +17,14 @@
inline
int Clamp( int nVal, int nMin, int nMax)
{
return ( nVal <= nMin ? nMin : nVal >= nMax ? nMax : nVal) ;
return ( nVal < nMin ? nMin : nMax < nVal ? nMax : nVal) ;
}
//----------------------------------------------------------------------------
inline
double Clamp( double dVal, double dMin, double dMax)
{
return ( dVal <= dMin ? dMin : dVal >= dMax ? dMax : dVal) ;
return ( dVal < dMin ? dMin : dMax < dVal ? dMax : dVal) ;
}
//----------------------------------------------------------------------------
+8 -3
View File
@@ -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 ; }
+6
View File
@@ -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
+6 -4
View File
@@ -1,13 +1,13 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2015
// EgalTech 2014-2022
//----------------------------------------------------------------------------
// File : SELkLockId.cpp Data : 27.07.15 Versione : 1.6g8
// File : SELkLockId.cpp Data : 16.05.22 Versione : 2.4e3
// 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.
//
//----------------------------------------------------------------------------
@@ -18,6 +18,8 @@
//-------------------------------------------------------------------------------
// Imposto il tipo di protezione
bool SetLockType( int nType) ;
// Forzo chiave di rete (se prevista protezione hardware)
bool SetNetHwKey( bool bNetHwKey) ;
// Recupero l'identificativo in chiaro della protezione
bool GetLockId( std::string& sLockId) ;
// Recupero l'identificativo cifrato della protezione
@@ -27,7 +29,7 @@ bool ConvertLockIdToLockId2( const std::string& sLockId, std::string& sLockId2)
bool ConvertLockId2ToLockId( const std::string& sLockId2, std::string& sLockId) ;
bool ConvertLockIdToScramKey( const std::string& sLockId, std::string& sScramKey) ;
bool ConvertLockId2ToScramKey( const std::string& sLockId2, std::string& sScramKey) ;
// Serial Number della chiave hw
// Serial Number della chiave hw (non di rete)
bool GetLockSN( int& nLockSN) ;
//-------------------------- Constants ----------------------------------------