public void InsertMesh(int meshID) { switch (meshID) { case 0: DefaultMeshes.Cube(selMesh); break; case 1: DefaultMeshes.Plane(selMesh); break; case 2: DefaultMeshes.Sphere(selMesh); break; case 3: DefaultMeshes.Circle(selMesh); break; default: Debug.LogError($"Mesh ID not valid ({meshID})"); break; } //selMesh.verts.AddRange(newMesh.verts); //selMesh.faces.AddRange(newMesh.faces); selMesh.ReconstructMesh(); //selMesh.selVerts = new HashSet<Vertex>(newMesh.verts); //selMesh.selFaces = new HashSet<Face>(newMesh.faces); transformGizmo.OnSelectionChange(); }
public void LoadMeshToSelected() { MeshObject mesh = SaveLoad.LoadMesh(meshFilter, meshCollider); if (mesh != null) { selMesh = mesh; selMesh.ReconstructMesh(); transformGizmo.SetPositionAuto(); SaveUndoState(); } }
//------------------------------------------------------------------ //------------------------------------------------------------------ void Start() { //SaveLoad.LoadLastMeshSavePath(); meshFilter = GetComponent <MeshFilter>(); meshCollider = gameObject.GetComponent <MeshCollider>(); selMesh = DefaultMeshes.Cube(selMesh); selMesh.meshCollider = meshCollider; selMesh.selVerts.Clear(); selMesh.selFaces.Clear(); selMesh.ReconstructMesh(); //gameObject.GetComponent<MeshCollider>().sharedMesh = selMesh.meshFilter.sharedMesh; SaveUndoState(); //Debug.Log(Application.persistentDataPath); }
public MeshObject ToMeshObject(MeshFilter _meshFilter, MeshCollider meshCollider) { MeshObject mesh = new MeshObject(_meshFilter); mesh.meshCollider = meshCollider; mesh.verts = vertices.Select(vert => new Vertex(vert.pos, mesh)).ToList(); mesh.faces = faces.Select(face => new Face(face.verts, mesh)).ToList(); //new List<Face> { }; if (selVerts != null && selFaces != null) { foreach (int vertID in selVerts) { mesh.selVerts.Add(mesh.verts[vertID]); } foreach (int faceID in selFaces) { mesh.selFaces.Add(mesh.faces[faceID]); } } //mesh.meshFilter = meshFilter_; mesh.ReconstructMesh(); return(mesh); }