Include :

- modifiche a interfaccia
- aggiunte funzioni per GDB.
This commit is contained in:
Dario Sassi
2014-03-14 18:41:00 +00:00
parent 256849cc70
commit 75c298a002
5 changed files with 127 additions and 7 deletions
+2
View File
@@ -39,6 +39,8 @@ class Color
{ Set( nRed, nGreen, nBlue, nAlpha) ; }
Color( double dRed, double dGreen, double dBlue, double dAlpha = 1)
{ Set( dRed, dGreen, dBlue, dAlpha) ; }
void Set( void)
{ m_Col[RED] = 0 ; m_Col[GREEN] = 0 ; m_Col[BLUE] = 0 ; m_Col[ALPHA] = MAX_ALPHA ; }
void Set( int nRed, int nGreen, int nBlue, int nAlpha = MAX_ALPHA)
{ m_Col[RED] = (( nRed < 0) ? 0 : (( nRed > MAX_RGB) ? MAX_RGB : nRed)) ;
m_Col[GREEN] = (( nGreen < 0) ? 0 : (( nGreen > MAX_RGB) ? MAX_RGB : nGreen)) ;
+25 -5
View File
@@ -14,12 +14,32 @@
#pragma once
//----------------- Costanti generali ----------------------------------------
//----------------- Costanti generali ------------------------------------------
const int GDB_ID_ROOT = 0 ;
const int GDB_ID_NULL = -1 ;
//----------------- Costanti tipo nodi del DB geometrico ----------------------
enum GdbType { GDB_NONE = 0,
GDB_GEO = 1,
GDB_GROUP = 2} ;
//----------------- Costanti tipo oggetti del DB geometrico --------------------
enum GdbType { GDB_TY_NONE = 0,
GDB_TY_GEO = 1,
GDB_TY_GROUP = 2} ;
//----------------- Costanti livello oggetti del DB geometrico -----------------
enum GdbLevel { GDB_LV_USER = 0,
GDB_LV_SYSTEM = 1,
GDB_LV_TEMP = 2} ;
//----------------- Costanti modo oggetti del DB geometrico --------------------
enum GdbMode { GDB_MD_STD = 0,
GDB_MD_LOCKED = 1,
GDB_MD_HIDDEN = 2} ;
//----------------- Costanti stato oggetti del DB geometrico -------------------
enum GdbStatus { GDB_ST_ON = 0,
GDB_ST_SEL = 1,
GDB_ST_OFF = 2} ;
//----------------- Costanti materiale oggetti del DB geometrico ---------------
enum GdbMaterial { GDB_MT_COLOR = -1,
GDB_MT_PARENT = 0} ;
// valori positivi indicano indici nella lista dei materiali (1 based)
+72
View File
@@ -0,0 +1,72 @@
//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : EgkGdbFunct.h Data : 13.03.14 Versione : 1.5c6
// Contenuto : Funzioni generali per DB geometrico.
//
//
//
// Modifiche : 13.03.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkGdbConst.h"
//----------------- Funzioni per livello di oggetti ----------------------------
// per combinare il livello del padre con il proprio
inline int
CalcLevel( int nObjLevel, int nParentLevel)
{
// se oggetto Temp tale rimane
if ( nObjLevel == GDB_LV_TEMP)
return GDB_LV_TEMP ;
// altrimenti può dipendere dal padre
return (( nParentLevel == GDB_LV_USER) ? nObjLevel : nParentLevel) ;
}
//----------------- Funzioni per modo di oggetti -------------------------------
// per combinare il modo del padre con il proprio
inline int
CalcMode( int nObjMode, int nParentMode)
{
// se oggetto HIDDEN tale rimane
if ( nObjMode == GDB_MD_HIDDEN)
return GDB_MD_HIDDEN ;
// altrimenti può dipendere dal padre
return (( nParentMode == GDB_MD_STD) ? nObjMode : nParentMode) ;
}
//----------------- Funzioni per stato di oggetti ------------------------------
// per combinare lo stato del padre con il proprio
inline int
CalcStatus( int nObjStat, int nParentStat)
{
// se oggetto OFF tale rimane
if ( nObjStat == GDB_ST_OFF)
return GDB_ST_OFF ;
// altrimenti può dipendere dal padre
return (( nParentStat == GDB_ST_ON) ? nObjStat : nParentStat) ;
}
//------------------------------------------------------------------------------
// per combinare lo stato con il modo
inline int
AdjustStatusWithMode( int nObjStat, int nObjMode)
{
// se oggetto OFF tale rimane
if ( nObjStat == GDB_ST_OFF)
return GDB_ST_OFF ;
// altrimenti può dipendere dal modo
switch ( nObjMode) {
default : /* GDB_MD_STD */ return nObjStat ;
case GDB_MD_LOCKED : return GDB_ST_ON ;
case GDB_MD_HIDDEN : return GDB_ST_OFF ;
}
}
+14 -1
View File
@@ -38,7 +38,7 @@ class __declspec( novtable) IGdbIterator
virtual bool GoToLastInGroup( const IGdbIterator& iIter) = 0 ;
virtual bool GoToPrev( void) = 0 ;
virtual GdbType GetGdbType( void) const = 0 ;
virtual int GetGdbType( void) const = 0 ;
virtual IGeoObj* GetGeoObj( void) = 0 ;
virtual IGeoFrame3d* GetGeoFrame( void) = 0 ;
virtual bool GetGroupFrame( Frame3d& frGlob) const = 0 ;
@@ -46,8 +46,21 @@ class __declspec( novtable) IGdbIterator
virtual int GetId( void) const = 0 ;
virtual int GetParentId( void) const = 0 ;
virtual bool GetGlobFrame( Frame3d& frGlob) const = 0 ;
virtual bool SetLevel( int nLevel) = 0 ;
virtual bool RevertLevel( void) = 0 ;
virtual bool GetLevel( int& nLevel) const = 0 ;
virtual bool GetCalcLevel( int& nLevel) const = 0 ;
virtual bool SetMode( int nMode) = 0 ;
virtual bool RevertMode( void) = 0 ;
virtual bool GetMode( int& nMode) const = 0 ;
virtual bool GetCalcMode( int& nMode) const = 0 ;
virtual bool SetStatus( int nStat) = 0 ;
virtual bool RevertStatus( void) = 0 ;
virtual bool GetStatus( int& nStat) const = 0 ;
virtual bool GetCalcStatus( int& nStat) const = 0 ;
virtual bool SetColor( Color cCol) = 0 ;
virtual bool GetColor( Color& cCol) const = 0 ;
virtual bool GetCalcColor( Color& cCol) const = 0 ;
virtual bool SetName( const std::string& sName) = 0 ;
virtual bool GetName( std::string& sName) const = 0 ;
virtual bool RemoveName( void) = 0 ;
+14 -1
View File
@@ -40,7 +40,7 @@ class __declspec( novtable) IGeomDB
virtual bool ExistsObj( int nId) const = 0 ;
virtual int AddGroup( int nId, int nParentId, const Frame3d& frFrame) = 0 ;
virtual int AddGeoObj( int nId, int nParentId, IGeoObj* pGeoObj) = 0 ;
virtual GdbType GetGdbType( int nId) const = 0 ;
virtual int GetGdbType( int nId) const = 0 ;
virtual IGeoObj* GetGeoObj( int nId) = 0 ;
virtual IGeoFrame3d* GetGeoFrame( int nId) = 0 ;
virtual bool GetGroupFrame( int nId, Frame3d& frGrp) const = 0 ;
@@ -65,10 +65,23 @@ class __declspec( novtable) IGeomDB
virtual bool Mirror( int nId, const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
virtual bool MirrorGlob( int nId, const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
virtual bool DumpAttributes( int nId, std::string& sOut, const char* szNewLine) const = 0 ;
virtual bool SetLevel( int nId, int nLevel) = 0 ;
virtual bool RevertLevel( int nId) = 0 ;
virtual bool GetLevel( int nId, int& nLevel) const = 0 ;
virtual bool GetCalcLevel( int nId, int& nLevel) const = 0 ;
virtual bool SetMode( int nId, int nMode) = 0 ;
virtual bool RevertMode( int nId) = 0 ;
virtual bool GetMode( int nId, int& nMode) const = 0 ;
virtual bool GetCalcMode( int nId, int& nMode) const = 0 ;
virtual bool SetStatus( int nId, int nStat) = 0 ;
virtual bool RevertStatus( int nId) = 0 ;
virtual bool GetStatus( int nId, int& nStat) const = 0 ;
virtual bool GetCalcStatus( int nId, int& nStat) const = 0 ;
virtual bool SetDefaultColor( Color cCol) = 0 ;
virtual bool GetDefaultColor( Color& cCol) const = 0 ;
virtual bool SetColor( int nId, Color cCol) = 0 ;
virtual bool GetColor( int nId, Color& cCol) const = 0 ;
virtual bool GetCalcColor( int nId, Color& cCol) const = 0 ;
virtual bool SetName( int nId, const std::string& sName) = 0 ;
virtual bool GetName( int nId, std::string& sName) const = 0 ;
virtual bool RemoveName( int nId) = 0 ;