Branch Coverage

xsi/algorithm/LineIntersector.xsi
Criterion Covered Total %
branch 49 94 52.1


line true false branch
5 10 2 PrecisionModel* pm = precisionModel ? xs::in(precisionModel) : NULL;
10 0 PrecisionModel* pm = precisionModel ? xs::in(precisionModel) : NULL;
6 12 0 Object wrapped = xs::out(new LineIntersector(pm));
12 0 Object wrapped = xs::out(new LineIntersector(pm));
12 0 Object wrapped = xs::out(new LineIntersector(pm));
12 0 Object wrapped = xs::out(new LineIntersector(pm));
12 0 Object wrapped = xs::out(new LineIntersector(pm));
7 10 2 if (pm) wrapped.payload_attach(precisionModel, &payload_marker);
10 0 if (pm) wrapped.payload_attach(precisionModel, &payload_marker);
8 12 0 RETVAL = wrapped.ref();
12 0 RETVAL = wrapped.ref();
11 1 0 double interpolateZ(Coordinate *p, Coordinate *p0, Coordinate *p1) { RETVAL = LineIntersector::interpolateZ(*p, *p0, *p1); }
13 1 0 double computeEdgeDistance(Coordinate *p, Coordinate *p0, Coordinate *p1) { RETVAL = LineIntersector::computeEdgeDistance(*p, *p0, *p1); }
15 1 0 bool isSameSignAndNonZero(double a, double b) { RETVAL = LineIntersector::isSameSignAndNonZero(a, b); }
18 5 1 if (p1 == NULL) RETVAL = xs::in(arg0).hasIntersection();
5 0 if (p1 == NULL) RETVAL = xs::in(arg0).hasIntersection();
20 1 0 auto& p0 = xs::in(arg0);
21 0 1 if(!p1) throw("undef not allowed");
22 0 1 if(!p2) throw("undef not allowed");
23 1 0 RETVAL = LineIntersector::hasIntersection(p0, *p1, *p2);
29 1 0 if(!arg) RETVAL = THIS->isInteriorIntersection();
1 0 if(!arg) RETVAL = THIS->isInteriorIntersection();
31 0 0 int inputLineIndex = SvIV(arg);
0 0 int inputLineIndex = SvIV(arg);
32 0 0 RETVAL = THIS->isInteriorIntersection(inputLineIndex);
37 3 0 PrecisionModel& newPM = xs::in(pm);
39 3 0 Object me {ST(0)};
40 1 2 if (me.payload_exists(&payload_marker)) {
41 1 0 me.payload_detach(&payload_marker);
43 3 0 me.payload_attach(SvRV(pm), &payload_marker);
47 1 4 if (!p4arg) THIS->computeIntersection(p1, p2, p3);
54 1 0 std::string LineIntersector::toString(...)
1 0 std::string LineIntersector::toString(...)
60 1 0 int LineIntersector::getIndexAlongSegment (int segmentIndex, int intIndex)
62 4 0 double LineIntersector::getEdgeDistance (int geomIndex, int intIndex)
66 1 0 }
1 0 }
71 46 0 auto this_stash = Stash(__PACKAGE__);
72 46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
138 46 xs::exp::create_constants(this_stash, {
0 0 xs::exp::create_constants(this_stash, {
76 46 0 });
77 46 0 xs::exp::autoexport(this_stash);
46 0 xs::exp::autoexport(this_stash);