Files
Include/EGkVolZmap.h
T
Dario Sassi 51cee0537d Include :
- aggiornamenti.
2016-02-01 07:43:22 +00:00

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)) ; }