From 3908e11d18fa9dba22c23834a06cf227f711c667 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Thu, 22 Aug 2024 09:10:04 +0200 Subject: [PATCH] EgtGeomKernel 2.6h2 : - modifiche per permettere Mark di tipo 2. --- Attribs.cpp | 16 ++++++++-------- Attribs.h | 14 ++++++-------- EgtGeomKernel.rc | Bin 11710 -> 11710 bytes GdbIterator.cpp | 4 ++-- GdbIterator.h | 2 +- GdbObj.cpp | 8 ++++---- GdbObj.h | 2 +- GeomDB.cpp | 4 ++-- GeomDB.h | 2 +- 9 files changed, 25 insertions(+), 27 deletions(-) diff --git a/Attribs.cpp b/Attribs.cpp index 4aee267..252f165 100644 --- a/Attribs.cpp +++ b/Attribs.cpp @@ -133,22 +133,22 @@ Attribs::Load( NgeReader& ngeIn) unsigned char ucLev ; if ( ! ngeIn.ReadUchar( ucLev, ",")) return false ; - m_Data[LEVEL] = CLIP( ucLev, GDB_LV_USER, GDB_LV_TEMP) ; + m_Data[LEVEL] = Clamp( ucLev, GDB_LV_USER, GDB_LV_TEMP) ; // modo unsigned char ucMode ; if ( ! ngeIn.ReadUchar( ucMode, ",")) return false ; - m_Data[MODE] = CLIP( ucMode, GDB_MD_STD, GDB_MD_HIDDEN) ; + m_Data[MODE] = Clamp( ucMode, GDB_MD_STD, GDB_MD_HIDDEN) ; // stato (se SEL รจ convertito in ON) unsigned char ucStat ; if ( ! ngeIn.ReadUchar( ucStat, ",")) return false ; - m_Data[STATUS] = CLIP( ucStat, GDB_ST_OFF, GDB_ST_ON) ; + m_Data[STATUS] = Clamp( ucStat, GDB_ST_OFF, GDB_ST_ON) ; // marcatura (sempre OFF) unsigned char ucMark ; if ( ! ngeIn.ReadUchar( ucMark, ";")) return false ; - m_Data[MARK] = CLIP( ucMark, GDB_MK_OFF, GDB_MK_OFF) ; + m_Data[MARK] = Clamp( ucMark, GDB_MK_OFF, GDB_MK_OFF) ; // materiale if ( ! ngeIn.ReadInt( m_Material, ";")) return false ; @@ -185,22 +185,22 @@ Attribs::DataFromString( const string& sParam) int nLev ; if ( ! FromString( vsParams[0], nLev)) return false ; - m_Data[LEVEL] = CLIP( nLev, GDB_LV_USER, GDB_LV_TEMP) ; + m_Data[LEVEL] = Clamp( nLev, GDB_LV_USER, GDB_LV_TEMP) ; // modo int nMode ; if ( ! FromString( vsParams[1], nMode)) return false ; - m_Data[MODE] = CLIP( nMode, GDB_MD_STD, GDB_MD_HIDDEN) ; + m_Data[MODE] = Clamp( nMode, GDB_MD_STD, GDB_MD_HIDDEN) ; // stato (ammessi solo OFF e ON) int nStat ; if ( ! FromString( vsParams[2], nStat)) return false ; - m_Data[STATUS] = CLIP( nStat, GDB_ST_OFF, GDB_ST_ON) ; + m_Data[STATUS] = Clamp( nStat, GDB_ST_OFF, GDB_ST_ON) ; // marcatura (ammesso solo OFF) int nMark ; if ( ! FromString( vsParams[3], nMark)) return false ; - m_Data[MARK] = CLIP( nMark, GDB_MK_OFF, GDB_MK_OFF) ; + m_Data[MARK] = Clamp( nMark, GDB_MK_OFF, GDB_MK_OFF) ; return true ; } diff --git a/Attribs.h b/Attribs.h index e8eb0c5..39fca97 100644 --- a/Attribs.h +++ b/Attribs.h @@ -16,14 +16,12 @@ #include "/EgtDev/Include/EGkGdbConst.h" #include "/EgtDev/Include/EGkColor.h" #include "/EgtDev/Include/EgtStringBase.h" +#include "/EgtDev/Include/EgtNumUtils.h" class NgeWriter ; class NgeReader ; class GeomDB ; -//---------------------------------------------------------------------------- -#define CLIP( nV, nMIN, nMAX) (( nV < nMIN) ? nMIN : (( nV > nMAX) ? nMAX : nV)) - //---------------------------------------------------------------------------- class Attribs { @@ -46,14 +44,14 @@ class Attribs bool Load( NgeReader& ngeIn) ; void SetLevel( int nLev) { m_OldData[LEVEL] = m_Data[LEVEL] ; - m_Data[LEVEL] = CLIP( nLev, GDB_LV_USER, GDB_LV_TEMP) ; } + m_Data[LEVEL] = Clamp( nLev, GDB_LV_USER, GDB_LV_TEMP) ; } void RevertLevel( void) { std::swap( m_Data[LEVEL], m_OldData[LEVEL]) ; } int GetLevel( void) const { return m_Data[LEVEL] ; } void SetMode( int nMode) { m_OldData[MODE] = m_Data[MODE] ; - m_Data[MODE] = CLIP( nMode, GDB_MD_STD, GDB_MD_HIDDEN) ; } + m_Data[MODE] = Clamp( nMode, GDB_MD_STD, GDB_MD_HIDDEN) ; } void RevertMode( void) { std::swap( m_Data[MODE], m_OldData[MODE]) ; } int GetMode( void) const @@ -61,13 +59,13 @@ class Attribs void SetStatus( int nStat) { if ( m_Data[STATUS] != GDB_ST_SEL) m_OldData[STATUS] = m_Data[STATUS] ; - m_Data[STATUS] = CLIP( nStat, GDB_ST_OFF, GDB_ST_SEL) ; } + m_Data[STATUS] = Clamp( nStat, GDB_ST_OFF, GDB_ST_SEL) ; } void RevertStatus( void) { SetStatus( m_OldData[STATUS]) ; } int GetStatus( void) const { return m_Data[STATUS] ; } - void SetMark( void) - { m_Data[MARK] = GDB_MK_ON ; } + void SetMark( int nMark) + { m_Data[MARK] = Clamp( nMark, GDB_MK_OFF, GDB_MK_ON_2) ; } void ResetMark( void) { m_Data[MARK] = GDB_MK_OFF ; } int GetMark( void) const diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index b7e4cf405aa59357588fb00400c4961dbfbe709a..c8ab857bb15506675dc10edef317bcd3e4d4293f 100644 GIT binary patch delta 236 zcmdlNy)SyhI%aKGhCGIJh8%`WhGK>c1_cHUhESkLCPN8BDnkm89}HwAf_cT0PijeT z{=m$}%xJXvyqqG4`lwjSxVewp10r;uY4S3`JfN_k6i~QJ7*lvJ3$os9QmsEYnTvVZ lSetMark() ; + return m_pCurrObj->SetMark( nMark) ; } //---------------------------------------------------------------------------- diff --git a/GdbIterator.h b/GdbIterator.h index f43ccac..f0bb426 100644 --- a/GdbIterator.h +++ b/GdbIterator.h @@ -103,7 +103,7 @@ class GdbIterator : public IGdbIterator bool RevertStatus( void) override ; bool GetStatus( int& nStat) const override ; bool GetCalcStatus( int& nStat) const override ; - bool SetMark( void) override ; + bool SetMark( int nMark = GDB_MK_ON) override ; bool ResetMark( void) override ; bool GetMark( int& nMark) const override ; bool GetCalcMark( int& nMark) const override ; diff --git a/GdbObj.cpp b/GdbObj.cpp index bf8f258..8ddd1a2 100644 --- a/GdbObj.cpp +++ b/GdbObj.cpp @@ -612,14 +612,14 @@ GdbObj::GetCalcStatus( int& nStat, int nLev) const //---------------------------------------------------------------------------- bool -GdbObj::SetMark( void) +GdbObj::SetMark( int nMark) { // verifico esistenza (con eventuale creazione) degli attributi if ( GetSafeAttribs() == nullptr) return false ; // assegno la marcatura - m_pAttribs->SetMark() ; + m_pAttribs->SetMark( nMark) ; return true ; } @@ -659,8 +659,8 @@ GdbObj::GetCalcMark( int& nMark) const nObjMark = m_pAttribs->GetMark() ; // se la marcatura ่ ON, non ho bisogno di sapere altro - if ( nObjMark == GDB_MK_ON) { - nMark = GDB_MK_ON ; + if ( nObjMark == GDB_MK_ON || nObjMark == GDB_MK_ON_2) { + nMark = nObjMark ; return true ; } diff --git a/GdbObj.h b/GdbObj.h index 8b2a50b..f56e78c 100644 --- a/GdbObj.h +++ b/GdbObj.h @@ -81,7 +81,7 @@ class GdbObj bool IsSelected( void) const ; bool GetStatus( int& nStat) const ; bool GetCalcStatus( int& nStat, int nLev = 0) const ; - bool SetMark( void) ; + bool SetMark( int nMark) ; bool ResetMark( void) ; bool GetMark( int& nMark) const ; bool GetCalcMark( int& nMark) const ; diff --git a/GeomDB.cpp b/GeomDB.cpp index e8a6374..565299e 100644 --- a/GeomDB.cpp +++ b/GeomDB.cpp @@ -2310,7 +2310,7 @@ GeomDB::GetCalcStatus( int nId, int& nStat) const //---------------------------------------------------------------------------- bool -GeomDB::SetMark( int nId) +GeomDB::SetMark( int nId, int nMark) { // recupero l'oggetto GdbObj* pGdbObj = GetGdbObj( nId) ; @@ -2318,7 +2318,7 @@ GeomDB::SetMark( int nId) return false ; // imposto la marcatura - return pGdbObj->SetMark() ; + return pGdbObj->SetMark( nMark) ; } //---------------------------------------------------------------------------- diff --git a/GeomDB.h b/GeomDB.h index 3454ba9..e5ad7eb 100644 --- a/GeomDB.h +++ b/GeomDB.h @@ -136,7 +136,7 @@ class GeomDB : public IGeomDB bool RevertStatus( int nId) override ; bool GetStatus( int nId, int& nStat) const override ; bool GetCalcStatus( int nId, int& nStat) const override ; - bool SetMark( int nId) override ; + bool SetMark( int nId, int nMark = GDB_MK_ON) override ; bool ResetMark( int nId) override ; bool GetMark( int nId, int& nMark) const override ; bool GetCalcMark( int nId, int& nMark) const override ;