3 #ifndef __SCENE_RECONSTRUCTION_HPP__
4 #define __SCENE_RECONSTRUCTION_HPP__
9 #include <yarp/os/RpcServer.h>
10 #include <yarp/os/RFModule.h>
12 #include <yarp/dev/IRGBDSensor.h>
13 #include <yarp/dev/PolyDriver.h>
15 #include "KinectFusion.hpp"
16 #include "SceneReconstructionIDL.h"
24 enum class update_result { ACQUISITION_FAILED, KINFU_FAILED, SUCCESS };
29 virtual std::string getPortName()
const = 0;
30 virtual bool openPort(
const std::string & name) = 0;
31 virtual void interruptPort() = 0;
32 virtual void closePort() = 0;
33 virtual update_result update() = 0;
37 yarp::dev::IRGBDSensor * sensor;
46 public SceneReconstructionIDL
52 bool configure(yarp::os::ResourceFinder & rf)
override;
54 double getPeriod()
override
57 bool updateModule()
override;
59 bool interruptModule()
override;
61 bool close()
override;
63 bool pause()
override;
65 bool resume()
override;
67 bool reset()
override;
69 return_pose getPose()
override;
71 return_points getPoints()
override;
73 return_points_with_normals getPointsWithNormals()
override;
77 std::atomic_bool isRunning {
false};
78 std::unique_ptr<KinectFusion> kinfu {
nullptr};
80 yarp::dev::PolyDriver cameraDriver;
81 yarp::dev::IRGBDSensor * iRGBDSensor {
nullptr};
83 std::unique_ptr<RenderUpdater> renderUpdater {
nullptr};
84 yarp::os::RpcServer rpcServer;
Definition: KinectFusion.hpp:18
Definition: SceneReconstruction.hpp:22
Exposes Kinect Fusion as a YARP service via RPC.
Definition: SceneReconstruction.hpp:47
The main, catch-all namespace for Robotics Lab UC3M.
Definition: groups.dox:5