Editing User:Sadeep/DevLog-2020

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 155: Line 155:
  
 
Worked on object insert toolbar.
 
Worked on object insert toolbar.
 
* 25-26 June 2020
 
 
Implemented line styling (setLineAttr in dm and deciding style for each solid). Dashed lines are plotted where necessary now.
 
 
Ported my DM to the qged project in the main repo. Most of the things had to be changed since my implementation was on top of coreinterfaces and the main repo didn't have access to coreinterfaces. So I rewrote it to rely on the C methods.
 
 
* 28-29 June 2020
 
 
Restructured the code (which is now in main BRLCADrepository / qged) to seperate the raw OpenGL commands to a new DisplayManager class which is analogous dms in libdm. The plan is to implement methods in dm-generic.c in this class as needed.
 
 
* 30 June 2020
 
 
Fixed the bug which prevented the wireframes from not being drawn in starseeker's machine. After a lot of searching I realized that doing OpenGL operations in Qt SLOT call cause the bug.
 
 
Installed Ubuntu, configured the environment and built BRLCAD+my project on a virtual machine. (this was done to simulate starseeker's environment although it would help me in the future to check cross platform support)
 
 
* 1 July 2020
 
 
Changed my project code in the RT^3 repository to account for to reimplement the changed made to the code in qged. (see 28-29 June 2020)
 
 
* 2-3 July 2020
 
 
Implemented traversing the database. Basically a C++ wrapper for db_walk_tree. A class TreeLeaf was  implemented to support the functionality. The feature was implemented to coreinterfaces. A WalkTree() method was implemented in ConstDatabase.
 
 
https://sourceforge.net/p/brlcad/patches/546/
 
 
Implemented methods into GeometryRenderer to utilize the functions I implemented in coreinterface for drawing the database.
 
 
* 4-6 July 2020
 
 
I realized the coreinterface already had a way to support iterating the database. Discarded the code I implemented and studied the existing methods.
 
 
Implemented methods into GeometryRenderer to utilize the existing functions for drawing the database.
 
 
* 7-9 July 2020
 
 
Removed all references to internal C pointers from the codebase.
 
 
Changed all occurrences of auto keywords to the corresponding type.
 
 
Implemented destructers and properly freeing of memory in all necessary the classes (I had not done this earlier).
 
 
Converted pointers to references where possible for readability.
 
 
Implemented the concept Active document, object tree updates when active document changes. Bug fixes at file open.
 
 
Seperated UI files in the project structure for readability. Switched to manual UIC from AUTO_UIC.
 
 
Added and customized stylesheet. Removed titlebar. Added archer icon into the menubar (now title bar).
 
 
Implemented close button into menubar (with on hover/press UI changes)
 
 
It looks with the title bar removed. But Now I can't resize / drag the window at least on Windows.
 
 
* 10-16 July 2020
 
 
Added minimize, maximize, restore buttons (UI changes based on hover / press state, functionality implementing).
 
 
Replaced MDI with a tabbed interface.
 
 
Implemented method setBGColor into DisplayManager.
 
 
Replaced brlcad/vmath.h with QMatrix4x4 and QVector3D.
 
 
Created a preprocessor for QSS to support variables. Color scheme mapping is stored in a seperate *.theme file now.
 
 
Seperated logic for dock widgets into a new class 'Dockable'.
 
 
Implemented changes to object tree to support properties displaying.
 
 
File open/close UI changes.
 
 
Created Properties widget.
 
 
Made the UI compatible for multiple screen resolutions and scale levels.
 
 
Opening files by passing path.
 
 
Scroll related bug fixes in Dockable.
 
 
Scrollbars styles to look better and be more space efficient
 
 
Implemented CollapsibleWidget
 
 
A lot of experimenting in the Stylesheet for everything in the list above.
 
 
Learning about fonts and using them in Qt.
 
 
[[File:aba2.png|Display Lists, color]]
 
 
 
* 17-25 July 2020
 
(Commit https://github.com/sadeepdarshana/arbalest/commit/16ec7e464352c13401f2fbe157d4e6b13bdd95e0 to https://github.com/sadeepdarshana/arbalest/commit/cd19105679dc9a6db103e0ca725d2638e58aec89)
 
 
Implemented CollapsibleWidget. Dockable scroll / clear improvements. Properties widget reads objects details now
 
 
TypeSpecificProperties
 
 
Improving memory releasing, widget tree managing and default sizes in Dockable
 
 
CollapsibleWidget, Properties, Dockable improvements
 
 
QTableWidget experiments for displaying vectors
 
 
creating a table widget since build in is bad.
 
 
Object data tables
 
 
Display property values and editing them
 
 
Editing parameters with handlers (DragEditLineEdit)
 
 
axes in the bottom right corner now
 
 
 
* 28 July-7 August 2020
 
 
Removed menubar and statusbar from .ui and added it to the C++ code.
 
 
Merge pull requests. (removed some non standard code)
 
 
Bug fixes in camera.
 
 
Removed the main view from .ui file. Removed the use of .ui files and removed UIC  from cmake. Everything is in C++ now.
 
 
Bug fixes in DragEditLineEdit
 
 
Document file path related implementations. Save as feature.
 
 
Implemented ObjectTree.
 
 
Changed ObjectTreeWidget to utilize ObjectTree.
 
 
Changed the logic for object rendering to utilize ObjectaTree.
 
 
added color to new ObjectTree based rendering system
 
 
 
* 8 - 19 August 2020
 
 
Center view around a single object.
 
 
Properties panel for Combinations.
 
 
Raytracing.
 
 
Multiple viewports for a single document.
 
 
Designed an icon for Arbalest in Illustrator.
 
 
Added toolbar icons.
 
 
Added missing tooltips for buttons.
 
 
About window.
 
 
Implemented Help window as a quick start page displayed when app starts.
 
 
Grid renderer
 
 
Implemented dark theme.
 
 
Did some performance evaluation by measuring execution times and changes some stuff based on the results.
 
 
Implemented object creation.
 
 
Implemented changing background color of raytraced outputs.
 
 
[[File:arbalest6.png|Light theme]]
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)