I exported the default cube from Blender to .obj. Result:
decimater testcube.obj percent-vertices 90
Warning: readOBJ() ignored non-comment line 4:
o Cube
Loaded a mesh with 8 vertices and 6 faces: testcube.obj
90% of 8 input vertices is 7 output vertices.
decimater: /home/john/projects/sl/SeamAwareDecimater/decimater.cpp:85: bool {anonymous}::decimate_down_to(const Eigen::PlainObjectBase<Derived>&, const Eigen::PlainObjectBase<DerivedTC>&, const Eigen::PlainObjectBase<DerivedCN>&, const Eigen::PlainObjectBase<DerivedTC>&, int, Eigen::MatrixXd&, Eigen::MatrixXi&, Eigen::MatrixXd&, Eigen::MatrixXi&, bool) [with DerivedV = Eigen::Matrix<double, -1, -1>; DerivedF = Eigen::Matrix<int, -1, -1>; DerivedT = Eigen::Matrix<double, -1, -1>; Eigen::MatrixXd = Eigen::Matrix<double, -1, -1>; Eigen::MatrixXi = Eigen::Matrix<int, -1, -1>]: Assertion `F.cols() == 3' failed.
Aborted (core dumped)
OK, so maybe reducing a cube while preserving seams is geometrically impossible.
The default cylinder from Blender:
decimater testcylinder.obj percent-vertices 90
Warning: readOBJ() ignored non-comment line 4:
o Cylinder
Failed to cast F to matrix: min (4) != max (32)
ERROR: Could not read OBJ: testcylinder.obj
I get that "Failed to cast F to matrix" error from everything I've tried - simple files from Blender, files from 3D sites.
But the "animal.obj" file provided with the source code poly reduces just fine. So the program passes its own test case.
I exported the default cube from Blender to .obj. Result:
OK, so maybe reducing a cube while preserving seams is geometrically impossible.
The default cylinder from Blender:
I get that "Failed to cast F to matrix" error from everything I've tried - simple files from Blender, files from 3D sites.
But the "animal.obj" file provided with the source code poly reduces just fine. So the program passes its own test case.