Go to the documentation of this file.00001 #ifndef PCL_OUTOFCORE_OBJECT_H_
00002 #define PCL_OUTOFCORE_OBJECT_H_
00003
00004
00005 #include <map>
00006 #include <set>
00007 #include <string>
00008
00009
00010 #include <vtkActor.h>
00011 #include <vtkActorCollection.h>
00012 #include <vtkRenderer.h>
00013 #include <vtkSmartPointer.h>
00014
00015
00016
00017
00018 #include <boost/thread.hpp>
00019
00020
00021 class Scene;
00022
00023 class Object
00024 {
00025 public:
00026
00027
00028
00029 Object (std::string name);
00030
00031 virtual
00032 ~Object () { }
00033
00034
00035
00036
00037 std::string
00038 getName () const;
00039
00040 void
00041 setName (std::string name);
00042
00043 virtual void
00044 render (vtkRenderer* renderer);
00045
00046 bool
00047 hasActor (vtkActor *actor);
00048
00049 void
00050 addActor (vtkActor *actor);
00051
00052 void
00053 removeActor (vtkActor *actor);
00054
00055 vtkSmartPointer<vtkActorCollection>
00056 getActors ();
00057
00058 protected:
00059 vtkSmartPointer<vtkActorCollection> actors_;
00060 boost::mutex actors_mutex_;
00061
00062 private:
00063
00064
00065
00066 std::string name_;
00067 std::map<vtkActor*, std::set<vtkRenderer*> > associated_renderers_;
00068
00069 };
00070
00071 #endif