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
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