From 7dd66ea22c70815aa41b052429deaf27422c534b Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Tue, 23 Jul 2019 13:53:36 +0000 Subject: [PATCH] EgtGeomKernel 2.1g3 : - in SurfTriMesh corretto costruttore di copia e funzione CopyFrom - in Polygon3d aggiunte funzioni Offset e Invert. --- EgtGeomKernel.rc | Bin 11710 -> 11710 bytes Polygon3d.cpp | 10 ++++++++++ SurfTriMesh.cpp | 18 ++++++++++-------- SurfTriMesh.h | 2 +- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index e0f7eb1bb7d67b2769587339da809e7182c0d701..2164376f7a9b27237908eef64eae38f0ade90d8b 100644 GIT binary patch delta 94 zcmdlNy)SyhFE&Qw&A-_cnHh~ID{|{@_Trkr0u;H;XNwSVW8B;$>;>dw2zN+>g;Df- LFmBFL4&ed-W11TR delta 94 zcmdlNy)SyhFE&P_&A-_cnHh~HD{|{@_Trkr0u;H;XNwSVW8B;$>;>dw2zN+>g;Df- LFmBFL4&ed-Vf-5U diff --git a/Polygon3d.cpp b/Polygon3d.cpp index 515ab78..997788b 100644 --- a/Polygon3d.cpp +++ b/Polygon3d.cpp @@ -15,6 +15,8 @@ #include "stdafx.h" #include "/EgtDev/Include/EgkPolygon3d.h" +using namespace std ; + //---------------------------------------------------------------------------- bool Polygon3d::Clear( void) @@ -313,3 +315,11 @@ Polygon3d::LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ptP.LocToLoc( frOri, frDest) ; return true ; } + +//---------------------------------------------------------------------------- +void +Polygon3d::Invert( void) +{ + reverse( m_vVert.begin(), m_vVert.end()) ; + m_Plane.Invert() ; +} diff --git a/SurfTriMesh.cpp b/SurfTriMesh.cpp index b82a7c2..e32e715 100644 --- a/SurfTriMesh.cpp +++ b/SurfTriMesh.cpp @@ -964,20 +964,22 @@ SurfTriMesh::CopyFrom( const SurfTriMesh& stmSrc) { if ( &stmSrc == this) return true ; - if ( ! Init( stmSrc.GetVertexSize(), stmSrc.GetTriangleSize())) + if ( ! Init( stmSrc.GetVertexSize(), stmSrc.GetTriangleSize(), stmSrc.GetFacetSize())) return false ; - m_vVert = stmSrc.m_vVert ; - m_vTria = stmSrc.m_vTria ; - m_bOriented = stmSrc.m_bOriented ; - m_bClosed = stmSrc.m_bClosed ; + m_nStatus = stmSrc.m_nStatus ; m_dLinTol = stmSrc.m_dLinTol ; + m_dBoundaryAng = stmSrc.m_dBoundaryAng ; + m_dCosBndAng = stmSrc.m_dCosBndAng ; m_dSmoothAng = stmSrc.m_dSmoothAng ; m_dCosSmAng = stmSrc.m_dCosSmAng ; - m_nStatus = stmSrc.m_nStatus ; + m_bOriented = stmSrc.m_bOriented ; + m_bClosed = stmSrc.m_bClosed ; + m_bFaceted = stmSrc.m_bFaceted ; + m_vVert = stmSrc.m_vVert ; + m_vTria = stmSrc.m_vTria ; + m_vFacet = stmSrc.m_vFacet ; m_nTimeStamp = stmSrc.m_nTimeStamp ; m_nTempProp = stmSrc.m_nTempProp ; - m_bFaceted = stmSrc.m_bFaceted ; - m_vFacet = stmSrc.m_vFacet ; m_nParts = stmSrc.m_nParts ; return true ; } diff --git a/SurfTriMesh.h b/SurfTriMesh.h index e0cb2a0..7e7e6a9 100644 --- a/SurfTriMesh.h +++ b/SurfTriMesh.h @@ -199,7 +199,7 @@ class SurfTriMesh : public ISurfTriMesh, public IGeoObjRW public : SurfTriMesh( void) ; - SurfTriMesh( const SurfTriMesh& stSrc) + SurfTriMesh( const SurfTriMesh& stSrc) : m_pHGrd3d( nullptr) { if ( ! CopyFrom( stSrc)) LOG_ERROR( GetEGkLogger(), "SurfTriMesh : copy constructor error") } SurfTriMesh& operator =( const SurfTriMesh& stSrc)