// $Id: RoLoArchitecture.hpp,v 1.8 2009/06/20 06:18:43 nishio Exp $ #pragma once #include #include #include #include #include #include #include #include namespace RoLo { namespace Architecture { class Position : public ISO19111::IO_IdentifiedObjectBase { public: SymbolicPosition* symbolic; ISO19107::GM_Position* numeric; }; class ElementSpecification : public ::ISO19111::IO_IdentifiedObject { }; class PositionElementSpecification : public ElementSpecification { public: ::ISO19111::SC_CRS *crs; ErrorType *errType; }; class ErrorElementSpecification : public ElementSpecification { public: ::std::vector posSpecRefs; ErrorType *errType; }; class Element : public ::ISO19111::IO_IdentifiedObjectBase { public: ElementSpecification *spec; }; class PositionElement : public Element { public: Position pos; Error err; }; class ErrorElement : public Element { public: Error err; }; class DataSpecification : public ::ISO19111::IO_IdentifiedObject { public: ::std::vector elemSpecs; }; class Data : public ::ISO19111::IO_IdentifiedObjectBase { public: DataSpecification *spec; ::std::vector elems; }; class DontCare { }; class NULLCS : public DontCare, public ::ISO19111::CS_CoordinateSystem { }; class NULLCRS : public DontCare, public ::ISO19111::SC_CRS { }; class NULLDatum : public DontCare, public ::ISO19111::CD_Datum { }; class NULLErrorType : public DontCare, public ErrorType { }; class NULLElementSpecification : public DontCare, ElementSpecification { }; } }