+#include <cmath>
#include <msp/geometry/box.h>
#include <msp/geometry/transformedshape.h>
#include "layout.h"
void Terrain::set_position(const Vector &p)
{
position = p;
+ float eg = type.get_elevation_granularity();
+ position.z = int(position.z/eg+0.5)*eg;
signal_moved.emit();
}
delete shape;
float ts = type.get_tile_size();
- Vector dim(width*ts, height*ts, ts);
+ Vector dim(width*ts, height*ts, ts/10.0f);
shape = new Geometry::TransformedShape<float, 3>(
Geometry::Box<float>(dim),
Transform::translation(dim/2.0f));
throw out_of_range("Terrain::set_node_elevation");
float eg = type.get_elevation_granularity();
- elev = int(elev/eg+0.5)*eg;
+ elev = floor(elev/eg+0.5)*eg;
if(joined)
{