Canguro.Model.AreaProps.Clone C# (CSharp) Method

Clone() public method

Método heredado de IClonable
public Clone ( ) : object
return object
        public object Clone()
        {
            AreaProps clone = (AreaProps)this.MemberwiseClone();
            if (clone.section != null)
            {
                if (Model.Instance.Sections[clone.section.Name] == null)
                    Model.Instance.Sections[clone.section.Name] = clone.section;
                else if (Model.Instance.Sections[clone.section.Name] is Canguro.Model.Section.AreaSection)
                    clone.section = (Canguro.Model.Section.AreaSection)Model.Instance.Sections[clone.section.Name];
            }
            return clone;
        }

Usage Example

Esempio n. 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"));
            }
        }
All Usage Examples Of Canguro.Model.AreaProps::Clone
AreaProps