EgtGeomKernel :
- aggiunte funzioni per verifica collisione tra Box, Cilindro e Sfera con Superfici triMesh chiuse - aggiunta costruzione di Polygon3d da triangolo.
This commit is contained in:
+20
-1
@@ -53,6 +53,25 @@ Polygon3d::FromRectangle( double dDimX, double dDimY)
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Polygon3d::FromTriangle( const Triangle3d& trTria)
|
||||
{
|
||||
// annullo il piano del poligono
|
||||
m_Plane.Reset() ;
|
||||
// verifico che il triangolo sia valido
|
||||
if ( ! trTria.IsValid())
|
||||
return false ;
|
||||
// assegno il piano
|
||||
m_Plane.Set( trTria.GetP( 0), trTria.GetN()) ;
|
||||
// assegno i punti
|
||||
m_vVert.emplace_back( trTria.GetP( 0)) ;
|
||||
m_vVert.emplace_back( trTria.GetP( 1)) ;
|
||||
m_vVert.emplace_back( trTria.GetP( 2)) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Polygon3d::FromPolyLine( const PolyLine& PL)
|
||||
@@ -152,7 +171,7 @@ Polygon3d::Trim( const Plane3d& plPlane, bool bInVsOut, bool bOnEq)
|
||||
// determino se normali equiverse
|
||||
bool bEquivNormal = ( m_Plane.GetVersN() * plPlane.GetVersN() > 0) ;
|
||||
// se relazione tra normali opposta al desiderato, lo annullo
|
||||
if ( bOnEq != bEquivNormal)
|
||||
if ( bOnEq != bEquivNormal)
|
||||
m_vVert.clear() ;
|
||||
return true ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user