summaryrefslogtreecommitdiff
path: root/src/simulation/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/simulation/tools')
-rw-r--r--src/simulation/tools/SolidTool.cpp26
1 files changed, 1 insertions, 25 deletions
diff --git a/src/simulation/tools/SolidTool.cpp b/src/simulation/tools/SolidTool.cpp
index 1cbfa46..f8fdf2a 100644
--- a/src/simulation/tools/SolidTool.cpp
+++ b/src/simulation/tools/SolidTool.cpp
@@ -37,31 +37,7 @@ int Tool_Solid::Perform(Simulation * sim, Particle * cpart, int x, int y, float
return 0;
LastSolid = solid_index;
- Solid *sld = sim->solids + solid_index;
-
- cpart->sld = solid_index + 1;
- if(sld->first == -1) {
- sld->vx = sld->vy = sld->vrot = 0.0f;
- sld->cx = x;
- sld->cy = y;
- sld->cdx = x;
- sld->cdy = y;
- sld->ax = sld->ay = sld->arot = sld->arad = 0.0f;
- sld->an = 0;
- sld->bf = 0;
- sld->bpx[0] = -10000;
- sld->bpx[1] = 10000;
- sld->bpy[2] = -10000;
- sld->bpy[3] = 10000;
- sld->first = cpart - sim->parts;
- }
-
- cpart->snext = -1;
- cpart->sprev = sld->last;
- if(sld->last != -1)
- sim->parts[sld->last].snext = cpart - sim->parts;
- sld->last = cpart - sim->parts;
- return 1;
+ return sim->link_solid(cpart - sim->parts, solid_index);
}
Tool_Solid::~Tool_Solid() {}