00001
00002
00003 #ifndef _JAFAR_GML_OBJECT_HPP_
00004 #define _JAFAR_GML_OBJECT_HPP_
00005
00006 #include <gml/ElementsLists.hpp>
00007
00008 #include <string>
00009
00010 namespace jafar {
00011 namespace gml {
00012 class Parser;
00013 class Object : public ElementsLists {
00014 public:
00015 enum Type {
00016 Building,
00017 Road,
00018 Plant,
00019 Water,
00020 Generic,
00021 Ground,
00022 CityFurniture
00023 };
00024 private:
00025 friend class Parser;
00026 Object( const std::string& _id, Type _type, const std::list< geom::Point3D >& _points,
00027 const std::list< geom::Segment3D >& _interiorSegments,
00028 const std::list< geom::Segment3D >& _exteriorSegments );
00029 public:
00030 const std::string& id() const;
00031 Type type() const;
00032 private:
00033 std::string m_id;
00034 Type m_type;
00035 };
00036 }
00037 }
00038
00039 #endif