Class: Tracksperanto::Middleware::Lint
- Inherits:
-
Base
- Object
- Base
- Tracksperanto::Middleware::Lint
show all
- Defined in:
- lib/middleware/lint.rb
Overview
Prevents you from exporting invalid trackers
Defined Under Namespace
Classes: EmptyTrackerSentError, NoTrackersExportedError, NonSequentialKeyframes, TrackerRestartedError
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
inherited, #initialize
Methods included from Parameters
included, #parameter, #parameters
#just_export
Methods included from ConstName
#const_name, included
Methods included from BlockInit
#initialize
Methods included from Casts
#cast_to_float, #cast_to_int, #cast_to_string, included
Class Method Details
.action_description ⇒ Object
5
6
7
|
# File 'lib/middleware/lint.rb', line 5
def self.action_description
"Verify all the exported trackers and check for errors"
end
|
Instance Method Details
#end_export ⇒ Object
79
80
81
82
|
# File 'lib/middleware/lint.rb', line 79
def end_export
raise NoTrackersExportedError if @trackers.zero?
super
end
|
#end_tracker_segment ⇒ Object
72
73
74
75
76
77
|
# File 'lib/middleware/lint.rb', line 72
def end_tracker_segment
raise EmptyTrackerSentError.new(@last_tracker_name) if @keyframes.zero?
@trackers +=1
@in_tracker = false
super
end
|
#export_point(frame, abs_float_x, abs_float_y, float_residual) ⇒ Object
62
63
64
65
66
67
68
69
70
|
# File 'lib/middleware/lint.rb', line 62
def export_point(frame, abs_float_x, abs_float_y, float_residual)
@keyframes += 1
if @last_frame
raise NonSequentialKeyframes, [@last_tracker_name, @last_frame, frame] if @last_frame > frame
end
@last_frame = frame
super
end
|
#start_export(w, h) ⇒ Object
45
46
47
48
49
50
|
# File 'lib/middleware/lint.rb', line 45
def start_export(w, h)
@trackers = 0
@keyframes = 0
@last_tracker_name = nil
super
end
|
#start_tracker_segment(name) ⇒ Object
52
53
54
55
56
57
58
59
60
|
# File 'lib/middleware/lint.rb', line 52
def start_tracker_segment(name)
raise TrackerRestartedError.new(name) if @in_tracker
@in_tracker = true
@last_tracker_name = name
@keyframes = 0
@last_frame = nil
super
end
|