Example #1
0
	virtual void visitData(const IData& in) 
	{
		uint64_t id = in.getIdentifier();

		const bool doDataDeserialization = true;
		if(doDataDeserialization)
		{
			uint32_t dataLen;
			byte* data;
			in.getData(dataLen, &data);

			MGArchive archive((const char*)data, dataLen);
			Way way;
			archive << way;

			for (size_t i = 0; i < way.tags.size(); i++)
			{
				if (way.tags[i].key == key)
				{
					ways.push_back(id);
					break;
				}
			}

			delete data;
		}
	}
Example #2
0
void VisitadorGP::visitData(const IData& d) {
	IShape* pS;
	d.getShape(&pS);
	// do something.
	Region r;
	pS->getMBR(r);

//	cout << "punto " << contador++ << ": " << r.m_pHigh[0] << " - " << r.m_pHigh[1] << endl;
	//cout << r.m_pHigh[0] << " " << r.m_pHigh[1] << endl;
	xy_pts_B.push_back(std::make_pair(r.m_pHigh[0], r.m_pHigh[1]));
	contador++;
	//cout<< "contador " << contador << endl;
	delete pS;

	// data should be an array of characters representing a Region as a string.
	byte* pData = 0;
	uint32_t cLen = 0;
	d.getData(cLen, &pData);
	// do something.
	//string s = reinterpret_cast<char*>(pData);
	//cout << s << endl;
	delete[] pData;

	//cout << d.getIdentifier() << endl;
	// the ID of this data entry is an answer to the query. I will just print it to stdout.
}