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