예제 #1
0
/*public*/
Geometry*
CommonBitsOp::difference(
		const Geometry* geom0,
		const Geometry* geom1)
{
	auto_ptr<Geometry> rgeom0;
	auto_ptr<Geometry> rgeom1;
	removeCommonBits(geom0, geom1, rgeom0, rgeom1);
	return computeResultPrecision(rgeom0->difference(rgeom1.get()));
}
예제 #2
0
/**
* Computes the set-theoretic symmetric difference of two geometries,
* using enhanced precision.
* @param geom0 the first Geometry
* @param geom1 the second Geometry
* @return the Geometry* representing the set-theoretic symmetric difference of the input Geometries.
*/
Geometry* CommonBitsOp::symDifference(Geometry* geom0, Geometry* geom1){
	vector<Geometry*> *geom=removeCommonBits(geom0, geom1);
	return computeResultPrecision(((*geom)[0])->symDifference((*geom)[1]));
}
예제 #3
0
/**
* Computes the set-theoretic intersection of two {@link Geometry}s, using enhanced precision.
* @param geom0 the first Geometry
* @param geom1 the second Geometry
* @return the Geometry representing the set-theoretic intersection of the input Geometries.
*/
Geometry* CommonBitsOp::intersection(Geometry* geom0, Geometry* geom1){
	vector<Geometry*> *geom=removeCommonBits(geom0, geom1);
	return computeResultPrecision(((*geom)[0])->intersection((*geom)[1]));
}
예제 #4
0
/**
* Computes the buffer a geometry,
* using enhanced precision.
* @param geom0 the Geometry* to buffer
* @param distance the buffer distance
* @return the Geometry* representing the buffer of the input Geometry.
*/
Geometry* CommonBitsOp::buffer(Geometry* geom0, double distance){
	Geometry *geom=removeCommonBits(geom0);
	return computeResultPrecision(geom->buffer(distance));
}
예제 #5
0
/*public*/
Geometry*
CommonBitsOp::buffer(const Geometry* geom0, double distance)
{
	auto_ptr<Geometry> rgeom0(removeCommonBits(geom0));
	return computeResultPrecision(rgeom0->buffer(distance));
}