/* osgEarth
* Copyright 2025 Pelican Mapping
* MIT License
*/
#include <osgEarth/Common>

// error out is using CPP 17
#if __cplusplus >= 201703L || defined(_MSVC_LANG) && _MSVC_LANG >= 201703L
#error Cannot compile this file with C++17 or later
#endif

#include <osgEarth/ActivityMonitorTool>
#include <osgEarth/AltitudeFilter>
#include <osgEarth/AltitudeSymbol>
#include <osgEarth/AnnotationData>
#include <osgEarth/AnnotationLayer>
#include <osgEarth/AnnotationNode>
#include <osgEarth/AnnotationRegistry>
#include <osgEarth/AnnotationSettings>
#include <osgEarth/AnnotationUtils>
#include <osgEarth/ArcGISServer>
#include <osgEarth/ArcGISTilePackage>
#include <osgEarth/AtlasBuilder>
#include <osgEarth/AttributesFilter>
#include <osgEarth/AutoClipPlaneHandler>
#include <osgEarth/AutoScaleCallback>
#include <osgEarth/AzureMaps>
#include <osgEarth/BBoxSymbol>
#include <osgEarth/BboxDrawable>
#include <osgEarth/BillboardResource>
#include <osgEarth/BillboardSymbol>
#include <osgEarth/Bing>
#include <osgEarth/Bounds>
#include <osgEarth/BufferFilter>
#include <osgEarth/BuildGeometryFilter>
#include <osgEarth/BuildTextFilter>
#include <osgEarth/Cache>
#include <osgEarth/CacheBin>
#include <osgEarth/CachePolicy>
#include <osgEarth/CacheSeed>
#include <osgEarth/Callbacks>
#include <osgEarth/CameraUtils>
#include <osgEarth/Capabilities>
#include <osgEarth/CascadeDrapingDecorator>
#include <osgEarth/CentroidFilter>
#include <osgEarth/CesiumIon>
#include <osgEarth/Chonk>
#include <osgEarth/CircleNode>
#include <osgEarth/ClampCallback>
#include <osgEarth/ClampableNode>
#include <osgEarth/Clamping>
#include <osgEarth/ClampingTechnique>
#include <osgEarth/ClipSpace>
#include <osgEarth/ClusterNode>
#include <osgEarth/Color>
#include <osgEarth/ColorFilter>
#include <osgEarth/Common>
#include <osgEarth/Composite>
#include <osgEarth/CompositeFeatureSource>
#include <osgEarth/CompositeTiledModelLayer>
#include <osgEarth/CompressedArray>
#include <osgEarth/Config>
#include <osgEarth/Containers>
#include <osgEarth/ContourMap>
#include <osgEarth/Controls>
#include <osgEarth/ConvertTypeFilter>
#include <osgEarth/Coverage>
#include <osgEarth/CoverageLayer>
#include <osgEarth/CoverageSymbol>
#include <osgEarth/CropFilter>
#include <osgEarth/CssUtils>
#include <osgEarth/Cube>
#include <osgEarth/CullingUtils>
#include <osgEarth/DateTime>
#include <osgEarth/DateTimeRange>
#include <osgEarth/DebugImageLayer>
#include <osgEarth/DecalLayer>
#include <osgEarth/DepthOffset>
#include <osgEarth/Draggers>
#include <osgEarth/DrapeableNode>
#include <osgEarth/DrapingCullSet>
#include <osgEarth/DrapingTechnique>
#include <osgEarth/DrawInstanced>
#include <osgEarth/ECEF>
#include <osgEarth/EarthManipulator>
#include <osgEarth/Elevation>
#include <osgEarth/ElevationLOD>
#include <osgEarth/ElevationLayer>
#include <osgEarth/ElevationPool>
#include <osgEarth/ElevationQuery>
#include <osgEarth/ElevationRanges>
#include <osgEarth/EllipseNode>
#include <osgEarth/Ellipsoid>
//#include <osgEarth/Endian>
#include <osgEarth/Ephemeris>
#include <osgEarth/ExampleResources>
#include <osgEarth/Export>
#include <osgEarth/Expression>
#include <osgEarth/Extension>
#include <osgEarth/ExtrudeGeometryFilter>
#include <osgEarth/ExtrusionSymbol>
#include <osgEarth/FadeEffect>
#include <osgEarth/Feature>
#include <osgEarth/FeatureCursor>
#include <osgEarth/FeatureDisplayLayout>
#include <osgEarth/FeatureElevationLayer>
#include <osgEarth/FeatureImageLayer>
#include <osgEarth/FeatureImageRTTLayer>
#include <osgEarth/FeatureIndex>
#include <osgEarth/FeatureModelGraph>
#include <osgEarth/FeatureModelLayer>
#include <osgEarth/FeatureModelSource>
#include <osgEarth/FeatureNode>
#include <osgEarth/FeatureRasterizer>
#include <osgEarth/FeatureSDFLayer>
#include <osgEarth/FeatureSource>
#include <osgEarth/FeatureSourceIndexNode>
#include <osgEarth/FeatureStyleSorter>
#include <osgEarth/FileUtils>
#include <osgEarth/Fill>
#include <osgEarth/Filter>
#include <osgEarth/FilterContext>
#include <osgEarth/FilteredFeatureSource>
#include <osgEarth/FlatteningLayer>
#include <osgEarth/Formatter>
#include <osgEarth/FractalElevationLayer>
#include <osgEarth/FrameClock>
#include <osgEarth/GARSGraticule>
#include <osgEarth/GDAL>
#include <osgEarth/GDALDEM>
//#include <osgEarth/GEOS>
#include <osgEarth/GLSLChunker>
#include <osgEarth/GLUtils>
#include <osgEarth/GeoCommon>
#include <osgEarth/GeoData>
#include <osgEarth/GeoMath>
#include <osgEarth/GeoPositionNode>
#include <osgEarth/GeoPositionNodeAutoScaler>
#include <osgEarth/GeoTransform>
#include <osgEarth/Geocoder>
#include <osgEarth/GeodeticGraticule>
#include <osgEarth/GeodeticLabelingEngine>
#include <osgEarth/Geoid>
#include <osgEarth/Geometry>
#include <osgEarth/GeometryClamper>
#include <osgEarth/GeometryCloud>
#include <osgEarth/GeometryCompiler>
#include <osgEarth/GeometryFactory>
#include <osgEarth/GeometryRasterizer>
#include <osgEarth/GeometryUtils>
#include <osgEarth/GraticuleLabelingEngine>
#include <osgEarth/HTM>
#include <osgEarth/HTTPClient>
#include <osgEarth/HeightFieldUtils>
#include <osgEarth/Horizon>
#include <osgEarth/HorizonClipPlane>
#include <osgEarth/IOTypes>
#include <osgEarth/IconResource>
#include <osgEarth/IconSymbol>
#include <osgEarth/ImageLayer>
#include <osgEarth/ImageMosaic>
#include <osgEarth/ImageOverlay>
#include <osgEarth/ImageOverlayEditor>
#include <osgEarth/ImageToFeatureLayer>
#include <osgEarth/ImageToHeightFieldConverter>
#include <osgEarth/ImageUtils>
#include <osgEarth/InstanceBuilder>
#include <osgEarth/InstanceCloud>
#include <osgEarth/InstanceResource>
#include <osgEarth/InstanceSymbol>
#include <osgEarth/IntersectionPicker>
#include <osgEarth/JoinLines>
#include <osgEarth/JsonUtils>
#include <osgEarth/LODGenerator>
#include <osgEarth/LabelNode>
#include <osgEarth/LandCover>
#include <osgEarth/LandCoverLayer>
#include <osgEarth/LatLongFormatter>
#include <osgEarth/Layer>
#include <osgEarth/LayerReference>
#include <osgEarth/LayerShader>
#include <osgEarth/Lighting>
#include <osgEarth/LineDrawable>
#include <osgEarth/LineFunctor>
#include <osgEarth/LineOfSight>
#include <osgEarth/LineSymbol>
#include <osgEarth/LinearLineOfSight>
#include <osgEarth/LoadableNode>
#include <osgEarth/LocalGeometryNode>
#include <osgEarth/LocalTangentPlane>
#include <osgEarth/Locators>
#include <osgEarth/LogarithmicDepthBuffer>
#include <osgEarth/MBTiles>
#include <osgEarth/MGRSFormatter>
#include <osgEarth/MGRSGraticule>
#include <osgEarth/MVT>
#include <osgEarth/Map>
#include <osgEarth/MapCallback>
#include <osgEarth/MapModelChange>
#include <osgEarth/MapNode>
#include <osgEarth/MapNodeObserver>
#include <osgEarth/MapboxGLGlyphManager>
#include <osgEarth/MapboxGLImageLayer>
#include <osgEarth/MaterialLoader>
#include <osgEarth/Math>
#include <osgEarth/MeasureTool>
#include <osgEarth/MemCache>
#include <osgEarth/MemoryUtils>
#include <osgEarth/MeshConsolidator>
#include <osgEarth/MeshFlattener>
#include <osgEarth/MeshSubdivider>
#include <osgEarth/MetaTile>
#include <osgEarth/MetadataNode>
#include <osgEarth/Metrics>
#include <osgEarth/ModelLayer>
#include <osgEarth/ModelNode>
#include <osgEarth/ModelResource>
#include <osgEarth/ModelSource>
#include <osgEarth/ModelSymbol>
#include <osgEarth/MouseCoordsTool>
#include <osgEarth/NativeProgramAdapter>
#include <osgEarth/NetworkMonitor>
#include <osgEarth/NodeUtils>
#include <osgEarth/NoiseTextureFactory>
#include <osgEarth/Notify>
#include <osgEarth/OGRFeatureSource>
#include <osgEarth/ObjectIDPicker>
#include <osgEarth/ObjectIndex>
//#include <osgEarth/OgrUtils>
#include <osgEarth/OsgGeometryOperator>
#include <osgEarth/OverlayDecorator>
#include <osgEarth/PBRMaterial>
#include <osgEarth/PagedNode>
#include <osgEarth/PatchLayer>
#include <osgEarth/PhongLightingEffect>
#include <osgEarth/Picker>
#include <osgEarth/PlaceNode>
#include <osgEarth/PluginLoader>
#include <osgEarth/PointDrawable>
#include <osgEarth/PointSymbol>
#include <osgEarth/PolygonSymbol>
#include <osgEarth/PolygonizeLines>
#include <osgEarth/PowerlineLayer>
#include <osgEarth/PrimitiveIntersector>
#include <osgEarth/Profile>
#include <osgEarth/Progress>
#include <osgEarth/Query>
#include <osgEarth/RTTPicker>
#include <osgEarth/RadialLineOfSight>
#include <osgEarth/Random>
#include <osgEarth/RectangleNode>
#include <osgEarth/RefinePolicy>
#include <osgEarth/Registry>
#include <osgEarth/RenderSymbol>
#include <osgEarth/ResampleFilter>
#include <osgEarth/Resource>
#include <osgEarth/ResourceCache>
#include <osgEarth/ResourceLibrary>
#include <osgEarth/Revisioning>
#include <osgEarth/SDF>
#include <osgEarth/ScaleFilter>
#include <osgEarth/ScatterFilter>
#include <osgEarth/SceneGraphCallback>
#include <osgEarth/ScreenSpaceLayout>
#include <osgEarth/ScreenSpaceLayoutCallout>
#include <osgEarth/ScreenSpaceLayoutDeclutter>
#include <osgEarth/ScreenSpaceLayoutImpl>
#include <osgEarth/Script>
#include <osgEarth/ScriptEngine>
#include <osgEarth/ScriptFilter>
#include <osgEarth/SelectExtentTool>
#include <osgEarth/Session>
#include <osgEarth/ShaderFactory>
#include <osgEarth/ShaderGenerator>
#include <osgEarth/ShaderLayer>
#include <osgEarth/ShaderLoader>
#include <osgEarth/ShaderMerger>
#include <osgEarth/ShaderUtils>
#include <osgEarth/Shaders>
#include <osgEarth/Shadowing>
#include <osgEarth/SimpleOceanLayer>
#include <osgEarth/SimplePager>
#include <osgEarth/SimplexNoise>
#include <osgEarth/SimplifyFilter>
#include <osgEarth/Skins>
#include <osgEarth/Sky>
#include <osgEarth/SkyView>
#include <osgEarth/SpatialReference>
#include <osgEarth/StarData>
#include <osgEarth/StateSetCache>
#include <osgEarth/StateTransition>
#include <osgEarth/Status>
#include <osgEarth/StringUtils>
#include <osgEarth/Stroke>
#include <osgEarth/Style>
#include <osgEarth/StyleSelector>
#include <osgEarth/StyleSheet>
#include <osgEarth/SubstituteModelFilter>
#include <osgEarth/Symbol>
#include <osgEarth/TDTiles>
#include <osgEarth/TFS>
#include <osgEarth/TFSPackager>
#include <osgEarth/TMS>
#include <osgEarth/TMSBackFiller>
#include <osgEarth/Tags>
#include <osgEarth/Terrain>
#include <osgEarth/TerrainConstraintLayer>
#include <osgEarth/TerrainEffect>
#include <osgEarth/TerrainEngineNode>
#include <osgEarth/TerrainEngineRequirements>
#include <osgEarth/TerrainLayer>
#include <osgEarth/TerrainMeshLayer>
#include <osgEarth/TerrainOptions>
#include <osgEarth/TerrainProfile>
#include <osgEarth/TerrainResources>
#include <osgEarth/TerrainTileModel>
#include <osgEarth/TerrainTileModelFactory>
#include <osgEarth/TerrainTileNode>
#include <osgEarth/TessellateOperator>
#include <osgEarth/Tessellator>
#include <osgEarth/Text>
#include <osgEarth/TextSymbol>
#include <osgEarth/TextSymbolizer>
#include <osgEarth/TextureArena>
#include <osgEarth/TextureBuffer>
#include <osgEarth/Threading>
#include <osgEarth/ThreeDTilesLayer>
#include <osgEarth/TileCache>
#include <osgEarth/TileEstimator>
#include <osgEarth/TileHandler>
#include <osgEarth/TileIndex>
#include <osgEarth/TileIndexBuilder>
#include <osgEarth/TileKey>
#include <osgEarth/TileLayer>
#include <osgEarth/TileMesher>
#include <osgEarth/TileRasterizer>
#include <osgEarth/TileSource>
#include <osgEarth/TileSourceElevationLayer>
#include <osgEarth/TileSourceImageLayer>
#include <osgEarth/TileVisitor>
#include <osgEarth/TiledFeatureModelGraph>
#include <osgEarth/TiledFeatureModelLayer>
#include <osgEarth/TiledModelLayer>
#include <osgEarth/TimeControl>
#include <osgEarth/TimeSeriesImage>
#include <osgEarth/TopologyGraph>
#include <osgEarth/TrackNode>
#include <osgEarth/TransformFilter>
#include <osgEarth/URI>
#include <osgEarth/UTMGraticule>
#include <osgEarth/UTMLabelingEngine>
#include <osgEarth/Units>
#include <osgEarth/Utils>
#include <osgEarth/VerticalDatum>
#include <osgEarth/VideoLayer>
#include <osgEarth/ViewFitter>
#include <osgEarth/Viewpoint>
#include <osgEarth/VirtualProgram>
#include <osgEarth/VisibleLayer>
#include <osgEarth/WFS>
#include <osgEarth/WMS>
#include <osgEarth/WindLayer>
#include <osgEarth/WireLines>
#include <osgEarth/XYZ>
#include <osgEarth/XYZFeatureSource>
#include <osgEarth/XYZModelLayer>
#include <osgEarth/XmlUtils>
#include <osgEarth/optional>
#if 0
#endif

int main(int argc, char** argv)
{
    return 0;
}
