// // Copyright 2008 Simon Edwards // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library. If not, see . // namespace Marble { class GeoDocument { %TypeHeaderCode #include %End protected: GeoDocument (); public: virtual bool isGeoDataDocument () const; virtual bool isGeoSceneDocument () const; virtual ~GeoDocument (); }; // GeoDocument class GeoNode { %TypeHeaderCode #include %End protected: GeoNode (); virtual ~GeoNode (); %ConvertToSubClassCode // CTSCC for subclasses of 'GeoNode' sipType = NULL; if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataObject; if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataAbstractView; if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataLookAt; } else if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataColorStyle; if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataIconStyle; else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataLabelStyle; else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataLineStyle; else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataPolyStyle; } else if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataFeature; if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataContainer; if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataDocument; else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataFolder; } else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataPlacemark; } else if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataGeometry; if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataLineString; if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataLinearRing; } else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataMultiGeometry; else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataPoint; else if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataPolygon; if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataInnerBoundary; else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataOuterBoundary; } } else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataHotSpot; else if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataLatLonBox; if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataLatLonAltBox; } else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataLod; else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataRegion; else if (dynamic_cast(sipCpp)) { sipType = sipType_Marble_GeoDataStyleSelector; if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataStyle; else if (dynamic_cast(sipCpp)) sipType = sipType_Marble_GeoDataStyleMap; } } %End }; // GeoNode //ig namespace GeoDataTypes; }; // Marble %ModuleHeaderCode //ctscc #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include %End