Sha256: 33cc7f82916e8efd2b000a1740667446df12e01e22aa57917294e69a93223541
Contents?: true
Size: 774 Bytes
Versions: 4
Compression:
Stored size: 774 Bytes
Contents
require 'forwardable' require 'cf_sim/control_field' require 'cf_sim/control_field_set' class CfSim::PointList extend Forwardable include Enumerable attr_reader :points def_delegators :@points, :clear, :each, :empty?, :hash, :size def initialize(*points) @points = points.flatten.freeze end def max_field_count @max_field_count ||= 3 * (points.length - 3) + 1 end def creatable_field_count @creatable_field_count ||= points.combination(3).size end def creatable_fields @creatable_fields ||= CfSim::ControlFieldSet.new(points.combination(3).map { |a, b, c| CfSim::ControlField.new(a, b, c) }) end def eql?(other) other.class == CfSim::PointList && @points == other.points end def ==(other) eql?(other) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
cf_sim-1.1.2 | lib/cf_sim/point_list.rb |
cf_sim-1.1.1 | lib/cf_sim/point_list.rb |
cf_sim-1.1.0 | lib/cf_sim/point_list.rb |
cf_sim-1.0.0 | lib/cf_sim/point_list.rb |