ScaleDependentRenderer.h 1.5 KB
#ifndef _ScaleDependentRenderer_H_
#define _ScaleDependentRenderer_H_
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <boost/foreach.hpp>
#include"Renderer.h"
#include<vector>
#include "dmap_core.h"
using namespace std;
namespace DmapCore_30
{
	class clsCrSurf;
	class DataCollection;
	class CORE_EXPORT ScaleDependentRenderer :public Renderer
	{
	public:
		//scale中只有一个样式,通常为group
		ScaleDependentRenderer();
		~ScaleDependentRenderer();
		virtual BOOL Parse(rapidxml::xml_node<char>* node, AppendBuffer *f);
		virtual bool ParsePtree( boost::property_tree::ptree &pt);
		virtual void ToJson(AppendBuffer *ab);
		//virtual BOOL RendererString(Renderer** ppRen, const char** psXML);
		virtual BOOL DrawData(clsCrSurf* pClsCS, DataCollection* data, bool drawSimpleData, char* pFlag);
		virtual BOOL DrawData(clsCrSurf* pClsCS, DataCollection* data, int drawSimpleData, char* pFlag);
        virtual BOOL DrawLegend(clsCrSurf* pClsCS,  shared_ptr<legendParamater> pLegendParamater,int layerType, char* pFlag);
		virtual int RendererType();
		static ScaleDependentRenderer* CreateNew();


		double GetLower();
		BOOL SetLower(double lower);
		double GetUpper();
		BOOL SetUpper(double upper);
		Renderer* GetRenderer();
		BOOL SetRenderer(Renderer* renderer);

		virtual void TryAddField(vector<string>&pvField);
		virtual bool TryFindHeatRenderer(){ return false; }

		double m_dLower;
		double m_dUpper;
		Renderer* m_pRenderer;
	};

}
#endif