dmpmaplayer.cpp 1.8 KB
/**************************************************************************
* file:              dmpmaplayer.cpp

* Author:            wanzhongping
* Date:              2021-07-05 16:37:35
* Email:             zhongpingw@chinadci.com
* copyright:         广州城市信息研究所有限公司
***************************************************************************/
#include "dmpmaplayer.h"
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/uuid_generators.hpp>

DmpMapLayer::DmpMapLayer(DmpMapLayerType type,
                         const std::string &name,
                         const std::string &source)
  : dataSource_(source)
  , name_(name)
  , layerType_(type)
{
  id_ = GenerateId(name);
}

DmpMapLayer::~DmpMapLayer()
{
}

DmpMapLayerType DmpMapLayer::type() const
{
    return layerType_;
}

std::string DmpMapLayer::source() const
{
    return dataSource_;
}

//请实现
std::string DmpMapLayer::GenerateId(const std::string &layerName)
{
  boost::uuids::uuid a_uuid = boost::uuids::random_generator()(); 
  return layerName + "_" + boost::uuids::to_string(a_uuid);
}
DmpMapLayerRenderer *DmpMapLayer::createMapRenderer(DmpRenderContext &rendererContext)
{
  return nullptr;
}
//由子类实现
DmpDataProvider *DmpMapLayer::dataProvider()
{
  return nullptr;
}

//由子类实现
bool DmpMapLayer::readXml(const boost::property_tree::ptree &layerNode)
{
  return true;
}
//由子类实现
bool DmpMapLayer::writeXml(boost::property_tree::ptree &layerNode)
{
  return true;
}

bool DmpMapLayer::writeLayerXml(boost::property_tree::ptree &layerElement) const
{
  return true;
}

void DmpMapLayer::setExtent(const DmpRectangle &r)
{
  extent_ = r;
}

DmpRectangle DmpMapLayer::extent() const
{
  return extent_;
}