public IGeometricObject Clone()
        {
            GeometricObject m = (GeometricObject)MemberwiseClone();

            m.Reset();
            m.elements = new IGeometricObjectElement[num_elements];
            for (uint i = 0; i < m.num_elements; i++)
            {
                if (elements[i] != null)
                {
                    m.elements[i] = elements[i].Clone(m);
                    if (m.elements[i] is DeformSet)
                    {
                        m.bones = (DeformSet)m.elements[i];
                    }
                }
            }
            return(m);
        }