예제 #1
0
        public IMesh CleanCopy()
        {
            IMesh copy = new IMesh();

            Elements.ForEach(entry =>
            {
                IElement e = entry.CleanCopy();
                copy.AddElement(e);
            });
            Vertices.ForEach(entry =>
            {
                ITopologicVertex v = entry.CleanCopy();
                copy.AddVertex(v.Key, v);
            });

            copy._renderMesh = _renderMesh;
            copy.elementKey  = elementKey;
            copy._valid      = _valid;
            return(copy);
        }
예제 #2
0
        public IMesh DeepCopy()
        {
            IMesh copy = new IMesh();

            Elements.ForEach(entry =>
            {
                IElement e = (IElement)entry.Clone();
                copy.AddElement(e);
            });
            Vertices.ForEach(entry =>
            {
                ITopologicVertex v = (ITopologicVertex)entry.Clone();
                copy.AddVertex(v.Key, v);
            });

            copy._renderMesh             = _renderMesh;
            copy._tempVertexToHalfFacets = _tempVertexToHalfFacets.ToDictionary(entry => entry.Key, entry => entry.Value);
            copy.message    = message;
            copy.elementKey = elementKey;
            copy._valid     = _valid;
            return(copy);
        }