line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
MODULE = Geo::Geos PACKAGE = Geo::Geos::Noding::SegmentIntersectionDetector |
2
|
|
|
|
|
|
|
PROTOTYPES: DISABLE |
3
|
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
Sv new(SV*,SV* liObj) { |
5
|
2
|
50
|
|
|
|
|
LineIntersector& li = xs::in(liObj); |
6
|
4
|
50
|
|
|
|
|
Sv wrapped = xs::out<>(new SegmentIntersectionDetector(&li)); |
|
|
50
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
7
|
2
|
50
|
|
|
|
|
wrapped.payload_attach(SvRV(liObj), &payload_marker); |
8
|
2
|
50
|
|
|
|
|
RETVAL = wrapped; |
9
|
|
|
|
|
|
|
} |
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
|
12
|
0
|
|
|
|
|
|
bool SegmentIntersectionDetector::hasIntersection () |
13
|
|
|
|
|
|
|
|
14
|
1
|
|
|
|
|
|
bool SegmentIntersectionDetector::hasProperIntersection () |
15
|
|
|
|
|
|
|
|
16
|
1
|
|
|
|
|
|
bool SegmentIntersectionDetector::hasNonProperIntersection () |
17
|
|
|
|
|
|
|
|
18
|
0
|
|
|
|
|
|
void SegmentIntersectionDetector::setFindProper(bool findProper) |
19
|
|
|
|
|
|
|
|
20
|
0
|
|
|
|
|
|
void SegmentIntersectionDetector::setFindAllIntersectionTypes (bool findAllTypes) |
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
xs::Array SegmentIntersectionDetector::getIntersectionSegments (){ |
23
|
1
|
50
|
|
|
|
|
RETVAL = Helper::convert_copy(THIS->getIntersectionSegments()); |
24
|
|
|
|
|
|
|
} |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
Coordinate* SegmentIntersectionDetector::getIntersection() { |
27
|
2
|
|
|
|
|
|
auto c = THIS->getIntersection(); |
28
|
1
|
|
|
|
|
|
if (c) RETVAL = new Coordinate(*c); |
29
|
1
|
50
|
|
|
|
|
else XSRETURN_UNDEF; |
|
|
50
|
|
|
|
|
|
30
|
0
|
|
|
|
|
|
} |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
|
33
|
0
|
|
|
|
|
|
int CLONE_SKIP (...) { PERL_UNUSED_VAR(items); RETVAL = 1; } |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
BOOT { |
36
|
46
|
50
|
|
|
|
|
Stash(__PACKAGE__).inherit("Geo::Geos::Noding::SegmentIntersector"); |
|
|
50
|
|
|
|
|
|
37
|
|
|
|
|
|
|
} |