From 7672783be948a48cc780c10da892b87c2a273d2c Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 21 Aug 2024 14:40:20 +0200 Subject: [PATCH] EgtExecutor 2.6h2 : - aggiunta funzione ExeSurfFrChunkCenter. --- EXE_GdbGetSurf.cpp | 19 +++++++++++++++++++ EgtExecutor.rc | Bin 18890 -> 18890 bytes 2 files changed, 19 insertions(+) diff --git a/EXE_GdbGetSurf.cpp b/EXE_GdbGetSurf.cpp index ea2bb9f..463529d 100644 --- a/EXE_GdbGetSurf.cpp +++ b/EXE_GdbGetSurf.cpp @@ -261,6 +261,25 @@ ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2, doub return nRes ; } +//---------------------------------------------------------------------------- +bool +ExeSurfFrChunkCenter( int nId, int nChunk, int nRefId, Point3d& ptCen, Vector3d& vtN) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero la superficie FlatRegion + ISurfFlatRegion* pSfr = GetSurfFlatRegion( pGeomDB->GetGeoObj( nId)) ; + if ( pSfr == nullptr) + return false ; + // recupero il centro della parte + if ( ! pSfr->GetChunkCentroid( nChunk, ptCen)) + return false ; + // recupero la normale della regione + vtN = pSfr->GetNormVersor() ; + // gestione trasformazioni ( eventuali) + return TransformPoint( pGeomDB, nId, nRefId, ptCen) && TransformVector( pGeomDB, nId, nRefId, vtN) ; +} + //---------------------------------------------------------------------------- int ExeExtractSurfFrChunkLoops( int nId, int nChunk, int nDestGrpId, int* pnCount) diff --git a/EgtExecutor.rc b/EgtExecutor.rc index d07d2b7c87b67b5e631b8a31413dcafd84115376..b24ba1d56e930d3f7935621e1f83ed5942644763 100644 GIT binary patch delta 81 zcmX>#neo(Q#tpyN7>zdnW^-i*QjT29S-`yGOp`YVRxuh)cH~Ol+$UrM5m>XaK delta 81 zcmX>#neo(Q#tpyN7!5c7W^-i*QjT29S-`yGOp`YVRxuh*cH~Ol+$UrM5