Method: CGLM::Mat4#initialize
- Defined in:
- lib/cglm/mat4.rb
#initialize(initial_values = nil, **args) ⇒ Mat4
Returns a new instance of Mat4.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/cglm/mat4.rb', line 3 def initialize(initial_values = nil, **args) super(**args) case initial_values when Mat3 initial_values.to_a.each_with_index { |row, i| self[i] = row } when Mat4 addr[0, self.class.size] = initial_values.addr[0, self.class.size] when Array initial_values.each_with_index do |row, i| self[i] = row end when nil else raise ArgumentError, 'initial values should be a Mat4, a Mat3 or an array of Array/Vec3/Vec4' end end |