File Coverage

xsi/IntersectionMatrix.xsi
Criterion Covered Total %
statement 38 40 95.0
branch 45 102 44.1
condition n/a
subroutine n/a
pod n/a
total 83 142 58.4


line stmt bran cond sub pod time code
1             MODULE = Geo::Geos PACKAGE = Geo::Geos::IntersectionMatrix
2             PROTOTYPES: DISABLE
3              
4             IntersectionMatrix* new(SV*, SV* arg1 = NULL) {
5 6           if (!arg1) RETVAL = new IntersectionMatrix();
6 3 100         else {
    50          
    50          
7             std::string elements { SvPV_nolen(arg1) };
8 4 50         RETVAL = new IntersectionMatrix(elements);
    0          
    50          
9 2 50         }
    50          
10             }
11              
12 1 50         bool IntersectionMatrix::matches (std::string requiredDimensionSymbols)
13              
14 0           void IntersectionMatrix::add(IntersectionMatrix& other) { THIS->add(&other); }
15              
16             void IntersectionMatrix::set(SV* arg1, SV* arg2 = NULL, SV* arg3 = NULL) {
17 2 50         if(!arg1) throw("undef not allowed");
18 2 100         if (!arg2) {
19 2 50         std::string dimensionSymbols { SvPV_nolen(arg1) };
    0          
    50          
20 1 50         THIS->set(dimensionSymbols);
21             } else {
22 1 50         if(!arg3) throw("undef not allowed");
23 1 50         int row = SvIV(arg1);
    0          
24 1 50         int col = SvIV(arg2);
    0          
25 1 50         int val = SvIV(arg3);
    0          
26 1 50         THIS->set(row, col, val);
27             }
28             }
29              
30             void IntersectionMatrix::setAtLeast(SV* arg1, SV* arg2 = NULL, SV* arg3 = NULL) {
31 2 50         if(!arg1) throw("undef not allowed");
32 2 100         if (!arg2) {
33 2 50         std::string dimensionSymbols { SvPV_nolen(arg1) };
    0          
    50          
34 1 50         THIS->setAtLeast(dimensionSymbols);
    50          
35             } else {
36 1 50         if(!arg3) throw("undef not allowed");
37 1 50         int row = SvIV(arg1);
    0          
38 1 50         int col = SvIV(arg2);
    0          
39 1 50         int val = SvIV(arg3);
    0          
40 1 50         THIS->setAtLeast(row, col, val);
41             }
42             }
43              
44 1           void IntersectionMatrix::setAll(int dimensionValue)
45              
46 1           void IntersectionMatrix::setAtLeastIfValid(int row, int column, int minimumDimensionValue)
47              
48 1 50         int IntersectionMatrix::get(int row, int col)
49              
50 1 50         bool IntersectionMatrix::isDisjoint()
51              
52 1 50         bool IntersectionMatrix::isIntersects()
53              
54 1 50         bool IntersectionMatrix::isWithin()
55              
56 1 50         bool IntersectionMatrix::isContains()
57              
58 1 50         bool IntersectionMatrix::isCovers()
59              
60 1 50         bool IntersectionMatrix::isCoveredBy()
61              
62 1 50         bool IntersectionMatrix::isTouches (int dimensionOfGeometryA, int dimensionOfGeometryB)
63              
64 1 50         bool IntersectionMatrix::isCrosses (int dimensionOfGeometryA, int dimensionOfGeometryB)
65              
66 1 50         bool IntersectionMatrix::isEquals (int dimensionOfGeometryA, int dimensionOfGeometryB)
67              
68 1 50         bool IntersectionMatrix::isOverlaps (int dimensionOfGeometryA, int dimensionOfGeometryB)
69              
70             # returns self
71 1           void IntersectionMatrix::transpose() { THIS->transpose(); XSRETURN(1); }
72              
73 20 50         std::string IntersectionMatrix::toString (...)
    50          
74              
75 0           int CLONE_SKIP (...) { PERL_UNUSED_VAR(items); RETVAL = 1; }