5 #ifndef CNOID_BODY_SCENE_DEVICE_H 6 #define CNOID_BODY_SCENE_DEVICE_H 8 #include <cnoid/SceneGraph> 9 #include <boost/function.hpp> 27 template<
class DeviceType>
29 registerSceneDeviceFactory_(&
typeid(DeviceType), factory);
37 template <
class DeviceType> DeviceType*
device() {
38 return static_cast<DeviceType*
>(device_);
40 template <
class DeviceType>
const DeviceType*
device()
const {
41 return static_cast<DeviceType*
>(device_);
46 void setSceneUpdateFunction(boost::function<
void()>
function);
47 void updateScene() {
if(sceneUpdateFunction) sceneUpdateFunction(); }
48 void setSceneUpdateConnection(
bool on);
56 boost::function<void()> sceneUpdateFunction;
59 static void registerSceneDeviceFactory_(
const std::type_info* pTypeInfo,
const SceneDeviceFactory& factory);
boost::function< SceneDevice *(Device *device)> SceneDeviceFactory
Definition: SceneDevice.h:26
Definition: SceneGraph.h:142
static void registerSceneDeviceFactory(const SceneDeviceFactory &factory)
Definition: SceneDevice.h:28
const Device * device() const
Definition: SceneDevice.h:44
Definition: Referenced.h:128
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Definition: SceneDevice.h:23
DeviceType * device()
Definition: SceneDevice.h:37
Definition: SceneGraph.h:279
ref_ptr< SceneDevice > SceneDevicePtr
Definition: SceneDevice.h:62
Definition: SceneDevice.h:20
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
void updateScene()
Definition: SceneDevice.h:47
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
const DeviceType * device() const
Definition: SceneDevice.h:40
Device * device()
Definition: SceneDevice.h:43