コード例 #1
0
ファイル: GuiTopology.js プロジェクト: Hubert21/sculptgl
    remesh: function () {
      var main = this._main;
      var mesh = main.getMesh();
      if (!mesh)
        return;

      var meshes = main.getMeshes();
      var selMeshes = main.getSelectedMeshes().slice();
      for (var i = 0, l = selMeshes.length; i < l; ++i) {
        var sel = selMeshes[i];
        meshes.splice(main.getIndexMesh(sel), 1);
        selMeshes[i] = this.convertToStaticMesh(sel);
        if (sel === mesh)
          mesh = selMeshes[i];
      }
      var newMesh = Remesh.remesh(selMeshes, mesh);
      main.getStates().pushStateAddRemove(newMesh, main.getSelectedMeshes().slice());
      main.getMeshes().push(newMesh);
      main.setMesh(newMesh);
    },
コード例 #2
0
ファイル: GuiTopology.js プロジェクト: stephomi/sculptgl
  remesh(manifold) {
    var main = this._main;
    var mesh = main.getMesh();
    if (!mesh)
      return;

    var wasDynamic = mesh.isDynamic;

    var meshes = main.getMeshes();
    var selMeshes = main.getSelectedMeshes().slice();
    for (var i = 0, l = selMeshes.length; i < l; ++i) {
      var sel = selMeshes[i];
      meshes.splice(main.getIndexMesh(sel), 1);
      selMeshes[i] = this.convertToStaticMesh(sel);
      if (sel === mesh)
        mesh = selMeshes[i];
    }

    var newMesh = Remesh.remesh(selMeshes, mesh, manifold);
    if (wasDynamic) newMesh = new MeshDynamic(newMesh);
    main.getStateManager().pushStateAddRemove(newMesh, main.getSelectedMeshes().slice());
    main.getMeshes().push(newMesh);
    main.setMesh(newMesh);
  }