/******************************************************************************
** Copyright (c) 2024 MAK Technologies, Inc.
** All rights reserved.
******************************************************************************/

//! \file DtCDBMcod.h 
//! \brief Utility class for Material Classification on Demand (MCOD) for CDB raster/model dataset
//! \ingroup osgearth_cdb_utils
#pragma once

#include "DtCDBExport.h"
#include <osgEarth/Color>

namespace makVrv
{
   class DtDe;
}

namespace makVrv {
   namespace oe {
      namespace CDB {

         struct color2DArray
         {
            osgEarth::Color myRGB1;
            osgEarth::Color myRGB2;
         };
         typedef std::map<std::string, color2DArray> mcodColorMap;

         //! \brief Class used for CDB MCOD
         //! \ingroup osgearth_cdb_utils
         class DT_DLL_OSGEARTH_CDB_UTILS DtCDBMcod
         {
         public:
            //! \brief CTOR
            DtCDBMcod() {};

            //! \brief Read a csv file into a map (for example SharedData\xx\latest\ModelData\sensorFX\cdb.terrain.default.ms.mapping.csv)
            static bool readMCODCsvColorFile(makVrv::DtDe* De, const std::string& imageMapFilename, makVrv::oe::CDB::mcodColorMap& myMCODTerrainColorMap);

         };

      }
   }
} // namespace mak::osgEarth::CDB

