#!/usr/bin/ruby # script de visualisation 3D par script public pour MountyHall # par Tyrollus (johnatofjj.net) # # args: -c nomdutroll sur lequel la vue est centree require 'viewer3d' require 'libmhsp' filelist = ARGV if ARGV.include? '-c' trollcentral = ARGV[ARGV.index_of('-c') + 1] filelist -= ['-c', trollcentral] else trollcentral = 'Tyrollus' end filelist = Dir[MHInfo.local_cache_pfx + 'vue_*'] if filelist.empty? class MHWorld attr_reader :vue attr_accessor :viewer def initialize(vue) @vue = vue coords = @vue.cat.values.flatten.map { |v| [v.x, v.y, v.n] } @limits = coords.inject([nil]*6) { |l, c| 3.times { |i| l[2*i] = c[i] if not l[2*i] or l[2*i] > c[i] l[2*i+1]=c[i] if not l[2*i+1] or l[2*i+1]