GroupRenderer.h 1.2 KB
#pragma once
#include<vector>
using namespace std;
#include"Renderer.h"

namespace DmapCore_30
{
	class clsCrSurf;
	class DataCollection;
	class GroupRenderer :public Renderer
	{
	public:
		GroupRenderer();
		~GroupRenderer();
		static GroupRenderer* CreateNew();
		virtual int RendererType();
		virtual bool Parse(boost::property_tree::ptree &pt, AppendBuffer *f);
		virtual void ToJson(AppendBuffer *ab);
		virtual bool ParsePtree( boost::property_tree::ptree &pt);
	//	virtual bool DrawSimpleData(clsCrSurf* pClsCS, DataCollection* data, char* pFlag);
		virtual bool DrawData(clsCrSurf* pClsCS, DataCollection* data, bool drawSimpleData, char* pFlag);
		virtual bool DrawData(clsCrSurf* pClsCS, DataCollection* data, int dataIndex, char* pFlag);
		virtual bool DrawLegend(clsCrSurf* pClsCS,  shared_ptr<legendParamater> pLegendParamater, int layerType, char* pFlag);
		vector<Renderer*> m_vSymbols;
		const char* GetTag();
		bool  SetTag(const char* sTag);
		bool  AddSymbol(int index, Renderer*);
		bool  Remove(int index);
		Renderer* GetItem(int index);
		bool  SetItem(int index, Renderer* pRenderer);
		int   GetSymbolCount();
		bool  Clear();

		void TryAddField(vector<string>&pvField);
		bool TryFindHeatRenderer();
	private:

		string m_sTag;
	};

}