diff --git a/include/igl/opengl/glfw/Viewer.cpp b/include/igl/opengl/glfw/Viewer.cpp index 66d02f885..49e5a8a57 100644 --- a/include/igl/opengl/glfw/Viewer.cpp +++ b/include/igl/opengl/glfw/Viewer.cpp @@ -286,7 +286,7 @@ namespace glfw highdpi = width/width_window; glfw_window_size(window,width_window,height_window); //opengl.init(); - core.align_camera_center(selected_data().V,selected_data().F); + core.align_camera_center(data().V,data().F); // Initialize IGL viewer init(); return EXIT_SUCCESS; @@ -369,7 +369,7 @@ namespace glfw ngui->addGroup("Viewing Options"); ngui->addButton("Center object",[&](){this->core.align_camera_center( - this->selected_data().V,this->selected_data().F);}); + this->data().V,this->data().F);}); ngui->addButton("Snap canonical view",[&]() { this->snap_to_canonical_quaternion(); @@ -381,36 +381,36 @@ namespace glfw ngui->addVariable("Face-based", [&](bool checked) { - this->selected_data().set_face_based(checked); + this->data().set_face_based(checked); },[&]() { - return this->selected_data().face_based; + return this->data().face_based; }); - ngui->addVariable("Show texture",this->selected_data().show_texture); + ngui->addVariable("Show texture",this->data().show_texture); ngui->addVariable("Invert normals",[&](bool checked) { - this->selected_data().dirty |= ViewerData::DIRTY_NORMAL; - this->selected_data().invert_normals = checked; + this->data().dirty |= ViewerData::DIRTY_NORMAL; + this->data().invert_normals = checked; },[&]() { - return this->selected_data().invert_normals; + return this->data().invert_normals; }); - // Alec: This will probably just attach to the selected_data() at the time + // Alec: This will probably just attach to the data() at the time // that addVariable is called. We probably need to use a callback here. - ngui->addVariable("Show overlay", selected_data().show_overlay); - ngui->addVariable("Show overlay depth", selected_data().show_overlay_depth); - ngui->addVariable("Line color", (nanogui::Color &) selected_data().line_color); + ngui->addVariable("Show overlay", data().show_overlay); + ngui->addVariable("Show overlay depth", data().show_overlay_depth); + ngui->addVariable("Line color", (nanogui::Color &) data().line_color); ngui->addVariable("Background", (nanogui::Color &) core.background_color); - ngui->addVariable("Shininess", selected_data().shininess); + ngui->addVariable("Shininess", data().shininess); ngui->addGroup("Overlays"); - ngui->addVariable("Wireframe", selected_data().show_lines); - ngui->addVariable("Fill", selected_data().show_faces); - ngui->addVariable("Show vertex labels", selected_data().show_vertid); - ngui->addVariable("Show faces labels", selected_data().show_faceid); + ngui->addVariable("Wireframe", data().show_lines); + ngui->addVariable("Fill", data().show_faces); + ngui->addVariable("Show vertex labels", data().show_vertid); + ngui->addVariable("Show faces labels", data().show_faceid); screen->setVisible(true); screen->performLayout(); @@ -460,7 +460,7 @@ namespace glfw scroll_position = 0.0f; // Per face - selected_data().set_face_based(false); + data().set_face_based(false); // C-style callbacks callback_init = nullptr; @@ -524,11 +524,11 @@ namespace glfw } // Create new data slot and set to selected - if(!(selected_data().F.rows() == 0 && selected_data().V.rows() == 0)) + if(!(data().F.rows() == 0 && data().V.rows() == 0)) { append_mesh(); } - selected_data().clear(); + data().clear(); size_t last_dot = mesh_file_name_string.rfind('.'); if (last_dot == std::string::npos) @@ -546,7 +546,7 @@ namespace glfw Eigen::MatrixXi F; if (!igl::readOFF(mesh_file_name_string, V, F)) return false; - selected_data().set_mesh(V,F); + data().set_mesh(V,F); } else if (extension == "obj" || extension =="OBJ") { @@ -566,8 +566,8 @@ namespace glfw return false; } - selected_data().set_mesh(V,F); - selected_data().set_uv(UV_V,UV_F); + data().set_mesh(V,F); + data().set_uv(UV_V,UV_F); } else @@ -577,16 +577,16 @@ namespace glfw return false; } - selected_data().compute_normals(); - selected_data().uniform_colors(Eigen::Vector3d(51.0/255.0,43.0/255.0,33.3/255.0), + data().compute_normals(); + data().uniform_colors(Eigen::Vector3d(51.0/255.0,43.0/255.0,33.3/255.0), Eigen::Vector3d(255.0/255.0,228.0/255.0,58.0/255.0), Eigen::Vector3d(255.0/255.0,235.0/255.0,80.0/255.0)); - if (selected_data().V_uv.rows() == 0) + if (data().V_uv.rows() == 0) { - selected_data().grid_texture(); + data().grid_texture(); } - core.align_camera_center(selected_data().V,selected_data().F); + core.align_camera_center(data().V,data().F); for (unsigned int i = 0; ipost_load()) @@ -615,7 +615,7 @@ namespace glfw if (extension == "off" || extension =="OFF") { return igl::writeOFF( - mesh_file_name_string,selected_data().V,selected_data().F); + mesh_file_name_string,data().V,data().F); } else if (extension == "obj" || extension =="OBJ") { @@ -626,8 +626,8 @@ namespace glfw Eigen::MatrixXi UV_F; return igl::writeOBJ(mesh_file_name_string, - selected_data().V, - selected_data().F, + data().V, + data().F, corner_normals, fNormIndices, UV_V, UV_F); } else @@ -664,20 +664,20 @@ namespace glfw case 'F': case 'f': { - selected_data().set_face_based(!selected_data().face_based); + data().set_face_based(!data().face_based); return true; } case 'I': case 'i': { - selected_data().dirty |= ViewerData::DIRTY_NORMAL; - selected_data().invert_normals = !selected_data().invert_normals; + data().dirty |= ViewerData::DIRTY_NORMAL; + data().invert_normals = !data().invert_normals; return true; } case 'L': case 'l': { - selected_data().show_lines = !selected_data().show_lines; + data().show_lines = !data().show_lines; return true; } case 'O': @@ -689,7 +689,7 @@ namespace glfw case 'T': case 't': { - selected_data().show_faces = !selected_data().show_faces; + data().show_faces = !data().show_faces; return true; } case 'Z': @@ -716,10 +716,10 @@ namespace glfw } #ifdef IGL_VIEWER_WITH_NANOGUI case ';': - selected_data().show_vertid = !selected_data().show_vertid; + data().show_vertid = !data().show_vertid; return true; case ':': - selected_data().show_faceid = !selected_data().show_faceid; + data().show_faceid = !data().show_faceid; return true; #endif default: break;//do nothing @@ -772,12 +772,12 @@ namespace glfw // Initialization code for the trackball Eigen::RowVector3d center; - if (selected_data().V.rows() == 0) + if (data().V.rows() == 0) { center << 0,0,0; }else { - center = selected_data().V.colwise().sum()/selected_data().V.rows(); + center = data().V.colwise().sum()/data().V.rows(); } Eigen::Vector3f coord = @@ -951,7 +951,7 @@ namespace glfw #ifdef ENABLE_SERIALIZATION igl::deserialize(core,"Core",fname.c_str()); #ifndef ENABLE_SERIALIZATION_CORE_ONLY - igl::deserialize(selected_data(),"Data",fname.c_str()); + igl::deserialize(data(),"Data",fname.c_str()); for(unsigned int i = 0; i plugin_name,fname.c_str()); @@ -972,7 +972,7 @@ namespace glfw igl::serialize(core,"Core",fname.c_str(),true); #ifndef ENABLE_SERIALIZATION_CORE_ONLY - igl::serialize(selected_data(),"Data",fname.c_str()); + igl::serialize(data(),"Data",fname.c_str()); for(unsigned int i = 0; i plugin_name,fname.c_str()); #endif @@ -1085,7 +1085,7 @@ namespace glfw this->save_mesh_to_file(fname.c_str()); } - IGL_INLINE ViewerData& Viewer::selected_data() + IGL_INLINE ViewerData& Viewer::data() { assert(!data_list.empty() && "data_list should never be empty"); assert( diff --git a/include/igl/opengl/glfw/Viewer.h b/include/igl/opengl/glfw/Viewer.h index 84e8c3d87..8d00b61b2 100644 --- a/include/igl/opengl/glfw/Viewer.h +++ b/include/igl/opengl/glfw/Viewer.h @@ -83,8 +83,8 @@ namespace glfw IGL_INLINE void snap_to_canonical_quaternion(); IGL_INLINE void open_dialog_load_mesh(); IGL_INLINE void open_dialog_save_mesh(); - IGL_INLINE ViewerData& selected_data(); - //IGL_INLINE const ViewerData& const_selected_data() const; + IGL_INLINE ViewerData& data(); + //IGL_INLINE const ViewerData& const_data() const; IGL_INLINE State& selected_opengl_state(); // Append a new "slot" for a mesh (i.e., create empty entires at the end of // the data_list and opengl_state_list. @@ -109,7 +109,7 @@ namespace glfw // // Erase all mesh slots except first and clear remaining mesh // viewer.selected_data_index = viewer.data_list.size()-1; // while(viewer.erase_mesh(viewer.selected_data_index)){}; - // viewer.selected_data().clear(); + // viewer.data().clear(); // IGL_INLINE bool erase_mesh(const size_t index); private: diff --git a/tutorial/102_DrawMesh/main.cpp b/tutorial/102_DrawMesh/main.cpp index c95c61a69..239fd1cef 100755 --- a/tutorial/102_DrawMesh/main.cpp +++ b/tutorial/102_DrawMesh/main.cpp @@ -12,6 +12,6 @@ int main(int argc, char *argv[]) // Plot the mesh igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.launch(); } diff --git a/tutorial/103_Events/main.cpp b/tutorial/103_Events/main.cpp index c4151f899..8ea2fee2a 100755 --- a/tutorial/103_Events/main.cpp +++ b/tutorial/103_Events/main.cpp @@ -13,17 +13,17 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier if (key == '1') { // Clear should be called before drawing the mesh - viewer.selected_data().clear(); + viewer.data().clear(); // Draw_mesh creates or updates the vertices and faces of the displayed mesh. // If a mesh is already displayed, draw_mesh returns an error if the given V and // F have size different than the current ones - viewer.selected_data().set_mesh(V1, F1); + viewer.data().set_mesh(V1, F1); viewer.core.align_camera_center(V1,F1); } else if (key == '2') { - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(V2, F2); + viewer.data().clear(); + viewer.data().set_mesh(V2, F2); viewer.core.align_camera_center(V2,F2); } @@ -45,6 +45,6 @@ int main(int argc, char *argv[]) // Register a keyboard callback that allows to switch between // the two loaded meshes viewer.callback_key_down = &key_down; - viewer.selected_data().set_mesh(V1, F1); + viewer.data().set_mesh(V1, F1); viewer.launch(); } diff --git a/tutorial/104_Colors/main.cpp b/tutorial/104_Colors/main.cpp index a158e9a00..c79d1e460 100755 --- a/tutorial/104_Colors/main.cpp +++ b/tutorial/104_Colors/main.cpp @@ -14,7 +14,7 @@ int main(int argc, char *argv[]) // Plot the mesh igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); // Use the z coordinate as a scalar field over the surface Eigen::VectorXd Z = V.col(2); @@ -23,7 +23,7 @@ int main(int argc, char *argv[]) igl::jet(Z,true,C); // Add per-vertex colors - viewer.selected_data().set_colors(C); + viewer.data().set_colors(C); // Launch the viewer viewer.launch(); diff --git a/tutorial/105_Overlays/main.cpp b/tutorial/105_Overlays/main.cpp index 294e9779a..a9f5293ef 100755 --- a/tutorial/105_Overlays/main.cpp +++ b/tutorial/105_Overlays/main.cpp @@ -45,14 +45,14 @@ int main(int argc, char *argv[]) // Plot the mesh igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); // Plot the corners of the bounding box as points - viewer.selected_data().add_points(V_box,Eigen::RowVector3d(1,0,0)); + viewer.data().add_points(V_box,Eigen::RowVector3d(1,0,0)); // Plot the edges of the bounding box for (unsigned i=0;ibool @@ -84,7 +84,7 @@ int main(int argc, char *argv[]) { Data & data = *static_cast(viewer.callback_key_down_data); static bool toggle = true; - viewer.selected_data().set_colors(toggle?data.C_const:data.C); + viewer.data().set_colors(toggle?data.C_const:data.C); toggle = !toggle; return true; }else diff --git a/tutorial/305_QuadraticProgramming/main.cpp b/tutorial/305_QuadraticProgramming/main.cpp index 93322b08a..3b142326d 100644 --- a/tutorial/305_QuadraticProgramming/main.cpp +++ b/tutorial/305_QuadraticProgramming/main.cpp @@ -23,7 +23,7 @@ void solve(igl::opengl::glfw::Viewer &viewer) // Pseudo-color based on solution Eigen::MatrixXd C; igl::jet(Z,0,1,C); - viewer.selected_data().set_colors(C); + viewer.data().set_colors(C); } bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mod) @@ -57,8 +57,8 @@ int main(int argc, char *argv[]) // Plot the mesh igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V, F); - viewer.selected_data().show_lines = false; + viewer.data().set_mesh(V, F); + viewer.data().show_lines = false; viewer.callback_key_down = &key_down; // One fixed point diff --git a/tutorial/306_EigenDecomposition/main.cpp b/tutorial/306_EigenDecomposition/main.cpp index 096dbdbc1..842d001d4 100644 --- a/tutorial/306_EigenDecomposition/main.cpp +++ b/tutorial/306_EigenDecomposition/main.cpp @@ -58,14 +58,14 @@ int main(int argc, char * argv[]) { V.col(2) = Z; } - viewer.selected_data().set_mesh(V,F); - viewer.selected_data().compute_normals(); - viewer.selected_data().set_colors(C); + viewer.data().set_mesh(V,F); + viewer.data().compute_normals(); + viewer.data().set_colors(C); return true; } } }; viewer.callback_key_down(viewer,' ',0); - viewer.selected_data().show_lines = false; + viewer.data().show_lines = false; viewer.launch(); } diff --git a/tutorial/401_BiharmonicDeformation/main.cpp b/tutorial/401_BiharmonicDeformation/main.cpp index 178be4fd5..34b25407d 100755 --- a/tutorial/401_BiharmonicDeformation/main.cpp +++ b/tutorial/401_BiharmonicDeformation/main.cpp @@ -36,8 +36,8 @@ bool pre_draw(igl::opengl::glfw::Viewer & viewer) { igl::harmonic(V,F,b,U_bc_anim,2.,U); } - viewer.selected_data().set_vertices(U); - viewer.selected_data().compute_normals(); + viewer.data().set_vertices(U); + viewer.data().compute_normals(); return false; } @@ -110,9 +110,9 @@ int main(int argc, char *argv[]) // Plot the mesh with pseudocolors igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(U, F); - viewer.selected_data().show_lines = false; - viewer.selected_data().set_colors(C); + viewer.data().set_mesh(U, F); + viewer.data().show_lines = false; + viewer.data().set_colors(C); viewer.core.trackball_angle = Eigen::Quaternionf(sqrt(2.0),0,sqrt(2.0),0); viewer.core.trackball_angle.normalize(); viewer.callback_pre_draw = &pre_draw; diff --git a/tutorial/402_PolyharmonicDeformation/main.cpp b/tutorial/402_PolyharmonicDeformation/main.cpp index 81d5200bb..c6bf11920 100755 --- a/tutorial/402_PolyharmonicDeformation/main.cpp +++ b/tutorial/402_PolyharmonicDeformation/main.cpp @@ -25,8 +25,8 @@ bool pre_draw(igl::opengl::glfw::Viewer & viewer) resolve = false; } U.col(2) = z_max*Z; - viewer.selected_data().set_vertices(U); - viewer.selected_data().compute_normals(); + viewer.data().set_vertices(U); + viewer.data().compute_normals(); if(viewer.core.is_animating) { z_max += z_dir; @@ -94,9 +94,9 @@ int main(int argc, char *argv[]) // Plot the mesh with pseudocolors igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(U, F); - viewer.selected_data().show_lines = false; - viewer.selected_data().set_colors(C); + viewer.data().set_mesh(U, F); + viewer.data().show_lines = false; + viewer.data().set_colors(C); viewer.core.trackball_angle = Eigen::Quaternionf(0.81,-0.58,-0.03,-0.03); viewer.core.trackball_angle.normalize(); viewer.callback_pre_draw = &pre_draw; diff --git a/tutorial/403_BoundedBiharmonicWeights/main.cpp b/tutorial/403_BoundedBiharmonicWeights/main.cpp index 46acd4134..8c5a1cb8a 100755 --- a/tutorial/403_BoundedBiharmonicWeights/main.cpp +++ b/tutorial/403_BoundedBiharmonicWeights/main.cpp @@ -76,9 +76,9 @@ bool pre_draw(igl::opengl::glfw::Viewer & viewer) MatrixXi BET; igl::deform_skeleton(C,BE,T,CT,BET); - viewer.selected_data().set_vertices(U); - viewer.selected_data().set_edges(CT,BET,sea_green); - viewer.selected_data().compute_normals(); + viewer.data().set_vertices(U); + viewer.data().set_edges(CT,BET,sea_green); + viewer.data().compute_normals(); anim_t += anim_t_dir; anim_t_dir *= (anim_t>=1.0 || anim_t<=0.0?-1.0:1.0); } @@ -89,7 +89,7 @@ void set_color(igl::opengl::glfw::Viewer &viewer) { Eigen::MatrixXd C; igl::jet(W.col(selected).eval(),true,C); - viewer.selected_data().set_colors(C); + viewer.data().set_colors(C); } bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mods) @@ -161,12 +161,12 @@ int main(int argc, char *argv[]) // Plot the mesh with pseudocolors igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(U, F); + viewer.data().set_mesh(U, F); set_color(viewer); - viewer.selected_data().set_edges(C,BE,sea_green); - viewer.selected_data().show_lines = false; - viewer.selected_data().show_overlay_depth = false; - viewer.selected_data().line_width = 1; + viewer.data().set_edges(C,BE,sea_green); + viewer.data().show_lines = false; + viewer.data().show_overlay_depth = false; + viewer.data().line_width = 1; viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; viewer.core.is_animating = false; diff --git a/tutorial/404_DualQuaternionSkinning/main.cpp b/tutorial/404_DualQuaternionSkinning/main.cpp index 5ff068a78..d9b401bff 100755 --- a/tutorial/404_DualQuaternionSkinning/main.cpp +++ b/tutorial/404_DualQuaternionSkinning/main.cpp @@ -77,9 +77,9 @@ bool pre_draw(igl::opengl::glfw::Viewer & viewer) MatrixXi BET; igl::deform_skeleton(C,BE,T,CT,BET); - viewer.selected_data().set_vertices(U); - viewer.selected_data().set_edges(CT,BET,sea_green); - viewer.selected_data().compute_normals(); + viewer.data().set_vertices(U); + viewer.data().set_edges(CT,BET,sea_green); + viewer.data().compute_normals(); if(viewer.core.is_animating) { anim_t += anim_t_dir; @@ -131,11 +131,11 @@ int main(int argc, char *argv[]) // Plot the mesh with pseudocolors igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(U, F); - viewer.selected_data().set_edges(C,BE,sea_green); - viewer.selected_data().show_lines = false; - viewer.selected_data().show_overlay_depth = false; - viewer.selected_data().line_width = 1; + viewer.data().set_mesh(U, F); + viewer.data().set_edges(C,BE,sea_green); + viewer.data().show_lines = false; + viewer.data().show_overlay_depth = false; + viewer.data().line_width = 1; viewer.core.trackball_angle.normalize(); viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; diff --git a/tutorial/405_AsRigidAsPossible/main.cpp b/tutorial/405_AsRigidAsPossible/main.cpp index d1d9b532f..efa66bd73 100755 --- a/tutorial/405_AsRigidAsPossible/main.cpp +++ b/tutorial/405_AsRigidAsPossible/main.cpp @@ -68,8 +68,8 @@ bool pre_draw(igl::opengl::glfw::Viewer & viewer) } } igl::arap_solve(bc,arap_data,U); - viewer.selected_data().set_vertices(U); - viewer.selected_data().compute_normals(); + viewer.data().set_vertices(U); + viewer.data().compute_normals(); if(viewer.core.is_animating) { anim_t += anim_t_dir; @@ -123,8 +123,8 @@ int main(int argc, char *argv[]) // Plot the mesh with pseudocolors igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(U, F); - viewer.selected_data().set_colors(C); + viewer.data().set_mesh(U, F); + viewer.data().set_colors(C); viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; viewer.core.is_animating = false; diff --git a/tutorial/406_FastAutomaticSkinningTransformations/main.cpp b/tutorial/406_FastAutomaticSkinningTransformations/main.cpp index 986699692..a09d78807 100755 --- a/tutorial/406_FastAutomaticSkinningTransformations/main.cpp +++ b/tutorial/406_FastAutomaticSkinningTransformations/main.cpp @@ -101,9 +101,9 @@ bool pre_draw(igl::opengl::glfw::Viewer & viewer) break; } } - viewer.selected_data().set_vertices(U); - viewer.selected_data().set_points(bc,sea_green); - viewer.selected_data().compute_normals(); + viewer.data().set_vertices(U); + viewer.data().set_points(bc,sea_green); + viewer.data().compute_normals(); if(viewer.core.is_animating) { anim_t += anim_t_dir; @@ -207,9 +207,9 @@ int main(int argc, char *argv[]) // Plot the mesh with pseudocolors igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(U, F); - viewer.selected_data().add_points(igl::slice(V,b,1),sea_green); - viewer.selected_data().show_lines = false; + viewer.data().set_mesh(U, F); + viewer.data().add_points(igl::slice(V,b,1),sea_green); + viewer.data().show_lines = false; viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; viewer.core.is_animating = false; diff --git a/tutorial/407_BiharmonicCoordinates/main.cpp b/tutorial/407_BiharmonicCoordinates/main.cpp index f802d07fc..0953efb68 100755 --- a/tutorial/407_BiharmonicCoordinates/main.cpp +++ b/tutorial/407_BiharmonicCoordinates/main.cpp @@ -106,12 +106,12 @@ int main(int argc, char * argv[]) igl::cat(1,low.U,high.U,scene.U); igl::cat(1,low.F,MatrixXi(high.F.array()+low.V.rows()),scene.F); // Color each mesh - viewer.selected_data().set_mesh(scene.U,scene.F); + viewer.data().set_mesh(scene.U,scene.F); MatrixXd C(scene.F.rows(),3); C<< RowVector3d(0.8,0.5,0.2).replicate(low.F.rows(),1), RowVector3d(0.3,0.4,1.0).replicate(high.F.rows(),1); - viewer.selected_data().set_colors(C); + viewer.data().set_colors(C); viewer.callback_key_pressed = [&](igl::opengl::glfw::Viewer & viewer,unsigned int key,int mods)->bool @@ -151,15 +151,15 @@ int main(int argc, char * argv[]) high.U = W * (low.U.rowwise() + RowVector3d(1,0,0)); scene.U.block(low.U.rows(),0,high.U.rows(),high.U.cols()) = high.U; - viewer.selected_data().set_vertices(scene.U); - viewer.selected_data().compute_normals(); + viewer.data().set_vertices(scene.U); + viewer.data().compute_normals(); } return false; }; - viewer.selected_data().show_lines = false; + viewer.data().show_lines = false; viewer.core.is_animating = true; viewer.core.animation_max_fps = 30.; - viewer.selected_data().set_face_based(true); + viewer.data().set_face_based(true); cout< 0.001) - viewer.selected_data().add_points(V.row(i),RowVector3d(0,1,0)); + viewer.data().add_points(V.row(i),RowVector3d(0,1,0)); } // Highlight in red the constrained faces MatrixXd C = MatrixXd::Constant(F.rows(),3,1); for (unsigned i=0; i'8') return false; - viewer.selected_data().clear(); - viewer.selected_data().show_lines = false; - viewer.selected_data().show_texture = false; + viewer.data().clear(); + viewer.data().show_lines = false; + viewer.data().show_texture = false; if (key == '1') { // Cross field - viewer.selected_data().set_mesh(V, F); - viewer.selected_data().add_edges(extend_arrows ? B - global_scale*X1 : B, B + global_scale*X1 ,Eigen::RowVector3d(1,0,0)); - viewer.selected_data().add_edges(extend_arrows ? B - global_scale*X2 : B, B + global_scale*X2 ,Eigen::RowVector3d(0,0,1)); + viewer.data().set_mesh(V, F); + viewer.data().add_edges(extend_arrows ? B - global_scale*X1 : B, B + global_scale*X1 ,Eigen::RowVector3d(1,0,0)); + viewer.data().add_edges(extend_arrows ? B - global_scale*X2 : B, B + global_scale*X2 ,Eigen::RowVector3d(0,0,1)); } if (key == '2') { // Bisector field - viewer.selected_data().set_mesh(V, F); - viewer.selected_data().add_edges(extend_arrows ? B - global_scale*BIS1 : B, B + global_scale*BIS1 ,Eigen::RowVector3d(1,0,0)); - viewer.selected_data().add_edges(extend_arrows ? B - global_scale*BIS2 : B, B + global_scale*BIS2 ,Eigen::RowVector3d(0,0,1)); + viewer.data().set_mesh(V, F); + viewer.data().add_edges(extend_arrows ? B - global_scale*BIS1 : B, B + global_scale*BIS1 ,Eigen::RowVector3d(1,0,0)); + viewer.data().add_edges(extend_arrows ? B - global_scale*BIS2 : B, B + global_scale*BIS2 ,Eigen::RowVector3d(0,0,1)); } if (key == '3') { // Bisector field combed - viewer.selected_data().set_mesh(V, F); - viewer.selected_data().add_edges(extend_arrows ? B - global_scale*BIS1_combed : B, B + global_scale*BIS1_combed ,Eigen::RowVector3d(1,0,0)); - viewer.selected_data().add_edges(extend_arrows ? B - global_scale*BIS2_combed : B, B + global_scale*BIS2_combed ,Eigen::RowVector3d(0,0,1)); + viewer.data().set_mesh(V, F); + viewer.data().add_edges(extend_arrows ? B - global_scale*BIS1_combed : B, B + global_scale*BIS1_combed ,Eigen::RowVector3d(1,0,0)); + viewer.data().add_edges(extend_arrows ? B - global_scale*BIS2_combed : B, B + global_scale*BIS2_combed ,Eigen::RowVector3d(0,0,1)); } if (key == '4') { // Singularities and cuts - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); // Plot cuts int l_count = Seams.sum(); @@ -141,15 +141,15 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier } } - viewer.selected_data().add_edges(P1, P2, Eigen::RowVector3d(1, 0, 0)); + viewer.data().add_edges(P1, P2, Eigen::RowVector3d(1, 0, 0)); // Plot the singularities as colored dots (red for negative, blue for positive) for (unsigned i=0; i 0) - viewer.selected_data().add_points(V.row(i),Eigen::RowVector3d(1,0,0)); + viewer.data().add_points(V.row(i),Eigen::RowVector3d(1,0,0)); else if (singularityIndex(i) > 2) - viewer.selected_data().add_points(V.row(i),Eigen::RowVector3d(0,1,0)); + viewer.data().add_points(V.row(i),Eigen::RowVector3d(0,1,0)); } } @@ -158,9 +158,9 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier { // Singularities and cuts, original field // Singularities and cuts - viewer.selected_data().set_mesh(V, F); - viewer.selected_data().add_edges(extend_arrows ? B - global_scale*X1_combed : B, B + global_scale*X1_combed ,Eigen::RowVector3d(1,0,0)); - viewer.selected_data().add_edges(extend_arrows ? B - global_scale*X2_combed : B, B + global_scale*X2_combed ,Eigen::RowVector3d(0,0,1)); + viewer.data().set_mesh(V, F); + viewer.data().add_edges(extend_arrows ? B - global_scale*X1_combed : B, B + global_scale*X1_combed ,Eigen::RowVector3d(1,0,0)); + viewer.data().add_edges(extend_arrows ? B - global_scale*X2_combed : B, B + global_scale*X2_combed ,Eigen::RowVector3d(0,0,1)); // Plot cuts int l_count = Seams.sum(); @@ -180,50 +180,50 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier } } - viewer.selected_data().add_edges(P1, P2, Eigen::RowVector3d(1, 0, 0)); + viewer.data().add_edges(P1, P2, Eigen::RowVector3d(1, 0, 0)); // Plot the singularities as colored dots (red for negative, blue for positive) for (unsigned i=0; i 0) - viewer.selected_data().add_points(V.row(i),Eigen::RowVector3d(1,0,0)); + viewer.data().add_points(V.row(i),Eigen::RowVector3d(1,0,0)); else if (singularityIndex(i) > 2) - viewer.selected_data().add_points(V.row(i),Eigen::RowVector3d(0,1,0)); + viewer.data().add_points(V.row(i),Eigen::RowVector3d(0,1,0)); } } if (key == '6') { // Global parametrization UV - viewer.selected_data().set_mesh(UV, FUV); - viewer.selected_data().set_uv(UV); - viewer.selected_data().show_lines = true; + viewer.data().set_mesh(UV, FUV); + viewer.data().set_uv(UV); + viewer.data().show_lines = true; } if (key == '7') { // Global parametrization in 3D - viewer.selected_data().set_mesh(V, F); - viewer.selected_data().set_uv(UV,FUV); - viewer.selected_data().show_texture = true; + viewer.data().set_mesh(V, F); + viewer.data().set_uv(UV,FUV); + viewer.data().show_texture = true; } if (key == '8') { // Global parametrization in 3D with seams - viewer.selected_data().set_mesh(V, F); - viewer.selected_data().set_uv(UV_seams,FUV_seams); - viewer.selected_data().show_texture = true; + viewer.data().set_mesh(V, F); + viewer.data().set_uv(UV_seams,FUV_seams); + viewer.data().show_texture = true; } - viewer.selected_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 Eigen::Matrix texture_R, texture_G, texture_B; line_texture(texture_R, texture_G, texture_B); - viewer.selected_data().set_texture(texture_R, texture_B, texture_G); + viewer.data().set_texture(texture_R, texture_B, texture_G); - viewer.core.align_camera_center(viewer.selected_data().V,viewer.selected_data().F); + viewer.core.align_camera_center(viewer.data().V,viewer.data().F); return false; } diff --git a/tutorial/506_FrameField/main.cpp b/tutorial/506_FrameField/main.cpp index ccd44350b..92e777a25 100755 --- a/tutorial/506_FrameField/main.cpp +++ b/tutorial/506_FrameField/main.cpp @@ -76,14 +76,14 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier if (key <'1' || key >'6') return false; - viewer.selected_data().clear(); - viewer.selected_data().show_lines = false; - viewer.selected_data().show_texture = false; + viewer.data().clear(); + viewer.data().show_lines = false; + viewer.data().show_texture = false; if (key == '1') { // Frame field constraints - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); MatrixXd F1_t = MatrixXd::Zero(FF1.rows(),FF1.cols()); MatrixXd F2_t = MatrixXd::Zero(FF2.rows(),FF2.cols()); @@ -96,7 +96,7 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier F2_t.row(b(i)) = bc2.row(i); } - viewer.selected_data().set_colors(C); + viewer.data().set_colors(C); MatrixXd C1,C2; VectorXd K1 = F1_t.rowwise().norm(); @@ -104,72 +104,72 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier igl::jet(K1,true,C1); igl::jet(K2,true,C2); - viewer.selected_data().add_edges(B - global_scale*F1_t, B + global_scale*F1_t ,C1); - viewer.selected_data().add_edges(B - global_scale*F2_t, B + global_scale*F2_t ,C2); + viewer.data().add_edges(B - global_scale*F1_t, B + global_scale*F1_t ,C1); + viewer.data().add_edges(B - global_scale*F2_t, B + global_scale*F2_t ,C2); } if (key == '2') { // Frame field - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); MatrixXd C1,C2; VectorXd K1 = FF1.rowwise().norm(); VectorXd K2 = FF2.rowwise().norm(); igl::jet(K1,true,C1); igl::jet(K2,true,C2); - viewer.selected_data().add_edges(B - global_scale*FF1, B + global_scale*FF1 ,C1); - viewer.selected_data().add_edges(B - global_scale*FF2, B + global_scale*FF2 ,C2); + viewer.data().add_edges(B - global_scale*FF1, B + global_scale*FF1 ,C1); + viewer.data().add_edges(B - global_scale*FF2, B + global_scale*FF2 ,C2); // Highlight in red the constrained faces MatrixXd C = MatrixXd::Constant(F.rows(),3,1); for (unsigned i=0; i texture_R, texture_G, texture_B; line_texture(texture_R, texture_G, texture_B); - viewer.selected_data().set_texture(texture_R, texture_B, texture_G); - viewer.core.align_camera_center(viewer.selected_data().V,viewer.selected_data().F); + viewer.data().set_texture(texture_R, texture_B, texture_G); + viewer.core.align_camera_center(viewer.data().V,viewer.data().F); return false; } diff --git a/tutorial/507_PolyVectorField/main.cpp b/tutorial/507_PolyVectorField/main.cpp index f0d7a9314..5d2784f2f 100755 --- a/tutorial/507_PolyVectorField/main.cpp +++ b/tutorial/507_PolyVectorField/main.cpp @@ -78,7 +78,7 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier if (key <'1' || key >'8') return false; - viewer.selected_data().lines.resize(0,9); + viewer.data().lines.resize(0,9); int num = key - '0'; @@ -103,7 +103,7 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier MatrixXd C = MatrixXd::Constant(F.rows(),3,1); for (unsigned i=0; i'5') return false; - viewer.selected_data().lines.resize(0,9); + viewer.data().lines.resize(0,9); // Highlight in red the constrained faces MatrixXd C = MatrixXd::Constant(F.rows(),3,1); for (unsigned i=0; i0) color.row(i)<<0.7,0.7,0.7; // Eigen::RowVector3d color; color<<0.5,0.5,0.5; - viewer.selected_data().add_edges(Bc - global_scale*bc.block(0,n*3,bc.rows(),3), Bc + global_scale*bc.block(0,n*3,bc.rows(),3) , color); + viewer.data().add_edges(Bc - global_scale*bc.block(0,n*3,bc.rows(),3), Bc + global_scale*bc.block(0,n*3,bc.rows(),3) , color); } } @@ -316,22 +316,22 @@ void update_display(igl::opengl::glfw::Viewer& viewer) using namespace std; using namespace Eigen; - viewer.selected_data().clear(); - viewer.selected_data().lines.resize(0,9); - viewer.selected_data().points.resize(0,6); - viewer.selected_data().show_texture = false; + viewer.data().clear(); + viewer.data().lines.resize(0,9); + viewer.data().points.resize(0,6); + viewer.data().show_texture = false; if (display_mode == 1) { cerr<< "Displaying original field, its singularities and its cuts" <'9') return false; - viewer.selected_data().lines.resize(0,9); + viewer.data().lines.resize(0,9); int num = key - '0'; @@ -129,7 +129,7 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier MatrixXd C = MatrixXd::Constant(F.rows(),3,1); for (unsigned i=0; i(AO(i)+0.2,1); - viewer.selected_data().set_colors(C); + viewer.data().set_colors(C); break; } case '.': @@ -70,10 +70,10 @@ int main(int argc, char *argv[]) // Show mesh igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.callback_key_down = &key_down; key_down(viewer,'2',0); - viewer.selected_data().show_lines = false; + viewer.data().show_lines = false; viewer.core.lighting_factor = 0.0f; viewer.launch(); } diff --git a/tutorial/607_ScreenCapture/main.cpp b/tutorial/607_ScreenCapture/main.cpp index 85cf2ea6c..857fcf148 100755 --- a/tutorial/607_ScreenCapture/main.cpp +++ b/tutorial/607_ScreenCapture/main.cpp @@ -18,7 +18,7 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier // Draw the scene in the buffers viewer.core.draw_buffer( - viewer.selected_data(),viewer.selected_opengl_state(),false,R,G,B,A); + viewer.data(),viewer.selected_opengl_state(),false,R,G,B,A); // Save it to a PNG igl::png::writePNG(R,G,B,A,"out.png"); @@ -50,14 +50,14 @@ bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier 1,1, 0,1; - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(V,F); - viewer.selected_data().set_uv(UV); + viewer.data().clear(); + viewer.data().set_mesh(V,F); + viewer.data().set_uv(UV); viewer.core.align_camera_center(V); - viewer.selected_data().show_texture = true; + viewer.data().show_texture = true; // Use the image as a texture - viewer.selected_data().set_texture(R,G,B); + viewer.data().set_texture(R,G,B); } @@ -78,6 +78,6 @@ int main(int argc, char *argv[]) // Plot the mesh and register the callback igl::opengl::glfw::Viewer viewer; viewer.callback_key_down = &key_down; - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.launch(); } diff --git a/tutorial/608_LIM/main.cpp b/tutorial/608_LIM/main.cpp index 694ca5213..15fb0158f 100644 --- a/tutorial/608_LIM/main.cpp +++ b/tutorial/608_LIM/main.cpp @@ -50,7 +50,7 @@ bool key_down(igl::opengl::glfw::Viewer& viewer,unsigned char key,int modifier) } // set mesh - viewer.selected_data().set_vertices(V1); + viewer.data().set_vertices(V1); return true; } @@ -108,8 +108,8 @@ int main(int argc, char *argv[]) // Show mesh igl::opengl::glfw::Viewer viewer; viewer.callback_key_down = &key_down; - viewer.selected_data().set_mesh(V1, F); - viewer.selected_data().show_lines = true; + viewer.data().set_mesh(V1, F); + viewer.data().show_lines = true; viewer.core.lighting_factor = 0.0f; viewer.launch(); } diff --git a/tutorial/609_Boolean/main.cpp b/tutorial/609_Boolean/main.cpp index 6f759ab9e..ef849de67 100755 --- a/tutorial/609_Boolean/main.cpp +++ b/tutorial/609_Boolean/main.cpp @@ -37,9 +37,9 @@ void update(igl::opengl::glfw::Viewer &viewer) C.row(f) = Eigen::RowVector3d(0,1,0); } } - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(VC,FC); - viewer.selected_data().set_colors(C); + viewer.data().clear(); + viewer.data().set_mesh(VC,FC); + viewer.data().set_colors(C); std::cout<<"A "<(),M.F()); + viewer.data().set_mesh(M.cast_V(),M.F()); I.resize(M.F().rows(),1); // Compute colors based on original facets for(int f = 0;f(cost,e)).first; } num_collapsed = 0; - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(V,F); - viewer.selected_data().set_face_based(true); + viewer.data().clear(); + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); }; const auto &pre_draw = [&](igl::opengl::glfw::Viewer & viewer)->bool @@ -86,9 +86,9 @@ int main(int argc, char * argv[]) if(something_collapsed) { - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(V,F); - viewer.selected_data().set_face_based(true); + viewer.data().clear(); + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); } } return false; diff --git a/tutorial/704_SignedDistance/main.cpp b/tutorial/704_SignedDistance/main.cpp index 04931ef7f..37e00b3dc 100755 --- a/tutorial/704_SignedDistance/main.cpp +++ b/tutorial/704_SignedDistance/main.cpp @@ -101,9 +101,9 @@ void update_visualization(igl::opengl::glfw::Viewer & viewer) { append_mesh(V,F,RowVector3d(0.8,0.8,0.8)); } - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(V_vis,F_vis); - viewer.selected_data().set_colors(C_vis); + viewer.data().clear(); + viewer.data().set_mesh(V_vis,F_vis); + viewer.data().set_colors(C_vis); viewer.core.lighting_factor = overlay; } @@ -164,6 +164,6 @@ int main(int argc, char *argv[]) igl::opengl::glfw::Viewer viewer; update_visualization(viewer); viewer.callback_key_down = &key_down; - viewer.selected_data().show_lines = false; + viewer.data().show_lines = false; viewer.launch(); } diff --git a/tutorial/705_MarchingCubes/main.cpp b/tutorial/705_MarchingCubes/main.cpp index 29d108bbe..e9f85c817 100755 --- a/tutorial/705_MarchingCubes/main.cpp +++ b/tutorial/705_MarchingCubes/main.cpp @@ -64,7 +64,7 @@ int main(int argc, char * argv[]) '3' Show marching cubes contour of indicator function. )"; igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(SV,SF); + viewer.data().set_mesh(SV,SF); viewer.callback_key_down = [&](igl::opengl::glfw::Viewer & viewer, unsigned char key, int mod)->bool { @@ -73,19 +73,19 @@ int main(int argc, char * argv[]) default: return false; case '1': - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(V,F); + viewer.data().clear(); + viewer.data().set_mesh(V,F); break; case '2': - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(SV,SF); + viewer.data().clear(); + viewer.data().set_mesh(SV,SF); break; case '3': - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(BV,BF); + viewer.data().clear(); + viewer.data().set_mesh(BV,BF); break; } - viewer.selected_data().set_face_based(true); + viewer.data().set_face_based(true); return true; }; viewer.launch(); diff --git a/tutorial/706_FacetOrientation/main.cpp b/tutorial/706_FacetOrientation/main.cpp index bb11c610e..f1ddb29fd 100755 --- a/tutorial/706_FacetOrientation/main.cpp +++ b/tutorial/706_FacetOrientation/main.cpp @@ -44,7 +44,7 @@ S,s Scramble colors HSV.rightCols(2).setConstant(1.0); igl::hsv_to_rgb(HSV,RGBcolors[pass]); } - viewer.selected_data().set_colors(RGBcolors[facetwise]); + viewer.data().set_colors(RGBcolors[facetwise]); }; viewer.callback_key_pressed = @@ -73,9 +73,9 @@ S,s Scramble colors break; } } - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(V,is_showing_reoriented?FF[facetwise]:F); - viewer.selected_data().set_colors(RGBcolors[facetwise]); + viewer.data().clear(); + viewer.data().set_mesh(V,is_showing_reoriented?FF[facetwise]:F); + viewer.data().set_colors(RGBcolors[facetwise]); return true; }; @@ -100,8 +100,8 @@ S,s Scramble colors } } - viewer.selected_data().set_mesh(V,is_showing_reoriented?FF[facetwise]:F); - viewer.selected_data().set_face_based(true); + viewer.data().set_mesh(V,is_showing_reoriented?FF[facetwise]:F); + viewer.data().set_face_based(true); scramble_colors(); viewer.launch(); } diff --git a/tutorial/707_SweptVolume/main.cpp b/tutorial/707_SweptVolume/main.cpp index e1e740f0d..ab1f5c749 100755 --- a/tutorial/707_SweptVolume/main.cpp +++ b/tutorial/707_SweptVolume/main.cpp @@ -31,8 +31,8 @@ int main(int argc, char * argv[]) [space] Toggle between transforming original mesh and swept volume )"; igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V,F); - viewer.selected_data().set_face_based(true); + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); viewer.core.is_animating = !show_swept_volume; const int grid_size = 50; const int time_steps = 200; @@ -51,8 +51,8 @@ int main(int argc, char * argv[]) VT = V*T.matrix().block(0,0,3,3).transpose(); Eigen::RowVector3d trans = T.matrix().block(0,3,3,1).transpose(); VT = ( VT.rowwise() + trans).eval(); - viewer.selected_data().set_vertices(VT); - viewer.selected_data().compute_normals(); + viewer.data().set_vertices(VT); + viewer.data().compute_normals(); } return false; }; @@ -65,21 +65,21 @@ int main(int argc, char * argv[]) return false; case ' ': show_swept_volume = !show_swept_volume; - viewer.selected_data().clear(); + viewer.data().clear(); if(show_swept_volume) { - viewer.selected_data().set_mesh(SV,SF); + viewer.data().set_mesh(SV,SF); Eigen::Vector3d ambient = Eigen::Vector3d(SILVER_AMBIENT[0], SILVER_AMBIENT[1], SILVER_AMBIENT[2]); Eigen::Vector3d diffuse = Eigen::Vector3d(SILVER_DIFFUSE[0], SILVER_DIFFUSE[1], SILVER_DIFFUSE[2]); Eigen::Vector3d specular = Eigen::Vector3d(SILVER_SPECULAR[0], SILVER_SPECULAR[1], SILVER_SPECULAR[2]); - viewer.selected_data().uniform_colors(ambient,diffuse,specular); + viewer.data().uniform_colors(ambient,diffuse,specular); } else { - viewer.selected_data().set_mesh(V,F); + viewer.data().set_mesh(V,F); } viewer.core.is_animating = !show_swept_volume; - viewer.selected_data().set_face_based(true); + viewer.data().set_face_based(true); break; } return true; diff --git a/tutorial/708_Picking/main.cpp b/tutorial/708_Picking/main.cpp index 5198e29d3..b8c1b627c 100755 --- a/tutorial/708_Picking/main.cpp +++ b/tutorial/708_Picking/main.cpp @@ -29,7 +29,7 @@ int main(int argc, char *argv[]) { // paint hit red C.row(fid)<<1,0,0; - viewer.selected_data().set_colors(C); + viewer.data().set_colors(C); return true; } return false; @@ -39,8 +39,8 @@ int main(int argc, char *argv[]) )"; // Show mesh - viewer.selected_data().set_mesh(V, F); - viewer.selected_data().set_colors(C); - viewer.selected_data().show_lines = false; + viewer.data().set_mesh(V, F); + viewer.data().set_colors(C); + viewer.data().show_lines = false; viewer.launch(); } diff --git a/tutorial/709_VectorFieldVisualizer/main.cpp b/tutorial/709_VectorFieldVisualizer/main.cpp index 440e018d1..76023f697 100644 --- a/tutorial/709_VectorFieldVisualizer/main.cpp +++ b/tutorial/709_VectorFieldVisualizer/main.cpp @@ -81,7 +81,7 @@ bool pre_draw(igl::opengl::glfw::Viewer &viewer) value = value / 0.5; igl::parula(value, color[0], color[1], color[2]); - viewer.selected_data().add_edges(sl_state.start_point, sl_state.end_point, color); + viewer.data().add_edges(sl_state.start_point, sl_state.end_point, color); anim_t += anim_t_dir; @@ -129,19 +129,19 @@ int main(int argc, char *argv[]) // Viewer Settings igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; - viewer.selected_data().show_lines = false; + viewer.data().show_lines = false; viewer.core.is_animating = false; viewer.core.animation_max_fps = 30.; // Paint mesh grayish Eigen::MatrixXd C; - C.setConstant(viewer.selected_data().V.rows(), 3, .9); - viewer.selected_data().set_colors(C); + C.setConstant(viewer.data().V.rows(), 3, .9); + viewer.data().set_colors(C); // Draw vector field on sample points @@ -151,7 +151,7 @@ int main(int argc, char *argv[]) Eigen::MatrixXd v = sl_state0.end_point - sl_state0.start_point; v.rowwise().normalize(); - viewer.selected_data().add_edges(sl_state0.start_point, + viewer.data().add_edges(sl_state0.start_point, sl_state0.start_point + 0.059 * v, Eigen::RowVector3d::Constant(1.0f)); diff --git a/tutorial/710_SLIM/main.cpp b/tutorial/710_SLIM/main.cpp index fac853393..2f711d322 100644 --- a/tutorial/710_SLIM/main.cpp +++ b/tutorial/710_SLIM/main.cpp @@ -100,16 +100,16 @@ void param_2d_demo_iter(igl::opengl::glfw::Viewer& viewer) { slim_precompute(V,F,uv_init,sData, igl::SLIMData::SYMMETRIC_DIRICHLET, b,bc,0); uv_scale_param = 15 * (1./sqrt(sData.mesh_area)); - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.core.align_camera_center(V,F); - viewer.selected_data().set_uv(sData.V_o*uv_scale_param); - viewer.selected_data().compute_normals(); - viewer.selected_data().show_texture = true; + viewer.data().set_uv(sData.V_o*uv_scale_param); + viewer.data().compute_normals(); + viewer.data().show_texture = true; first_iter = false; } else { slim_solve(sData,1); // 1 iter - viewer.selected_data().set_uv(sData.V_o*uv_scale_param); + viewer.data().set_uv(sData.V_o*uv_scale_param); cout << "time = " << timer.getElapsedTime() << endl; } } @@ -128,16 +128,16 @@ void soft_const_demo_iter(igl::opengl::glfw::Viewer& viewer) { double soft_const_p = 1e5; slim_precompute(V,F,V_0,sData,igl::SLIMData::SYMMETRIC_DIRICHLET,b,bc,soft_const_p); - viewer.selected_data().set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.core.align_camera_center(V,F); - viewer.selected_data().compute_normals(); - viewer.selected_data().show_lines = true; + viewer.data().compute_normals(); + viewer.data().show_lines = true; first_iter = false; } else { slim_solve(sData,1); // 1 iter - viewer.selected_data().set_mesh(sData.V_o, F); + viewer.data().set_mesh(sData.V_o, F); } } @@ -195,10 +195,10 @@ void display_3d_mesh(igl::opengl::glfw::Viewer& viewer) { F_temp.row(i*4+2) << (i*4)+3, (i*4)+2, (i*4)+0; F_temp.row(i*4+3) << (i*4)+1, (i*4)+2, (i*4)+3; } - viewer.selected_data().set_mesh(V_temp,F_temp); + viewer.data().set_mesh(V_temp,F_temp); viewer.core.align_camera_center(V_temp,F_temp); - viewer.selected_data().set_face_based(true); - viewer.selected_data().show_lines = true; + viewer.data().set_face_based(true); + viewer.data().show_lines = true; } int main(int argc, char *argv[]) { @@ -236,10 +236,10 @@ int main(int argc, char *argv[]) { viewer.callback_key_down = &key_down; // Disable wireframe - viewer.selected_data().show_lines = false; + viewer.data().show_lines = false; // Draw checkerboard texture - viewer.selected_data().show_texture = false; + viewer.data().show_texture = false; // First iteration key_down(viewer, ' ', 0); diff --git a/tutorial/711_Subdivision/main.cpp b/tutorial/711_Subdivision/main.cpp index 67e63903d..d11c5919e 100755 --- a/tutorial/711_Subdivision/main.cpp +++ b/tutorial/711_Subdivision/main.cpp @@ -26,8 +26,8 @@ int main(int argc, char * argv[]) 4 Apply False barycentric subdivision )"; igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V,F); - viewer.selected_data().set_face_based(true); + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); viewer.callback_key_down = [&](igl::opengl::glfw::Viewer & viewer, unsigned char key, int mod)->bool @@ -59,9 +59,9 @@ int main(int argc, char * argv[]) break; } } - viewer.selected_data().clear(); - viewer.selected_data().set_mesh(V,F); - viewer.selected_data().set_face_based(true); + viewer.data().clear(); + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); return true; }; viewer.launch(); diff --git a/tutorial/712_DataSmoothing/main.cpp b/tutorial/712_DataSmoothing/main.cpp index 5b6afb46e..8cb7fad2a 100755 --- a/tutorial/712_DataSmoothing/main.cpp +++ b/tutorial/712_DataSmoothing/main.cpp @@ -65,8 +65,8 @@ int main(int argc, char * argv[]) //Viewer that shows all functions: zexact, znoisy, zl, zh igl::opengl::glfw::Viewer viewer; - viewer.selected_data().set_mesh(V,F); - viewer.selected_data().show_lines = false; + viewer.data().set_mesh(V,F); + viewer.data().show_lines = false; viewer.callback_key_down = [&](igl::opengl::glfw::Viewer & viewer, unsigned char key, int mod)->bool { @@ -92,10 +92,10 @@ int main(int argc, char * argv[]) Eigen::MatrixXi isoE; if(key!='2') igl::isolines(V, F, *z, 30, isoV, isoE); - viewer.selected_data().set_edges(isoV,isoE,Eigen::RowVector3d(0,0,0)); + viewer.data().set_edges(isoV,isoE,Eigen::RowVector3d(0,0,0)); Eigen::MatrixXd colors; igl::jet(*z, true, colors); - viewer.selected_data().set_colors(colors); + viewer.data().set_colors(colors); return true; }; std::cout << R"(Usage: diff --git a/tutorial/tutorial.html.REMOVED.git-id b/tutorial/tutorial.html.REMOVED.git-id index 92695edb8..bff6993dd 100644 --- a/tutorial/tutorial.html.REMOVED.git-id +++ b/tutorial/tutorial.html.REMOVED.git-id @@ -1 +1 @@ -c26ca8ea10bc25883e467ea7d6167c558a81ec61 \ No newline at end of file +1dcb725e3bc41af89154fbadfd4b1d57e254c3a2 \ No newline at end of file diff --git a/tutorial/tutorial.md.REMOVED.git-id b/tutorial/tutorial.md.REMOVED.git-id index 27ab7df2c..cfd7c2f22 100644 --- a/tutorial/tutorial.md.REMOVED.git-id +++ b/tutorial/tutorial.md.REMOVED.git-id @@ -1 +1 @@ -d9d6fe9a1512af6dd8ce6ed08c3d13ac32808fca \ No newline at end of file +96b0c1c12294ce44a5b90bad2868b33da79766a2 \ No newline at end of file