Exemple #1
0
            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;
                }
            }
Exemple #2
0
 /// <summary>
 /// Retourne la taille en octet d'un des sommets
 /// </summary>
 public int VertexSize()
 {
     return(AbstractVertex.Size(m_VertexType));
 }
Exemple #3
0
 /// <summary>
 /// Retourne la taille en octet des sommets
 /// </summary>
 public int VerticesSize()
 {
     return(AbstractVertex.Size(m_VertexType) * Vertices.Count);
 }