当前位置: 首页>>代码示例>>C++>>正文


C++ GeometryFactory::createPolygon方法代码示例

本文整理汇总了C++中geos::geom::GeometryFactory::createPolygon方法的典型用法代码示例。如果您正苦于以下问题:C++ GeometryFactory::createPolygon方法的具体用法?C++ GeometryFactory::createPolygon怎么用?C++ GeometryFactory::createPolygon使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在geos::geom::GeometryFactory的用法示例。


在下文中一共展示了GeometryFactory::createPolygon方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: computePoly

void HiJitCube::computePoly() {

//  Compute sample and line coordinates in the focal plane
  int samp0,sampN;
  if (originst) {
    samp0=jdata.fpSamp0 + jdata.sampOffset;
    sampN=samp0 + npSamps[jdata.cpmmNumber] - 1;
  } else {
    samp0=jdata.fpSamp0 + jdata.sampOffset;
    sampN=samp0 + Samples() - 1;
  }
  int line0(jdata.fpLine0 + jdata.lineOffset), lineN(line0 + Lines() - 1);

//  Allocate a new coordinate sequence and define it
  geos::geom::CoordinateSequence *pts = new geos::geom::CoordinateArraySequence();
  pts->add(geos::geom::Coordinate(samp0, lineN));
  pts->add(geos::geom::Coordinate(sampN, lineN));
  pts->add(geos::geom::Coordinate(sampN, line0));
  pts->add(geos::geom::Coordinate(samp0, line0));
  pts->add(geos::geom::Coordinate(samp0, lineN));

  
//  Make this reentrant and delete previous one if it exists and get the
//  new one
  delete fpGeom;
  fpGeom = geosFactory.createPolygon(geosFactory.createLinearRing(pts), 0);
  return;
}
开发者ID:assutech,项目名称:isis3,代码行数:28,代码来源:HiJitCube.cpp

示例2:

		test_polygon_data() 
			: pm_(1), factory_(&pm_, 0), reader_(&factory_),
			empty_poly_(factory_.createPolygon()), poly_size_(7)
		{
			// Create non-empty LinearRing
			GeometryPtr geo = 0;
			geo = reader_.read("POLYGON((0 10, 5 5, 10 5, 15 10, 10 15, 5 15, 0 10))");
			poly_ = static_cast<PolygonPtr>(geo);
		}
开发者ID:asapnet,项目名称:geos,代码行数:9,代码来源:PolygonTest.cpp

示例3: multipolygon_polygon_finish

 void multipolygon_polygon_finish() {
     try {
         assert(!m_rings.empty());
         auto inner_rings = new std::vector<geos::geom::Geometry*>;
         std::transform(std::next(m_rings.begin(), 1), m_rings.end(), std::back_inserter(*inner_rings), [](std::unique_ptr<geos::geom::LinearRing>& r) {
             return r.release();
         });
         m_polygons.emplace_back(m_geos_factory->createPolygon(m_rings[0].release(), inner_rings));
         m_rings.clear();
     } catch (const geos::util::GEOSException& e) {
         THROW(osmium::geos_geometry_error(e.what()));
     }
 }
开发者ID:KnockSoftware,项目名称:osrm-backend,代码行数:13,代码来源:geos.hpp


注:本文中的geos::geom::GeometryFactory::createPolygon方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。