00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef PEEKABOT_POLYLINE_HH_INCLUDED
00023 #define PEEKABOT_POLYLINE_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 #include <string>
00033 #include <boost/cstdint.hpp>
00034
00035
00036 namespace peekabot
00037 {
00038 class ScopedHandler;
00039 class ObjectVisitor;
00040
00044 class Polyline : public SceneObject,
00045 public ScalableObject,
00046 public VertexObject,
00047 public LineBased
00048 {
00049 public:
00053 Polyline();
00054
00058 Polyline(ScopedHandler *handler);
00059
00060 virtual void accept(ObjectVisitor *visitor) throw();
00061
00062 virtual ObjectType get_object_type() const;
00063
00064 protected:
00065 virtual PropMap &get_prop_adapters();
00066
00067 private:
00070
00074 static void start_handler(
00075 const std::string &name,
00076 XMLHandler::AttributeMap &attributes,
00077 ScopedHandler *handler) throw();
00078
00080
00081 private:
00082 static HandlerInformer ms_handler_informer;
00083 };
00084 }
00085
00086
00087 #endif // PEEKABOT_POLYLINE_HH_INCLUDED