本文整理汇总了C++中geom::Geometry::clone方法的典型用法代码示例。如果您正苦于以下问题:C++ Geometry::clone方法的具体用法?C++ Geometry::clone怎么用?C++ Geometry::clone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类geom::Geometry
的用法示例。
在下文中一共展示了Geometry::clone方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: actualBdy
bool
SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(
const geom::Geometry& actualBuffer,
const geom::Geometry& expectedBuffer, double distance)
{
typedef std::auto_ptr<geom::Geometry> GeomPtr;
using geos::algorithm::distance::DiscreteHausdorffDistance;
GeomPtr actualBdy ( actualBuffer.clone() );
GeomPtr expectedBdy ( expectedBuffer.clone() );
DiscreteHausdorffDistance haus(*actualBdy, *expectedBdy);
haus.setDensifyFraction(0.25);
double maxDistanceFound = haus.orientedDistance();
double expectedDistanceTol = fabs(distance) / MAX_HAUSDORFF_DISTANCE_FACTOR;
if (expectedDistanceTol < MIN_DISTANCE_TOLERANCE)
{
expectedDistanceTol = MIN_DISTANCE_TOLERANCE;
}
if (maxDistanceFound > expectedDistanceTol)
{
std::cerr << "maxDistanceFound: " << maxDistanceFound << " tolerated " << expectedDistanceTol << std::endl;
return false;
}
return true;
}
示例2:
/* private */
void
SnapOverlayOp::removeCommonBits(const geom::Geometry& geom0,
const geom::Geometry& geom1,
geom::GeomPtrPair& remGeom)
{
cbr.reset(new precision::CommonBitsRemover());
cbr->add(&geom0);
cbr->add(&geom1);
remGeom.first.reset( cbr->removeCommonBits(geom0.clone()) );
remGeom.second.reset( cbr->removeCommonBits(geom1.clone()) );
}