diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index e0f7eb1..2164376 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ 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)