751adda319
- aggiunto file con funzioni di base per numeri - aggiornamenti.
59 lines
3.0 KiB
C++
59 lines
3.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/EGkCurveComposite.h"
|
|
#include "/EgtDev/Include/EGkSurfFlatRegion.h"
|
|
#include "/EgtDev/Include/EGkSurfTriMesh.h"
|
|
#include "/EgtDev/Include/EGkTriangle3d.h"
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
class __declspec( novtable) IVolZmap : public IGeoObj
|
|
{
|
|
public :
|
|
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
|
|
virtual bool Create( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dPrec) = 0 ;
|
|
virtual bool CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, double dPrec) = 0 ;
|
|
virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dPrec) = 0 ;
|
|
virtual bool GetAllTriangles( TRIA3DLIST& lstTria) const = 0 ;
|
|
virtual bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const = 0 ;
|
|
virtual bool SetTolerances( double dLinTol, double dAngTolDeg = 90) = 0 ;
|
|
virtual bool SetStdTool( const std::string& pToolName, double dH, double dR, double dCornR) = 0 ;
|
|
virtual bool SetAdvTool( const std::string& sToolName,
|
|
double dH, double dR, double dTipH, double dTipR, double dCornR) = 0 ;
|
|
virtual bool SetGenTool( const std::string& sToolName, const ICurveComposite* pToolOutline) = 0 ;
|
|
virtual bool MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Point3d& ptPe, const Vector3d& vtDe) = 0 ;
|
|
virtual bool GetDepth( const Point3d& ptP, const Vector3d& vtDir, double& dInLength, double& dOutLength) = 0 ;
|
|
virtual bool AvoidBox( const Frame3d& frBox, const Vector3d& vtDiag) = 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)) ; }
|