Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/object/object_remesh.c
| Show First 20 Lines • Show All 111 Lines • ▼ Show 20 Lines | if (mesh->remesh_voxel_size <= 0.0f) { | ||||
| BKE_report(op->reports, RPT_ERROR, "Voxel remesher cannot run with a voxel size of 0.0."); | BKE_report(op->reports, RPT_ERROR, "Voxel remesher cannot run with a voxel size of 0.0."); | ||||
| return OPERATOR_CANCELLED; | return OPERATOR_CANCELLED; | ||||
| } | } | ||||
| if (ob->mode == OB_MODE_SCULPT) { | if (ob->mode == OB_MODE_SCULPT) { | ||||
| ED_sculpt_undo_geometry_begin(ob); | ED_sculpt_undo_geometry_begin(ob); | ||||
| } | } | ||||
| float isovalue = 0.0f; | |||||
| if (mesh->flag & ME_REMESH_REPROJECT_VOLUME) { | |||||
| isovalue = mesh->remesh_voxel_size * 0.3f; | |||||
| } | |||||
| new_mesh = BKE_mesh_remesh_voxel_to_mesh_nomain( | new_mesh = BKE_mesh_remesh_voxel_to_mesh_nomain( | ||||
| mesh, mesh->remesh_voxel_size, mesh->remesh_voxel_adaptivity); | mesh, mesh->remesh_voxel_size, mesh->remesh_voxel_adaptivity, isovalue); | ||||
| if (!new_mesh) { | if (!new_mesh) { | ||||
| return OPERATOR_CANCELLED; | return OPERATOR_CANCELLED; | ||||
| } | } | ||||
| if (mesh->flag & ME_REMESH_FIX_POLES && mesh->remesh_voxel_adaptivity <= 0.0f) { | if (mesh->flag & ME_REMESH_FIX_POLES && mesh->remesh_voxel_adaptivity <= 0.0f) { | ||||
| new_mesh = BKE_mesh_remesh_voxel_fix_poles(new_mesh); | new_mesh = BKE_mesh_remesh_voxel_fix_poles(new_mesh); | ||||
| BKE_mesh_calc_normals(new_mesh); | BKE_mesh_calc_normals(new_mesh); | ||||
| ▲ Show 20 Lines • Show All 600 Lines • Show Last 20 Lines | |||||