tadd function to create regular grid of sliders - slidergrid - grid of elastic sliders on a frictional surface
 (HTM) git clone git://src.adamsgaard.dk/slidergrid
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 7739942276ce93116bd16a11f27a7be34b544713
 (DIR) parent b854c002d22dbb1ba719e264c375c449c33f8013
 (HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Tue, 15 Mar 2016 12:50:53 -0700
       
       add function to create regular grid of sliders
       
       Diffstat:
         M Makefile                            |       2 +-
         A grid.c                              |      25 +++++++++++++++++++++++++
         A grid.h                              |       9 +++++++++
         M main.c                              |       5 +++++
       
       4 files changed, 40 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/Makefile b/Makefile
       t@@ -3,7 +3,7 @@ CFLAGS=-Wall -O3 -g -pg
        LDLIBS=-lm
        BIN=slidergrid
        
       -$(BIN): main.o slider.o
       +$(BIN): main.o slider.o grid.o
                $(CC) $(LDLIBS) $^ -o $@
        
        profile: $(BIN)
 (DIR) diff --git a/grid.c b/grid.c
       t@@ -0,0 +1,25 @@
       +#include <stdlib.h>
       +#include "typedefs.h"
       +#include "slider.h"
       +
       +slider* create_regular_slider_grid(
       +        int nx, int ny, int nz,       // number of sliders in each direction
       +        Float dx, Float dy, Float dz) // spacing of sliders in each direction
       +{
       +    slider* sliders;
       +    sliders = malloc(sizeof(slider) * nx * ny * nz);
       +
       +    int i = 0; int ix, iy, iz;
       +    for (iz = 0; iz < nz; iz++) {
       +        for (iy = 0; iy < ny; iy++) {
       +            for (ix = 0; ix < nx; ix++) {
       +                sliders[i].pos.x = dx * ix;
       +                sliders[i].pos.y = dy * iy;
       +                sliders[i].pos.z = dz * iz;
       +                i++;
       +            }
       +        }
       +    }
       +
       +    return sliders;
       +}
 (DIR) diff --git a/grid.h b/grid.h
       t@@ -0,0 +1,9 @@
       +#ifndef GRID_H_
       +#define GRID_H_
       +#include "slider.h"
       +
       +slider* create_regular_slider_grid(
       +        int nx, int ny, int nz,        // number of sliders in each direction
       +        Float dx, Float dy, Float dz); // spacing of sliders in each direction
       +
       +#endif
 (DIR) diff --git a/main.c b/main.c
       t@@ -1,8 +1,13 @@
        #include <stdio.h>
        #include <stdlib.h>
       +#include "slider.h"
       +#include "grid.h"
        
        int main(int argc, char** argv)
        {
        
       +    slider* sliders = create_regular_slider_grid(4, 4, 4, 1.0, 1.0, 1.0);
       +
       +    free(sliders);
            return EXIT_SUCCESS;
        }