82a68d3a72
- aggiunti prototipi per creazione Regioni - aggiornamenti vari.
55 lines
2.5 KiB
C++
55 lines
2.5 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : EgkSurfFlatRegion.h Data : 05.08.15 Versione : 1.6h2
|
|
// Contenuto : Dichiarazione della interfaccia ISurfFlatRegion.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 05.08.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkSurf.h"
|
|
#include "/EgtDev/Include/EGkIntersCurves.h"
|
|
|
|
class ISurfTriMesh ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class __declspec( novtable) ISurfFlatRegion : public ISurf
|
|
{
|
|
public :
|
|
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
|
|
virtual bool Clear( void) ;
|
|
virtual bool AddExtLoop( const ICurve& cCrv) = 0 ;
|
|
virtual bool AddExtLoop( ICurve* pCrv) = 0 ;
|
|
virtual bool AddIntLoop( const ICurve& cCrv) = 0 ;
|
|
virtual bool AddIntLoop( ICurve* pCrv) = 0 ;
|
|
virtual const Vector3d& GetNormVersor( void) const = 0 ;
|
|
virtual int GetChunkCount( void) const = 0 ;
|
|
virtual int GetLoopCount( int nChunk) const = 0 ;
|
|
virtual ICurve* GetLoop( int nChunk, int nLoop) const = 0 ; // nChunk 0-based, nLoop 0-based (1°esterno, successivi interni)
|
|
virtual const ISurfTriMesh* GetAuxSurf( void) const = 0 ;
|
|
virtual ISurfFlatRegion* CloneChunk( int nChunk) const = 0 ;
|
|
virtual bool GetCurveClassification( const ICurve& Crv, CRVCVECTOR& ccClass) const = 0 ;
|
|
} ;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
inline ISurfFlatRegion* CreateSurfFlatRegion( void)
|
|
{ return (static_cast<ISurfFlatRegion*>( CreateGeoObj( SRF_FLATRGN))) ; }
|
|
inline ISurfFlatRegion* CloneSurfFlatRegion( const IGeoObj* pGObj)
|
|
{ if ( pGObj == nullptr || pGObj->GetType() != SRF_FLATRGN)
|
|
return nullptr ;
|
|
return (static_cast<ISurfFlatRegion*>(pGObj->Clone())) ; }
|
|
inline const ISurfFlatRegion* GetSurfFlatRegion( const IGeoObj* pGObj)
|
|
{ if ( pGObj == nullptr || pGObj->GetType() != SRF_FLATRGN)
|
|
return nullptr ;
|
|
return (static_cast<const ISurfFlatRegion*>(pGObj)) ; }
|
|
inline ISurfFlatRegion* GetSurfFlatRegion( IGeoObj* pGObj)
|
|
{ if ( pGObj == nullptr || pGObj->GetType() != SRF_FLATRGN)
|
|
return nullptr ;
|
|
return (static_cast<ISurfFlatRegion*>(pGObj)) ; }
|