Class: Okami::WrappingAngle

Inherits:
Object
  • Object
show all
Defined in:
lib/okami/wrapping_angle.rb

Constant Summary collapse

Tau =
Math::PI * 2

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ WrappingAngle

Returns a new instance of WrappingAngle.



4
5
6
7
8
9
# File 'lib/okami/wrapping_angle.rb', line 4

def initialize options={}
  self.fraction = options[:fraction]  if options.has_key? :fraction
  self.degrees  = options[:degrees]   if options.has_key? :degrees
  self.radians  = options[:radians]   if options.has_key? :radians
  @radians ||= 0
end

Instance Method Details

#degreesObject



13
# File 'lib/okami/wrapping_angle.rb', line 13

def degrees;  @radians / Tau * 360.0  end

#degrees=(a) ⇒ Object



17
# File 'lib/okami/wrapping_angle.rb', line 17

def degrees=  a; @radians = (a % 360.0 ) / 360.0 * Tau  end

#fractionObject



12
# File 'lib/okami/wrapping_angle.rb', line 12

def fraction; @radians / Tau          end

#fraction=(a) ⇒ Object



16
# File 'lib/okami/wrapping_angle.rb', line 16

def fraction= a; @radians = (a % 1.0   ) * Tau          end

#radiansObject



11
# File 'lib/okami/wrapping_angle.rb', line 11

def radians;  @radians                end

#radians=(a) ⇒ Object



15
# File 'lib/okami/wrapping_angle.rb', line 15

def radians=  a; @radians =  a % Tau                    end