24 #ifndef _control_terrain_h_
25 #define _control_terrain_h_
51 void setObjectType(
int id)
56 void setTerrainSeed(
int v)
58 parameters_terrain->
seed=v;
60 void setTerrainSubdivisions(
int v)
64 void setCloudSubdivisions(
int v)
68 void setSubdivisionsUnperturbed(
int v)
72 void setVariationVertical(
int v)
76 void setVariationHorizontal(
int v)
81 void setNoiseTerms(
int v)
83 parameters_terrain->noise.
terms=v;
85 void setNoiseFrequency(
int v)
87 parameters_terrain->noise.
frequency=v/100.0;
89 void setNoiseAmplitude(
int v)
91 parameters_terrain->noise.
amplitude=v/100.0;
93 void setNoiseAmplitudeDecay(
int v)
97 void setBaseHeight(
int v)
101 void setPowerLaw(
int v)
105 void setSnowlineEquator(
int v)
109 void setSnowlinePole(
int v)
113 void setSnowlinePowerLaw(
int v)
117 void setSnowlineSlopeEffect(
int v)
121 void setSnowlineGlacierEffect(
int v)
125 void setRivers(
int v)
127 parameters_terrain->
rivers=v;
129 void setRiversSeed(
int v)
133 void setLakeBecomesSea(
int v)
137 void setOceansAndRiversEmissive(
int v)
141 void pickColourOcean()
145 void pickColourShoreline()
147 emit
pickColour(colour_shoreline_button,parameters_terrain->colour_shoreline);
151 emit
pickColour(colour_low_button,parameters_terrain->colour_low);
153 void pickColourRiver()
155 emit
pickColour(colour_river_button,parameters_terrain->colour_river);
157 void pickColourSnow()
159 emit
pickColour(colour_snow_button,parameters_terrain->colour_snow);
161 void pickColourHigh()
163 emit
pickColour(colour_high_button,parameters_terrain->colour_high);
165 void pickColourCloud()
169 void setCloudsSubdivisionsUnlocked(
bool f)
174 subdivisions_spinbox,SIGNAL(valueChanged(
int)),
175 clouds_subdivisions_spinbox,SLOT(setValue(
int))
180 clouds_subdivisions_spinbox->setValue(parameters_terrain->
subdivisions);
182 subdivisions_spinbox,SIGNAL(valueChanged(
int)),
183 clouds_subdivisions_spinbox,SLOT(setValue(
int))
189 void setCloudsEnabled(
bool f)
193 void setCloudbase(
int v)
197 void setWeatherSystems(
int v)
202 void regenerate_with_new_terrain_seed();
203 void regenerate_with_new_rivers_seed();
204 void regenerate_with_new_clouds_seed();
217 QComboBox* object_type_combo_box;
219 QLabel* base_height_label;
220 QSpinBox* base_height_spinbox;
222 QLabel* terrain_seed_label;
223 QSpinBox* terrain_seed_spinbox;
224 QLabel* subdivisions_label;
225 QSpinBox* subdivisions_spinbox;
226 QLabel* subdivisions_unperturbed_label;
227 QSpinBox* subdivisions_unperturbed_spinbox;
229 QLabel* variation_vertical_label;
230 QSpinBox* variation_vertical_spinbox;
231 QLabel* variation_horizontal_label;
232 QSpinBox* variation_horizontal_spinbox;
234 QLabel* noise_terms_label;
235 QSpinBox* noise_terms_spinbox;
236 QLabel* noise_frequency_label;
237 QSpinBox* noise_frequency_spinbox;
238 QLabel* noise_amplitude_label;
239 QSpinBox* noise_amplitude_spinbox;
240 QLabel* noise_amplitude_decay_label;
241 QSpinBox* noise_amplitude_decay_spinbox;
243 QLabel* power_law_label;
244 QSpinBox* power_law_spinbox;
246 QLabel* snowline_equator_label;
247 QSpinBox* snowline_equator_spinbox;
248 QLabel* snowline_pole_label;
249 QSpinBox* snowline_pole_spinbox;
250 QLabel* snowline_power_law_label;
251 QSpinBox* snowline_power_law_spinbox;
252 QLabel* snowline_slope_effect_label;
253 QSpinBox* snowline_slope_effect_spinbox;
254 QLabel* snowline_glacier_effect_label;
255 QSpinBox* snowline_glacier_effect_spinbox;
257 QLabel* rivers_label;
258 QSpinBox* rivers_spinbox;
259 QLabel* rivers_seed_label;
260 QSpinBox* rivers_seed_spinbox;
261 QLabel* lake_becomes_sea_label;
262 QSpinBox* lake_becomes_sea_spinbox;
264 QSpinBox* oceans_and_rivers_emissive_spinbox;
266 QLabel* clouds_seed_label;
267 QSpinBox* clouds_seed_spinbox;
269 QLabel* colour_label;
270 QPushButton* colour_ocean_button;
271 QPushButton* colour_shoreline_button;
272 QPushButton* colour_low_button;
273 QPushButton* colour_river_button;
274 QPushButton* colour_snow_button;
275 QPushButton* colour_high_button;
276 QPushButton* colour_cloud_button;
278 QCheckBox* clouds_subdivisions_unlock_checkbox;
279 QSpinBox* clouds_subdivisions_spinbox;
281 QPushButton* regenerate_button;
282 QPushButton* regenerate_with_new_terrain_seed_button;
283 QPushButton* regenerate_with_new_rivers_seed_button;
284 QPushButton* regenerate_with_new_clouds_seed_button;
ObjectType
What kind of object will be generated.
Definition: parameters_object.h:39
uint seed
Random seed for subdivision and noise.
Definition: parameters_object.h:52
uint rivers_seed
Random seed for river generation.
Definition: parameters_terrain.h:80
float power_law
Power law applied to terrain heights.
Definition: parameters_terrain.h:59
float frequency
Frequency of 1st noise term.
Definition: parameters_noise.h:41
XYZ variation
Maximum size of perturbations (z in vertical direction, x & y horizontally).
Definition: parameters_terrain.h:49
ControlTerrain(FracplanetMain *tgt, ParametersTerrain *param_terrain, ParametersCloud *param_cloud)
Definition: control_terrain.cpp:29
uint weather_systems
Number of weather systems.
Definition: parameters_cloud.h:49
float amplitude
Amplitude of 1st noise term.
Definition: parameters_noise.h:44
void pickColour(QPushButton *button, FloatRGBA &colour)
Use Qt's colour-picking dialog to replace the referenced colour.
Definition: control.cpp:33
ObjectType object_type
Kind of object.
Definition: parameters_object.h:49
float snowline_pole
Normalised height of snowline at the pole.
Definition: parameters_terrain.h:65
This class aggregates the controllable parameters for all things related to cloud generation...
Definition: parameters_cloud.h:32
float snowline_glacier_effect
When positive, rivers become glaciers. When negative, rivers remain blue.
Definition: parameters_terrain.h:74
float base_height
Initial height of unsubdivided, unperturbed terrain, expressed as a proportion of variation...
Definition: parameters_terrain.h:54
float snowline_power_law
Power law for snowline.
Definition: parameters_terrain.h:68
Interface for class ParametersCloud.
uint terms
Number of Perlin noise terms.
Definition: parameters_noise.h:38
FloatRGBA colour
Colour for clouds.
Definition: parameters_cloud.h:52
This class aggregates the controllable parameters for all things related to terrain generation...
Definition: parameters_terrain.h:35
float lake_becomes_sea
Limit on lake size as a proportion of available surface.
Definition: parameters_terrain.h:85
Encapsulates controls for setting terrain generation parameters.
Definition: control_terrain.h:36
Top level GUI component for fracplanet application: contains parameter controls and viewing area...
Definition: fracplanet_main.h:41
Base class for other controls; useful for shared stuff.
Definition: control.h:30
Interface for class Control.
FloatRGBA colour_ocean
Colour for a terrain type.
Definition: parameters_terrain.h:92
float snowline_slope_effect
Supresses snow on slopes.
Definition: parameters_terrain.h:71
uint rivers
Number of rivers to generate.
Definition: parameters_terrain.h:77
float snowline_equator
Normalised height of snowline at the equator.
Definition: parameters_terrain.h:62
uint subdivisions_unperturbed
Numer of subdivisions (at the top level) which will be unperturbed.
Definition: parameters_terrain.h:46
float cloudbase
Height of base of clouds.
Definition: parameters_cloud.h:46
float amplitude_decay
Amplitude decay rate for successive terms.
Definition: parameters_noise.h:47
uint subdivisions
Number of subdivisions.
Definition: parameters_object.h:55
float oceans_and_rivers_emissive
Amount of emissive colour for oceans and rivers.
Definition: parameters_terrain.h:88
bool enabled
Whether clouds will be generated.
Definition: parameters_cloud.h:43
Interface for class ParametersTerrain.