/// <summary>
/// Al construir un AreaElement se necesita un prototipo de Propiedades, que define el tipo de elemento que
/// se forma. De esta manera, después de construir el elemento no se le puede cambiar el tipo, además de que
/// se pueden crear varios elementos con las mismas propiedades. La constructora clona al prototipo, de manera
/// que un objeto externo puede crear varios elementos con el mismo objeto de propiedades.
/// </summary>
/// <param name="prototype">El prototipo de propiedades.</param>
public AreaElement(AreaProps prototype)
{
props = (AreaProps)prototype.Clone();
joints = new Joint[4];
angle = 0;
mass = 0;
materialTemperature = 0;
offsets = new float[4];
//springs = new ManagedList<AreaSprings>();
flipJoints = 0;
Joint j = Model.Instance.JointList[1];
int i = 1;
while (j == null && i < Model.Instance.JointList.Count)
{
j = Model.Instance.JointList[i++];
}
if (j != null)
{
J1 = J2 = J3 = j;
joints[3] = null;
}
else
{
throw new NullReferenceException(Culture.Get("EM0020"));
}
}