Editing Visualizing Constructive Solid Geometry (CSG)

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 1: Line 1:
 
In recent years, tools like graphviz have made automatic graphical layout of graph structures in images both practical and useful.  Traditionally, geometric hierarchies in BRL-CAD databases have been visualized either as lists or trees, and those methods continue to be the primary geometry browsing methods.
 
In recent years, tools like graphviz have made automatic graphical layout of graph structures in images both practical and useful.  Traditionally, geometric hierarchies in BRL-CAD databases have been visualized either as lists or trees, and those methods continue to be the primary geometry browsing methods.
  
This task would follow up on work from 2012 using automatic graph layout libraries to produce a graph based visualization of the structure of .g databases:
+
This task would investigate the possibility of using automatic graph layout libraries to produce a graph based visualization of the structure of .g databases.  Potentially useful libraries must be under a compatible license - candidates include:
  
http://brlcad.org/wiki/User:Cprecup/GSoC2012_progress
+
*Adaptagrams:  http://adaptagrams.sourceforge.net/
 
+
*GOBLIN:  http://goblin2.sourceforge.net/
The task is not simply to generate images of graphical geometry hierarchies - that is relatively straightforward and can be done with scripts - but to design graphical, interactive widgets that utilize graph algorithms to interactively display geometry structure in useful, intuitive and interactive ways (tying changes in wireframe 3D renderings to selection or de-selection of nodes in a graph display of .g geometry, for example).  Some progress was made in 2012, but there is a lot more that can be done.
 
 
 
Our current interfaces use the Tk toolkit, but Qt would also make an interesting toolkit for this sort of work.
 
  
Proposals should include specific ideas (mockups and example layouts are a good way to convey graphical ideas).
+
The task is not simply to generate images of graphical geometry hierarchies - that is relatively straightforward and can be done with scripts - but to design graphical, interactive widgets in Tk that utilize graph algorithms to interactively display geometry structure in useful, intuitive and interactive ways (tying changes in wireframe 3D renderings to selection or de-selection of nodes in a graph display of .g geometry, for example).
  
=References=
+
A good exercise for students creating proposals for this task would be to review various examples of information organization and display using graph algorithms, and how they might be used when visualizing and interacting with geometry structure.  Proposals should include specific ideas (mockups and example layouts are a good way to convey graphical ideas).
 
 
* src/tclscripts
 
* src/tclscripts/mged
 
* src/tclscripts/archer
 
* src/libtclcad
 
 
 
Potentially useful libraries must be under a compatible (BSD, MIT, LGPL2) license - (work so far has been done using the Adaptagrams library):
 
 
 
*Adaptagrams:  http://adaptagrams.sourceforge.net/
 
  
=Requirements=
+
Requirements:
  
*Familiarity with Tcl/Tk and/or Qt
+
*Familiarity with Tcl/Tk
 
*Familiarity with C/C++
 
*Familiarity with C/C++
 
*Comfortable understanding of graphs (will be working with graph libraries)
 
*Comfortable understanding of graphs (will be working with graph libraries)
  
=Past Efforts=
+
Difficulty: low to medium, depending on background
*[http://brlcad.org/wiki/User:Cprecup/GSoC2012_progress GSoC12 ]
 

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)