Choreonoid  1.1
SceneWorld.h
[詳解]
1 
5 #ifndef CNOID_BODYPLUGIN_SCENE_WORLD_H_INCLUDED
6 #define CNOID_BODYPLUGIN_SCENE_WORLD_H_INCLUDED
7 
8 #include <map>
9 #include <iosfwd>
10 #include <boost/signals.hpp>
11 #include <cnoid/SceneObject>
12 #include "WorldItem.h"
13 #include "OsgCollision.h"
14 #include "exportdecl.h"
15 
16 namespace cnoid {
17 
18  class SceneView;
19  class ItemTreeView;
20 
27  class CNOID_EXPORT SceneWorld : public SceneObject
28  {
29  public:
30  SceneWorld(WorldItemPtr worldItem);
31 
32  protected:
33  virtual ~SceneWorld();
34 
35  virtual void onAttachedToScene();
36  virtual void onDetachedFromScene();
37 
38  private:
39  std::ostream& os;
40  WorldItemPtr worldItem;
41  osg::ref_ptr<OsgCollision> osgCollision;
42  boost::signals::connection connectionWithSigCollisionsUpdated;
43 
44  void onCollisionsUpdated();
45  };
46 
47  typedef osg::ref_ptr<SceneWorld> SceneWorldPtr;
48 
49 
51  {
52  public:
55 
56  private:
57  std::ostream& os;
58 
59  typedef std::map<WorldItemPtr, SceneWorldPtr> SceneWorldMap;
60  SceneWorldMap sceneWorlds;
61 
62  SceneView* sceneView;
63  ItemTreeView* itemTreeView;
64 
65  void onItemAdded(Item* item);
66  void onWorldItemDetached(WorldItem* worldItem);
67  void onWorldItemCheckToggled(WorldItem* worldItem, bool isChecked);
68  void showSceneWorld(WorldItem* worldItem, bool show);
69  };
70 }
71 
72 #endif
~SceneWorldManager()
Definition: SceneWorld.cpp:98
SceneWorldManager()
Definition: SceneWorld.cpp:83
Definition: SceneWorld.h:50
osg::ref_ptr< SceneWorld > SceneWorldPtr
Definition: SceneWorld.h:47
Definition: WorldItem.h:25
Definition: EasyScanner.h:16
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
boost::intrusive_ptr< WorldItem > WorldItemPtr
Definition: WorldItem.h:58
Definition: SceneWorld.h:27