CameraFollowMode.h
Go to the documentation of this file.
00001 /*
00002  * OctoMap - An Efficient Probabilistic 3D Mapping Framework Based on Octrees
00003  * http://octomap.github.com/
00004  *
00005  * Copyright (c) 2009-2013, K.M. Wurm and A. Hornung, University of Freiburg
00006  * All rights reserved.
00007  * License (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 along
00022  * with this program; if not, write to the Free Software Foundation, Inc.,
00023  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00024  */
00025 
00026 #ifndef CAMERAFOLLOWMODE_H_
00027 #define CAMERAFOLLOWMODE_H_
00028 
00029 #include "SceneObject.h"
00030 
00031 class CameraFollowMode : public QObject {
00032   Q_OBJECT
00033 
00034 public:
00035   CameraFollowMode(octomap::ScanGraph *graph = NULL);
00036   virtual ~CameraFollowMode();
00037   void setScanGraph(octomap::ScanGraph *graph);
00038 
00039 public slots:
00040   void jumpToFrame(unsigned int frame);
00041   void cameraPathStopped(int id);
00042   void cameraPathFrameChanged(int id, int current_camera_frame);
00043   void play();
00044   void pause();
00045   void clearCameraPath();
00046   void saveToCameraPath();
00047   void addToCameraPath();
00048   void removeFromCameraPath();
00049   void followCameraPath();
00050   void followRobotPath();
00051 
00052 signals:
00053   void changeCamPose(const octomath::Pose6D& pose);
00054   void interpolateCamPose(const octomath::Pose6D& old_pose, const octomath::Pose6D& new_pose, double u);
00055   void stopped();
00056   void frameChanged(unsigned int frame);
00057   void deleteCameraPath(int id);
00058   void removeFromCameraPath(int id, int frame);
00059   void updateCameraPath(int id, int frame);
00060   void appendToCameraPath(int id, const octomath::Pose6D& pose);
00061   void appendCurrentToCameraPath(int id);
00062   void addCurrentToCameraPath(int id, int frame);
00063   void playCameraPath(int id, int start_frame);
00064   void stopCameraPath(int id);
00065   void jumpToCamFrame(int id, int frame);
00066   void changeNumberOfFrames(unsigned count);
00067   void scanGraphAvailable(bool available);
00068 
00069 
00070 protected:
00071   octomap::ScanGraph *m_scan_graph;
00072   unsigned int m_current_scan;
00073   unsigned int m_current_cam_frame;
00074   unsigned int m_number_cam_frames;
00075   unsigned int m_start_frame;
00076   bool m_followRobotTrajectory;
00077 };
00078 
00079 #endif /* CAMERAFOLLOWMODE_H_ */


octovis
Author(s): Kai M. Wurm , Armin Hornung
autogenerated on Thu Aug 27 2015 14:13:26