Class: Ra::Pattern::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/ra/pattern/base.rb

Overview

An abstract pattern. Any concrete subclass of pattern must implement the method local_color.

Direct Known Subclasses

Checkers, Gradient, Rings, Stripes

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transform: Transform::IDENTITY) ⇒ Base

Returns a new instance of Base.

Parameters:

  • transform (Ra::Matrix) (defaults to: Transform::IDENTITY)


11
12
13
# File 'lib/ra/pattern/base.rb', line 11

def initialize(transform: Transform::IDENTITY)
  @transform = transform
end

Instance Attribute Details

#transformObject

Returns the value of attribute transform.



8
9
10
# File 'lib/ra/pattern/base.rb', line 8

def transform
  @transform
end

Instance Method Details

#color(point:) ⇒ Ra::Color

Parameters:

  • point (Vector)

Returns:



17
18
19
20
# File 'lib/ra/pattern/base.rb', line 17

def color(point:)
  local_point = transform.inverse * point
  local_color(local_point:)
end