Skip to content

Commit b923da5

Browse files
committed
fix missing tests; fix moment size
1 parent 22cd4a3 commit b923da5

2 files changed

Lines changed: 61 additions & 2 deletions

File tree

src/moments.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ npe_arg(F, dense_int, dense_long, dense_longlong)
3333

3434
npe_begin_code()
3535
assert_valid_3d_tri_mesh(V, F);
36-
EigenDenseLike<npe_Matrix_V> m1;
37-
EigenDenseLike<npe_Matrix_V> m2;
36+
Eigen::Matrix<npe_Scalar_V, 1, 3> m1;
37+
Eigen::Matrix<npe_Scalar_V, 3, 3> m2;
3838
double m0;
3939
igl::moments(V, F, m0, m1, m2);
4040
return std::make_tuple(m0,npe::move(m1),npe::move(m2));

tests/test_basic.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,9 @@ def test_read_dmat(self):
494494
self.assertEqual(mat.dtype, "float64")
495495
self.assertTrue(mat.flags.c_contiguous)
496496

497+
def test_write_dmat(self):
498+
igl.write_dmat(self.test_data_path + "decimated-knight-selection.dmat",self.v)
499+
497500
# sparse matrix, no flag attribute
498501
def test_vector_area_matrix(self):
499502
a = igl.vector_area_matrix(self.f)
@@ -2528,5 +2531,61 @@ def test_convex_hull(self):
25282531
F_gt = np.array([[0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 2, 3]],dtype="int64")
25292532
self.assertTrue((F == F_gt).all())
25302533

2534+
def test__version(self):
2535+
self.assertTrue(isinstance(igl.__version__, str))
2536+
2537+
def test_blue_noise(self):
2538+
r = igl.avg_edge_length(self.v, self.f)
2539+
b,fi,p = igl.blue_noise(self.v, self.f, r*0.1)
2540+
self.assertTrue(b.shape[0] == fi.shape[0])
2541+
self.assertTrue(b.shape[0] == p.shape[0])
2542+
self.assertTrue(self.v.shape[1] == p.shape[1])
2543+
self.assertTrue(self.f.shape[1] == b.shape[1])
2544+
2545+
def test_fit_cubic_bezier(self):
2546+
r = igl.avg_edge_length(self.v, self.f)
2547+
cubics = igl.fit_cubic_bezier(self.v, r)
2548+
[self.assertTrue(cubic.shape[1] == self.v.shape[1]) for cubic in cubics]
2549+
2550+
def test_is_delaunay(self):
2551+
D = igl.is_delaunay(self.v, self.f)
2552+
self.assertTrue(D.shape[0] == self.f.shape[0])
2553+
self.assertTrue(D.shape[1] == self.f.shape[1])
2554+
2555+
def test_random_points_on_mesh(self):
2556+
b,fi,x = igl.random_points_on_mesh(100, self.v, self.f)
2557+
self.assertTrue(b.shape[0] == 100)
2558+
self.assertTrue(b.shape[0] == fi.shape[0])
2559+
self.assertTrue(b.shape[0] == x.shape[0])
2560+
self.assertTrue(self.v.shape[1] == x.shape[1])
2561+
self.assertTrue(self.f.shape[1] == b.shape[1])
2562+
2563+
def test_random_points_on_mesh_intrinsic(self):
2564+
dblA = igl.doublearea(self.v, self.f)
2565+
b,fi = igl.random_points_on_mesh_intrinsic(100, dblA)
2566+
self.assertTrue(b.shape[0] == 100)
2567+
self.assertTrue(b.shape[0] == fi.shape[0])
2568+
self.assertTrue(self.f.shape[1] == b.shape[1])
2569+
2570+
def test_moments(self):
2571+
m0,m1,m2 = igl.moments(self.v1, self.f1)
2572+
2573+
def test_path_to_edges(self):
2574+
I = self.f1[:,0]
2575+
e = igl.path_to_edges(I)
2576+
self.assertTrue(e.shape[1] == 2)
2577+
self.assertTrue(e.shape[0] == I.shape[0]-1)
2578+
2579+
2580+
def test_copyleft(self):
2581+
# check that type is <class 'module'>
2582+
self.assertTrue(type(igl.copyleft) == type(igl))
2583+
2584+
def test_triangle(self):
2585+
# check that type is <class 'module'>
2586+
self.assertTrue(type(igl.copyleft) == type(igl))
2587+
2588+
2589+
25312590
if __name__ == '__main__':
25322591
unittest.main()

0 commit comments

Comments
 (0)