Difference between revisions of "Visualizing Constructive Solid Geometry (CSG)"

From BRL-CAD
(Add Past Efforts)
 
(One intermediate revision by one other user not shown)
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 investigate the possibility of using automatic graph layout libraries to produce a graph based visualization of the structure of .g databases
+
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:
  
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).
+
http://brlcad.org/wiki/User:Cprecup/GSoC2012_progress
  
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).
+
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).
  
 
=References=
 
=References=
Line 14: Line 18:
 
* src/libtclcad
 
* src/libtclcad
  
Potentially useful libraries must be under a compatible (BSD, MIT, LGPL) license - candidates include:
+
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/
 
*Adaptagrams:  http://adaptagrams.sourceforge.net/
*GOBLIN:  http://goblin2.sourceforge.net/
 
  
 
=Requirements=
 
=Requirements=
  
*Familiarity with Tcl/Tk
+
*Familiarity with Tcl/Tk and/or Qt
 
*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=
 +
*[http://brlcad.org/wiki/User:Cprecup/GSoC2012_progress GSoC12 ]

Latest revision as of 13:35, 4 March 2015

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:

http://brlcad.org/wiki/User:Cprecup/GSoC2012_progress

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).

References[edit]

  • 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):

Requirements[edit]

  • Familiarity with Tcl/Tk and/or Qt
  • Familiarity with C/C++
  • Comfortable understanding of graphs (will be working with graph libraries)

Past Efforts[edit]