Include :
- aggiunte prime interfacce per EgtGraphics ; - aggiunta interfaccia IObjGraphics per oggetti IGeoObj.
This commit is contained in:
+16
-8
@@ -46,14 +46,22 @@ class EGK_EXPORT Frame3d
|
||||
bool Invert( void) ;
|
||||
bool ToGlob( const Frame3d& frRef) ;
|
||||
bool ToLoc( const Frame3d& frRef) ;
|
||||
const Frame3d& operator*=( const Frame3d& frRef) { this->ToGlob( frRef) ; return *this ;}
|
||||
const Frame3d& operator/=( const Frame3d& frRef) { this->ToLoc( frRef) ; return *this ;}
|
||||
int GetType( void) const { return m_nType ;}
|
||||
int GetZType( void) const { return m_nZType ;}
|
||||
const Point3d& Orig( void) const { return m_ptOrig ;}
|
||||
const Vector3d& VersX( void) const { return m_vtVersX ;}
|
||||
const Vector3d& VersY( void) const { return m_vtVersY ;}
|
||||
const Vector3d& VersZ( void) const { return m_vtVersZ ;}
|
||||
const Frame3d& operator*=( const Frame3d& frRef)
|
||||
{ this->ToGlob( frRef) ; return *this ;}
|
||||
const Frame3d& operator/=( const Frame3d& frRef)
|
||||
{ this->ToLoc( frRef) ; return *this ;}
|
||||
int GetType( void) const
|
||||
{ return m_nType ;}
|
||||
int GetZType( void) const
|
||||
{ return m_nZType ;}
|
||||
const Point3d& Orig( void) const
|
||||
{ return m_ptOrig ;}
|
||||
const Vector3d& VersX( void) const
|
||||
{ return m_vtVersX ;}
|
||||
const Vector3d& VersY( void) const
|
||||
{ return m_vtVersY ;}
|
||||
const Vector3d& VersZ( void) const
|
||||
{ return m_vtVersZ ;}
|
||||
bool GetRotationsCAC1( double& dAngC, double& dAngA, double& dAngC1) const ;
|
||||
|
||||
private :
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "/EgtDev/Include/EGkFrame3d.h"
|
||||
#include "/EgtDev/Include/EGkBBox3d.h"
|
||||
#include "/EgtDev/Include/EGkGeoObjType.h"
|
||||
#include "/EgtDev/Include/EGkObjGraphics.h"
|
||||
#include <string>
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
@@ -48,6 +49,8 @@ class __declspec( novtable) IGeoObj
|
||||
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
|
||||
virtual bool ToGlob( const Frame3d& frRef) = 0 ;
|
||||
virtual bool ToLoc( const Frame3d& frRef) = 0 ;
|
||||
virtual void SetObjGraphics( IObjGraphics* pOGr) ;
|
||||
virtual IObjGraphics* GetObjGraphics( void) ;
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
+3
-1
@@ -14,6 +14,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "/EgtDev/Include/EGkGdbConst.h"
|
||||
#include "/EgtDev/Include/EGkGeoFrame3d.h"
|
||||
#include "/EgtDev/Include/EGkGeoObj.h"
|
||||
#include "/EgtDev/Include/EGtILogger.h"
|
||||
#include <string>
|
||||
@@ -40,7 +41,8 @@ class __declspec( novtable) IGeomDB
|
||||
virtual int AddGeoObj( int nId, int nParentId, IGeoObj* pGeoObj) = 0 ;
|
||||
virtual GdbType GetGdbType( int nId) const = 0 ;
|
||||
virtual IGeoObj* GetGeoObj( int nId) = 0 ;
|
||||
virtual Frame3d* GetGroupFrame( int nId) = 0 ;
|
||||
virtual IGeoFrame3d* GetGeoFrame( int nId) = 0 ;
|
||||
virtual bool GetGroupFrame( int nId, Frame3d& frGlob) = 0 ;
|
||||
virtual bool GetGroupGlobFrame( int nId, Frame3d& frGlob) = 0 ;
|
||||
virtual int GetParentId( int nId) = 0 ;
|
||||
virtual bool GetGlobFrame( int nId, Frame3d& frGlob) = 0 ;
|
||||
|
||||
@@ -40,6 +40,10 @@ class EGK_EXPORT Point3d
|
||||
return *this ; }
|
||||
|
||||
public :
|
||||
bool IsSmall( void) const
|
||||
{ return ( ( x * x + y * y + z * z) < ( EPS_SMALL * EPS_SMALL)) ; }
|
||||
bool IsZero( void) const
|
||||
{ return ( ( x * x + y * y + z * z) < ( EPS_ZERO * EPS_ZERO)) ; }
|
||||
const Point3d& operator +=( const Vector3d& vtV)
|
||||
{ this->x += vtV.x ; this->y += vtV.y ; this->z += vtV.z ; return *this ; }
|
||||
const Point3d& operator -=( const Vector3d& vtV)
|
||||
|
||||
+38
-31
@@ -16,42 +16,49 @@
|
||||
#include "/EgtDev/Include/EGkPoint3d.h"
|
||||
#include "/EgtDev/Include/EGkGeoCollection.h"
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
#undef EGK_EXPORT
|
||||
#if defined( I_AM_EGK) // da definirsi solo nella DLL
|
||||
#define EGK_EXPORT __declspec( dllexport)
|
||||
#else
|
||||
#define EGK_EXPORT __declspec( dllimport)
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class PolyLine
|
||||
{
|
||||
public :
|
||||
PolyLine( void) ;
|
||||
~PolyLine( void) ;
|
||||
bool AddUPoint( double dPar, const Point3d& ptP) ;
|
||||
bool EraseFirstUPoint( void) ;
|
||||
bool AddOffsetToU( double dOffset) ;
|
||||
bool Splice( PolyLine& PL) ;
|
||||
int GetPointNbr( void) const
|
||||
{ return m_nCount ; }
|
||||
bool GetFirstUPoint( double* pdPar, Point3d* pptP) const ;
|
||||
bool GetNextUPoint( double* pdPar, Point3d* pptP) const ;
|
||||
bool GetFirstU( double& dPar) const
|
||||
{ return GetFirstUPoint( &dPar, nullptr) ; }
|
||||
bool GetNextU( double& dPar) const
|
||||
{ return GetNextUPoint( &dPar, nullptr) ; }
|
||||
bool GetFirstPoint( Point3d& ptP) const
|
||||
{ return GetFirstUPoint( nullptr, &ptP) ; }
|
||||
bool GetNextPoint( Point3d& ptP) const
|
||||
{ return GetNextUPoint( nullptr, &ptP) ; }
|
||||
bool GetLastUPoint( double* pdPar, Point3d* pptP) const ;
|
||||
bool GetLastU( double& dPar)
|
||||
{ return GetLastUPoint( &dPar, nullptr) ; }
|
||||
bool GetLastPoint( Point3d& ptP)
|
||||
{ return GetLastUPoint( nullptr, &ptP) ; }
|
||||
int GetLineNbr( void) const
|
||||
{ return ( m_nCount > 1 ? ( m_nCount - 1) : 0) ; }
|
||||
bool GetFirstULine( double* pdIni, Point3d* pptIni, double* pdFin, Point3d* pptFin) const ;
|
||||
bool GetNextULine( double* pdIni, Point3d* pptIni, double* pdFin, Point3d* pptFin) const ;
|
||||
bool GetFirstLine( Point3d& ptIni, Point3d& ptFin) const
|
||||
{ return GetFirstULine( nullptr, &ptIni, nullptr, &ptFin) ; }
|
||||
bool GetNextLine( Point3d& ptIni, Point3d& ptFin) const
|
||||
{ return GetNextULine( nullptr, &ptIni, nullptr, &ptFin) ; }
|
||||
EGK_EXPORT PolyLine( void) ;
|
||||
EGK_EXPORT ~PolyLine( void) ;
|
||||
EGK_EXPORT bool AddUPoint( double dPar, const Point3d& ptP) ;
|
||||
EGK_EXPORT bool EraseFirstUPoint( void) ;
|
||||
EGK_EXPORT bool AddOffsetToU( double dOffset) ;
|
||||
EGK_EXPORT bool Splice( PolyLine& PL) ;
|
||||
EGK_EXPORT int GetPointNbr( void) const
|
||||
{ return m_nCount ; }
|
||||
EGK_EXPORT bool GetFirstUPoint( double* pdPar, Point3d* pptP) const ;
|
||||
EGK_EXPORT bool GetNextUPoint( double* pdPar, Point3d* pptP) const ;
|
||||
EGK_EXPORT bool GetFirstU( double& dPar) const
|
||||
{ return GetFirstUPoint( &dPar, nullptr) ; }
|
||||
EGK_EXPORT bool GetNextU( double& dPar) const
|
||||
{ return GetNextUPoint( &dPar, nullptr) ; }
|
||||
EGK_EXPORT bool GetFirstPoint( Point3d& ptP) const
|
||||
{ return GetFirstUPoint( nullptr, &ptP) ; }
|
||||
EGK_EXPORT bool GetNextPoint( Point3d& ptP) const
|
||||
{ return GetNextUPoint( nullptr, &ptP) ; }
|
||||
EGK_EXPORT bool GetLastUPoint( double* pdPar, Point3d* pptP) const ;
|
||||
EGK_EXPORT bool GetLastU( double& dPar)
|
||||
{ return GetLastUPoint( &dPar, nullptr) ; }
|
||||
EGK_EXPORT bool GetLastPoint( Point3d& ptP)
|
||||
{ return GetLastUPoint( nullptr, &ptP) ; }
|
||||
EGK_EXPORT int GetLineNbr( void) const
|
||||
{ return ( m_nCount > 1 ? ( m_nCount - 1) : 0) ; }
|
||||
EGK_EXPORT bool GetFirstULine( double* pdIni, Point3d* pptIni, double* pdFin, Point3d* pptFin) const ;
|
||||
EGK_EXPORT bool GetNextULine( double* pdIni, Point3d* pptIni, double* pdFin, Point3d* pptFin) const ;
|
||||
EGK_EXPORT bool GetFirstLine( Point3d& ptIni, Point3d& ptFin) const
|
||||
{ return GetFirstULine( nullptr, &ptIni, nullptr, &ptFin) ; }
|
||||
EGK_EXPORT bool GetNextLine( Point3d& ptIni, Point3d& ptFin) const
|
||||
{ return GetNextULine( nullptr, &ptIni, nullptr, &ptFin) ; }
|
||||
|
||||
private :
|
||||
int m_nCount ;
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2014
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EgrDllMain.h Data : 13.02.14 Versione : 1.5b1
|
||||
// Contenuto : Prototipi funzioni generali della DLL.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 13.02.14 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
#undef EGR_EXPORT
|
||||
#if defined( I_AM_EGR) // da definirsi solo nella DLL
|
||||
#define EGR_EXPORT __declspec( dllexport)
|
||||
#else
|
||||
#define EGR_EXPORT __declspec( dllimport)
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
EGR_EXPORT const char* GetEGrVersion( void) ;
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2013-2014
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGrScene.h Data : 13.02.14 Versione : 1.5b1
|
||||
// Contenuto : Dichiarazione della interfaccia IEGrScene per scena OpenGL.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 13.02.14 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
#include "/EgtDev/Include/EGkPoint3d.h"
|
||||
#include "/EgtDev/Include/EGkBBox3d.h"
|
||||
#include <string>
|
||||
#include <windows.h>
|
||||
|
||||
class IGeomDB ;
|
||||
class ILogger ;
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
#undef EGR_EXPORT
|
||||
#if defined( I_AM_EGR) // da definirsi solo nella DLL
|
||||
#define EGR_EXPORT __declspec( dllexport)
|
||||
#else
|
||||
#define EGR_EXPORT __declspec( dllimport)
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class IEGrScene
|
||||
{
|
||||
public :
|
||||
// Basic
|
||||
virtual ~IEGrScene( void) {}
|
||||
virtual bool Init( IGeomDB* pGeomDB, ILogger* pLogger) = 0 ;
|
||||
virtual bool CreateContext( HDC hDC, int nDriver, bool b2Buff, int nColorBits, int nDepthBits) = 0 ;
|
||||
virtual bool IsValid( void) = 0 ;
|
||||
virtual std::string GetOpenGLInfo( void) = 0 ;
|
||||
virtual std::string GetGLSLInfo( void) = 0 ;
|
||||
virtual std::string GetPixelFormatInfo( void) = 0 ;
|
||||
virtual bool Reshape( int nW, int nH) = 0 ;
|
||||
virtual bool SetExtension( const BBox3d& b3Ext) = 0 ;
|
||||
virtual bool Prepare( void) = 0 ;
|
||||
virtual bool Draw( void) = 0 ;
|
||||
virtual bool Project( const Point3d& ptWorld, Point3d& ptView) = 0 ;
|
||||
virtual bool UnProject( const Point3d& ptView, Point3d& ptWorld) = 0 ;
|
||||
virtual void Destroy( void) = 0 ;
|
||||
// Camera
|
||||
virtual bool SetCenter( const Point3d& ptCenter) = 0 ;
|
||||
virtual bool SetCamera( double dAngVertDeg, double dAngOrizzDeg, double dDist) = 0 ;
|
||||
virtual bool SetCamera( int nDir, double dDist = 0) = 0 ;
|
||||
virtual const Point3d& GetCenter( void) = 0 ;
|
||||
virtual Point3d GetProjectedCenter( void) = 0 ;
|
||||
virtual void GetCamera( double* pdAngVertDeg, double* pdAngOrizzDeg, double* pdDist = nullptr) = 0 ;
|
||||
virtual int GetCameraDir( void) = 0 ;
|
||||
virtual bool PanCamera( const Point3d& ptWinOld, const Point3d& ptWinNew) = 0 ;
|
||||
virtual bool RotateCamera( const Point3d& ptWinOld, const Point3d& ptWinNew) = 0 ;
|
||||
virtual bool ZoomAll( void) = 0 ;
|
||||
virtual bool ZoomChange( double dCoeff) = 0 ;
|
||||
virtual bool ZoomOnPoint( const Point3d& ptWin, double dCoeff) = 0 ;
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
EGR_EXPORT IEGrScene* CreateEGrScene( void) ;
|
||||
|
||||
|
||||
//------------------------ Costanti per tipo di driver OpenGL ----------------
|
||||
enum OglDriver { OD_SOFT = 1,
|
||||
OD_OLD = 2,
|
||||
OD_NEW = 3} ;
|
||||
//------------------------ Costanti per direzione Camera ---------------------
|
||||
enum CameraDir { CT_NONE = 0,
|
||||
CT_TOP = 1,
|
||||
CT_FRONT = 2,
|
||||
CT_RIGHT = 3,
|
||||
CT_BACK = 4,
|
||||
CT_LEFT = 5,
|
||||
CT_BOTTOM = 6,
|
||||
CT_ISO_SW = 7,
|
||||
CT_ISO_SE = 8,
|
||||
CT_ISO_NE = 9,
|
||||
CT_ISO_NW = 10} ;
|
||||
@@ -0,0 +1,23 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2014
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EgkObjGraphics.h Data : 11.02.14 Versione : 1.5b2
|
||||
// Contenuto : Dichiarazione della interfaccia IObjGraphics.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 11.02.14 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class __declspec( novtable) IObjGraphics
|
||||
{
|
||||
public :
|
||||
~IObjGraphics( void) {}
|
||||
virtual void Invalidate( void) = 0 ;
|
||||
} ;
|
||||
Reference in New Issue
Block a user