From 997c65781fc752677c0ec3eaa6ae4432470a6ca5 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Sat, 15 Feb 2014 15:45:17 +0000 Subject: [PATCH] EgtGeomKernel 1.5b4 : - aggiunta gestione IObjGraphics in classi derivate da IGeoObj - piccola modifica a GdbIterator. --- CurveArc.h | 2 ++ CurveBezier.h | 2 ++ CurveComposite.h | 2 ++ CurveLine.h | 2 ++ EgtGeomKernel.rc | Bin 11710 -> 11710 bytes GdbIterator.cpp | 24 +++++++++++++++++++++--- GdbIterator.h | 3 ++- GeoFrame3d.h | 2 ++ GeoPoint3d.h | 2 ++ GeoVector3d.h | 2 ++ ObjGraphicsMgr.h | 2 ++ 11 files changed, 39 insertions(+), 4 deletions(-) diff --git a/CurveArc.h b/CurveArc.h index 4120921..beb4920 100644 --- a/CurveArc.h +++ b/CurveArc.h @@ -44,6 +44,8 @@ class CurveArc : public ICurveArc { m_OGrMgr.SetObjGraphics( pOGr) ; } virtual IObjGraphics* GetObjGraphics( void) { return m_OGrMgr.GetObjGraphics() ; } + virtual const IObjGraphics* GetObjGraphics( void) const + { return m_OGrMgr.GetObjGraphics() ; } public : // ICurve virtual bool IsSimple( void) const { return true ; } diff --git a/CurveBezier.h b/CurveBezier.h index 71dca2e..af1478b 100644 --- a/CurveBezier.h +++ b/CurveBezier.h @@ -46,6 +46,8 @@ class CurveBezier : public ICurveBezier { m_OGrMgr.SetObjGraphics( pOGr) ; } virtual IObjGraphics* GetObjGraphics( void) { return m_OGrMgr.GetObjGraphics() ; } + virtual const IObjGraphics* GetObjGraphics( void) const + { return m_OGrMgr.GetObjGraphics() ; } public : // ICurve virtual bool IsSimple( void) const { return true ; } diff --git a/CurveComposite.h b/CurveComposite.h index af974a2..c281179 100644 --- a/CurveComposite.h +++ b/CurveComposite.h @@ -48,6 +48,8 @@ class CurveComposite : public ICurveComposite { m_OGrMgr.SetObjGraphics( pOGr) ; } virtual IObjGraphics* GetObjGraphics( void) { return m_OGrMgr.GetObjGraphics() ; } + virtual const IObjGraphics* GetObjGraphics( void) const + { return m_OGrMgr.GetObjGraphics() ; } public : // ICurve virtual bool IsSimple( void) const { return false ; } diff --git a/CurveLine.h b/CurveLine.h index 668659d..a34f7a8 100644 --- a/CurveLine.h +++ b/CurveLine.h @@ -44,6 +44,8 @@ class CurveLine : public ICurveLine { m_OGrMgr.SetObjGraphics( pOGr) ; } virtual IObjGraphics* GetObjGraphics( void) { return m_OGrMgr.GetObjGraphics() ; } + virtual const IObjGraphics* GetObjGraphics( void) const + { return m_OGrMgr.GetObjGraphics() ; } public : // ICurve virtual bool IsSimple( void) const { return true ; } diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index 3737933c27da6d50070028b481d1c9fb4d68bffa..dd27193d7a9d62795716f45b53ad4122cf9db127 100644 GIT binary patch delta 81 zcmdlNy)SyhH#SC-&FAG5nSsm_gfrFrame.m_frF) ; + return &( pGdbGroup->m_gfrFrame) ; +} + +//---------------------------------------------------------------------------- +bool +GdbIterator::GetGroupFrame( Frame3d& frGlob) +{ + GdbGroup* pGdbGroup ; + + + if ( m_pGDB == nullptr || m_pCurrNode == nullptr) + return false ; + + if ( ( pGdbGroup = GetGdbGroup( m_pCurrNode)) == nullptr) + return false ; + + // copio il riferimento + frGlob = pGdbGroup->m_gfrFrame.m_frF ; + return true ; } //---------------------------------------------------------------------------- diff --git a/GdbIterator.h b/GdbIterator.h index e9ae60f..731c8a3 100644 --- a/GdbIterator.h +++ b/GdbIterator.h @@ -31,7 +31,8 @@ class GdbIterator : public IGdbIterator virtual GdbType GetGdbType( void) const ; virtual IGeoObj* GetGeoObj( void) ; - virtual Frame3d* GetGroupFrame( void) ; + virtual IGeoFrame3d* GetGeoFrame( void) ; + virtual bool GetGroupFrame( Frame3d& frGlob) ; virtual bool GetGroupGlobFrame( Frame3d& frGlob) ; virtual int GetId( void) ; virtual int GetParentId( void) ; diff --git a/GeoFrame3d.h b/GeoFrame3d.h index 7e0d2be..51a7da3 100644 --- a/GeoFrame3d.h +++ b/GeoFrame3d.h @@ -50,6 +50,8 @@ class GeoFrame3d : public IGeoFrame3d { m_OGrMgr.SetObjGraphics( pOGr) ; } virtual IObjGraphics* GetObjGraphics( void) { return m_OGrMgr.GetObjGraphics() ; } + virtual const IObjGraphics* GetObjGraphics( void) const + { return m_OGrMgr.GetObjGraphics() ; } public : // IGeoFrame3d virtual bool Set( const Point3d& ptOrig, const Vector3d& vtDirX, diff --git a/GeoPoint3d.h b/GeoPoint3d.h index dd5d696..f5caed6 100644 --- a/GeoPoint3d.h +++ b/GeoPoint3d.h @@ -50,6 +50,8 @@ class GeoPoint3d : public IGeoPoint3d { m_OGrMgr.SetObjGraphics( pOGr) ; } virtual IObjGraphics* GetObjGraphics( void) { return m_OGrMgr.GetObjGraphics() ; } + virtual const IObjGraphics* GetObjGraphics( void) const + { return m_OGrMgr.GetObjGraphics() ; } public : virtual bool Set( const Point3d& ptP) ; diff --git a/GeoVector3d.h b/GeoVector3d.h index 1f77b23..1cbbf9a 100644 --- a/GeoVector3d.h +++ b/GeoVector3d.h @@ -50,6 +50,8 @@ class GeoVector3d : public IGeoVector3d { m_OGrMgr.SetObjGraphics( pOGr) ; } virtual IObjGraphics* GetObjGraphics( void) { return m_OGrMgr.GetObjGraphics() ; } + virtual const IObjGraphics* GetObjGraphics( void) const + { return m_OGrMgr.GetObjGraphics() ; } public : virtual bool Set( const Vector3d& vtV) ; diff --git a/ObjGraphicsMgr.h b/ObjGraphicsMgr.h index 27d0813..2bbecb1 100644 --- a/ObjGraphicsMgr.h +++ b/ObjGraphicsMgr.h @@ -31,6 +31,8 @@ class ObjGraphicsMgr m_pOGr = pOGr ; } IObjGraphics* GetObjGraphics( void) { return m_pOGr ; } + const IObjGraphics* GetObjGraphics( void) const + { return m_pOGr ; } void Invalidate( void) { if ( m_pOGr != nullptr) m_pOGr->Invalidate() ; }