Skip to content

Commit 8e3807e

Browse files
committed
Merge branch 'master' into emscripten-tbb
2 parents 6f1189d + 0b957bf commit 8e3807e

13 files changed

+522
-134
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,6 @@ message(STATUS "BUILD_SHARED_LIBS: ${BUILD_SHARED_LIBS}")
374374
message(STATUS " ")
375375
message(STATUS "MANIFOLD_PAR: ${MANIFOLD_PAR}")
376376
message(STATUS "MANIFOLD_CROSS_SECTION: ${MANIFOLD_CROSS_SECTION}")
377-
message(STATUS "MANIFOLD_FLAGS: ${MANIFOLD_FLAGS}")
378377
message(STATUS "MANIFOLD_EXPORT: ${MANIFOLD_EXPORT}")
379378
message(STATUS "MANIFOLD_TEST: ${MANIFOLD_TEST}")
380379
message(STATUS "MANIFOLD_FUZZ: ${MANIFOLD_FUZZ}")
@@ -383,6 +382,7 @@ message(STATUS "MANIFOLD_CBIND: ${MANIFOLD_CBIND}")
383382
message(STATUS "MANIFOLD_PYBIND: ${MANIFOLD_PYBIND}")
384383
message(STATUS "MANIFOLD_JSBIND: ${MANIFOLD_JSBIND}")
385384
message(STATUS "MANIFOLD_EXCEPTIONS: ${MANIFOLD_EXCEPTIONS}")
385+
message(STATUS "MANIFOLD_FLAGS: ${MANIFOLD_FLAGS}")
386386
message(STATUS " ")
387387

388388
# If it's an EMSCRIPTEN build, we're done

bindings/c/include/manifold/manifoldc.h

+8-7
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ ManifoldMeshGL *manifold_meshgl_merge(void *mem, ManifoldMeshGL *m);
5555

5656
ManifoldMeshGL64 *manifold_meshgl64(void *mem, double *vert_props,
5757
size_t n_verts, size_t n_props,
58-
size_t *tri_verts, size_t n_tris);
58+
uint64_t *tri_verts, size_t n_tris);
5959

6060
ManifoldMeshGL64 *manifold_meshgl64_w_tangents(void *mem, double *vert_props,
6161
size_t n_verts, size_t n_props,
62-
size_t *tri_verts, size_t n_tris,
62+
uint64_t *tri_verts,
63+
size_t n_tris,
6364
double *halfedge_tangent);
6465
ManifoldMeshGL64 *manifold_get_meshgl64(void *mem, ManifoldManifold *m);
6566
ManifoldMeshGL64 *manifold_meshgl64_copy(void *mem, ManifoldMeshGL64 *m);
@@ -406,13 +407,13 @@ size_t manifold_meshgl64_run_transform_length(ManifoldMeshGL64 *m);
406407
size_t manifold_meshgl64_face_id_length(ManifoldMeshGL64 *m);
407408
size_t manifold_meshgl64_tangent_length(ManifoldMeshGL64 *m);
408409
double *manifold_meshgl64_vert_properties(void *mem, ManifoldMeshGL64 *m);
409-
size_t *manifold_meshgl64_tri_verts(void *mem, ManifoldMeshGL64 *m);
410-
size_t *manifold_meshgl64_merge_from_vert(void *mem, ManifoldMeshGL64 *m);
411-
size_t *manifold_meshgl64_merge_to_vert(void *mem, ManifoldMeshGL64 *m);
412-
size_t *manifold_meshgl64_run_index(void *mem, ManifoldMeshGL64 *m);
410+
uint64_t *manifold_meshgl64_tri_verts(void *mem, ManifoldMeshGL64 *m);
411+
uint64_t *manifold_meshgl64_merge_from_vert(void *mem, ManifoldMeshGL64 *m);
412+
uint64_t *manifold_meshgl64_merge_to_vert(void *mem, ManifoldMeshGL64 *m);
413+
uint64_t *manifold_meshgl64_run_index(void *mem, ManifoldMeshGL64 *m);
413414
uint32_t *manifold_meshgl64_run_original_id(void *mem, ManifoldMeshGL64 *m);
414415
double *manifold_meshgl64_run_transform(void *mem, ManifoldMeshGL64 *m);
415-
size_t *manifold_meshgl64_face_id(void *mem, ManifoldMeshGL64 *m);
416+
uint64_t *manifold_meshgl64_face_id(void *mem, ManifoldMeshGL64 *m);
416417
double *manifold_meshgl64_halfedge_tangent(void *mem, ManifoldMeshGL64 *m);
417418

418419
// memory size

bindings/c/manifoldc.cpp

+8-7
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ ManifoldMeshGL *manifold_meshgl_w_tangents(void *mem, float *vert_props,
365365

366366
ManifoldMeshGL64 *manifold_meshgl64(void *mem, double *vert_props,
367367
size_t n_verts, size_t n_props,
368-
size_t *tri_verts, size_t n_tris) {
368+
uint64_t *tri_verts, size_t n_tris) {
369369
auto mesh = new (mem) MeshGL64();
370370
mesh->numProp = n_props;
371371
mesh->vertProperties = vector_of_array(vert_props, n_verts * n_props);
@@ -375,7 +375,8 @@ ManifoldMeshGL64 *manifold_meshgl64(void *mem, double *vert_props,
375375

376376
ManifoldMeshGL64 *manifold_meshgl64_w_tangents(void *mem, double *vert_props,
377377
size_t n_verts, size_t n_props,
378-
size_t *tri_verts, size_t n_tris,
378+
uint64_t *tri_verts,
379+
size_t n_tris,
379380
double *halfedge_tangent) {
380381
auto mesh = new (mem) MeshGL64();
381382
mesh->numProp = n_props;
@@ -587,16 +588,16 @@ size_t manifold_meshgl64_tangent_length(ManifoldMeshGL64 *m) {
587588
double *manifold_meshgl64_vert_properties(void *mem, ManifoldMeshGL64 *m) {
588589
return copy_data(mem, from_c(m)->vertProperties);
589590
}
590-
size_t *manifold_meshgl64_tri_verts(void *mem, ManifoldMeshGL64 *m) {
591+
uint64_t *manifold_meshgl64_tri_verts(void *mem, ManifoldMeshGL64 *m) {
591592
return copy_data(mem, from_c(m)->triVerts);
592593
}
593-
size_t *manifold_meshgl64_merge_from_vert(void *mem, ManifoldMeshGL64 *m) {
594+
uint64_t *manifold_meshgl64_merge_from_vert(void *mem, ManifoldMeshGL64 *m) {
594595
return copy_data(mem, from_c(m)->mergeFromVert);
595596
}
596-
size_t *manifold_meshgl64_merge_to_vert(void *mem, ManifoldMeshGL64 *m) {
597+
uint64_t *manifold_meshgl64_merge_to_vert(void *mem, ManifoldMeshGL64 *m) {
597598
return copy_data(mem, from_c(m)->mergeToVert);
598599
}
599-
size_t *manifold_meshgl64_run_index(void *mem, ManifoldMeshGL64 *m) {
600+
uint64_t *manifold_meshgl64_run_index(void *mem, ManifoldMeshGL64 *m) {
600601
return copy_data(mem, from_c(m)->runIndex);
601602
}
602603
uint32_t *manifold_meshgl64_run_original_id(void *mem, ManifoldMeshGL64 *m) {
@@ -605,7 +606,7 @@ uint32_t *manifold_meshgl64_run_original_id(void *mem, ManifoldMeshGL64 *m) {
605606
double *manifold_meshgl64_run_transform(void *mem, ManifoldMeshGL64 *m) {
606607
return copy_data(mem, from_c(m)->runTransform);
607608
}
608-
size_t *manifold_meshgl64_face_id(void *mem, ManifoldMeshGL64 *m) {
609+
uint64_t *manifold_meshgl64_face_id(void *mem, ManifoldMeshGL64 *m) {
609610
return copy_data(mem, from_c(m)->faceID);
610611
}
611612
double *manifold_meshgl64_halfedge_tangent(void *mem, ManifoldMeshGL64 *m) {

bindings/python/manifold3d.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -597,19 +597,19 @@ NB_MODULE(manifold3d, m) {
597597
"__init__",
598598
[](MeshGL64 *self,
599599
nb::ndarray<double, nb::shape<-1, -1>, nb::c_contig> &vertProp,
600-
nb::ndarray<size_t, nb::shape<-1, 3>, nb::c_contig> &triVerts,
601-
const std::optional<nb::ndarray<size_t, nb::shape<-1>,
600+
nb::ndarray<uint64_t, nb::shape<-1, 3>, nb::c_contig> &triVerts,
601+
const std::optional<nb::ndarray<uint64_t, nb::shape<-1>,
602602
nb::c_contig>> &mergeFromVert,
603+
const std::optional<nb::ndarray<uint64_t, nb::shape<-1>,
604+
nb::c_contig>> &mergeToVert,
603605
const std::optional<
604-
nb::ndarray<size_t, nb::shape<-1>, nb::c_contig>> &mergeToVert,
605-
const std::optional<
606-
nb::ndarray<size_t, nb::shape<-1>, nb::c_contig>> &runIndex,
606+
nb::ndarray<uint64_t, nb::shape<-1>, nb::c_contig>> &runIndex,
607607
const std::optional<nb::ndarray<uint32_t, nb::shape<-1>,
608608
nb::c_contig>> &runOriginalID,
609609
std::optional<nb::ndarray<double, nb::shape<-1, 4, 3>,
610610
nb::c_contig>> &runTransform,
611611
const std::optional<
612-
nb::ndarray<size_t, nb::shape<-1>, nb::c_contig>> &faceID,
612+
nb::ndarray<uint64_t, nb::shape<-1>, nb::c_contig>> &faceID,
613613
const std::optional<nb::ndarray<double, nb::shape<-1, 3, 4>,
614614
nb::c_contig>> &halfedgeTangent,
615615
float tolerance) {

include/manifold/common.h

+8-5
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ namespace manifold {
2525
* @brief Simple math operations.
2626
* */
2727

28-
/** @addtogroup Scalar
29-
* @ingroup Math
30-
* @brief Simple scalar operations.
28+
/** @addtogroup LinAlg
3129
* @{
3230
*/
3331
namespace la = linalg;
@@ -47,6 +45,13 @@ using ivec2 = la::vec<int, 2>;
4745
using ivec3 = la::vec<int, 3>;
4846
using ivec4 = la::vec<int, 4>;
4947
using quat = la::vec<double, 4>;
48+
/** @} */
49+
50+
/** @addtogroup Scalar
51+
* @ingroup Math
52+
* @brief Simple scalar operations.
53+
* @{
54+
*/
5055

5156
constexpr double kPi = 3.14159265358979323846264338327950288;
5257
constexpr double kTwoPi = 6.28318530717958647692528676655900576;
@@ -596,8 +601,6 @@ struct ExecutionParams {
596601
/// Suppresses printed errors regarding CW triangles. Has no effect if
597602
/// processOverlaps is true.
598603
bool suppressErrors = false;
599-
/// Deterministic outputs. Will disable some parallel optimizations.
600-
bool deterministic = false;
601604
/// Perform optional but recommended triangle cleanups in SimplifyTopology()
602605
bool cleanupTriangles = true;
603606
};

0 commit comments

Comments
 (0)