paysages : Terrain canvas (WIP).
git-svn-id: https://subversion.assembla.com/svn/thunderk/paysages@387 b1fd45b6-86a6-48da-8261-f70d1f35bdcc
This commit is contained in:
parent
aa62e46702
commit
e1def5c5d5
5 changed files with 53 additions and 16 deletions
|
@ -11,11 +11,26 @@ BaseFormLayer::~BaseFormLayer()
|
|||
layersDelete(_layers_modified);
|
||||
}
|
||||
|
||||
void BaseFormLayer::revertConfig()
|
||||
{
|
||||
layersCopy(_layers_original, _layers_modified);
|
||||
layerSelectedEvent(currentLayer());
|
||||
|
||||
BaseForm::revertConfig();
|
||||
}
|
||||
|
||||
void BaseFormLayer::applyConfig()
|
||||
{
|
||||
layersCopy(_layers_modified, _layers_original);
|
||||
|
||||
BaseForm::applyConfig();
|
||||
}
|
||||
|
||||
void BaseFormLayer::configChangeEvent()
|
||||
{
|
||||
/*texturesLayerCopyDefinition(&_layer, texturesGetLayer(&_definition, currentLayer()));
|
||||
layerApply(layersGetLayer(_layers_modified, currentLayer()));
|
||||
layersValidate(_layers_modified);
|
||||
|
||||
layersValidate(_layers_modified);*/
|
||||
BaseForm::configChangeEvent();
|
||||
}
|
||||
|
||||
|
@ -62,7 +77,7 @@ void BaseFormLayer::layerRenamedEvent(int layer, QString new_name)
|
|||
|
||||
void BaseFormLayer::layerSelectedEvent(int layer)
|
||||
{
|
||||
//texturesLayerCopyDefinition(texturesGetLayer(&_definition, layer), &_layer);
|
||||
layerGetCopy(layersGetLayer(_layers_modified, layer));
|
||||
|
||||
BaseForm::layerSelectedEvent(layer);
|
||||
}
|
||||
|
|
|
@ -14,7 +14,15 @@ public:
|
|||
BaseFormLayer(QWidget* parent, Layers* layers);
|
||||
~BaseFormLayer();
|
||||
|
||||
public slots:
|
||||
virtual void revertConfig();
|
||||
virtual void applyConfig();
|
||||
|
||||
protected:
|
||||
virtual void layerGetCopy(void* layer_definition) = 0;
|
||||
virtual void layerApply(void* layer_definition) = 0;
|
||||
|
||||
private:
|
||||
virtual QStringList getLayers();
|
||||
virtual void layerAddedEvent();
|
||||
virtual void layerDeletedEvent(int layer);
|
||||
|
|
|
@ -4,19 +4,32 @@
|
|||
FormTerrainCanvas::FormTerrainCanvas(QWidget *parent, Layers* layers):
|
||||
BaseFormLayer(parent, layers)
|
||||
{
|
||||
_definition = terrainCanvasCreate();
|
||||
|
||||
// TODO Area
|
||||
addInputDouble(tr("Apply at height"), &_definition->offset_z, -20.0, 20.0, 0.1, 1.0);
|
||||
// TODO Height map
|
||||
addInputDouble(tr("Canvas height"), &_definition->height_factor, 0.0, 20.0, 0.1, 1.0);
|
||||
addInputNoise(tr("Detail noise"), _definition->detail_noise);
|
||||
addInputDouble(tr("Detail noise height"), &_definition->detail_height_factor, 0.0, 20.0, 0.1, 1.0);
|
||||
addInputDouble(tr("Detail noise scaling"), &_definition->detail_scaling, 0.0, 20.0, 0.1, 1.0);
|
||||
// TODO Mask mode
|
||||
// TODO Mask smoothing
|
||||
|
||||
revertConfig();
|
||||
}
|
||||
|
||||
void FormTerrainCanvas::revertConfig()
|
||||
FormTerrainCanvas::~FormTerrainCanvas()
|
||||
{
|
||||
BaseFormLayer::revertConfig();
|
||||
terrainCanvasDelete(_definition);
|
||||
}
|
||||
|
||||
void FormTerrainCanvas::applyConfig()
|
||||
void FormTerrainCanvas::layerGetCopy(void* layer_definition)
|
||||
{
|
||||
BaseFormLayer::applyConfig();
|
||||
terrainCanvasCopy((TerrainCanvas*)layer_definition, _definition);
|
||||
}
|
||||
|
||||
void FormTerrainCanvas::configChangeEvent()
|
||||
void FormTerrainCanvas::layerApply(void* layer_definition)
|
||||
{
|
||||
BaseFormLayer::configChangeEvent();
|
||||
terrainCanvasCopy(_definition, (TerrainCanvas*)layer_definition);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include <QWidget>
|
||||
#include "basepreview.h"
|
||||
#include "baseformlayer.h"
|
||||
#include "../lib_paysages/terraincanvas.h"
|
||||
|
||||
class FormTerrainCanvas : public BaseFormLayer
|
||||
{
|
||||
|
@ -11,15 +12,14 @@ class FormTerrainCanvas : public BaseFormLayer
|
|||
|
||||
public:
|
||||
FormTerrainCanvas(QWidget* parent, Layers* layers);
|
||||
~FormTerrainCanvas();
|
||||
|
||||
public slots:
|
||||
virtual void revertConfig();
|
||||
virtual void applyConfig();
|
||||
|
||||
protected slots:
|
||||
virtual void configChangeEvent();
|
||||
protected:
|
||||
virtual void layerGetCopy(void* layer_definition);
|
||||
virtual void layerApply(void* layer_definition);
|
||||
|
||||
private:
|
||||
TerrainCanvas* _definition;
|
||||
// BasePreview* previewHeight;
|
||||
// BasePreview* previewColor;
|
||||
};
|
||||
|
|
|
@ -28,5 +28,6 @@ void InputLayers::editLayers()
|
|||
{
|
||||
if (DialogLayers::editLayers(_control, _value, _label->text(), _form_builder))
|
||||
{
|
||||
applyValue();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue