tadd const keywords, suppress some debug output - slidergrid - grid of elastic … | |
git clone git://src.adamsgaard.dk/slidergrid | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit c6e2a96799b3fc1b5c926bace6763524480d5417 | |
parent 651d6ad14183acc05109edf9fb4569dda244cde1 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Tue, 22 Mar 2016 15:15:23 -0700 | |
add const keywords, suppress some debug output | |
Diffstat: | |
M slidergrid/main.c | 13 +++++++------ | |
M slidergrid/slider.c | 7 +++++-- | |
M slidergrid/vector_math.c | 34 ++++++++++++++++-------------… | |
3 files changed, 29 insertions(+), 25 deletions(-) | |
--- | |
diff --git a/slidergrid/main.c b/slidergrid/main.c | |
t@@ -128,23 +128,23 @@ int main(int argc, char** argv) | |
sim.time <= sim.time_end; | |
sim.time += sim.dt) { | |
- for (i=0; i<sim.N; i++) | |
+ /*for (i=0; i<sim.N; i++) | |
printf("%d: vel = %f %f %f\n", i, | |
sim.sliders[i].vel.x, | |
sim.sliders[i].vel.y, | |
- sim.sliders[i].vel.z); | |
+ sim.sliders[i].vel.z);*/ | |
for (i=0; i<sim.N; i++) | |
project_slider_position(&sim.sliders[i], sim.dt, sim.iteration); | |
- for (i=0; i<sim.N; i++) | |
+ /*for (i=0; i<sim.N; i++) | |
printf("%d: pos = %f %f %f, pos_future = %f %f %f\n", i, | |
sim.sliders[i].pos.x, | |
sim.sliders[i].pos.y, | |
sim.sliders[i].pos.z, | |
sim.sliders[i].pos_future.x, | |
sim.sliders[i].pos_future.y, | |
- sim.sliders[i].pos_future.z); | |
+ sim.sliders[i].pos_future.z);*/ | |
// resolve slider-to-slider interaction | |
for (i=0; i<sim.N; i++) { | |
t@@ -157,14 +157,15 @@ int main(int argc, char** argv) | |
#ifdef DEBUG_SLIDER_FORCE_TORQUE_AND_NEIGHBORS | |
int j; | |
- printf("main.c: Slider %d: F = %f %f %f, T = %f %f %f, contacts = … | |
+ printf("main.c: Slider %d: F = %f %f %f, T = %f %f %f, mass = %f, … | |
i, | |
sim.sliders[i].force.x, | |
sim.sliders[i].force.y, | |
sim.sliders[i].force.z, | |
sim.sliders[i].torque.x, | |
sim.sliders[i].torque.y, | |
- sim.sliders[i].torque.z); | |
+ sim.sliders[i].torque.z, | |
+ sim.sliders[i].mass); | |
for (j=0; j<MAX_NEIGHBORS; j++) | |
if (sim.sliders[i].neighbors[j] >= 0) | |
printf("%d ", sim.sliders[i].neighbors[j]); | |
diff --git a/slidergrid/slider.c b/slidergrid/slider.c | |
t@@ -244,6 +244,7 @@ void slider_neighbor_interaction( | |
// reset sum of forces and torques on slider | |
s->force = make_float3(0., 0., 0.); | |
s->torque = make_float3(0., 0., 0.); | |
+ //s->mass = 1.0; | |
if (s->neighbors[idx_neighbor] != -1) { | |
t@@ -251,15 +252,17 @@ void slider_neighbor_interaction( | |
s, sliders[s->neighbors[idx_neighbor]], | |
idx_neighbor, iteration); | |
- printf("- %d: rel_disp = %f %f %f\n", | |
+ /*printf("- %d: rel_disp = %f %f %f\n", | |
idx_neighbor, | |
s->neighbor_relative_distance_displacement[idx_neighbor].x, | |
s->neighbor_relative_distance_displacement[idx_neighbor].y, | |
s->neighbor_relative_distance_displacement[idx_neighbor].z | |
- ); | |
+ );*/ | |
slider_interaction( | |
s, sliders[s->neighbors[idx_neighbor]], idx_neighbor); | |
+ | |
+ s->force = make_float3(123, 456, 789); | |
printf("s.force = %f %f %f\n", | |
s->force.x, s->force.y, s->force.z); | |
} | |
diff --git a/slidergrid/vector_math.c b/slidergrid/vector_math.c | |
t@@ -3,7 +3,7 @@ | |
// constructors | |
-inline Float3 make_float3(Float x, Float y, Float z) | |
+inline Float3 make_float3(const Float x, const Float y, const Float z) | |
{ | |
Float3 v = {.x = x, .y = y, .z = z}; | |
return v; | |
t@@ -21,39 +21,39 @@ inline Float3 ones_float3() | |
// single-vector operations | |
-inline Float3 copy_float3(Float3 v) | |
+inline Float3 copy_float3(const Float3 v) | |
{ | |
return make_float3(v.x, v.y, v.z); | |
} | |
-inline Float norm_float3(Float3 v) | |
+inline Float norm_float3(const Float3 v) | |
{ | |
return sqrt(v.x*v.x + v.y*v.y + v.z*v.z); | |
} | |
// vector-vector operations | |
-inline Float3 add_float3(Float3 v1, Float3 v2) | |
+inline Float3 add_float3(const Float3 v1, const Float3 v2) | |
{ | |
return make_float3(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z); | |
} | |
-inline Float3 subtract_float3(Float3 v1, Float3 v2) | |
+inline Float3 subtract_float3(const Float3 v1, const Float3 v2) | |
{ | |
return make_float3(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z); | |
} | |
-inline Float3 multiply_float3(Float3 v1, Float3 v2) | |
+inline Float3 multiply_float3(const Float3 v1, const Float3 v2) | |
{ | |
return make_float3(v1.x*v2.x, v1.y*v2.y, v1.z*v2.z); | |
} | |
-inline Float3 divide_float3(Float3 v1, Float3 v2) | |
+inline Float3 divide_float3(const Float3 v1, const Float3 v2) | |
{ | |
return make_float3(v1.x/v2.x, v1.y/v2.y, v1.z/v2.z); | |
} | |
-inline Float3 cross_float3(Float3 v1, Float3 v2) | |
+inline Float3 cross_float3(const Float3 v1, const Float3 v2) | |
{ | |
return make_float3( | |
v1.y*v2.z - v1.z*v2.y, | |
t@@ -61,48 +61,48 @@ inline Float3 cross_float3(Float3 v1, Float3 v2) | |
v1.x*v2.y - v1.y*v2.x); | |
} | |
-inline Float dot_float3(Float3 v1, Float3 v2) | |
+inline Float dot_float3(const Float3 v1, const Float3 v2) | |
{ | |
return v1.x*v2.x + v1.y*v2.y + v1.z*v2.z; | |
} | |
// vector-scalar operations | |
-inline Float3 add_float3_scalar(Float3 v, Float s) | |
+inline Float3 add_float3_scalar(const Float3 v, const Float s) | |
{ | |
return make_float3(v.x + s, v.y + s, v.z + s); | |
} | |
-inline Float3 add_scalar_float3(Float s, Float3 v) | |
+inline Float3 add_scalar_float3(const Float s, const Float3 v) | |
{ | |
return add_float3_scalar(v, s); | |
} | |
-inline Float3 subtract_float3_scalar(Float3 v, Float s) | |
+inline Float3 subtract_float3_scalar(const Float3 v, const Float s) | |
{ | |
return make_float3(v.x - s, v.y - s, v.z - s); | |
} | |
-inline Float3 subtract_scalar_float3(Float s, Float3 v) | |
+inline Float3 subtract_scalar_float3(const Float s, const Float3 v) | |
{ | |
return make_float3(s - v.x, s - v.y, s - v.z); | |
} | |
-inline Float3 multiply_float3_scalar(Float3 v, Float s) | |
+inline Float3 multiply_float3_scalar(const Float3 v, const Float s) | |
{ | |
return make_float3(v.x*s, v.y*s, v.z*s); | |
} | |
-inline Float3 multiply_scalar_float3(Float s, Float3 v) | |
+inline Float3 multiply_scalar_float3(const Float s, const Float3 v) | |
{ | |
return multiply_float3_scalar(v, s); | |
} | |
-inline Float3 divide_float3_scalar(Float3 v, Float s) | |
+inline Float3 divide_float3_scalar(const Float3 v, const Float s) | |
{ | |
return make_float3(v.x/s, v.y/s, v.z/s); | |
} | |
-inline Float3 divide_scalar_float3(Float s, Float3 v) | |
+inline Float3 divide_scalar_float3(const Float s, const Float3 v) | |
{ | |
return make_float3(s/v.x, s/v.y, s/v.z); | |
} |