diff --git a/Documentation/DeveloperHelpSources/changelog.docu b/Documentation/DeveloperHelpSources/changelog.docu index 79aa423f5e2d905c17f4690bca0a5879c9d6ef44..62df55ce323bdbf39c18b64c81aae34d28214cbb 100644 --- a/Documentation/DeveloperHelpSources/changelog.docu +++ b/Documentation/DeveloperHelpSources/changelog.docu @@ -10,6 +10,7 @@ - Removed a lot of unnecessary large QT includes from the Interfaces (Mostly QtWidgets). You have to add your own include statements in your plugins now. - Removed WhatsThisGenerator include from BaseInterface. You have to include it in the plugins now if you use it. - Removed the classical ObjectTypes CMake search. Please use the nex style ( Type-/ObjectTypes/ + Type-/Plugin-Type ) scheme + - Removed GlutExaminer and GlutViewer from ACG library - Core - Introduced basic Python scripting support - Use QOpenGLDebuglogger diff --git a/libs_required/ACG/CMakeLists.txt b/libs_required/ACG/CMakeLists.txt index 86b86457982f6805c4825c769ef60026dd3a3caa..9f7a1b268e70c48ec57c1c16335868fafa0f8d79 100755 --- a/libs_required/ACG/CMakeLists.txt +++ b/libs_required/ACG/CMakeLists.txt @@ -81,7 +81,6 @@ set (directories Geometry/Types Geometry/bsp GL - Glut IO Math QtWidgets diff --git a/libs_required/ACG/Scenegraph/ManipulatorNode.cc b/libs_required/ACG/Scenegraph/ManipulatorNode.cc index ca3ab85361d6bad7ea294db9dd01d0de6b639ad8..0ec59c759cab59669089f3d160d549dd49b84210 100644 --- a/libs_required/ACG/Scenegraph/ManipulatorNode.cc +++ b/libs_required/ACG/Scenegraph/ManipulatorNode.cc @@ -56,7 +56,6 @@ #include "ManipulatorNode.hh" - //== NAMESPACES =============================================================== @@ -216,19 +215,21 @@ ManipulatorNode::draw(GLState& _state, const DrawModes::DrawMode& /* _drawMode * // BIG wireframe sphere - if( sphere_clicked_) + if( sphere_clicked_ ) { _state.set_diffuse_color(select_color * 0.6f); _state.set_specular_color(select_color * 0.0f); if(_state.compatibilityProfile()) { ACG::GLState::shadeModel(GL_SMOOTH); - + GLint previous[2]; + glGetIntegerv(GL_POLYGON_MODE,previous); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); _state.scale(cylinder_height_+4*cylinder_radius_,cylinder_height_+4*cylinder_radius_,cylinder_height_+4*cylinder_radius_); ACG::GLSphere sphere(20, 20); sphere.draw_primitive(); - std::cerr << "Untested code path after replacement of glutWireSphere! Please report glutWireSphere:232 if that path works" << std::endl; - //glutWireSphere(cylinder_height_+4*cylinder_radius_, 20, 20); + glPolygonMode(GL_FRONT,previous[0]); + glPolygonMode(GL_BACK,previous[1]); } } @@ -256,13 +257,9 @@ ManipulatorNode::draw(GLState& _state, const DrawModes::DrawMode& /* _drawMode * if(_state.compatibilityProfile()) { ACG::GLState::shadeModel(GL_SMOOTH); - _state.scale(2*cylinder_radius_,2*cylinder_radius_,2*cylinder_radius_); ACG::GLSphere sphere(20, 20); sphere.draw_primitive(); - std::cerr << "Untested code path after replacement of glutWireSphere! Please report glutWireSphere:263 if that path works" << std::endl; - // glutSolidSphere(2*cylinder_radius_, 20, 20); - } _state.pop_modelview_matrix(); @@ -557,38 +554,32 @@ ManipulatorNode::mapToCylinder(GLState& _state, void ManipulatorNode::pick(GLState& _state, PickTarget _target) { - if (_target == PICK_FACE || _target == PICK_ANYTHING) { - if (draw_cylinder_) { - - _state.pick_set_maximum(2); - - // cylinder - _state.push_modelview_matrix(); - setup_cylinder_system(_state); - _state.pick_set_name(0); - cylinder_->setBottomRadius(cylinder_radius_); - cylinder_->setTopRadius(cylinder_radius_); - cylinder_->draw(_state, cylinder_height_); - _state.pop_modelview_matrix(); - - // sphere - _state.push_modelview_matrix(); - setup_sphere_system(_state); - _state.pick_set_name(1); - - if(_state.compatibilityProfile()) { - ACG::GLState::shadeModel(GL_SMOOTH); - + if (_target == PICK_FACE || _target == PICK_ANYTHING) { + if (draw_cylinder_) { + + _state.pick_set_maximum(2); + + // cylinder + _state.push_modelview_matrix(); + setup_cylinder_system(_state); + _state.pick_set_name(0); + cylinder_->setBottomRadius(cylinder_radius_); + cylinder_->setTopRadius(cylinder_radius_); + cylinder_->draw(_state, cylinder_height_); + _state.pop_modelview_matrix(); + + // sphere + _state.push_modelview_matrix(); + setup_sphere_system(_state); + _state.pick_set_name(1); + if(_state.compatibilityProfile()) { _state.scale(2*cylinder_radius_,2*cylinder_radius_,2*cylinder_radius_); ACG::GLSphere sphere(20, 20); sphere.draw_primitive(); - std::cerr << "Untested code path after replacement of glutWireSphere! Please report glutWireSphere:585 if that path works" << std::endl; - //glutSolidSphere(2* cylinder_radius_ , 20, 20); - - } - _state.pop_modelview_matrix(); - } - } + } + _state.pop_modelview_matrix(); + } + } } @@ -601,10 +592,8 @@ ManipulatorNode::set_direction(Vec3d& _v) direction_ = inverse_rotation().transform_vector(_v.normalize()); } - //---------------------------------------------------------------------------- - Vec3d ManipulatorNode::direction() const { diff --git a/libs_required/ACG/Scenegraph/ManipulatorNode.hh b/libs_required/ACG/Scenegraph/ManipulatorNode.hh index 46ccdcade2790379291a171ffa0937758d11398d..13f10a1c57f87b4783b8c6aad6173c29e562ce86 100644 --- a/libs_required/ACG/Scenegraph/ManipulatorNode.hh +++ b/libs_required/ACG/Scenegraph/ManipulatorNode.hh @@ -60,12 +60,13 @@ // GMU #include "BaseNode.hh" #include "TransformNode.hh" +#include // Qt #include #include -#include + //== NAMESPACES =============================================================== diff --git a/libs_required/ACG/Scenegraph/TrackballNode.cc b/libs_required/ACG/Scenegraph/TrackballNode.cc index c68e18aacb26f5a52103db97c4a3a7d7851946cd..01a8b087871c04e00feaa2566369488bd8bc2450 100644 --- a/libs_required/ACG/Scenegraph/TrackballNode.cc +++ b/libs_required/ACG/Scenegraph/TrackballNode.cc @@ -71,24 +71,22 @@ namespace SceneGraph { void TrackballNode::draw(GLState& /* _state */ , const DrawModes::DrawMode& /* _drawMode */ ) { - // draw the trackball + // draw the track ball if (drawTrackball_) { ACG::GLState::disable(GL_LIGHTING); ACG::GLState::shadeModel( GL_FLAT ); glPushMatrix(); glTranslatef(center()[0], center()[1], center()[2]); + glScalef(radius_, radius_, radius_); - glScalef(radius_,radius_,radius_); - + GLint previous[2]; + glGetIntegerv(GL_POLYGON_MODE,previous); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); ACG::GLSphere sphere(20, 20); sphere.draw_primitive(); - std::cerr << "Untested code path after replacement of glutWireSphere! Please report TrackballNode:85 if that path works" << std::endl; -// glutWireSphere(radius_, 20, 20); - - - std::cerr << "Sphere 4" << std::endl; - + glPolygonMode(GL_FRONT,previous[0]); + glPolygonMode(GL_BACK,previous[1]); glPopMatrix(); } diff --git a/libs_required/ACG/Scenegraph/TrackballNode.hh b/libs_required/ACG/Scenegraph/TrackballNode.hh index 68cd8f1848e3f818f6590b5781bdeaeeac8df29f..12a6f7b635a35179b9065870aa9a1ca0a4a80b40 100644 --- a/libs_required/ACG/Scenegraph/TrackballNode.hh +++ b/libs_required/ACG/Scenegraph/TrackballNode.hh @@ -61,8 +61,6 @@ #include "BaseNode.hh" #include "TransformNode.hh" -#include - // Qt #include #include diff --git a/libs_required/OpenMesh b/libs_required/OpenMesh index 0c55529987a0783eb75f688dde923efe7bc9be0a..93a439fea600c27fbe9a2da361d45f5d0f2a8c65 160000 --- a/libs_required/OpenMesh +++ b/libs_required/OpenMesh @@ -1 +1 @@ -Subproject commit 0c55529987a0783eb75f688dde923efe7bc9be0a +Subproject commit 93a439fea600c27fbe9a2da361d45f5d0f2a8c65