aboutsummaryrefslogtreecommitdiffstats
path: root/src/graphui/classes/jogamp/graph/ui/TreeTool.java
Commit message (Collapse)AuthorAgeFilesLines
* GraphUI Graph/Scene: Reuse TreeTool for contains(), getShapeByID() and ↵Sven Göthel2024-01-201-16/+48
| | | | getShapeByName(), also adding full traversion (instead of a flat lookup)
* Bug 1462 - Graph Font: Add name + codepoint to ID and Glyph mapping plus ↵Sven Gothel2023-09-241-4/+4
| | | | | | | | | traversing through all Glyphs See UISceneDemo03 new Button(options.renderModes, fontSymbols, " "+fontSymbols.getUTF16String("pause")+" ", buttonWidth, buttonHeight); // pause Unicode codepoint symbol is also contained in FontGlyph
* Bug 1452: GraphUI Shape: Rename setMvTransform(..) -> setTransformMv(..), ↵Sven Gothel2023-09-231-4/+4
| | | | | | | aligning w/ PMVMatrix4f naming .. Original name was simply setTransform(..), so now let's keep using the suffix denominating the matrix while keep the main subject/verb upfront. Was an off reading ..
* Bug 1452 - Decouple math functionality to 'com.jogamp.math' to be toolkit ↵Sven Gothel2023-09-201-16/+16
| | | | | | | | | | | | | | | | | | | | agnostic (PMVMatrix, Matrix4f, Vec4f, ..) Math functionality (PMVMatrix, Matrix4f, Vec4f, ..) - shall be used toolkit agnostic, e.g. independent from OpenGL - shall be reused within our upcoming Vulkan implementation - may also move outside of JOGL, i.e. GlueGen or within its own package to be reused for other purposed. The 'com.jogamp.opengl.util.PMVMatrix' currently also used to feed in GLUniformData via the toolkit agnostic SyncAction and SyncBuffer shall also be split to a toolkit agnostic variant. An OpenGL PMVMatrix specialization implementing GLMatrixFunc can still exist, being derived from the toolkit agnostic base implementation. +++ Initial commit .. compile clean, passing most unit tests.
* GraphUI TreeTool: Iterate from start to end (not vice versa), eliminating ↵Sven Gothel2023-04-121-4/+4
| | | | potential side-effects - fixing forSortedAll(..)
* GraphUI TreeTool: For all forAll*(): Allow acting upon Container Shape, i.e. ↵Sven Gothel2023-04-101-22/+14
| | | | | | 1st visit Shape, only therafter (if false) traverse into Container This is required to allow actions on a Container itself.
* GraphUI: Adopting Vec*f API; Adding Group; Scene + Group are Container, ↵Sven Gothel2023-04-051-0/+159
traversing the PMVMatrix throughout childs (-> see TreeTool). Utilizing the Vec*f (and Matrix4f) API w/ AABBox et al renders our code more clean & safe, see commit 15e60161787224e85172685f74dc0ac195969b51. A Group allows to contain multiple Shapes, hence the PMVMatrix must be traversed accordingly using TreeTool for all operations (draw, picking, win->obj coordinates, ..). Hence Scene + Group are now implementing Container and reuse code via TreeTool and a Shape.Visitor*. This will allow further simplification of user code.