![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00008 #pragma once 00009 00010 #include <vrvOsgQt/vrvOsgQt.h> 00011 #include <vrvOsgQt/DtSceneGraphTreeWidgetInterface.h> 00012 #include <vrvCore/DtSubjectObserver.h> 00013 #include <osg/NodeCallback> 00014 00015 namespace osg 00016 { 00017 class Node; 00018 class Drawable; 00019 } 00020 00021 class QTreeWidgetItem; 00022 class QIcon; 00023 00024 namespace makVrv 00025 { 00026 00027 class DtDe; 00028 00031 class DT_DLL_VRVOSGQT DtSceneGraphTreeLogic 00032 { 00033 00034 public: 00037 static DtSceneGraphTreeLogic* create(DtDe& de, DtSceneGraphTreeWidgetInterface* iface); 00038 00040 virtual ~DtSceneGraphTreeLogic(); 00041 00043 virtual void clearAndTraverse(); 00044 00046 virtual bool iterateNode(QTreeWidgetItem* pParent, const osg::Node* pNode, bool bDrawIcon = true); 00047 00048 protected: 00049 00051 DtSceneGraphTreeLogic(DtDe& de, DtSceneGraphTreeWidgetInterface* iface); 00052 00053 private: 00054 00055 DtSceneGraphTreeLogic(); 00056 QIcon getNodeIcon(const osg::Node* pNode); 00057 QIcon getDrawableIcon(const osg::Drawable* drawable); 00058 00059 protected: 00060 00061 DtDe& myDe; 00062 DtSceneGraphTreeWidgetInterface* myWidgetInterface; 00063 00064 }; 00065 00066 } 00067