Class: Freenect::Interface
- Inherits:
-
Object
- Object
- Freenect::Interface
show all
- Extended by:
- Driver
- Defined in:
- lib/freenect/freenect.rb
Constant Summary
Constants included
from Driver
Driver::FREENECT_COUNTS_PER_G, Driver::FREENECT_DEPTH_FORMAT, Driver::FREENECT_DEVICE_FLAGS, Driver::FREENECT_LED_OPTIONS, Driver::FREENECT_LOGLEVEL, Driver::FREENECT_RESOLUTION, Driver::FREENECT_TILT_STATUS_CODE, Driver::FREENECT_VIDEO_FORMAT
Class Method Summary
collapse
Methods included from Driver
freenect_find_depth_mode, freenect_find_video_mode, freenect_get_current_depth_mode, freenect_get_current_video_mode, freenect_get_depth_mode, freenect_get_depth_mode_count, freenect_get_tilt_degs, freenect_get_tilt_state, freenect_get_tilt_status, freenect_get_user, freenect_get_video_mode, freenect_get_video_mode_count, freenect_init, freenect_num_devices, freenect_open_device, freenect_process_events, freenect_set_depth_mode, freenect_set_led, freenect_set_tilt_degs, freenect_set_video_buffer, freenect_set_video_mode, freenect_shutdown, freenect_start_depth, freenect_start_video, freenect_stop_depth, freenect_stop_video, freenect_update_tilt_state
Class Method Details
.find_depth_mode(format = :freenect_depth_11bit, resolution = :freenect_resolution_medium) ⇒ Object
85
86
87
|
# File 'lib/freenect/freenect.rb', line 85
def find_depth_mode(format=:freenect_depth_11bit, resolution=:freenect_resolution_medium)
freenect_find_depth_mode(resolution, format)
end
|
.find_video_mode(format = :freenect_video_rgb, resolution = :freenect_resolution_medium) ⇒ Object
62
63
64
|
# File 'lib/freenect/freenect.rb', line 62
def find_video_mode(format=:freenect_video_rgb, resolution=:freenect_resolution_medium)
freenect_find_video_mode(resolution, format)
end
|
.get_acceleration(tilt_state = nil, idx = 0) ⇒ Object
116
117
118
119
120
121
122
123
|
# File 'lib/freenect/freenect.rb', line 116
def get_acceleration(tilt_state=nil, idx=0)
tilt_state ||= get_tilt_state(idx)
xacc = pointer(:double)
yacc = pointer(:double)
zacc = pointer(:double)
freenect_get_mks_accel(tilt_state, xacc, yacc, zacc)
{:x=>xacc.read_double, :y=>yacc.read_double, :z=>zacc.read_double}
end
|
.get_current_depth_mode(idx = 0) ⇒ Object
81
82
83
|
# File 'lib/freenect/freenect.rb', line 81
def get_current_depth_mode(idx=0)
(@depth_mode || {})[idx]
end
|
.get_current_video_mode(idx = 0) ⇒ Object
58
59
60
|
# File 'lib/freenect/freenect.rb', line 58
def get_current_video_mode(idx=0)
(@video_mode || {})[idx]
end
|
.get_depth(depth_mode, idx = 0) ⇒ Object
89
90
91
92
93
94
|
# File 'lib/freenect/freenect.rb', line 89
def get_depth(depth_mode, idx=0)
depth_p, timestamp_p = pointer(:pointer, 1), pointer(:uint32)
set_current_depth_mode(depth_mode, idx)
freenect_sync_get_depth(depth_p, timestamp_p, idx, Freenect::FREENECT_DEPTH_FORMAT[depth_mode[:format][:depth_format]])
depth_p.read_pointer.get_bytes(0, depth_mode[:bytes])
end
|
.get_depth_mode(mode_id) ⇒ Object
77
78
79
|
# File 'lib/freenect/freenect.rb', line 77
def get_depth_mode(mode_id)
freenect_get_depth_mode(mode_id)
end
|
.get_depth_mode_count ⇒ Object
73
74
75
|
# File 'lib/freenect/freenect.rb', line 73
def get_depth_mode_count
freenect_get_depth_mode_count
end
|
.get_device_count ⇒ Object
44
45
46
47
48
|
# File 'lib/freenect/freenect.rb', line 44
def get_device_count
context = Freenect::Context.new
count = context.get_device_count
context.close; count
end
|
.get_tilt(tilt_state = nil, idx = 0) ⇒ Object
100
101
102
103
|
# File 'lib/freenect/freenect.rb', line 100
def get_tilt(tilt_state=nil, idx=0)
tilt_state ||= get_tilt_state(idx)
freenect_get_tilt_degs(tilt_state)
end
|
.get_tilt_state(idx = 0) ⇒ Object
110
111
112
113
114
|
# File 'lib/freenect/freenect.rb', line 110
def get_tilt_state(idx=0)
state_ptr = pointer(:pointer)
freenect_sync_get_tilt_state(state_ptr, idx)
FreenectRawTiltState.new(state_ptr.get_pointer(0))
end
|
.get_tilt_status(tilt_state = nil, idx = 0) ⇒ Object
105
106
107
108
|
# File 'lib/freenect/freenect.rb', line 105
def get_tilt_status(tilt_state=nil, idx=0)
tilt_state ||= get_tilt_state(idx)
freenect_get_tilt_status(tilt_state)
end
|
.get_video(video_mode, idx = 0) ⇒ Object
66
67
68
69
70
71
|
# File 'lib/freenect/freenect.rb', line 66
def get_video(video_mode, idx=0)
video_p, timestamp_p = pointer(:pointer, 1), pointer(:uint32)
set_current_video_mode(video_mode, idx)
freenect_sync_get_video(video_p, timestamp_p, idx, Freenect::FREENECT_VIDEO_FORMAT[video_mode[:format][:video_format]])
video_p.read_pointer.get_bytes(0, video_mode[:bytes])
end
|
.get_video_mode(mode_id) ⇒ Object
54
55
56
|
# File 'lib/freenect/freenect.rb', line 54
def get_video_mode(mode_id)
freenect_get_video_mode(mode_id)
end
|
.get_video_mode_count ⇒ Object
50
51
52
|
# File 'lib/freenect/freenect.rb', line 50
def get_video_mode_count
freenect_get_video_mode_count
end
|
.set_led(led_option, idx = 0) ⇒ Object
125
126
127
|
# File 'lib/freenect/freenect.rb', line 125
def set_led(led_option, idx=0)
freenect_sync_set_led(Freenect::FREENECT_LED_OPTIONS[led_option], idx)
end
|
.set_tilt(angle, idx = 0) ⇒ Object
96
97
98
|
# File 'lib/freenect/freenect.rb', line 96
def set_tilt(angle, idx=0)
freenect_sync_set_tilt_degs(angle, idx)
end
|
.stop ⇒ Object
129
130
131
|
# File 'lib/freenect/freenect.rb', line 129
def stop
freenect_sync_stop()
end
|