class DemCurves::PathElement

Attributes

control_points[R]

Do not directly instantiate this class

path_points[R]

Do not directly instantiate this class

Public Class Methods

new(control_points) click to toggle source
# File lib/core/path-element.rb, line 7
def initialize(control_points)
  @control_points = control_points
  @control_points.each_value do |control_point| 
    control_point.add_path_element self
  end
  
  @path_points = []
  generate
end

Public Instance Methods

[](control_id) click to toggle source
# File lib/core/path-element.rb, line 42
def [](control_id)
  get_control control_id
end
[]=(control_id, loc) click to toggle source
# File lib/core/path-element.rb, line 30
def []=(control_id, loc)
  set_control control_id, loc
end
generate() click to toggle source
# File lib/core/path-element.rb, line 17
def generate
  @path_points = @control_points.values.collect {|point| point.loc}
end
get_control(control_id) click to toggle source
# File lib/core/path-element.rb, line 34
def get_control(control_id)
  unless control_id.class == Symbol 
    raise 'control_id must be a symbol' 
  end
  
  return @control_points[control_id]
end
set_control(control_id, loc) click to toggle source
# File lib/core/path-element.rb, line 21
def set_control(control_id, loc)
  unless control_id.class == Symbol 
    raise 'control_id must be a symbol' 
  end
  
  @control_points[control_id].move_to location
  generate
end