use of org.concord.energy3d.undo.DeleteMeshCommand in project energy3d by concord-consortium.
the class Foundation method deleteMesh.
public void deleteMesh(final Mesh m) {
final List<HousePart> toDelete = new ArrayList<HousePart>();
for (final HousePart p : children) {
if (p instanceof Meshable) {
final MeshLocator l = ((Meshable) p).getMeshLocator();
if (l != null && m == l.find()) {
toDelete.add(p);
}
}
}
if (!toDelete.isEmpty()) {
for (final HousePart p : toDelete) {
Scene.getInstance().remove(p, false);
}
}
final DeleteMeshCommand c = new DeleteMeshCommand(m, this, toDelete);
final Node n = m.getParent();
n.detachChild(m);
clearSelectedMesh();
removeEmptyNodes();
getNodeState(n).deleteMesh(((UserData) m.getUserData()).getMeshIndex());
draw();
SceneManager.getInstance().getUndoManager().addEdit(c);
}
Aggregations