Clone() публичный Метод

Método heredado de IClonable
public Clone ( ) : object
Результат object
Пример #1
0
        /// <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"));
            }
        }
Пример #2
0
        /// <summary>
        /// Constructora que inicializa el AreaElement con un clon de las propiedades indicadas y los nodos indicados.
        /// Si los nodos no están en la lista correspondiente, en la posición adecuada, se lanza una NullReferenceException
        /// Se recomienda usar esta constructora para minimizar el consumo de memoria en Model.Undo
        /// </summary>
        /// <param name="prototype">Prototype properties to copy from</param>
        /// <param name="jointList">Joints to be added to this AreaElement</param>
        public AreaElement(AreaProps prototype, Joint j1, Joint j2, Joint j3, Joint j4)
        {
            props = (AreaProps)prototype.Clone();
            joints = new Joint[4];
            angle = 0;
            mass = 0;
            materialTemperature = 0;
            offsets = new float[4];
            //springs = new ManagedList<AreaSprings>();

            if (j1 == null || j2 == null || j3 == null)
                throw new NullReferenceException(Culture.Get("EM0021"));

            J1 = j1;
            J2 = j2;
            J3 = j3;
            J4 = j4;
        }
Пример #3
0
        /// <summary>
        /// Constructora que inicializa el AreaElement con un clon de las propiedades indicadas y los nodos indicados.
        /// Si los nodos no están en la lista correspondiente, en la posición adecuada, se lanza una NullReferenceException
        /// Se recomienda usar esta constructora para minimizar el consumo de memoria en Model.Undo
        /// </summary>
        /// <param name="prototype">Prototype properties to copy from</param>
        /// <param name="jointList">Joints to be added to this AreaElement</param>
        public AreaElement(AreaProps prototype, Joint j1, Joint j2, Joint j3, Joint j4)
        {
            props  = (AreaProps)prototype.Clone();
            joints = new Joint[4];
            angle  = 0;
            mass   = 0;
            materialTemperature = 0;
            offsets             = new float[4];
            //springs = new ManagedList<AreaSprings>();

            if (j1 == null || j2 == null || j3 == null)
            {
                throw new NullReferenceException(Culture.Get("EM0021"));
            }

            J1 = j1;
            J2 = j2;
            J3 = j3;
            J4 = j4;
        }
Пример #4
0
        /// <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"));
        }