Cleanup: Simplify logic, follow style guide for integer types
- Use `int` instead of `unsigned int` for mesh indices - Use C++ types (Array, float3, IndexRange) - Use range based for loops
This commit is contained in:
@@ -33,20 +33,20 @@ OpenVDBLevelSet::~OpenVDBLevelSet()
|
||||
}
|
||||
|
||||
void OpenVDBLevelSet::mesh_to_level_set(const float *vertices,
|
||||
const unsigned int *faces,
|
||||
const unsigned int totvertices,
|
||||
const unsigned int totfaces,
|
||||
const int *faces,
|
||||
const int totvertices,
|
||||
const int totfaces,
|
||||
const openvdb::math::Transform::Ptr &xform)
|
||||
{
|
||||
std::vector<openvdb::Vec3s> points(totvertices);
|
||||
std::vector<openvdb::Vec3I> triangles(totfaces);
|
||||
std::vector<openvdb::Vec4I> quads;
|
||||
|
||||
for (unsigned int i = 0; i < totvertices; i++) {
|
||||
for (int i = 0; i < totvertices; i++) {
|
||||
points[i] = openvdb::Vec3s(vertices[i * 3], vertices[i * 3 + 1], vertices[i * 3 + 2]);
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i < totfaces; i++) {
|
||||
for (int i = 0; i < totfaces; i++) {
|
||||
triangles[i] = openvdb::Vec3I(faces[i * 3], faces[i * 3 + 1], faces[i * 3 + 2]);
|
||||
}
|
||||
|
||||
@@ -69,14 +69,11 @@ void OpenVDBLevelSet::volume_to_mesh(OpenVDBVolumeToMeshData *mesh,
|
||||
isovalue,
|
||||
adaptivity,
|
||||
relax_disoriented_triangles);
|
||||
mesh->vertices = (float *)MEM_malloc_arrayN(
|
||||
out_points.size(), 3 * sizeof(float), "openvdb remesher out verts");
|
||||
mesh->quads = (unsigned int *)MEM_malloc_arrayN(
|
||||
out_quads.size(), 4 * sizeof(unsigned int), "openvdb remesh out quads");
|
||||
mesh->vertices = (float *)MEM_malloc_arrayN(out_points.size(), sizeof(float[3]), __func__);
|
||||
mesh->quads = (int *)MEM_malloc_arrayN(out_quads.size(), sizeof(int[4]), __func__);
|
||||
mesh->triangles = NULL;
|
||||
if (out_tris.size() > 0) {
|
||||
mesh->triangles = (unsigned int *)MEM_malloc_arrayN(
|
||||
out_tris.size(), 3 * sizeof(unsigned int), "openvdb remesh out tris");
|
||||
mesh->triangles = (int *)MEM_malloc_arrayN(out_tris.size(), sizeof(int[3]), __func__);
|
||||
}
|
||||
|
||||
mesh->totvertices = out_points.size();
|
||||
|
||||
@@ -39,9 +39,9 @@ struct OpenVDBLevelSet {
|
||||
void set_grid(const openvdb::FloatGrid::Ptr &grid);
|
||||
|
||||
void mesh_to_level_set(const float *vertices,
|
||||
const unsigned int *faces,
|
||||
const unsigned int totvertices,
|
||||
const unsigned int totfaces,
|
||||
const int *faces,
|
||||
const int totvertices,
|
||||
const int totfaces,
|
||||
const openvdb::math::Transform::Ptr &transform);
|
||||
|
||||
void volume_to_mesh(struct OpenVDBVolumeToMeshData *mesh,
|
||||
|
||||
@@ -63,9 +63,9 @@ void OpenVDBLevelSet_free(OpenVDBLevelSet *level_set)
|
||||
|
||||
void OpenVDBLevelSet_mesh_to_level_set(struct OpenVDBLevelSet *level_set,
|
||||
const float *vertices,
|
||||
const unsigned int *faces,
|
||||
const unsigned int totvertices,
|
||||
const unsigned int totfaces,
|
||||
const int *faces,
|
||||
const int totvertices,
|
||||
const int totfaces,
|
||||
OpenVDBTransform *xform)
|
||||
{
|
||||
level_set->mesh_to_level_set(vertices, faces, totvertices, totfaces, xform->get_transform());
|
||||
@@ -73,9 +73,9 @@ void OpenVDBLevelSet_mesh_to_level_set(struct OpenVDBLevelSet *level_set,
|
||||
|
||||
void OpenVDBLevelSet_mesh_to_level_set_transform(struct OpenVDBLevelSet *level_set,
|
||||
const float *vertices,
|
||||
const unsigned int *faces,
|
||||
const unsigned int totvertices,
|
||||
const unsigned int totfaces,
|
||||
const int *faces,
|
||||
const int totvertices,
|
||||
const int totfaces,
|
||||
OpenVDBTransform *transform)
|
||||
{
|
||||
level_set->mesh_to_level_set(vertices, faces, totvertices, totfaces, transform->get_transform());
|
||||
|
||||
@@ -67,19 +67,19 @@ struct OpenVDBVolumeToMeshData {
|
||||
int totvertices;
|
||||
|
||||
float *vertices;
|
||||
unsigned int *quads;
|
||||
unsigned int *triangles;
|
||||
int *quads;
|
||||
int *triangles;
|
||||
};
|
||||
|
||||
struct OpenVDBRemeshData {
|
||||
float *verts;
|
||||
unsigned int *faces;
|
||||
int *faces;
|
||||
int totfaces;
|
||||
int totverts;
|
||||
|
||||
float *out_verts;
|
||||
unsigned int *out_faces;
|
||||
unsigned int *out_tris;
|
||||
int *out_faces;
|
||||
int *out_tris;
|
||||
int out_totverts;
|
||||
int out_totfaces;
|
||||
int out_tottris;
|
||||
@@ -112,15 +112,15 @@ struct OpenVDBLevelSet *OpenVDBLevelSet_create(bool initGrid, struct OpenVDBTran
|
||||
void OpenVDBLevelSet_free(struct OpenVDBLevelSet *level_set);
|
||||
void OpenVDBLevelSet_mesh_to_level_set(struct OpenVDBLevelSet *level_set,
|
||||
const float *vertices,
|
||||
const unsigned int *faces,
|
||||
const unsigned int totvertices,
|
||||
const unsigned int totfaces,
|
||||
const int *faces,
|
||||
const int totvertices,
|
||||
const int totfaces,
|
||||
struct OpenVDBTransform *xform);
|
||||
void OpenVDBLevelSet_mesh_to_level_set_transform(struct OpenVDBLevelSet *level_set,
|
||||
const float *vertices,
|
||||
const unsigned int *faces,
|
||||
const unsigned int totvertices,
|
||||
const unsigned int totfaces,
|
||||
const int *faces,
|
||||
const int totvertices,
|
||||
const int totfaces,
|
||||
struct OpenVDBTransform *transform);
|
||||
void OpenVDBLevelSet_volume_to_mesh(struct OpenVDBLevelSet *level_set,
|
||||
struct OpenVDBVolumeToMeshData *mesh,
|
||||
|
||||
Reference in New Issue
Block a user