/* osgEarth
 * Copyright 2025 Pelican Mapping
 * MIT License
 */
#ifndef OSGEARTH_DRIVER_KML_KML_OBJECT
#define OSGEARTH_DRIVER_KML_KML_OBJECT 1

#include "KML_Common"
#include <osgEarth/AnnotationData>

namespace osgEarth_kml
{
    using namespace osgEarth;

    struct KML_Object
    {
        virtual void scan( xml_node<>* node, KMLContext& cx ) { }
        
        virtual void scan2( xml_node<>* node, KMLContext& cx ) { }

        virtual void build( xml_node<>* node, KMLContext& cx, osg::Node* working );

        virtual ~KML_Object() { }

    protected:

        AnnotationData* getOrCreateAnnotationData( osg::Node* node );
    };

} // namespace osgEarth_kml

#endif // OSGEARTH_DRIVER_KML_KML_OBJECT
