Rosetta
|
#include <mainwindow.h>
Public Slots | |
void | updateAnimation () |
Public Member Functions | |
MainWindow (QWidget *parent=0) | |
~MainWindow () | |
MainWindow (QWidget *parent=0) | |
~MainWindow () | |
MainWindow (QWidget *parent=0) | |
~MainWindow () | |
MainWindow (QWidget *parent=0) | |
~MainWindow () | |
MainWindow (QWidget *parent=0) | |
~MainWindow () | |
MainWindow (QWidget *parent=0) | |
~MainWindow () | |
Protected Member Functions | |
void | initializeGL () override |
void | resizeGL (int w, int h) override |
void | paintGL () override |
void | paintEvent (QPaintEvent *event) override |
void | resizeEvent (QResizeEvent *event) override |
Private Slots | |
void | on_control_changed () |
What do to when a control reports that the user has changed a value. (Update the pose). More... | |
void | on_control_changed_requiring_pose_rebuild () |
What do do when a control reports that the user has changed a value, AND a full rebuild of the pose is required. More... | |
void | on_timer_refresh () |
Periodically, check whether we need to update the pose and the display, and do so if we need to. More... | |
void | on_radiobutton_colourby_totalscore_clicked () |
The user has selected that the pose be coloured by total score (per residue). Update accordingly. More... | |
void | on_control_changed () |
What do to when a control reports that the user has changed a value. (Update the pose). More... | |
void | on_control_changed_requiring_pose_rebuild () |
What do do when a control reports that the user has changed a value, AND a full rebuild of the pose is required. More... | |
void | on_timer_refresh () |
Periodically, check whether we need to update the pose and the display, and do so if we need to. More... | |
void | on_pushButton_clicked () |
The "export PDB" button is clicked. Dump a PDB file. More... | |
void | on_button_run_packer_clicked () |
The user has clicked the run packer button. More... | |
void | on_checkbox_allow_design_clicked () |
The user has checked or unchecked the allow design checkbox. More... | |
void | on_button_run_minimizer_clicked () |
The user has clicked on the "run minimizer" button. More... | |
void | on_radiobutton_colourby_selection_clicked () |
The user has selected that the pose be coloured by what's selected. Update accordingly. More... | |
void | on_radiobutton_colourby_totalscore_clicked () |
The user has selected that the pose be coloured by total score (per residue). Update accordingly. More... | |
void | on_clearimported_button_clicked () |
When the user clicks the "clear imported pose" button, clear the imported pose. More... | |
void | on_importPDB_button_clicked () |
When the user clicks the "import pose" button, import a pose. More... | |
void | on_tool_drag_nonparametric_clicked () |
When the user specifies that the mouse should be used for dragging the nonparametric geometry around. More... | |
void | on_tool_rotate_zoom_view_clicked () |
When the user specifies that the mouse should be used for rotating the viewing direction around. More... | |
void | on_tool_rotate_nonparametric_clicked () |
When the user specifies that the mouse should be used for rotating the nonparametric geometry around. More... | |
void | on_nonparametric_geometry_moved () |
When the user indicates that the nonparametric geometry has moved. More... | |
void | on_add_helix_button_clicked () |
What do to when the add_helix button is clicked. More... | |
void | on_helix_removed (core::Size const helix_to_remove) |
What do do when a remove helix button is clicked. More... | |
void | on_control_changed () |
What do to when a control reports that the user has changed a value. (Update the pose). More... | |
void | on_control_changed_requiring_pose_rebuild () |
What do do when a control reports that the user has changed a value, AND a full rebuild of the pose is required. More... | |
void | on_timer_refresh () |
Periodically, check whether we need to update the pose and the display, and do so if we need to. More... | |
void | on_pushButton_clicked () |
The "export PDB" button is clicked. Dump a PDB file. More... | |
void | on_checkbox_select_core_clicked () |
The user has clicked the "select core" checkbox. Update the layer selector. More... | |
void | on_checkbox_select_boundary_clicked () |
The user has clicked the "select boundary" checkbox. Update the layer selector. More... | |
void | on_checkbox_select_surface_clicked () |
The user has clicked the "select surface" checkbox. Update the layer selector. More... | |
void | on_button_run_packer_clicked () |
The user has clicked the run packer button. More... | |
void | on_checkbox_allow_design_clicked () |
The user has checked or unchecked the allow design checkbox. More... | |
void | on_button_run_minimizer_clicked () |
The user has clicked on the "run minimizer" button. More... | |
void | on_radiobutton_colourby_selection_clicked () |
The user has selected that the pose be coloured by what's selected. Update accordingly. More... | |
void | on_radiobutton_colourby_totalscore_clicked () |
The user has selected that the pose be coloured by total score (per residue). Update accordingly. More... | |
void | on_clearimported_button_clicked () |
When the user clicks the "clear imported pose" button, clear the imported pose. More... | |
void | on_importPDB_button_clicked () |
When the user clicks the "import pose" button, import a pose. More... | |
void | on_tool_drag_nonparametric_clicked () |
When the user specifies that the mouse should be used for dragging the nonparametric geometry around. More... | |
void | on_tool_rotate_zoom_view_clicked () |
When the user specifies that the mouse should be used for rotating the viewing direction around. More... | |
void | on_tool_rotate_nonparametric_clicked () |
When the user specifies that the mouse should be used for rotating the nonparametric geometry around. More... | |
void | on_nonparametric_geometry_moved () |
When the user indicates that the nonparametric geometry has moved. More... | |
void | on_presets_comboBox_currentIndexChanged (const QString &arg1) |
The user has selected a preset in the drop-down list. More... | |
Private Member Functions | |
void | update_pose () |
Use the PerturbBundle mover to update the pose. More... | |
void | rebuild_pose_from_scratch () |
Use the MakeBundle mover to build the pose. More... | |
void | update_pose () |
Use the PerturbBundle mover to update the pose. More... | |
void | rebuild_pose_from_scratch () |
Use the MakeBundle mover to build the pose. More... | |
void | update_helix_indices () |
Update the indices of helices in UI elements. More... | |
void | update_layer_selector_settings () |
Update the layer selector's settings from the UI. More... | |
void | update_residue_selector () |
Switch the residue selector to a composite selector that does not select the imported geometry, or just use the layer selector, depending on whether we have imported geometry. More... | |
void | compute_com_vect (numeric::xyzVector< core::Real > &comvect) const |
Given a centre-of-mass vector, calculate the centre of mass of the nonparametric geometry in the pose. More... | |
void | update_pose () |
Use the PerturbBundle mover to update the pose. More... | |
void | rebuild_pose_from_scratch () |
Use the MakeBundle mover to build the pose. More... | |
void | update_helix_indices () |
Update the indices of helices in UI elements. More... | |
void | update_later_helix_dependencies (core::Size const helix_to_remove) |
Given a helix to remove, update the dependencies of helices that depend on that helix. More... | |
void | update_layer_selector_settings () |
Update the layer selector's settings from the UI. More... | |
void | update_residue_selector () |
Switch the residue selector to a composite selector that does not select the imported geometry, or just use the layer selector, depending on whether we have imported geometry. More... | |
void | compute_com_vect (numeric::xyzVector< core::Real > &comvect) const |
Given a centre-of-mass vector, calculate the centre of mass of the nonparametric geometry in the pose. More... | |
void | perspectiveGL (GLdouble fovY, GLdouble aspect, GLdouble zNear, GLdouble zFar) const |
void | create_pose () const |
Private Attributes | |
Ui::MainWindow * | ui |
core::pose::PoseOP | pose_ |
A pose on which to operate. More... | |
core::scoring::ScoreFunctionOP | sfxn_ |
A scorefunction, used for colouring the pose. More... | |
bool | need_to_update_pose_ |
Do we need to update the pose? More... | |
bool | need_to_rebuild_pose_ |
Do we need to rebuild the pose from scratch? More... | |
QTimer * | timer_ |
A QTimer used to refresh the display. More... | |
ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget * | pose_draw_widget_ |
A widget to draw the pose. More... | |
core::pose::PoseOP | nonparametric_pose_ |
Optional, non-parametric geometry to add to the pose. More... | |
numeric::xyzVector< core::Real > | nonparametric_pose_offset_ |
Translation vector for the nonparametric pose. More... | |
numeric::xyzTransform< core::Real > | nonparametric_pose_rotation_ |
Rotation transform for the nonparametric pose. More... | |
core::select::residue_selector::LayerSelectorOP | layer_selector_ |
A layer selector to select residues for pose manipulation. More... | |
core::select::residue_selector::ResidueSelectorOP | residue_selector_ |
A residue selector to select residues for pose manipulation. More... | |
protocols::helical_bundle::PerturbBundleOP | perturb_bundle_ |
A PerturbBundle mover, which we'll recycle. More... | |
QOpenGLContext * | context_ |
QOpenGLFunctions * | open_gl_functions_ |
float | rotation_ |
|
explicit |
MainWindow::~MainWindow | ( | ) |
References ui.
|
explicit |
MainWindow::~MainWindow | ( | ) |
|
explicit |
MainWindow::~MainWindow | ( | ) |
|
explicit |
MainWindow::~MainWindow | ( | ) |
|
explicit |
MainWindow::~MainWindow | ( | ) |
|
explicit |
MainWindow::~MainWindow | ( | ) |
|
private |
Given a centre-of-mass vector, calculate the centre of mass of the nonparametric geometry in the pose.
Does nothing (returns 0, 0, 0) if no nonparametric geometry is loaded.
References demo.D060_Folding::counter, nonparametric_pose_, beta_nonlocal::pose, and pose_.
Referenced by on_tool_rotate_nonparametric_clicked().
|
private |
Given a centre-of-mass vector, calculate the centre of mass of the nonparametric geometry in the pose.
Does nothing (returns 0, 0, 0) if no nonparametric geometry is loaded.
|
private |
References create_a3b_hbs::i, pose_, and basic::options::OptionKeys::in::file::xyz.
|
overrideprotected |
References resizeGL(), and basic::options::OptionKeys::mp::visualize::width.
|
privateslot |
What do to when the add_helix button is clicked.
What do do when the add_helix button is clicked.
References on_control_changed(), on_control_changed_requiring_pose_rebuild(), on_helix_removed(), rebuild_pose_from_scratch(), and update_helix_indices().
Referenced by on_presets_comboBox_currentIndexChanged().
|
privateslot |
The user has clicked on the "run minimizer" button.
References create_a3b_hbs::i, basic::options::OptionKeys::in::file::movemap, pose_, pose_draw_widget_, residue_selector_, and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
|
privateslot |
The user has clicked on the "run minimizer" button.
|
privateslot |
The user has clicked the run packer button.
References basic::options::OptionKeys::chemical::chemical, pose_, pose_draw_widget_, basic::options::OptionKeys::dna::design::repack_only, residue_selector_, test.T120_core::sfxn, vancomycin::task, and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
|
privateslot |
The user has clicked the run packer button.
|
privateslot |
The user has checked or unchecked the allow design checkbox.
|
privateslot |
The user has checked or unchecked the allow design checkbox.
|
privateslot |
The user has clicked the "select boundary" checkbox. Update the layer selector.
References pose_draw_widget_, update_layer_selector_settings(), and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
|
privateslot |
The user has clicked the "select core" checkbox. Update the layer selector.
References pose_draw_widget_, update_layer_selector_settings(), and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
|
privateslot |
The user has clicked the "select surface" checkbox. Update the layer selector.
References pose_draw_widget_, update_layer_selector_settings(), and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
|
privateslot |
When the user clicks the "clear imported pose" button, clear the imported pose.
References pose_.
|
privateslot |
When the user clicks the "clear imported pose" button, clear the imported pose.
|
privateslot |
What do to when a control reports that the user has changed a value. (Update the pose).
References need_to_update_pose_.
Referenced by on_add_helix_button_clicked().
|
privateslot |
What do to when a control reports that the user has changed a value. (Update the pose).
|
privateslot |
What do to when a control reports that the user has changed a value. (Update the pose).
|
privateslot |
What do do when a control reports that the user has changed a value, AND a full rebuild of the pose is required.
References need_to_rebuild_pose_.
Referenced by on_add_helix_button_clicked().
|
privateslot |
What do do when a control reports that the user has changed a value, AND a full rebuild of the pose is required.
|
privateslot |
What do do when a control reports that the user has changed a value, AND a full rebuild of the pose is required.
|
privateslot |
What do do when a remove helix button is clicked.
References rebuild_pose_from_scratch(), update_helix_indices(), and update_later_helix_dependencies().
Referenced by on_add_helix_button_clicked().
|
privateslot |
When the user clicks the "import pose" button, import a pose.
References lactamize::filename, demo.D010_Pose_structure::pdb_filename, and pose_.
|
privateslot |
When the user clicks the "import pose" button, import a pose.
|
privateslot |
When the user indicates that the nonparametric geometry has moved.
References ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::get_nonparametric_rotation_xform(), ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::get_nonparametric_translation_vect(), nonparametric_pose_, nonparametric_pose_offset_, nonparametric_pose_rotation_, beta_nonlocal::pose, pose_, pose_draw_widget_, sfxn_, and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
|
privateslot |
When the user indicates that the nonparametric geometry has moved.
|
privateslot |
The user has selected a preset in the drop-down list.
References create_a3b_hbs::i, on_add_helix_button_clicked(), ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::on_remove_button_clicked(), ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::set_everything_except_delta_omega0_copies_helix1(), ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::set_helix_length(), ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::set_invert(), ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::set_real_subwidget(), and ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::set_to_beta_strand().
|
privateslot |
The "export PDB" button is clicked. Dump a PDB file.
References lactamize::filename, demo.D010_Pose_structure::pdb_filename, and pose_.
|
privateslot |
The "export PDB" button is clicked. Dump a PDB file.
|
privateslot |
The user has selected that the pose be coloured by what's selected. Update accordingly.
References pose_draw_widget_, sfxn_, and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
|
privateslot |
The user has selected that the pose be coloured by what's selected. Update accordingly.
|
privateslot |
The user has selected that the pose be coloured by total score (per residue). Update accordingly.
References pose_draw_widget_, ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::set_color_mode(), sfxn_, ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::total_energy, and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
|
privateslot |
The user has selected that the pose be coloured by total score (per residue). Update accordingly.
|
privateslot |
The user has selected that the pose be coloured by total score (per residue). Update accordingly.
|
privateslot |
Periodically, check whether we need to update the pose and the display, and do so if we need to.
References need_to_rebuild_pose_, need_to_update_pose_, rebuild_pose_from_scratch(), and update_pose().
Referenced by MainWindow().
|
privateslot |
Periodically, check whether we need to update the pose and the display, and do so if we need to.
|
privateslot |
Periodically, check whether we need to update the pose and the display, and do so if we need to.
|
privateslot |
When the user specifies that the mouse should be used for dragging the nonparametric geometry around.
References ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::determine_xyz_unit_vectors(), ui::ui_protocols::helical_bundle::HBPDOGLW_drag_nonparametric_geometry, pose_draw_widget_, and ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::set_extended_drag_mode().
|
privateslot |
When the user specifies that the mouse should be used for dragging the nonparametric geometry around.
|
privateslot |
When the user specifies that the mouse should be used for rotating the nonparametric geometry around.
References compute_com_vect(), ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::determine_xyz_unit_vectors(), ui::ui_protocols::helical_bundle::HBPDOGLW_rotate_nonparametric_geometry, pose_draw_widget_, ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::set_extended_drag_mode(), and ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::set_nonparametric_COM_vect().
|
privateslot |
When the user specifies that the mouse should be used for rotating the nonparametric geometry around.
|
privateslot |
When the user specifies that the mouse should be used for rotating the viewing direction around.
References ui::ui_protocols::helical_bundle::HBPDOGLW_base_class_mode, pose_draw_widget_, ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::set_drag_mode(), and ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::set_extended_drag_mode().
|
privateslot |
When the user specifies that the mouse should be used for rotating the viewing direction around.
|
overrideprotected |
References paintGL().
|
overrideprotected |
References build_restypes::elem, glutSolidSphere(), pose_, resizeGL(), rotation_, basic::options::OptionKeys::mp::visualize::width, and basic::options::OptionKeys::in::file::xyz.
Referenced by paintEvent().
|
private |
Referenced by resizeGL().
|
private |
Use the MakeBundle mover to build the pose.
References pose_, pose_draw_widget_, and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
Referenced by on_add_helix_button_clicked(), on_helix_removed(), and on_timer_refresh().
|
private |
Use the MakeBundle mover to build the pose.
|
private |
Use the MakeBundle mover to build the pose.
|
overrideprotected |
References resizeGL(), and basic::options::OptionKeys::mp::visualize::width.
|
overrideprotected |
References h, perspectiveGL(), and w.
Referenced by initializeGL(), paintGL(), and resizeEvent().
|
private |
Update the indices of helices in UI elements.
References create_a3b_hbs::i, and ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::set_helix_index().
Referenced by on_add_helix_button_clicked(), and on_helix_removed().
|
private |
Update the indices of helices in UI elements.
|
private |
Given a helix to remove, update the dependencies of helices that depend on that helix.
References create_a3b_hbs::i, ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::reset_controls_dependent_on_other_helix(), and ui::ui_protocols::helical_bundle::HelicalBundleDialogueWidget::update_control_dependencies_given_helix_to_be_removed().
Referenced by on_helix_removed().
|
private |
Update the layer selector's settings from the UI.
References layer_selector_.
Referenced by on_checkbox_select_boundary_clicked(), on_checkbox_select_core_clicked(), and on_checkbox_select_surface_clicked().
|
private |
Update the layer selector's settings from the UI.
|
private |
Use the PerturbBundle mover to update the pose.
Use the BundleGridSampler to update the pose.
References pose_draw_widget_, sfxn_, and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::update_pose_draw().
Referenced by on_timer_refresh().
|
private |
Use the PerturbBundle mover to update the pose.
|
private |
Use the PerturbBundle mover to update the pose.
|
private |
Switch the residue selector to a composite selector that does not select the imported geometry, or just use the layer selector, depending on whether we have imported geometry.
References create_a3b_hbs::i, layer_selector_, nonparametric_pose_, pose_draw_widget_, residue_selector_, and ui::ui_core::pose_draw::SimplePoseDrawOpenGLWidget::set_residue_selector().
|
private |
Switch the residue selector to a composite selector that does not select the imported geometry, or just use the layer selector, depending on whether we have imported geometry.
|
private |
|
private |
A layer selector to select residues for pose manipulation.
Referenced by update_layer_selector_settings(), and update_residue_selector().
|
private |
Do we need to rebuild the pose from scratch?
Referenced by on_control_changed_requiring_pose_rebuild(), and on_timer_refresh().
|
private |
Do we need to update the pose?
Referenced by on_control_changed(), and on_timer_refresh().
|
private |
Optional, non-parametric geometry to add to the pose.
Referenced by compute_com_vect(), on_nonparametric_geometry_moved(), and update_residue_selector().
|
private |
Translation vector for the nonparametric pose.
Referenced by on_nonparametric_geometry_moved().
|
private |
Rotation transform for the nonparametric pose.
Referenced by on_nonparametric_geometry_moved().
|
private |
|
private |
A PerturbBundle mover, which we'll recycle.
|
private |
A pose on which to operate.
Referenced by compute_com_vect(), create_pose(), MainWindow(), on_button_run_minimizer_clicked(), on_button_run_packer_clicked(), on_clearimported_button_clicked(), on_importPDB_button_clicked(), on_nonparametric_geometry_moved(), on_pushButton_clicked(), paintGL(), sidechain_cst_3.Residue::pose_num(), rebuild_pose_from_scratch(), and updateAnimation().
|
private |
A widget to draw the pose.
Referenced by MainWindow(), on_button_run_minimizer_clicked(), on_button_run_packer_clicked(), on_checkbox_select_boundary_clicked(), on_checkbox_select_core_clicked(), on_checkbox_select_surface_clicked(), on_nonparametric_geometry_moved(), on_radiobutton_colourby_selection_clicked(), on_radiobutton_colourby_totalscore_clicked(), on_tool_drag_nonparametric_clicked(), on_tool_rotate_nonparametric_clicked(), on_tool_rotate_zoom_view_clicked(), rebuild_pose_from_scratch(), update_pose(), and update_residue_selector().
|
private |
A residue selector to select residues for pose manipulation.
Referenced by on_button_run_minimizer_clicked(), on_button_run_packer_clicked(), and update_residue_selector().
|
private |
Referenced by paintGL(), and updateAnimation().
|
private |
A scorefunction, used for colouring the pose.
Referenced by on_nonparametric_geometry_moved(), on_radiobutton_colourby_selection_clicked(), on_radiobutton_colourby_totalscore_clicked(), and update_pose().
|
private |
A QTimer used to refresh the display.
Referenced by MainWindow().
|
private |
Referenced by ~MainWindow().