GeometryGraphOperation::GeometryGraphOperation(const Geometry *g0, const Geometry *g1) { // use the most precise model for the result if (g0->getPrecisionModel()->compareTo(g1->getPrecisionModel())>=0) setComputationPrecision(g0->getPrecisionModel()); else setComputationPrecision(g1->getPrecisionModel()); arg=new vector<GeometryGraph*>(2); (*arg)[0]=new GeometryGraph(0,g0); (*arg)[1]=new GeometryGraph(1, g1); }
GeometryGraphOperation::GeometryGraphOperation(const Geometry *g0): arg(1) { const PrecisionModel* pm0 = g0->getPrecisionModel(); assert(pm0); setComputationPrecision(pm0); arg[0]=new GeometryGraph(0, g0); }
GeometryGraphOperation::GeometryGraphOperation(const Geometry *g0, const Geometry *g1, const algorithm::BoundaryNodeRule& boundaryNodeRule) : arg(2) { const PrecisionModel* pm0 = g0->getPrecisionModel(); assert(pm0); const PrecisionModel* pm1 = g1->getPrecisionModel(); assert(pm1); // use the most precise model for the result if (pm0->compareTo(pm1) >= 0) setComputationPrecision(pm0); else setComputationPrecision(pm1); arg[0]=new GeometryGraph(0, g0, boundaryNodeRule); arg[1]=new GeometryGraph(1, g1, boundaryNodeRule); }
GeometryGraphOperation::GeometryGraphOperation(const Geometry *g0) { setComputationPrecision(g0->getPrecisionModel()); arg=new vector<GeometryGraph*>(1); (*arg)[0]=new GeometryGraph(0,g0);; }