Эх сурвалжийг харах

- fixes for camera bug
- added logo in the tutorial
- added some missing links in the tutorial
- fixed bug in set_mesh when 2d coordinates are given for the vertices


Former-commit-id: 267e4f4f58a18970f500568697bba92439465876

Daniele Panozzo 11 жил өмнө
parent
commit
0ba1639a37

+ 4 - 4
include/igl/viewer/ViewerData.cpp

@@ -71,8 +71,8 @@ IGL_INLINE void igl::ViewerData::set_mesh(const Eigen::MatrixXd& _V, const Eigen
   // If V only has two columns, pad with a column of zeros
   if (_V.cols() == 2)
   {
-    V_temp = Eigen::MatrixXd::Zero(V.rows(),3);
-    V_temp.block(0,0,V.rows(),2) = _V;
+    V_temp = Eigen::MatrixXd::Zero(_V.rows(),3);
+    V_temp.block(0,0,_V.rows(),2) = _V;
   }
   else
     V_temp = _V;
@@ -92,7 +92,7 @@ IGL_INLINE void igl::ViewerData::set_mesh(const Eigen::MatrixXd& _V, const Eigen
   }
   else
   {
-    if (V.rows() == V.rows() && F.rows() == F.rows())
+    if (_V.rows() == V.rows() && _F.rows() == F.rows())
     {
       V = V_temp;
       F = _F;
@@ -214,7 +214,7 @@ IGL_INLINE void igl::ViewerData::set_texture(
 }
 
 IGL_INLINE void igl::ViewerData::set_points(
-  const Eigen::MatrixXd& P,  
+  const Eigen::MatrixXd& P,
   const Eigen::MatrixXd& C)
 {
   // clear existing points

+ 6 - 0
tutorial/501_HarmonicParam/main.cpp

@@ -11,11 +11,17 @@ Eigen::MatrixXd V_uv;
 bool key_down(igl::Viewer& viewer, unsigned char key, int modifier)
 {
   if (key == '1')
+  {
     // Plot the 3D mesh
     viewer.data.set_mesh(V,F);
+    viewer.core.align_camera_center(V,F);
+  }
   else if (key == '2')
+  {
     // Plot the mesh in 2D using the UV coordinates as vertex coordinates
     viewer.data.set_mesh(V_uv,F);
+    viewer.core.align_camera_center(V_uv,F);
+  }
 
   viewer.data.compute_normals();
 

+ 6 - 0
tutorial/502_LSCMParam/main.cpp

@@ -12,11 +12,17 @@ bool key_down(igl::Viewer& viewer, unsigned char key, int modifier)
 {
 
   if (key == '1')
+  {
     // Plot the 3D mesh
     viewer.data.set_mesh(V,F);
+    viewer.core.align_camera_center(V,F);
+  }
   else if (key == '2')
+  {
     // Plot the mesh in 2D using the UV coordinates as vertex coordinates
     viewer.data.set_mesh(V_uv,F);
+    viewer.core.align_camera_center(V_uv,F);
+  }
 
   viewer.data.compute_normals();
 

+ 7 - 1
tutorial/503_ARAPParam/main.cpp

@@ -23,9 +23,15 @@ bool key_down(igl::Viewer& viewer, unsigned char key, int modifier)
     V_uv = initial_guess;
 
   if (show_uv)
+  {
     viewer.data.set_mesh(V_uv,F);
+    viewer.core.align_camera_center(V_uv,F);
+  }
   else
+  {
     viewer.data.set_mesh(V,F);
+    viewer.core.align_camera_center(V,F);
+  }
 
   viewer.data.compute_normals();
 
@@ -51,7 +57,7 @@ int main(int argc, char *argv[])
   arap_data.with_dynamics = true;
   Eigen::VectorXi b  = Eigen::VectorXi::Zero(0);
   Eigen::MatrixXd bc = Eigen::MatrixXd::Zero(0,0);
-  
+
   // Initialize ARAP
   arap_data.max_iter = 100;
   // 2 means that we're going to *solve* in 2d

+ 2 - 0
tutorial/505_MIQ/main.cpp

@@ -206,6 +206,8 @@ bool key_down(igl::Viewer& viewer, unsigned char key, int modifier)
   line_texture(texture_R, texture_G, texture_B);
   viewer.data.set_texture(texture_R, texture_B, texture_G);
 
+  viewer.core.align_camera_center(viewer.data.V,viewer.data.F);
+
   return false;
 }
 

+ 1 - 0
tutorial/506_FrameField/main.cpp

@@ -165,6 +165,7 @@ bool key_down(igl::Viewer& viewer, unsigned char key, int modifier)
   Eigen::Matrix<char,Eigen::Dynamic,Eigen::Dynamic> 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.core.align_camera_center(viewer.data.V,viewer.data.F);
 
   return false;
 }

BIN
tutorial/images/libigl-logo.jpg


+ 1 - 1
tutorial/tutorial.html.REMOVED.git-id

@@ -1 +1 @@
-e9a05f57f3704632186380348623deacd0199161
+20f3975c0976fa57c0738e4480fec3c8ebc5e76e

+ 1 - 1
tutorial/tutorial.md.REMOVED.git-id

@@ -1 +1 @@
-885a107a014759a366dd66320b45dd95ee51924e
+5f61531817bab4818c62fbfa4488937e8404c2fb