/// <summary>
/// Al construir un LineElement 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 LineElement(LineProps prototype)
{
props = (LineProps)prototype.Clone();
joints = new Joint[2];
angle = 0;
dofI = new JointDOF(true);
dofJ = new JointDOF(true);
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)
{
I = j;
J = j;
}
else
{
throw new NullReferenceException(Culture.Get("EM0020"));
}
}