diff --git a/EGkGdbConst.h b/EGkGdbConst.h index 3b53ef6..55864b7 100644 --- a/EGkGdbConst.h +++ b/EGkGdbConst.h @@ -42,4 +42,8 @@ enum GdbStatus { GDB_ST_ON = 0, //----------------- 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) \ No newline at end of file +// valori positivi indicano indici nella lista dei materiali (1 based) + +//----------------- Costanti flag di BBox -------------------------------------- +enum BBoxFlag { BBF_NONE = 0, + BBF_ONLY_VISIBLE = 1} ; diff --git a/EGkGdbIterator.h b/EGkGdbIterator.h index f5c6ddc..39c2afb 100644 --- a/EGkGdbIterator.h +++ b/EGkGdbIterator.h @@ -46,6 +46,9 @@ 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 GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_NONE) const = 0 ; + virtual bool GetGlobalBBox( BBox3d& b3Glob, int nFlag = BBF_NONE) const = 0 ; + virtual bool GetRefBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_NONE) const = 0 ; virtual bool SetLevel( int nLevel) = 0 ; virtual bool RevertLevel( void) = 0 ; virtual bool GetLevel( int& nLevel) const = 0 ; diff --git a/EGkGeomDB.h b/EGkGeomDB.h index f71f861..4aaabb6 100644 --- a/EGkGeomDB.h +++ b/EGkGeomDB.h @@ -48,9 +48,9 @@ class __declspec( novtable) IGeomDB virtual int GetGroupObjs( int nId) const = 0 ; virtual int GetParentId( int nId) const = 0 ; virtual bool GetGlobFrame( int nId, Frame3d& frGlob) const = 0 ; - virtual bool GetLocalBBox( int nId, BBox3d& b3Loc) const = 0 ; - virtual bool GetGlobalBBox( int nId, BBox3d& b3Glob) const = 0 ; - virtual bool GetRefBBox( int nId, const Frame3d& frRef, BBox3d& b3Ref) const = 0 ; + virtual bool GetLocalBBox( int nId, BBox3d& b3Loc, int nFlag = BBF_NONE) const = 0 ; + virtual bool GetGlobalBBox( int nId, BBox3d& b3Glob, int nFlag = BBF_NONE) const = 0 ; + virtual bool GetRefBBox( int nId, const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_NONE) const = 0 ; virtual int Copy( int nIdSou, int nIdDest, int nParentIdDest) = 0 ; virtual int CopyGlob( int nIdSou, int nIdDest, int nParentIdDest) = 0 ; virtual bool Erase( int nId) = 0 ;