Choreonoid  1.5
WorldItem.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_BODY_PLUGIN_WORLD_ITEM_H
7 #define CNOID_BODY_PLUGIN_WORLD_ITEM_H
8 
9 #include "BodyItem.h"
10 #include <cnoid/Item>
11 #include <cnoid/ItemList>
12 #include <cnoid/SceneProvider>
13 #include <cnoid/CollisionDetector>
14 #include "exportdecl.h"
15 
16 namespace cnoid {
17 
18 class WorldItemImpl;
19 
20 class CNOID_EXPORT WorldItem : public Item, public SceneProvider
21 {
22 public:
23  static void initializeClass(ExtensionManager* ext);
24 
25  WorldItem();
26  WorldItem(const WorldItem& org);
27  virtual ~WorldItem();
28 
29  const ItemList<BodyItem>& collisionBodyItems() const;
30 
31  bool selectCollisionDetector(const std::string& name);
32  CollisionDetectorPtr collisionDetector();
33  void enableCollisionDetection(bool on);
34  bool isCollisionDetectionEnabled();
35  void updateCollisionDetectorLater();
36  void updateCollisionDetector();
37  void updateCollisions();
38  std::vector<CollisionLinkPairPtr>& collisions() const;
39  SignalProxy<void()> sigCollisionsUpdated();
40 
41  virtual SgNode* getScene();
42 
43 protected:
44  virtual Item* doDuplicate() const;
45  virtual void doPutProperties(PutPropertyFunction& putProperty);
46  virtual bool store(Archive& archive);
47  virtual bool restore(const Archive& archive);
48 
49 private:
50  WorldItemImpl* impl;
51 };
52 
54 }
55 
56 #endif
57 
Definition: SceneProvider.h:16
Definition: SceneGraph.h:142
Definition: ItemList.h:14
Definition: Archive.h:21
boost::shared_ptr< CollisionDetector > CollisionDetectorPtr
Definition: CollisionDetector.h:23
Definition: ExtensionManager.h:26
ref_ptr< WorldItem > WorldItemPtr
Definition: WorldItem.h:53
Definition: PutPropertyFunction.h:35
Definition: Item.h:38
Definition: WorldItem.h:20
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: Signal.h:380