public MeshConcretize(MeshConcretize copy)
 {
     if (copy.Layout != null)
     {
         Layout = (Software.Vertex.IVertex)copy.Layout.Clone();
     }
     if (copy.MeshDescription != null)
     {
         MeshDescription = (Software.Meshes.IMeshDescription)copy.MeshDescription.Clone();
     }
     if (copy.MetaMesh != null)
     {
         MetaMesh = (MetaResource <Software.Mesh>)copy.MetaMesh.Clone();
     }
     if (copy.Mesh != null)
     {
         Mesh = (DataLink <Software.Mesh>)copy.Mesh.Clone();
     }
     if (copy.XMesh != null)
     {
         XMesh = (DataLink <SlimDX.Direct3D9.Mesh>)copy.Mesh.Clone();
     }
     if (copy.MetaXMesh != null)
     {
         MetaXMesh = (MetaResourceBase)copy.MetaXMesh.Clone();
     }
     XMeshFlags = copy.XMeshFlags;
     Pool       = copy.Pool;
 }
            public override StructBoxer <BoundingBox> Construct(MeshConcretize metaResource, ContentPool content)
            {
                BoundingBox b = new BoundingBox();

                if (content.Device9 != null)
                {
                    var m = content.Peek <SlimDX.Direct3D9.Mesh>(metaResource);
                    if (m != null)
                    {
                        b = Common.Boundings.BoundingBoxFromXMesh(m);
                    }
                }
                return(new StructBoxer <BoundingBox> {
                    Value = b
                });
            }
 public override void Release(MeshConcretize metaResource, ContentPool content, StructBoxer <BoundingBox> resource)
 {
 }