User:H1manshu/GSoC2022/Project Report

From BRL-CAD
< User:H1manshu
Revision as of 01:09, 20 November 2022 by H1manshu (talk | contribs) (Project Report)

Project Report

  • Student Name: Himanshu Sekhar Nayak
  • Mentor Name: Daniel Rossberg
  • GSoC 2022 Project: BRL-CAD GUI

Overview

  • In this project, we have created a new mouse action known as select mouse action in which we are able to select the object in a .g file and it will return region name with the properties which will be displayed in the properties dock and the object name will be shown selected in the objects dock of arbalest.
  • Also we have added a feature where the app will be able to show a dialog box if there are unsaved changes in the .g file before closing the tab or closing the app.
  • Created a new interface for mouse action so in the future if any new mouse action is to be added then it can take benefit from the interface.
  • Fixed some UI changes and added new icons.

What code got merged?

My major role was to fix issues in the project and add some new features and they are listed below with the link to PR:

  • Fixed properties docks, objects docks, and status bar. #13
  • Fixed QApplication header and exec(). #16
  • Added QToolButton and removed QPushButton. #19
  • Revert back to use object name toolbarButton instead of new object names. #20
  • Added icons for menu items and icon color for both light & dark themes. #21
  • Added unsaved changes feature. #23
  • Free memory after the tab gets closed. #24
  • Switching tabs doesn't show values in properties dock. #25
  • Added Apache license 2.0 to AboutWindow.cpp. #28
  • Check if an object name is valid. #36
  • Added MouseActions feature. #38
  • Added select object feature using mouse action. #40

What's left to do?

  • I am not able to start resizing primitive after an object is selected. The idea is to first the primitive will be selected through the select mouse feature then inside the Edit option click on the Scale option. Then click on any corner of the primitive and drag mouse to enlarge or shrink the primitive.
  • Also I am not able to give a start to extend the object-oriented C++ Geometry API which includes the C++ coreInterface & LIBGED.

What's next?

Final Note