Include :

- aggiunti 3 attributi a Triangle3d.
This commit is contained in:
Dario Sassi
2018-01-19 08:57:09 +00:00
parent 222f265c9f
commit c4e34a1d64
+23 -8
View File
@@ -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] ;
} ;
//----------------------------------------------------------------------------