コード例 #1
0
ファイル: FShapePolygon.cpp プロジェクト: 4ukuta/core
bool FShapePolygon::filtrate(const Tag &mark)
{
  if (m_points.size() == 0) return false;

  QPolygonF polygon;
  for (int i = 0; i < m_points.size(); i++)
  {
    polygon << m_points.at(i);
  }
  polygon << m_points.at(0);
  return polygon.containsPoint(QPointF(mark.getLatitude(), mark.getLongitude()), Qt::OddEvenFill);
}
コード例 #2
0
ファイル: Region.cpp プロジェクト: h0st/core
  bool Region::atRegion(const Tag& point)
  {
    if (m_points.size() == 0) return false;

    QPolygonF polygon;
    for (int i=0;i<m_points.size();i++)
    {
      polygon << QPointF(m_points.at(i).getLatitude(),m_points.at(i).getLongitude());
    }
    polygon << QPointF(m_points.at(0).getLatitude(),m_points.at(0).getLongitude());
    return polygon.containsPoint(QPointF(point.getLatitude(),point.getLongitude()), Qt::OddEvenFill);

  }
コード例 #3
0
	void Test_DoublePrecisionJSON::testLoadTagsResponse(){
		LoadTagsResponseJSON response;
		response.setData(TEST_LIST);
		response.setErrno(SUCCESS);
		
		qDebug() << response.getJson();
		QByteArray json  = response.getJson();
		response.setData(QList<Tag>());
		response.parseJson(json);
		
		Tag resultTag = response.getData()[0];
		QCOMPARE(TEST_TAG.getLatitude(), resultTag.getLatitude());
		QCOMPARE(TEST_TAG.getLongitude(), resultTag.getLongitude());
		QCOMPARE(TEST_TAG.getAltitude(), resultTag.getAltitude());
	}
コード例 #4
0
	void Test_DoublePrecisionJSON::testFilterDefaultResponse(){

		FilterDefaultResponseJSON response;
		response.setTags(TEST_LIST);
		
		qDebug() << response.getJson();

		QByteArray json  = response.getJson();
		response.setTags(QList<Tag>());
		response.parseJson(json);
		
		Tag resultTag = response.getTags()[0];
		QCOMPARE(TEST_TAG.getLatitude(), resultTag.getLatitude());
		QCOMPARE(TEST_TAG.getLongitude(), resultTag.getLongitude());
		QCOMPARE(TEST_TAG.getAltitude(), resultTag.getAltitude());
	}
コード例 #5
0
ファイル: WriteTagRequestJSON.cpp プロジェクト: 4ukuta/core
QByteArray WriteTagRequestJSON::getJson() const
{
  QJson::Serializer serializer;
  QVariantMap request;

  Tag mark = m_tags.at(0);

  Channel channel = m_channels.at(0);
  request.insert("auth_token", m_token);
  request.insert("channel", channel.getName());
  request.insert("title", mark.getLabel().isEmpty()? "New mark":mark.getLabel());
  request.insert("link", mark.getUrl());
  request.insert("description", mark.getDescription());
  request.insert("latitude", mark.getLatitude());
  request.insert("altitude", mark.getAltitude());
  request.insert("longitude", mark.getLongitude());
  request.insert("time", mark.getTime().toString("dd MM yyyy HH:mm:ss.zzz"));
  return serializer.serialize(request);
}
コード例 #6
0
ファイル: LoadTagsResponseJSON.cpp プロジェクト: 4ukuta/core
QByteArray LoadTagsResponseJSON::getJson() const
{
    QJson::Serializer serializer;
    serializer.setDoublePrecision(DOUBLE_PRECISION_RESPONSE);
    QVariantMap obj, rss, jchannel;

    QVariantList jchannels;

    QVariantList jtags;
    QVariantMap channel;

    obj["errno"]= m_errno;

    if (m_errno == SUCCESS){
	    for(int j=0; j<m_tags.size(); j++)
	    {
		Tag tag = m_tags.at(j);
		QVariantMap jtag;
		jtag["title"] = tag.getLabel();
		jtag["link"] = tag.getUrl();
		jtag["description"] = tag.getDescription();
		jtag["latitude"] = tag.getLatitude();
		jtag["altitude"] = tag.getAltitude();
		jtag["longitude"] = tag.getLongitude();
		jtag["user"] = tag.getUser().getLogin();
		jtag["pubDate"] = tag.getTime().toString("dd MM yyyy HH:mm:ss.zzz");
		jtags.append(jtag);
	    }
	    channel["items"] = jtags;
	//    channel["name"] = m_channels.at(i).getName();
	    jchannels.append(channel);

	    jchannel["items"] = jchannels;
	    rss["channels"] = jchannel;
	    obj["rss"] = rss;
    }
    return serializer.serialize(obj);
}