00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef PEEKABOT_POINT_CLOUD_HH_INCLUDED
00023 #define PEEKABOT_POINT_CLOUD_HH_INCLUDED
00024
00025
00026 #include "SceneObject.hh"
00027 #include "ScalableObject.hh"
00028 #include "VertexObject.hh"
00029 #include "ObjectVisitor.hh"
00030 #include "HandlerInformer.hh"
00031
00032
00033 namespace peekabot
00034 {
00035 class ScopedHandler;
00036
00042 class PointCloud : public SceneObject,
00043 public ScalableObject,
00044 public VertexObject
00045 {
00046 public:
00050 PointCloud() throw();
00051
00055 PointCloud(ScopedHandler *handler);
00056
00063 virtual void accept(ObjectVisitor* visitor) throw();
00064
00065 virtual ObjectType get_object_type() const;
00066
00067 protected:
00068 virtual PropMap &get_prop_adapters();
00069
00070 private:
00073
00077 static void start_handler(
00078 const std::string & name,
00079 XMLHandler::AttributeMap &attributes,
00080 ScopedHandler *handler) throw();
00081
00083
00084 private:
00085 static HandlerInformer ms_handler_informer;
00086 };
00087 }
00088
00089
00090 #endif // PEEKABOT_POINT_CLOUD_HH_INCLUDED