filegdb 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDQ3ODRmZTVmYmQ1NjI1Mjc5OGJlZWQwNDkzNjg2ZWIwYmU0NzNlYw==
4
+ MzM1MjMzMTkwNDc3MjEyNzU1Y2U5ZmY2ODk0NGZhZTk4Y2VhY2E3NQ==
5
5
  data.tar.gz: !binary |-
6
- YTA1Y2FiMjIzMTBhYWNiYTI5NTllOWZhNTQ2OWNhYzkzYzc1NjdmNw==
6
+ NzRmMDRjY2U3MzZlZTA5NDVmYzdiNjA4MTUyMDc5ZjViMGUyMWNkZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OTUxMjlkMjM0MjNiYTkxZjkyNTVlZGZhNThhZjhhN2IwZTFjMTc5MzdlN2Zj
10
- Yjc4N2EwN2IxMmQ3NDJhMWFiOWQxMzIwNzY2Nzk0YTc4ZWE2NDMyNjA4ZmFi
11
- YWU5Y2VlYmVkNTc1N2ZmNDAxZjM2MTkwYTRjZDZkN2RjNzQ0MGM=
9
+ Y2UzOTVhMzMzZjllODJlZTE2YzA3M2JiZWEzYmM3MDQwMzg2ZGRjZDUxNTdh
10
+ YjZjOTRiZDA3OGEwODJiN2MzZDUxMzgyYTEzZGRhMDUxNDVlZTBmNDVhMWFh
11
+ ODk0OTEzYmI5MzdhMWQ0YzRhNzk3MmU3YmYzMjRiZTkzZjcyYzQ=
12
12
  data.tar.gz: !binary |-
13
- N2EyOWM2ZTE2MTdlYTY5ODljMDY0NTRlYzU5ZTFlZGQ2ZmUwOTgxMDg4Njkx
14
- OWRjYzk5NmY2ZTg1M2RiODg1OTA0MjZkNWQ2NDRlNTQ3MWQ0ODRiYzQ0NGY1
15
- Y2QwNGMxNWFkMWQwOWJlMzlmNjVlOTRmYjY0NTFmZDkzMjY4ZTc=
13
+ MWZmNjNhNjE4N2ZhNmIwYTk2NDk5NWI4MGIwYjZlMGNjMzMxZDE0MGE5Mzgz
14
+ M2VlOWEyY2MxNDQ4ZDc3YTM3YmM0OTQ1OWExNzMxNWU5NGU5OWE2ZGVmMTc3
15
+ ZmUzM2QyNTFmNGFiZDg1NGExYWI5OWQ2ZDNjZTJkYjExNTM2YmY=
@@ -0,0 +1,35 @@
1
+
2
+ #include "double_primitive.hpp"
3
+
4
+ namespace filegdb {
5
+
6
+ VALUE double_primitive::_klass = Qnil;
7
+
8
+ VALUE double_primitive::klass() {
9
+ return double_primitive::_klass;
10
+ }
11
+
12
+ VALUE double_primitive::set_value(VALUE self, VALUE value) {
13
+ CHECK_ARGUMENT_FLOAT(value);
14
+
15
+ double_primitive *prim = unwrap(self);
16
+
17
+ *prim->_value = NUM2DBL(value);
18
+
19
+ return prim->wrapped();
20
+ }
21
+
22
+ VALUE double_primitive::get_value(VALUE self) {
23
+ double_primitive *prim = unwrap(self);
24
+ return rb_float_new(*prim->_value);
25
+ }
26
+
27
+ void double_primitive::define(VALUE module)
28
+ {
29
+ double_primitive::_klass = rb_define_class_under(module, "DoublePrimitive", rb_cObject);
30
+ base::define(double_primitive::_klass, true);
31
+ rb_define_method(double_primitive::_klass, "value", FGDB_METHOD(double_primitive::get_value), 0);
32
+ rb_define_method(double_primitive::_klass, "value=", FGDB_METHOD(double_primitive::set_value), 1);
33
+ }
34
+
35
+ }
@@ -0,0 +1,29 @@
1
+ #ifndef __FGDB_DOUBLE_PRIMITIVE_HPP__
2
+ #define __FGDB_DOUBLE_PRIMITIVE_HPP__
3
+
4
+ #include "filegdb.hpp"
5
+ #include "base.hpp"
6
+ #include "primitive.hpp"
7
+
8
+ namespace filegdb {
9
+
10
+ class double_primitive : public primitive<double, double_primitive> {
11
+ public:
12
+ double_primitive() {}
13
+
14
+ double_primitive(double *value) : primitive(value) {}
15
+
16
+ virtual VALUE klass();
17
+
18
+ static VALUE _klass;
19
+
20
+ static void define(VALUE module);
21
+
22
+ static VALUE set_value(VALUE self, VALUE value);
23
+
24
+ static VALUE get_value(VALUE self);
25
+ };
26
+
27
+ }
28
+
29
+ #endif
@@ -9,9 +9,12 @@
9
9
  #include "shape_buffer.hpp"
10
10
  #include "point_shape_buffer.hpp"
11
11
  #include "multi_point_shape_buffer.hpp"
12
+ #include "multi_part_shape_buffer.hpp"
12
13
  #include "point.hpp"
13
14
  #include "field_info.hpp"
14
15
  #include "spatial_reference.hpp"
16
+ #include "integer_primitive.hpp"
17
+ #include "double_primitive.hpp"
15
18
 
16
19
  VALUE cFileGDB;
17
20
 
@@ -25,7 +28,10 @@ extern "C" {
25
28
  filegdb::shape_buffer::define(cFileGDB);
26
29
  filegdb::point_shape_buffer::define(cFileGDB);
27
30
  filegdb::multi_point_shape_buffer::define(cFileGDB);
31
+ filegdb::multi_part_shape_buffer::define(cFileGDB);
28
32
  filegdb::field_info::define(cFileGDB);
29
33
  filegdb::spatial_reference::define(cFileGDB);
34
+ filegdb::integer_primitive::define(cFileGDB);
35
+ filegdb::double_primitive::define(cFileGDB);
30
36
  }
31
37
  }
@@ -0,0 +1,36 @@
1
+
2
+ #include "integer_primitive.hpp"
3
+
4
+ namespace filegdb {
5
+
6
+ VALUE integer_primitive::_klass = Qnil;
7
+
8
+ VALUE integer_primitive::klass() {
9
+ return integer_primitive::_klass;
10
+ }
11
+
12
+
13
+ VALUE integer_primitive::set_value(VALUE self, VALUE value) {
14
+ CHECK_ARGUMENT_FIXNUM(value);
15
+
16
+ integer_primitive *prim = unwrap(self);
17
+
18
+ *prim->_value = FIX2INT(value);
19
+
20
+ return prim->wrapped();
21
+ }
22
+
23
+ VALUE integer_primitive::get_value(VALUE self) {
24
+ integer_primitive *prim = unwrap(self);
25
+ return INT2FIX(*prim->_value);
26
+ }
27
+
28
+ void integer_primitive::define(VALUE module)
29
+ {
30
+ integer_primitive::_klass = rb_define_class_under(module, "IntegerPrimitive", rb_cObject);
31
+ base::define(integer_primitive::_klass, true);
32
+ rb_define_method(integer_primitive::_klass, "value", FGDB_METHOD(integer_primitive::get_value), 0);
33
+ rb_define_method(integer_primitive::_klass, "value=", FGDB_METHOD(integer_primitive::set_value), 1);
34
+ }
35
+
36
+ }
@@ -0,0 +1,29 @@
1
+ #ifndef __FGDB_INTEGER_PRIMITIVE_HPP__
2
+ #define __FGDB_INTEGER_PRIMITIVE_HPP__
3
+
4
+ #include "filegdb.hpp"
5
+ #include "base.hpp"
6
+ #include "primitive.hpp"
7
+
8
+ namespace filegdb {
9
+
10
+ class integer_primitive : public primitive<int, integer_primitive> {
11
+ public:
12
+ integer_primitive() {}
13
+
14
+ integer_primitive(int *value) : primitive(value) {}
15
+
16
+ virtual VALUE klass();
17
+
18
+ static VALUE _klass;
19
+
20
+ static void define(VALUE module);
21
+
22
+ static VALUE set_value(VALUE self, VALUE value);
23
+
24
+ static VALUE get_value(VALUE self);
25
+ };
26
+
27
+ }
28
+
29
+ #endif
@@ -0,0 +1,303 @@
1
+
2
+ #include "point.hpp"
3
+ #include "shape_buffer.hpp"
4
+ #include "multi_part_shape_buffer.hpp"
5
+ #include "integer_primitive.hpp"
6
+ #include "double_primitive.hpp"
7
+
8
+ namespace filegdb {
9
+
10
+ VALUE multi_part_shape_buffer::_klass = Qnil;
11
+
12
+ VALUE multi_part_shape_buffer::klass() {
13
+ return multi_part_shape_buffer::_klass;
14
+ }
15
+
16
+ VALUE multi_part_shape_buffer::setup(VALUE self, VALUE shapeType, VALUE numberOfParts, VALUE numberOfPoints) {
17
+ CHECK_ARGUMENT_FIXNUM(shapeType);
18
+ CHECK_ARGUMENT_FIXNUM(numberOfParts);
19
+ CHECK_ARGUMENT_FIXNUM(numberOfPoints);
20
+
21
+ multi_part_shape_buffer *shape = unwrap(self);
22
+
23
+ ShapeType nshape_type = (ShapeType)FIX2INT(shapeType);
24
+
25
+ fgdbError hr = shape->value().Setup(nshape_type, FIX2INT(numberOfParts), FIX2INT(numberOfPoints));
26
+
27
+ if (FGDB_IS_FAILURE(hr)) {
28
+ FGDB_RAISE_ERROR(hr);
29
+ }
30
+
31
+ return shape->wrapped();
32
+ }
33
+
34
+ VALUE multi_part_shape_buffer::get_points(VALUE self) {
35
+ multi_part_shape_buffer *shape = unwrap(self);
36
+
37
+ Point *points = NULL;
38
+
39
+ fgdbError hr = shape->value().GetPoints(points);
40
+
41
+ if (FGDB_IS_FAILURE(hr)) {
42
+ FGDB_RAISE_ERROR(hr);
43
+ }
44
+
45
+ int numPoints = 0;
46
+
47
+ hr = shape->value().GetNumPoints(numPoints);
48
+
49
+ if (FGDB_IS_FAILURE(hr)) {
50
+ FGDB_RAISE_ERROR(hr);
51
+ }
52
+
53
+ VALUE arrayOfPoints = rb_ary_new();
54
+
55
+ for (int i = 0; i < numPoints; ++i) {
56
+ point *p = new point(&points[i]);
57
+ rb_ary_push(arrayOfPoints, p->wrapped());
58
+ }
59
+
60
+ return arrayOfPoints;
61
+ }
62
+
63
+ VALUE multi_part_shape_buffer::get_parts(VALUE self) {
64
+ multi_part_shape_buffer *shape = unwrap(self);
65
+
66
+ int *parts = NULL;
67
+
68
+ fgdbError hr = shape->value().GetParts(parts);
69
+
70
+ if (FGDB_IS_FAILURE(hr)) {
71
+ FGDB_RAISE_ERROR(hr);
72
+ }
73
+
74
+ int numParts = 0;
75
+
76
+ hr = shape->value().GetNumParts(numParts);
77
+
78
+ if (FGDB_IS_FAILURE(hr)) {
79
+ FGDB_RAISE_ERROR(hr);
80
+ }
81
+
82
+ VALUE arrayOfParts = rb_ary_new();
83
+
84
+ for (int i = 0; i < numParts; ++i) {
85
+ integer_primitive *value = new integer_primitive(&parts[i]);
86
+ rb_ary_push(arrayOfParts, value->wrapped());
87
+ }
88
+
89
+ return arrayOfParts;
90
+ }
91
+
92
+ VALUE multi_part_shape_buffer::get_num_points(VALUE self) {
93
+ multi_part_shape_buffer *shape = unwrap(self);
94
+
95
+ int numPoints = 0;
96
+
97
+ fgdbError hr = shape->value().GetNumPoints(numPoints);
98
+
99
+ if (FGDB_IS_FAILURE(hr)) {
100
+ FGDB_RAISE_ERROR(hr);
101
+ }
102
+
103
+ return INT2FIX(numPoints);
104
+ }
105
+
106
+ VALUE multi_part_shape_buffer::get_num_parts(VALUE self) {
107
+ multi_part_shape_buffer *shape = unwrap(self);
108
+
109
+ int numParts = 0;
110
+
111
+ fgdbError hr = shape->value().GetNumParts(numParts);
112
+
113
+ if (FGDB_IS_FAILURE(hr)) {
114
+ FGDB_RAISE_ERROR(hr);
115
+ }
116
+
117
+ return INT2FIX(numParts);
118
+ }
119
+
120
+ VALUE multi_part_shape_buffer::get_zs(VALUE self)
121
+ {
122
+ multi_part_shape_buffer *shape = unwrap(self);
123
+
124
+ double *zValues;
125
+
126
+ fgdbError hr = shape->value().GetZs(zValues);
127
+
128
+ if (FGDB_IS_FAILURE(hr)) {
129
+ FGDB_RAISE_ERROR(hr);
130
+ }
131
+
132
+ int numPoints = 0;
133
+
134
+ hr = shape->value().GetNumPoints(numPoints);
135
+
136
+ if (FGDB_IS_FAILURE(hr)) {
137
+ FGDB_RAISE_ERROR(hr);
138
+ }
139
+
140
+ VALUE result = rb_ary_new();
141
+
142
+ for (int i = 0; i < numPoints; ++i) {
143
+ rb_ary_push(result, rb_float_new(zValues[i]));
144
+ }
145
+
146
+ return result;
147
+ }
148
+
149
+ VALUE multi_part_shape_buffer::get_ms(VALUE self)
150
+ {
151
+ multi_part_shape_buffer *shape = unwrap(self);
152
+
153
+ double *mValues;
154
+
155
+ fgdbError hr = shape->value().GetMs(mValues);
156
+
157
+ if (FGDB_IS_FAILURE(hr)) {
158
+ FGDB_RAISE_ERROR(hr);
159
+ }
160
+
161
+ int numPoints = 0;
162
+
163
+ hr = shape->value().GetNumPoints(numPoints);
164
+
165
+ if (FGDB_IS_FAILURE(hr)) {
166
+ FGDB_RAISE_ERROR(hr);
167
+ }
168
+
169
+ VALUE result = rb_ary_new();
170
+
171
+ for (int i = 0; i < numPoints; ++i) {
172
+ rb_ary_push(result, rb_float_new(mValues[i]));
173
+ }
174
+
175
+ return result;
176
+ }
177
+
178
+ VALUE multi_part_shape_buffer::get_ids(VALUE self)
179
+ {
180
+ multi_part_shape_buffer *shape = unwrap(self);
181
+
182
+ int *idValues;
183
+
184
+ fgdbError hr = shape->value().GetIDs(idValues);
185
+
186
+ if (FGDB_IS_FAILURE(hr)) {
187
+ FGDB_RAISE_ERROR(hr);
188
+ }
189
+
190
+ int numPoints = 0;
191
+
192
+ hr = shape->value().GetNumPoints(numPoints);
193
+
194
+ if (FGDB_IS_FAILURE(hr)) {
195
+ FGDB_RAISE_ERROR(hr);
196
+ }
197
+
198
+ VALUE result = rb_ary_new();
199
+
200
+ for (int i = 0; i < numPoints; ++i) {
201
+ rb_ary_push(result, INT2FIX(idValues[i]));
202
+ }
203
+
204
+ return result;
205
+ }
206
+
207
+ VALUE multi_part_shape_buffer::get_extent(VALUE self)
208
+ {
209
+ multi_part_shape_buffer *shape = unwrap(self);
210
+
211
+ double *extents = NULL;
212
+
213
+ fgdbError hr = shape->value().GetExtent(extents);
214
+
215
+ if (FGDB_IS_FAILURE(hr)) {
216
+ FGDB_RAISE_ERROR(hr);
217
+ }
218
+
219
+ VALUE result = rb_ary_new();
220
+
221
+ rb_ary_push(result, DBL2NUM(extents[0]));
222
+ rb_ary_push(result, DBL2NUM(extents[1]));
223
+ rb_ary_push(result, DBL2NUM(extents[2]));
224
+ rb_ary_push(result, DBL2NUM(extents[3]));
225
+
226
+ return result;
227
+ }
228
+
229
+ VALUE multi_part_shape_buffer::get_z_extent(VALUE self)
230
+ {
231
+ multi_part_shape_buffer *shape = unwrap(self);
232
+
233
+ double *extents = NULL;
234
+
235
+ fgdbError hr = shape->value().GetZExtent(extents);
236
+
237
+ if (FGDB_IS_FAILURE(hr)) {
238
+ FGDB_RAISE_ERROR(hr);
239
+ }
240
+
241
+ VALUE result = rb_ary_new();
242
+
243
+ rb_ary_push(result, DBL2NUM(extents[0]));
244
+ rb_ary_push(result, DBL2NUM(extents[1]));
245
+
246
+ return result;
247
+ }
248
+
249
+ VALUE multi_part_shape_buffer::get_m_extent(VALUE self)
250
+ {
251
+ multi_part_shape_buffer *shape = unwrap(self);
252
+
253
+ double *extents = NULL;
254
+
255
+ fgdbError hr = shape->value().GetMExtent(extents);
256
+
257
+ if (FGDB_IS_FAILURE(hr)) {
258
+ FGDB_RAISE_ERROR(hr);
259
+ }
260
+
261
+ VALUE result = rb_ary_new();
262
+
263
+ rb_ary_push(result, DBL2NUM(extents[0]));
264
+ rb_ary_push(result, DBL2NUM(extents[1]));
265
+
266
+ return result;
267
+ }
268
+
269
+ VALUE multi_part_shape_buffer::calculate_extent(VALUE self)
270
+ {
271
+ multi_part_shape_buffer *shape = unwrap(self);
272
+
273
+ fgdbError hr = shape->value().CalculateExtent();
274
+
275
+ if (FGDB_IS_FAILURE(hr)) {
276
+ FGDB_RAISE_ERROR(hr);
277
+ }
278
+
279
+ return Qnil;
280
+ }
281
+
282
+ void multi_part_shape_buffer::define(VALUE module)
283
+ {
284
+ multi_part_shape_buffer::_klass = rb_define_class_under(module, "MultiPartShapeBuffer", shape_buffer::_klass);
285
+ base::define(multi_part_shape_buffer::_klass, true);
286
+ rb_define_method(multi_part_shape_buffer::_klass, "setup", FGDB_METHOD(multi_part_shape_buffer::setup), 3);
287
+ rb_define_method(multi_part_shape_buffer::_klass, "get_points", FGDB_METHOD(multi_part_shape_buffer::get_points), 0);
288
+ rb_define_method(multi_part_shape_buffer::_klass, "get_parts", FGDB_METHOD(multi_part_shape_buffer::get_parts), 0);
289
+ rb_define_method(multi_part_shape_buffer::_klass, "get_num_points", FGDB_METHOD(multi_part_shape_buffer::get_num_points), 0);
290
+ rb_define_method(multi_part_shape_buffer::_klass, "get_num_parts", FGDB_METHOD(multi_part_shape_buffer::get_num_parts), 0);
291
+ rb_define_method(multi_part_shape_buffer::_klass, "z", FGDB_METHOD(multi_part_shape_buffer::get_zs), 0);
292
+ rb_define_method(multi_part_shape_buffer::_klass, "m", FGDB_METHOD(multi_part_shape_buffer::get_ms), 0);
293
+ rb_define_method(multi_part_shape_buffer::_klass, "id", FGDB_METHOD(multi_part_shape_buffer::get_ids), 0);
294
+ rb_define_method(multi_part_shape_buffer::_klass, "get_extent", FGDB_METHOD(multi_part_shape_buffer::get_extent), 0);
295
+ rb_define_method(multi_part_shape_buffer::_klass, "get_z_extent", FGDB_METHOD(multi_part_shape_buffer::get_z_extent), 0);
296
+ rb_define_method(multi_part_shape_buffer::_klass, "get_m_extent", FGDB_METHOD(multi_part_shape_buffer::get_m_extent), 0);
297
+ rb_define_method(multi_part_shape_buffer::_klass, "calculate_extent", FGDB_METHOD(multi_part_shape_buffer::calculate_extent), 0);
298
+ }
299
+
300
+ }
301
+
302
+
303
+
@@ -0,0 +1,38 @@
1
+ #ifndef __FGDB_MULTI_PART_SHAPE_BUFFER_HPP__
2
+ #define __FGDB_MULTI_PART_SHAPE_BUFFER_HPP__
3
+
4
+ #include "filegdb.hpp"
5
+ #include "shape_buffer_base.hpp"
6
+
7
+ namespace filegdb {
8
+ class multi_part_shape_buffer : public shape_buffer_base<multi_part_shape_buffer, MultiPartShapeBuffer> {
9
+ public:
10
+ static void define(VALUE module);
11
+
12
+ static VALUE setup(VALUE self, VALUE shapeType, VALUE numberOfParts, VALUE numberOfPoints);
13
+ static VALUE get_points(VALUE self);
14
+ static VALUE get_parts(VALUE self);
15
+ static VALUE get_num_points(VALUE self);
16
+ static VALUE get_num_parts(VALUE self);
17
+ static VALUE get_zs(VALUE self);
18
+ static VALUE get_ms(VALUE self);
19
+ static VALUE get_ids(VALUE self);
20
+ static VALUE get_extent(VALUE self);
21
+ static VALUE get_z_extent(VALUE self);
22
+ static VALUE get_m_extent(VALUE self);
23
+ static VALUE calculate_extent(VALUE self);
24
+
25
+ virtual VALUE klass();
26
+
27
+ static VALUE _klass;
28
+
29
+ virtual ~multi_part_shape_buffer() {};
30
+ };
31
+ }
32
+
33
+ #endif
34
+
35
+
36
+
37
+
38
+
@@ -0,0 +1,20 @@
1
+ #ifndef __FGDB_PRIMITIVE_HPP__
2
+ #define __FGDB_PRIMITIVE_HPP__
3
+
4
+ #include "filegdb.hpp"
5
+
6
+ namespace filegdb {
7
+ template<typename T, typename K> class primitive : public base<K> {
8
+ public:
9
+ primitive(T *value) : _value(value) {}
10
+
11
+ virtual ~primitive() {}
12
+
13
+ protected:
14
+ primitive() {}
15
+
16
+ T *_value;
17
+ };
18
+ }
19
+
20
+ #endif
@@ -1,3 +1,3 @@
1
1
  module FileGDB
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -0,0 +1,66 @@
1
+ require 'spec_helper'
2
+
3
+ NUM_POINTS = 3
4
+ NUM_PARTS = 1
5
+
6
+ describe 'MultiPartShapeBuffer' do
7
+ before(:each) do
8
+ @shape = FileGDB::MultiPartShapeBuffer.new
9
+ @shape.setup(15, NUM_PARTS, NUM_POINTS)
10
+ end
11
+
12
+ it 'sets up the geometry' do
13
+ lambda { @shape.setup(5, NUM_POINTS, NUM_PARTS) }.should_not raise_error
14
+ end
15
+
16
+ it 'gets the number of points' do
17
+ @shape.get_num_points.should eq(NUM_POINTS)
18
+ end
19
+
20
+ it 'gets the number of parts' do
21
+ @shape.get_num_parts.should eq(NUM_PARTS)
22
+ end
23
+
24
+ it 'gets the parts' do
25
+ @shape.get_parts.should have(1).item
26
+ end
27
+
28
+ it 'sets the parts' do
29
+ parts = @shape.get_parts
30
+ parts[0].value = 10
31
+ @shape.get_parts[0].value.should eq(10)
32
+ end
33
+
34
+ it 'gets the points' do
35
+ @shape.get_points.should have(3).items
36
+ end
37
+
38
+ it 'gets the z values' do
39
+ @shape.z.should have(3).items
40
+ end
41
+
42
+ it 'gets the m values' do
43
+ @shape.m.should have(3).items
44
+ end
45
+
46
+ it 'gets the id values' do
47
+ lambda { @shape.id }.should raise_error
48
+ end
49
+
50
+ it 'gets the extent' do
51
+ @shape.get_extent.should eq([0, 0, 0, 0])
52
+ end
53
+
54
+ it 'gets the z extent' do
55
+ @shape.get_z_extent.should eq([0, 0])
56
+ end
57
+
58
+ it 'gets the m extent' do
59
+ @shape.get_m_extent.should eq([0, 0])
60
+ end
61
+
62
+ it 'calculates the extent' do
63
+ lambda { @shape.calculate_extent }.should_not raise_error
64
+ end
65
+ end
66
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filegdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zac McCormick
@@ -68,6 +68,8 @@ files:
68
68
  - README.md
69
69
  - Rakefile
70
70
  - ext/filegdb/base.hpp
71
+ - ext/filegdb/double_primitive.cpp
72
+ - ext/filegdb/double_primitive.hpp
71
73
  - ext/filegdb/extconf.rb
72
74
  - ext/filegdb/field_info.cpp
73
75
  - ext/filegdb/field_info.hpp
@@ -88,12 +90,17 @@ files:
88
90
  - ext/filegdb/filegdb/lib/libfgdbunixrtl.so
89
91
  - ext/filegdb/geodatabase.cpp
90
92
  - ext/filegdb/geodatabase.hpp
93
+ - ext/filegdb/integer_primitive.cpp
94
+ - ext/filegdb/integer_primitive.hpp
95
+ - ext/filegdb/multi_part_shape_buffer.cpp
96
+ - ext/filegdb/multi_part_shape_buffer.hpp
91
97
  - ext/filegdb/multi_point_shape_buffer.cpp
92
98
  - ext/filegdb/multi_point_shape_buffer.hpp
93
99
  - ext/filegdb/point.cpp
94
100
  - ext/filegdb/point.hpp
95
101
  - ext/filegdb/point_shape_buffer.cpp
96
102
  - ext/filegdb/point_shape_buffer.hpp
103
+ - ext/filegdb/primitive.hpp
97
104
  - ext/filegdb/row.cpp
98
105
  - ext/filegdb/row.hpp
99
106
  - ext/filegdb/shape_buffer.cpp
@@ -114,6 +121,7 @@ files:
114
121
  - spec/field_info_spec.rb
115
122
  - spec/filegdb_spec.rb
116
123
  - spec/geodatabase_spec.rb
124
+ - spec/multi_part_shape_buffer_spec.rb
117
125
  - spec/multi_point_shape_buffer_spec.rb
118
126
  - spec/point_shape_buffer_spec.rb
119
127
  - spec/row_spec.rb
@@ -154,6 +162,7 @@ test_files:
154
162
  - spec/field_info_spec.rb
155
163
  - spec/filegdb_spec.rb
156
164
  - spec/geodatabase_spec.rb
165
+ - spec/multi_part_shape_buffer_spec.rb
157
166
  - spec/multi_point_shape_buffer_spec.rb
158
167
  - spec/point_shape_buffer_spec.rb
159
168
  - spec/row_spec.rb