Change --dsg back to --dgi. Add options --dgo, --oc, and --no-oc.
[Ale.git] / d3 / scene.cc
blob177a197db56b88356e4489360733deeb14587c82
1 // Copyright 2003, 2004, 2005 David Hilvert <dhilvert@gmail.com>,
2 // <dhilvert@auricle.dyndns.org>,
3 // <dhilvert@ugcs.caltech.edu>
5 /* This file is part of the Anti-Lamenessing Engine.
7 The Anti-Lamenessing Engine is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 The Anti-Lamenessing Engine is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with the Anti-Lamenessing Engine; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #include "scene.h"
25 * See scene.h for details on these variables.
28 scene::lod *scene::cl;
29 ale_pos scene::perturb;
30 ale_pos scene::edge_cost_multiplier = 0;
31 ale_pos scene::angle_cost_multiplier = 0;
32 ale_pos scene::front_clip = 0;
33 ale_pos scene::input_decimation_exponent = 0;
34 ale_pos scene::output_decimation_exponent = 0;
35 int scene::output_clip = 0;
36 ale_pos scene::rear_clip = 0;
37 ale_pos scene::mpl_value = 1;
38 ale_pos scene::mpu_value = 25;
39 int scene::mpl_type = 0;
40 int scene::mpu_type = 1;
41 const char *scene::load_model_name = NULL;
42 const char *scene::save_model_name = NULL;
43 const ale_real scene::nearness = 0.01;
45 scene::space *scene::root_space = NULL;
46 std::map<struct scene::space *, scene::spatial_info> scene::spatial_info_map;
48 // scene::spatial_info *scene::tracked_space = NULL;
50 unsigned long scene::total_ambiguity = 0;
51 unsigned long scene::total_pixels = 0;
52 unsigned long scene::total_divisions = 0;
53 unsigned long scene::total_tsteps = 0;
55 double scene::occ_att = 0.50;
57 int scene::normalize_weights = 1;
59 double scene::falloff_exponent = 0;
60 double scene::tc_multiplier = 0;
61 unsigned int scene::ou_iterations = 10;
62 unsigned int scene::pairwise_ambiguity = 3;
63 const char *scene::pairwise_comparisons = "auto";
64 int scene::d3px_count;
65 double *scene::d3px_parameters;
66 double scene::encounter_threshold = 0;
69 * Precision discriminator
71 * For some reason, colors that should be identical are calculated differently
72 * along different computational pathways, either due to a compiler idiosyncrasy,
73 * or due to an as-of-yet undiscovered bug in the code. We use the following
74 * constant in an effort to winnow out these discrepancies, which can sometimes
75 * cause cycles in the adjustment preference function.
78 #define DISCRIMINATOR 1e-5
81 * Functions.