Simplify MBL movement, zigzag

This commit is contained in:
Scott Lahteine
2016-04-13 02:37:41 -07:00
parent 0493fccc0b
commit 2129db581e
3 changed files with 75 additions and 38 deletions

View File

@ -41,6 +41,18 @@
float get_y(int i) { return MESH_MIN_Y + (MESH_Y_DIST) * i; }
void set_z(int ix, int iy, float z) { z_values[iy][ix] = z; }
inline void zigzag(int index, int &ix, int &iy) {
ix = index % (MESH_NUM_X_POINTS);
iy = index / (MESH_NUM_X_POINTS);
if (iy & 1) ix = (MESH_NUM_X_POINTS - 1) - ix; // Zig zag
}
void set_zigzag_z(int index, float z) {
int ix, iy;
zigzag(index, ix, iy);
set_z(ix, iy, z);
}
int select_x_index(float x) {
int i = 1;
while (x > get_x(i) && i < MESH_NUM_X_POINTS - 1) i++;