EgtGeomKernel :
- aggiunta SurfFlatRegion::ApproxLoopWithLines.
This commit is contained in:
@@ -968,6 +968,22 @@ SurfFlatRegion::GetLoop( int nChunk, int nLoop) const
|
||||
return pCrv ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
SurfFlatRegion::ApproxLoopWithLines( int nChunk, int nLoop, double dLinTol, double dAngTolDeg, int nType, PolyLine& PL) const
|
||||
{
|
||||
// recupero il loop nel riferimento intrinseco
|
||||
const ICurve* pMyCrv = GetMyLoop( nChunk, nLoop) ;
|
||||
if ( pMyCrv == nullptr)
|
||||
return false ;
|
||||
// ne creo una approssimazione
|
||||
if ( ! pMyCrv->ApproxWithLines( dLinTol, dAngTolDeg, nType, PL))
|
||||
return false ;
|
||||
// la porto nel riferimento in cui è inserito l'oggetto
|
||||
PL.ToGlob( m_frF) ;
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const ISurfTriMesh*
|
||||
SurfFlatRegion::GetAuxSurf( void) const
|
||||
|
||||
@@ -84,6 +84,7 @@ class SurfFlatRegion : public ISurfFlatRegion, public IGeoObjRW
|
||||
int GetChunkCount( void) const override ;
|
||||
int GetLoopCount( int nChunk) const override ;
|
||||
ICurve* GetLoop( int nChunk, int nLoop) const override ; // nChunk 0-based, nLoop 0-based (1°esterno, successivi interni)
|
||||
bool ApproxLoopWithLines( int nChunk, int nLoop, double dLinTol, double dAngTolDeg, int nType, PolyLine& PL) const override ;
|
||||
const ISurfTriMesh* GetAuxSurf( void) const override ;
|
||||
SurfFlatRegion* CloneChunk( int nChunk) const override ;
|
||||
bool GetChunkCentroid( int nChunk, Point3d& ptCen) const override ;
|
||||
|
||||
Reference in New Issue
Block a user