Class: Geos::PreparedGeometry
- Inherits:
-
Object
- Object
- Geos::PreparedGeometry
show all
- Includes:
- Tools
- Defined in:
- lib/ffi-geos/prepared_geometry.rb
Constant Summary
Constants included
from GeomTypes
GeomTypes::GEOS_GEOMETRYCOLLECTION, GeomTypes::GEOS_LINEARRING, GeomTypes::GEOS_LINESTRING, GeomTypes::GEOS_MULTILINESTRING, GeomTypes::GEOS_MULTIPOINT, GeomTypes::GEOS_MULTIPOLYGON, GeomTypes::GEOS_POINT, GeomTypes::GEOS_POLYGON
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Tools
#bool_result, #cast_geometry_ptr, #check_enum_value, #check_geometry, #pick_srid_according_to_policy, #pick_srid_from_geoms, #symbol_for_enum
Constructor Details
#initialize(geom, auto_free = true) ⇒ PreparedGeometry
Returns a new instance of PreparedGeometry.
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 11
def initialize(geom, auto_free = true)
check_geometry(geom)
@ptr = FFI::AutoPointer.new(
FFIGeos.GEOSPrepare_r(Geos.current_handle, geom.ptr),
auto_free ? self.class.method(:release) : self.class.method(:no_release)
)
@geometry = geom
if !auto_free
@ptr.autorelease = false
end
end
|
Instance Attribute Details
#geometry ⇒ Object
Returns the value of attribute geometry.
7
8
9
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 7
def geometry
@geometry
end
|
#ptr ⇒ Object
Returns the value of attribute ptr.
7
8
9
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 7
def ptr
@ptr
end
|
Class Method Details
.no_release(ptr) ⇒ Object
25
26
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 25
def self.no_release(ptr) end
|
.release(ptr) ⇒ Object
28
29
30
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 28
def self.release(ptr) FFIGeos.GEOSPreparedGeom_destroy_r(Geos.current_handle, ptr)
end
|
Instance Method Details
#contains?(geom) ⇒ Boolean
32
33
34
35
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 32
def contains?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedContains_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#contains_properly?(geom) ⇒ Boolean
37
38
39
40
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 37
def contains_properly?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedContainsProperly_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#covered_by?(geom) ⇒ Boolean
42
43
44
45
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 42
def covered_by?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedCoveredBy_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#covers?(geom) ⇒ Boolean
47
48
49
50
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 47
def covers?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedCovers_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#crosses?(geom) ⇒ Boolean
52
53
54
55
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 52
def crosses?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedCrosses_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#disjoint?(geom) ⇒ Boolean
57
58
59
60
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 57
def disjoint?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedDisjoint_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#intersects?(geom) ⇒ Boolean
62
63
64
65
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 62
def intersects?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedIntersects_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#overlaps?(geom) ⇒ Boolean
67
68
69
70
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 67
def overlaps?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedOverlaps_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#touches?(geom) ⇒ Boolean
72
73
74
75
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 72
def touches?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedTouches_r(Geos.current_handle, self.ptr, geom.ptr))
end
|
#within?(geom) ⇒ Boolean
77
78
79
80
|
# File 'lib/ffi-geos/prepared_geometry.rb', line 77
def within?(geom)
check_geometry(geom)
bool_result(FFIGeos.GEOSPreparedWithin_r(Geos.current_handle, self.ptr, geom.ptr))
end
|