private void AddPointsAndSprings(List<TriangleVertexIndices> indices, List<JVector> vertices)
{
for (int i = 0; i < vertices.Count; i++)
{
MassPoint point = new MassPoint(sphere, this,material);
point.Position = vertices[i];
point.Mass = 0.1f;
points.Add(point);
}
for (int i = 0; i < indices.Count; i++)
{
TriangleVertexIndices index = indices[i];
Triangle t = new Triangle(this);
t.indices = index;
triangles.Add(t);
t.boundingBox = JBBox.SmallBox;
t.boundingBox.AddPoint(points[t.indices.I0].position);
t.boundingBox.AddPoint(points[t.indices.I1].position);
t.boundingBox.AddPoint(points[t.indices.I2].position);
t.dynamicTreeID = dynamicTree.AddProxy(ref t.boundingBox, t);
}
HashSet<Edge> edges = GetEdges(indices);
int count = 0;
foreach (Edge edge in edges)
{
Spring spring = new Spring(points[edge.Index1], points[edge.Index2]);
spring.Softness = 0.01f; spring.BiasFactor = 0.1f;
spring.SpringType = SpringType.EdgeSpring;
springs.Add(spring);
count++;
}
}