static void CalcForce(AbstractVertex vertex, ref Vector3 speed) { var sumForce = Vector3.zero; foreach (var link in vertex.IncomingLinks.Concat(vertex.OutgoingLinks)) { var dir = link.AdjacentVertex.transform.position - vertex.transform.position; sumForce += (dir.magnitude - link.Edge.SpringParameters.Length) * link.Edge.SpringParameters.StiffnessCoefficient * dir.normalized; } speed += sumForce / vertex.Weight * Time.deltaTime; if (speed.magnitude > maxSpeed) { speed = speed.normalized * maxSpeed; } }
/// <summary> /// Retourne la taille en octet d'un des sommets /// </summary> public int VertexSize() { return(AbstractVertex.Size(m_VertexType)); }
/// <summary> /// Retourne la taille en octet des sommets /// </summary> public int VerticesSize() { return(AbstractVertex.Size(m_VertexType) * Vertices.Count); }