From f28da6d9e331e4639e2b83684f01b5b4259496d5 Mon Sep 17 00:00:00 2001 From: SaraP Date: Mon, 29 Jan 2024 14:44:06 +0100 Subject: [PATCH] EgtExecutor 2.6a4 : - aggiunte funzioni Exe e Lua SurfFrOffsetAdv per calcolare offset di una flat region creando una nuova superficie senza modificare quella di partenza. --- EXE_GdbModifySurf.cpp | 26 ++++++++++++++++++++++++++ EgtExecutor.rc | Bin 18890 -> 18890 bytes LUA_GdbModifySurf.cpp | 24 ++++++++++++++++++++++++ 3 files changed, 50 insertions(+) diff --git a/EXE_GdbModifySurf.cpp b/EXE_GdbModifySurf.cpp index b3588da..d9b4426 100644 --- a/EXE_GdbModifySurf.cpp +++ b/EXE_GdbModifySurf.cpp @@ -368,6 +368,32 @@ ExeSurfFrOffset( int nId, double dDist, int nType) return bOk ; } +//---------------------------------------------------------------------------- +bool +ExeSurfFrOffsetAdv( int nId, double dDist, int nType, int& nNewId) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL) + // recupero la superficie FlatRegion + ISurfFlatRegion* pSfr = GetSurfFlatRegion( pGeomDB->GetGeoObj( nId)) ; + if ( pSfr == nullptr) + return false ; + // eseguo l'offset + PtrOwner pSfrOffs( pSfr->CreateOffsetSurf( dDist, nType)) ; + if ( IsNull( pSfrOffs)) + return false ; + // salvo la superficie di offset + nNewId = GDB_ID_NULL ; + if ( pSfr->GetChunkCount() > 0) { + // inserisco nel DB geometrico + nNewId = pGeomDB->InsertGeoObj( GDB_ID_NULL, nId, GDB_AFTER, Release( pSfrOffs)) ; + // copio gli attributi + pGeomDB->CopyAttributes( nId, nNewId) ; + ExeSetModified() ; + } + return true ; +} + //---------------------------------------------------------------------------- bool ExeSurfFrMoveSimpleNoCollision( int nId1, int nId2, const Vector3d& vtDir, double& dLen, int nRefType) diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 0edd859ca48b35f6248b97c726316ab590ad0e27..095266c8d01ca4ff99dceeb900bcbcb53c2fcf4b 100644 GIT binary patch delta 236 zcmX>#neo(Q#trM3)jb*V7}6PX7*ZLEfmne-gCUrqgdq`#Gl9HNpll|Hz4<1yA~U1O z=HG0tAj*+zISZI~oN4j~!74_R$&OsfoBM=pK%%F`z-k1g5Na9}VQS)(_~ePTbn;DR v>B%45mQCh!STy;UlYn48*nys42j&1BmIzeQx_OSX4l`CM>CGS9ZZQD>tOh{M delta 249 zcmX>#neo(Q#trM3wOtwV7}6PX7%~}(88R3Y7&I6{fg+ghlj4}o{f@