From c4e34a1d64e15ecfd7b66e7442a90490d2c85df7 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Fri, 19 Jan 2018 08:57:09 +0000 Subject: [PATCH] Include : - aggiunti 3 attributi a Triangle3d. --- EGkTriangle3d.h | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/EGkTriangle3d.h b/EGkTriangle3d.h index 54350e1..db8b752 100644 --- a/EGkTriangle3d.h +++ b/EGkTriangle3d.h @@ -24,21 +24,27 @@ class Triangle3d { public : Triangle3d( void) : m_nFlag( 0) - {} + { m_nAttr[0] = 0 ; m_nAttr[1] = 0 ; m_nAttr[2] = 0 ; } void Set( const Point3d& ptP0, const Point3d& ptP1, const Point3d& ptP2) { m_ptP[0] = ptP0 ; m_ptP[1] = ptP1 ; m_ptP[2] = ptP2 ; m_vtN.Set( 0, 0, 0) ; } void Set( const Point3d& ptP0, const Point3d& ptP1, const Point3d& ptP2, const Vector3d& vtV) { m_ptP[0] = ptP0 ; m_ptP[1] = ptP1 ; m_ptP[2] = ptP2 ; m_vtN = vtV ; } - bool SetP( int nId, const Point3d& ptV) - { if ( nId < 0 || nId >= 3) + bool SetP( int nInd, const Point3d& ptV) + { if ( nInd < 0 || nInd >= 3) return false ; - m_ptP[nId] = ptV ; + m_ptP[nInd] = ptV ; return true ; } bool SetFlag( int nFlag) { m_nFlag = nFlag ; return true ; } + bool SetAttrib( int nInd, int nVal) + { if ( nInd < 0 || nInd >= 3) + return false ; + m_nAttr[nInd] = nVal ; + return true ; + } bool Validate( bool bOverwrite = false) { if ( AreSamePointApprox( m_ptP[0], m_ptP[1]) || AreSamePointApprox( m_ptP[0], m_ptP[2])) return false ; @@ -98,16 +104,24 @@ class Triangle3d m_ptP[1].LocToLoc( frOri, frDest) && m_ptP[2].LocToLoc( frOri, frDest) && m_vtN.LocToLoc( frOri, frDest)) ; } - const Point3d& GetP( int nId) const - { if ( nId >= 0 && nId < 3) - return m_ptP[nId] ; - else if ( nId < 0) + const Point3d& GetP( int nInd) const + { if ( nInd >= 0 && nInd < 3) + return m_ptP[nInd] ; + else if ( nInd < 0) return m_ptP[0] ; else return m_ptP[2] ; } int GetFlag( void) const { return m_nFlag ; } + int GetAttrib( int nInd) const + { if ( nInd >= 0 && nInd < 3) + return m_nAttr[nInd] ; + else if ( nInd < 0) + return m_nAttr[0] ; + else + return m_nAttr[2] ; + } const Vector3d& GetN( void) const { return m_vtN ; } Point3d GetCentroid( void) const @@ -129,6 +143,7 @@ class Triangle3d Point3d m_ptP[3] ; Vector3d m_vtN ; int m_nFlag ; + int m_nAttr[3] ; } ; //----------------------------------------------------------------------------