EgtGeomKernel :
- aggiunta funzione per richiedere Part e Shell cui appartiene una faccia.
This commit is contained in:
@@ -4415,6 +4415,35 @@ SurfTriMesh::ClonePart( int nPart) const
|
|||||||
return Release( pSurfTM) ;
|
return Release( pSurfTM) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool
|
||||||
|
SurfTriMesh::GetPartAndShellFromFacet( int nFacet, int& nPart, int& nShell) const
|
||||||
|
{
|
||||||
|
// l'indice della faccia deve essere nei limiti
|
||||||
|
if ( nFacet < 0 || nFacet >= int( m_vFacet.size()))
|
||||||
|
return false ;
|
||||||
|
|
||||||
|
// mi assicuro che siano calcolate il numero di parti e di shell
|
||||||
|
int nParts = GetPartCount() ;
|
||||||
|
|
||||||
|
int nTria = m_vFacet[nFacet] ;
|
||||||
|
nShell = m_vTria[nTria].nShell ;
|
||||||
|
|
||||||
|
// scopro in quale part è la shell
|
||||||
|
int nPartTemp = 0 ;
|
||||||
|
nPart = - 1 ;
|
||||||
|
while ( nPartTemp < nParts && nPart == - 1) {
|
||||||
|
for ( int i : m_vPart[nPartTemp].vShell) {
|
||||||
|
if ( i == nShell) {
|
||||||
|
nPart = nPartTemp ;
|
||||||
|
break ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
++nPartTemp ;
|
||||||
|
}
|
||||||
|
return true ;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
SurfTriMesh::ResetTFlags( void)
|
SurfTriMesh::ResetTFlags( void)
|
||||||
|
|||||||
@@ -347,6 +347,7 @@ class SurfTriMesh : public ISurfTriMesh, public IGeoObjRW
|
|||||||
bool GetPartVolume( int nPart, double& dVolume) const override ;
|
bool GetPartVolume( int nPart, double& dVolume) const override ;
|
||||||
bool GetPartLoops( int nPart, POLYLINEVECTOR& vPL) const override ;
|
bool GetPartLoops( int nPart, POLYLINEVECTOR& vPL) const override ;
|
||||||
SurfTriMesh* ClonePart( int nPart) const override ;
|
SurfTriMesh* ClonePart( int nPart) const override ;
|
||||||
|
bool GetPartAndShellFromFacet( int nFacet, int& nPart, int& nShell) const override ;
|
||||||
bool SetTFlag( int nId, int nTFlag) override ;
|
bool SetTFlag( int nId, int nTFlag) override ;
|
||||||
bool GetTFlag( int nId, int& nFlag) const override ;
|
bool GetTFlag( int nId, int& nFlag) const override ;
|
||||||
int GetMaxTFlag( void) const override
|
int GetMaxTFlag( void) const override
|
||||||
|
|||||||
Reference in New Issue
Block a user