hornetseye-kinect 0.4.0 → 0.4.1
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.
- data/Rakefile +30 -4
- data/ext/kinectcontext.hh +8 -0
- data/ext/kinectinput.cc +5 -5
- metadata +29 -3
data/Rakefile
CHANGED
@@ -7,7 +7,7 @@ require 'rake/loaders/makefile'
|
|
7
7
|
require 'rbconfig'
|
8
8
|
|
9
9
|
PKG_NAME = 'hornetseye-kinect'
|
10
|
-
PKG_VERSION = '0.4.
|
10
|
+
PKG_VERSION = '0.4.1'
|
11
11
|
CFG = RbConfig::CONFIG
|
12
12
|
CXX = ENV[ 'CXX' ] || 'g++'
|
13
13
|
RB_FILES = FileList[ 'lib/**/*.rb' ]
|
@@ -27,7 +27,7 @@ EMAIL = %q{jan@wedesoft.de}
|
|
27
27
|
HOMEPAGE = %q{http://wedesoft.github.com/hornetseye-kinect/}
|
28
28
|
|
29
29
|
OBJ = CC_FILES.ext 'o'
|
30
|
-
# $CXXFLAGS = "-DNDEBUG #{CFG[ 'CPPFLAGS' ]} #{CFG[ 'CFLAGS' ]}"
|
30
|
+
# $CXXFLAGS = "-DNDEBUG -DHAVE_CONFIG_H #{CFG[ 'CPPFLAGS' ]} #{CFG[ 'CFLAGS' ]}"
|
31
31
|
$CXXFLAGS = "-g #{CFG[ 'CPPFLAGS' ]} #{CFG[ 'CFLAGS' ]}"
|
32
32
|
if CFG[ 'rubyhdrdir' ]
|
33
33
|
$CXXFLAGS = "#{$CXXFLAGS} -I#{CFG[ 'rubyhdrdir' ]} " +
|
@@ -47,7 +47,7 @@ desc 'Compile Ruby extension (default)'
|
|
47
47
|
task :all => [ SO_FILE ]
|
48
48
|
|
49
49
|
file SO_FILE => OBJ do |t|
|
50
|
-
sh "#{CXX} -shared -o #{t.name} #{OBJ} -lfreenect #{$LIBRUBYARG}"
|
50
|
+
sh "#{CXX} -shared -o #{t.name} #{OBJ} -lfreenect -lusb-1.0 #{$LIBRUBYARG}"
|
51
51
|
end
|
52
52
|
|
53
53
|
task :test => [ SO_FILE ]
|
@@ -74,6 +74,32 @@ task :uninstall do
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
|
+
desc 'Create config.h'
|
78
|
+
task :config_h => 'ext/config.h'
|
79
|
+
|
80
|
+
def check_c_header( name )
|
81
|
+
check_program do |c|
|
82
|
+
c.puts <<EOS
|
83
|
+
extern "C" {
|
84
|
+
#include <#{name}>
|
85
|
+
}
|
86
|
+
int main(void) { return 0; }
|
87
|
+
EOS
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
file 'ext/config.h' do |t|
|
92
|
+
s = "/* config.h. Generated from Rakefile by rake. */\n"
|
93
|
+
if check_c_header 'libfreenect/libfreenect.h'
|
94
|
+
s << "#define HAVE_LIBFREENECT_INCDIR 1\n"
|
95
|
+
elsif check_c_header 'libfreenect.h'
|
96
|
+
s << "#undef HAVE_LIBFREENECT_INCDIR 1\n"
|
97
|
+
else
|
98
|
+
raise 'Cannot find swscale.h header file'
|
99
|
+
end
|
100
|
+
File.open(t.name, 'w') { |f| f.puts s }
|
101
|
+
end
|
102
|
+
|
77
103
|
Rake::TestTask.new do |t|
|
78
104
|
t.libs << 'ext'
|
79
105
|
t.test_files = TC_FILES
|
@@ -181,5 +207,5 @@ end
|
|
181
207
|
import ".depends.mf"
|
182
208
|
|
183
209
|
CLEAN.include 'ext/*.o'
|
184
|
-
CLOBBER.include SO_FILE, 'doc', '.yardoc', '.depends.mf'
|
210
|
+
CLOBBER.include SO_FILE, 'doc', '.yardoc', '.depends.mf', 'ext/config.h'
|
185
211
|
|
data/ext/kinectcontext.hh
CHANGED
@@ -16,8 +16,16 @@
|
|
16
16
|
#ifndef HORNETSEYE_KINECTCONTEXT_HH
|
17
17
|
#define HORNETSEYE_KINECTCONTEXT_HH
|
18
18
|
|
19
|
+
#ifdef HAVE_CONFIG_H
|
20
|
+
#include "config.h"
|
21
|
+
#endif
|
22
|
+
|
19
23
|
#include <boost/smart_ptr.hpp>
|
24
|
+
#ifdef HAVE_LIBFREENECT_INCDIR
|
20
25
|
#include <libfreenect/libfreenect.h>
|
26
|
+
#else
|
27
|
+
#include <libfreenect.h>
|
28
|
+
#endif
|
21
29
|
#include "error.hh"
|
22
30
|
#include "rubyinc.hh"
|
23
31
|
|
data/ext/kinectinput.cc
CHANGED
@@ -53,10 +53,10 @@ KinectInput::KinectInput( KinectContextPtr context, int node ) throw (Error):
|
|
53
53
|
m_depth[i] = (char *)malloc( FREENECT_DEPTH_11BIT_SIZE );
|
54
54
|
};
|
55
55
|
instances[ m_device ] = this;
|
56
|
-
|
57
|
-
|
58
|
-
freenect_set_video_mode(m_device, freenect_find_video_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_VIDEO_RGB));
|
59
|
-
freenect_set_depth_mode(m_device, freenect_find_depth_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_DEPTH_11BIT));
|
56
|
+
freenect_set_depth_format( m_device, FREENECT_DEPTH_11BIT );
|
57
|
+
freenect_set_video_format( m_device, FREENECT_VIDEO_RGB );
|
58
|
+
// freenect_set_video_mode(m_device, freenect_find_video_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_VIDEO_RGB));
|
59
|
+
// freenect_set_depth_mode(m_device, freenect_find_depth_mode(FREENECT_RESOLUTION_MEDIUM, FREENECT_DEPTH_11BIT));
|
60
60
|
freenect_set_depth_buffer( m_device, m_rgb[0] );
|
61
61
|
freenect_set_video_buffer( m_device, m_rgb[0] );
|
62
62
|
freenect_set_depth_callback( m_device, staticDepthCallBack );
|
@@ -200,7 +200,7 @@ int KinectInput::getTiltStatus(void) throw (Error)
|
|
200
200
|
{
|
201
201
|
ERRORMACRO( m_device != NULL, Error, , "Kinect device is not open. "
|
202
202
|
"Did you call \"close\" before?" );
|
203
|
-
return (int)
|
203
|
+
return (int)(freenect_get_tilt_state( m_device )->tilt_status);
|
204
204
|
}
|
205
205
|
|
206
206
|
void KinectInput::depthCallBack( void *depth, unsigned int timestamp )
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hornetseye-kinect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 13
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
- 1
|
10
|
+
version: 0.4.1
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- Jan Wedekind
|
@@ -10,7 +15,7 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date:
|
18
|
+
date: 2012-05-19 00:00:00 Z
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: malloc
|
@@ -20,6 +25,10 @@ dependencies:
|
|
20
25
|
requirements:
|
21
26
|
- - ~>
|
22
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 13
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 1
|
23
32
|
version: "1.1"
|
24
33
|
type: :runtime
|
25
34
|
version_requirements: *id001
|
@@ -31,6 +40,10 @@ dependencies:
|
|
31
40
|
requirements:
|
32
41
|
- - ~>
|
33
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 37
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
- 23
|
34
47
|
version: "0.23"
|
35
48
|
type: :runtime
|
36
49
|
version_requirements: *id002
|
@@ -42,6 +55,10 @@ dependencies:
|
|
42
55
|
requirements:
|
43
56
|
- - ~>
|
44
57
|
- !ruby/object:Gem::Version
|
58
|
+
hash: 29
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
- 11
|
45
62
|
version: "0.11"
|
46
63
|
type: :runtime
|
47
64
|
version_requirements: *id003
|
@@ -53,6 +70,9 @@ dependencies:
|
|
53
70
|
requirements:
|
54
71
|
- - ">="
|
55
72
|
- !ruby/object:Gem::Version
|
73
|
+
hash: 3
|
74
|
+
segments:
|
75
|
+
- 0
|
56
76
|
version: "0"
|
57
77
|
type: :development
|
58
78
|
version_requirements: *id004
|
@@ -96,17 +116,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
96
116
|
requirements:
|
97
117
|
- - ">="
|
98
118
|
- !ruby/object:Gem::Version
|
119
|
+
hash: 3
|
120
|
+
segments:
|
121
|
+
- 0
|
99
122
|
version: "0"
|
100
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
124
|
none: false
|
102
125
|
requirements:
|
103
126
|
- - ">="
|
104
127
|
- !ruby/object:Gem::Version
|
128
|
+
hash: 3
|
129
|
+
segments:
|
130
|
+
- 0
|
105
131
|
version: "0"
|
106
132
|
requirements: []
|
107
133
|
|
108
134
|
rubyforge_project: hornetseye
|
109
|
-
rubygems_version: 1.8.
|
135
|
+
rubygems_version: 1.8.15
|
110
136
|
signing_key:
|
111
137
|
specification_version: 3
|
112
138
|
summary: Acquisition of images and depth maps using libfreenect
|