51cee0537d
- aggiornamenti.
46 lines
2.0 KiB
C++
46 lines
2.0 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : EgkVolZmap.h Data : 22.01.15 Versione : 1.6a4
|
|
// Contenuto : Dichiarazione della interfaccia IVolZmap.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 22.01.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkGeoObj.h"
|
|
#include "/EgtDev/Include/EGkPolyLine.h"
|
|
#include "/EgtDev/Include/EGkTriangle3d.h"
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
class __declspec( novtable) IVolZmap : public IGeoObj
|
|
{
|
|
public :
|
|
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
|
|
virtual bool CreateMap( const Point3d& ptO, double dPrec, double dLenX, double dLenY, double dLenZ) = 0 ;
|
|
virtual bool GetAllTriangles( TRIA3DLIST& lstTria) const = 0 ;
|
|
virtual bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const = 0 ;
|
|
} ;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
inline IVolZmap* CreateVolZmap( void)
|
|
{ return (static_cast<IVolZmap*>( CreateGeoObj( VOL_ZMAP))) ; }
|
|
inline IVolZmap* CloneVolZmap( const IGeoObj* pGObj)
|
|
{ if ( pGObj == nullptr || pGObj->GetType() != VOL_ZMAP)
|
|
return nullptr ;
|
|
return (static_cast<IVolZmap*>(pGObj->Clone())) ; }
|
|
inline const IVolZmap* GetVolZmap( const IGeoObj* pGObj)
|
|
{ if ( pGObj == nullptr || pGObj->GetType() != VOL_ZMAP)
|
|
return nullptr ;
|
|
return (static_cast<const IVolZmap*>(pGObj)) ; }
|
|
inline IVolZmap* GetVolZmap( IGeoObj* pGObj)
|
|
{ if ( pGObj == nullptr || pGObj->GetType() != VOL_ZMAP)
|
|
return nullptr ;
|
|
return (static_cast<IVolZmap*>(pGObj)) ; }
|