CameraFollowMode.h
Go to the documentation of this file.
00001 /*
00002  * This file is part of OctoMap - An Efficient Probabilistic 3D Mapping
00003  * Framework Based on Octrees
00004  * http://octomap.github.io
00005  *
00006  * Copyright (c) 2009-2014, K.M. Wurm and A. Hornung, University of Freiburg
00007  * All rights reserved. License for the viewer octovis: GNU GPL v2
00008  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
00009  *
00010  *
00011  * This program is free software; you can redistribute it and/or modify
00012  * it under the terms of the GNU General Public License as published by
00013  * the Free Software Foundation; either version 2 of the License, or
00014  * (at your option) any later version.
00015  *
00016  * This program is distributed in the hope that it will be useful, but
00017  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
00018  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
00019  * for more details.
00020  *
00021  * You should have received a copy of the GNU General Public License
00022  * along with this program. If not, see http://www.gnu.org/licenses/.
00023  */
00024 
00025 #ifndef CAMERAFOLLOWMODE_H_
00026 #define CAMERAFOLLOWMODE_H_
00027 
00028 #include "SceneObject.h"
00029 
00030 class CameraFollowMode : public QObject {
00031   Q_OBJECT
00032 
00033 public:
00034   CameraFollowMode(octomap::ScanGraph *graph = NULL);
00035   virtual ~CameraFollowMode();
00036   void setScanGraph(octomap::ScanGraph *graph);
00037 
00038 public slots:
00039   void jumpToFrame(unsigned int frame);
00040   void cameraPathStopped(int id);
00041   void cameraPathFrameChanged(int id, int current_camera_frame);
00042   void play();
00043   void pause();
00044   void clearCameraPath();
00045   void saveToCameraPath();
00046   void addToCameraPath();
00047   void removeFromCameraPath();
00048   void followCameraPath();
00049   void followRobotPath();
00050 
00051 signals:
00052   void changeCamPose(const octomath::Pose6D& pose);
00053   void interpolateCamPose(const octomath::Pose6D& old_pose, const octomath::Pose6D& new_pose, double u);
00054   void stopped();
00055   void frameChanged(unsigned int frame);
00056   void deleteCameraPath(int id);
00057   void removeFromCameraPath(int id, int frame);
00058   void updateCameraPath(int id, int frame);
00059   void appendToCameraPath(int id, const octomath::Pose6D& pose);
00060   void appendCurrentToCameraPath(int id);
00061   void addCurrentToCameraPath(int id, int frame);
00062   void playCameraPath(int id, int start_frame);
00063   void stopCameraPath(int id);
00064   void jumpToCamFrame(int id, int frame);
00065   void changeNumberOfFrames(unsigned count);
00066   void scanGraphAvailable(bool available);
00067 
00068 
00069 protected:
00070   octomap::ScanGraph *m_scan_graph;
00071   unsigned int m_current_scan;
00072   unsigned int m_current_cam_frame;
00073   unsigned int m_number_cam_frames;
00074   unsigned int m_start_frame;
00075   bool m_followRobotTrajectory;
00076 };
00077 
00078 #endif /* CAMERAFOLLOWMODE_H_ */


octovis
Author(s): Kai M. Wurm , Armin Hornung
autogenerated on Thu Feb 11 2016 23:51:19