/usr/include/choreonoid-1.1/cnoid/src/BodyPlugin/SceneWorld.h is in libcnoid-dev 1.1.0+dfsg-6.1+b4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | /**
@author Shin'ichiro Nakaoka
*/
#ifndef CNOID_BODYPLUGIN_SCENE_WORLD_H_INCLUDED
#define CNOID_BODYPLUGIN_SCENE_WORLD_H_INCLUDED
#include <map>
#include <iosfwd>
#include <boost/signals.hpp>
#include <cnoid/SceneObject>
#include "WorldItem.h"
#include "OsgCollision.h"
#include "exportdecl.h"
namespace cnoid {
class SceneView;
class ItemTreeView;
/**
The role of this class is the visualization of the WorldItem state.
The bodies contained in a world are visualized by the SceneBody class,
so that this class visualizes the remaining objects such as the collisions
between bodies.
*/
class CNOID_EXPORT SceneWorld : public SceneObject
{
public:
SceneWorld(WorldItemPtr worldItem);
protected:
virtual ~SceneWorld();
virtual void onAttachedToScene();
virtual void onDetachedFromScene();
private:
std::ostream& os;
WorldItemPtr worldItem;
osg::ref_ptr<OsgCollision> osgCollision;
boost::signals::connection connectionWithSigCollisionsUpdated;
void onCollisionsUpdated();
};
typedef osg::ref_ptr<SceneWorld> SceneWorldPtr;
class SceneWorldManager
{
public:
SceneWorldManager();
~SceneWorldManager();
private:
std::ostream& os;
typedef std::map<WorldItemPtr, SceneWorldPtr> SceneWorldMap;
SceneWorldMap sceneWorlds;
SceneView* sceneView;
ItemTreeView* itemTreeView;
void onItemAdded(Item* item);
void onWorldItemDetached(WorldItem* worldItem);
void onWorldItemCheckToggled(WorldItem* worldItem, bool isChecked);
void showSceneWorld(WorldItem* worldItem, bool show);
};
}
#endif
|