|
@@ -49,9 +49,9 @@ Eigen::MatrixXi FUV;
|
|
|
|
|
|
|
|
|
|
// Create a texture that hides the integer translation in the parametrization
|
|
// Create a texture that hides the integer translation in the parametrization
|
|
-void line_texture(Eigen::Matrix<char,Eigen::Dynamic,Eigen::Dynamic> &texture_R,
|
|
|
|
- Eigen::Matrix<char,Eigen::Dynamic,Eigen::Dynamic> &texture_G,
|
|
|
|
- Eigen::Matrix<char,Eigen::Dynamic,Eigen::Dynamic> &texture_B)
|
|
|
|
|
|
+void line_texture(Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic> &texture_R,
|
|
|
|
+ Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic> &texture_G,
|
|
|
|
+ Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic> &texture_B)
|
|
{
|
|
{
|
|
unsigned size = 128;
|
|
unsigned size = 128;
|
|
unsigned size2 = size/2;
|
|
unsigned size2 = size/2;
|
|
@@ -202,7 +202,7 @@ bool key_down(igl::Viewer& viewer, unsigned char key, int modifier)
|
|
viewer.data.set_colors(Eigen::RowVector3d(1,1,1));
|
|
viewer.data.set_colors(Eigen::RowVector3d(1,1,1));
|
|
|
|
|
|
// Replace the standard texture with an integer shift invariant texture
|
|
// Replace the standard texture with an integer shift invariant texture
|
|
- Eigen::Matrix<char,Eigen::Dynamic,Eigen::Dynamic> texture_R, texture_G, texture_B;
|
|
|
|
|
|
+ Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic> texture_R, texture_G, texture_B;
|
|
line_texture(texture_R, texture_G, texture_B);
|
|
line_texture(texture_R, texture_G, texture_B);
|
|
viewer.data.set_texture(texture_R, texture_B, texture_G);
|
|
viewer.data.set_texture(texture_R, texture_B, texture_G);
|
|
|
|
|
|
@@ -258,7 +258,7 @@ int main(int argc, char *argv[])
|
|
igl::find_cross_field_singularities(V, F, MMatch, isSingularity, singularityIndex);
|
|
igl::find_cross_field_singularities(V, F, MMatch, isSingularity, singularityIndex);
|
|
|
|
|
|
// Cut the mesh, duplicating all vertices on the seams
|
|
// Cut the mesh, duplicating all vertices on the seams
|
|
- igl::cut_mesh_from_singularities(V, F, MMatch, isSingularity, singularityIndex, Seams);
|
|
|
|
|
|
+ igl::cut_mesh_from_singularities(V, F, MMatch, Seams);
|
|
|
|
|
|
// Comb the frame-field accordingly
|
|
// Comb the frame-field accordingly
|
|
igl::comb_frame_field(V, F, X1, X2, BIS1_combed, BIS2_combed, X1_combed, X2_combed);
|
|
igl::comb_frame_field(V, F, X1, X2, BIS1_combed, BIS2_combed, X1_combed, X2_combed);
|
|
@@ -268,11 +268,8 @@ int main(int argc, char *argv[])
|
|
F,
|
|
F,
|
|
X1_combed,
|
|
X1_combed,
|
|
X2_combed,
|
|
X2_combed,
|
|
- BIS1_combed,
|
|
|
|
- BIS2_combed,
|
|
|
|
MMatch,
|
|
MMatch,
|
|
isSingularity,
|
|
isSingularity,
|
|
- singularityIndex,
|
|
|
|
Seams,
|
|
Seams,
|
|
UV,
|
|
UV,
|
|
FUV,
|
|
FUV,
|
|
@@ -288,11 +285,8 @@ igl::miq(V,
|
|
F,
|
|
F,
|
|
X1_combed,
|
|
X1_combed,
|
|
X2_combed,
|
|
X2_combed,
|
|
- BIS1_combed,
|
|
|
|
- BIS2_combed,
|
|
|
|
MMatch,
|
|
MMatch,
|
|
isSingularity,
|
|
isSingularity,
|
|
- singularityIndex,
|
|
|
|
Seams,
|
|
Seams,
|
|
UV_seams,
|
|
UV_seams,
|
|
FUV_seams,
|
|
FUV_seams,
|