From 26040a1dd81ff4b51522ad5322f9ddcdf16d9ce1 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 30 Dec 2019 09:22:33 +0000 Subject: [PATCH] Include : - aggiunte quotature (Dimensions). --- EGkExtDimension.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++ EGkExtText.h | 2 +- EGkGeoObjType.h | 30 +++++++++++++------------ EXeExecutor.h | 6 +++++ 4 files changed, 79 insertions(+), 15 deletions(-) create mode 100644 EGkExtDimension.h diff --git a/EGkExtDimension.h b/EGkExtDimension.h new file mode 100644 index 0000000..b9a9881 --- /dev/null +++ b/EGkExtDimension.h @@ -0,0 +1,56 @@ +//---------------------------------------------------------------------------- +// EgalTech 2019-2019 +//---------------------------------------------------------------------------- +// File : EGkExtDimension.h Data : 27.12.19 Versione : 1.5e10 +// Contenuto : Dichiarazione della interfaccia IExtDimension. +// +// +// +// Modifiche : 27.12.19 DS Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EGkGeoObj.h" +#include "/EgtDev/Include/EGkCurve.h" + +//----------------------------------------------------------------------------- +class __declspec( novtable) IExtDimension : public IGeoObj +{ + public : + enum Type { DT_NONE = 0, + DT_LINEAR = 1, + DT_RADIAL = 2, + DT_DIAMETRAL = 3, + DT_ANGULAR = 4} ; + + public : + virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 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 const Vector3d& GetNormVersor( void) const = 0 ; + virtual bool ApproxWithLines( double dLinTol, double dAngTolDeg, POLYLINELIST& lstPL) const = 0 ; +} ; + +//----------------------------------------------------------------------------- +inline IExtDimension* CreateExtDimension( void) + { return (static_cast( CreateGeoObj( EXT_DIMENSION))) ; } +inline IExtDimension* CloneExtDimension( const IGeoObj* pGObj) + { if ( pGObj == nullptr || pGObj->GetType() != EXT_DIMENSION) + return nullptr ; + return (static_cast(pGObj->Clone())) ; } +inline const IExtDimension* GetExtDimension( const IGeoObj* pGObj) + { if ( pGObj == nullptr || pGObj->GetType() != EXT_DIMENSION) + return nullptr ; + return (static_cast(pGObj)) ; } +inline IExtDimension* GetExtDimension( IGeoObj* pGObj) + { if ( pGObj == nullptr || pGObj->GetType() != EXT_DIMENSION) + return nullptr ; + return (static_cast(pGObj)) ; } + +//---------------------------------------------------------------------------- +// Raccolte di puntatori a IExtDimension +typedef std::vector IEXTDIMENSIONPVECTOR ; // vettore di puntatori a IExtDimension +typedef std::list IEXTDIMENSIONPLIST ; // lista di puntatori a IExtDimension diff --git a/EGkExtText.h b/EGkExtText.h index f06c515..1ca517b 100644 --- a/EGkExtText.h +++ b/EGkExtText.h @@ -90,4 +90,4 @@ const std::string ETXT_LINEBREAK = "
" ; //---------------------------------------------------------------------------- // Raccolte di puntatori a IExtText typedef std::vector IEXTTEXTPVECTOR ; // vettore di puntatori a IExtText -typedef std::list EXTTEXTPLIST ; // lista di puntatori a IExtText +typedef std::list IEXTTEXTPLIST ; // lista di puntatori a IExtText diff --git a/EGkGeoObjType.h b/EGkGeoObjType.h index afd4c08..dcc29db 100644 --- a/EGkGeoObjType.h +++ b/EGkGeoObjType.h @@ -1,7 +1,7 @@ //---------------------------------------------------------------------------- -// EgalTech 2014-2015 +// EgalTech 2014-2019 //---------------------------------------------------------------------------- -// File : EGkGeoObjType.h Data : 05.08.15 Versione : 1.6h2 +// File : EGkGeoObjType.h Data : 27.12.19 Versione : 2.2a1 // Contenuto : Definizione Tipo degli Oggetti Geometrici. // // @@ -10,6 +10,7 @@ // 27.05.14 DS Agg. EXT_TEXT. // 21.01.15 DS Agg. VOL_ZMAP e cambiato valore di EXT_TEXT. // 05.08.15 DS Agg. SRF_FLATRGN. +// 27.12.19 DS Agg. EXT_DIMENSION. //---------------------------------------------------------------------------- #pragma once @@ -24,15 +25,16 @@ const int GEO_VOLUME = 0x400 ; const int GEO_EXTRA = 0x800 ; //----------------- Costanti tipo oggetto geometrico -------------------------- -enum GeoObjType { GEO_NONE = 0, - GEO_VECT3D = ( GEO_ZERODIM + 0), - GEO_PNT3D = ( GEO_ZERODIM + 1), - GEO_FRAME3D = ( GEO_ZERODIM + 2), - CRV_LINE = ( GEO_CURVE + 0), - CRV_ARC = ( GEO_CURVE + 1), - CRV_BEZ = ( GEO_CURVE + 2), - CRV_COMPO = ( GEO_CURVE + 3), - SRF_TRIMESH = ( GEO_SURF + 0), - SRF_FLATRGN = ( GEO_SURF + 1), - VOL_ZMAP = ( GEO_VOLUME + 0), - EXT_TEXT = ( GEO_EXTRA + 0)} ; +enum GeoObjType { GEO_NONE = 0, + GEO_VECT3D = ( GEO_ZERODIM + 0), + GEO_PNT3D = ( GEO_ZERODIM + 1), + GEO_FRAME3D = ( GEO_ZERODIM + 2), + CRV_LINE = ( GEO_CURVE + 0), + CRV_ARC = ( GEO_CURVE + 1), + CRV_BEZ = ( GEO_CURVE + 2), + CRV_COMPO = ( GEO_CURVE + 3), + SRF_TRIMESH = ( GEO_SURF + 0), + SRF_FLATRGN = ( GEO_SURF + 1), + VOL_ZMAP = ( GEO_VOLUME + 0), + EXT_TEXT = ( GEO_EXTRA + 0), + EXT_DIMENSION = ( GEO_EXTRA + 1)} ; diff --git a/EXeExecutor.h b/EXeExecutor.h index 7a8d21c..d505af9 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -173,6 +173,12 @@ EXE_EXPORT int ExeCreateTextEx( int nParentId, const Point3d& ptP, double dAngR EXE_EXPORT int ExeCreateTextAdv( int nParentId, const Point3d& ptP, double dAngRotDeg, const std::string& sText, const std::string& sFont, int nW, bool bItalic, double dH, double dRat, double dAddAdv, int nInsPos, int nRefType) ; +EXE_EXPORT int ExeCreateHorizontalDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP2, + const Point3d& ptDim, const std::string& sText, int nRefType) ; +EXE_EXPORT int ExeCreateVerticalDimension( int nParentId, const Point3d& ptP1, const Point3d& ptP2, + 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) ; // GeomDB Create Curve EXE_EXPORT int ExeCreateLine( int nParentId, const Point3d& ptIni, const Point3d& ptFin, int nRefType) ;