Robert Osfield
3dde165f14
Refactor osg::Geode to subclass from osg::Group and reuse the NodeList children container
2014-06-03 09:23:24 +00:00
Robert Osfield
2d41cbd0cf
Removed OSG_USE_BOUND and associated osg::Bound adapter class to avoid problems with BoundingBox::expandBy/expandByRadius() implementation choosing a null BoundingBox from
...
the osg::Bound class causing crashes.
2014-06-02 16:20:39 +00:00
Robert Osfield
e1ec4ec67f
From Roni Zanolli, build fix for iPhone
2014-06-02 08:13:39 +00:00
Robert Osfield
199506296a
Implemented basic frame graphic
2014-05-30 16:44:36 +00:00
Robert Osfield
189c0b3477
Futher work on ComboBox/Popup
2014-05-29 15:21:42 +00:00
Robert Osfield
a45ba05bdd
Added beginnings of ComboBox popup functionality.
2014-05-29 10:51:26 +00:00
Robert Osfield
26a7c30229
Added cached Depth and ColorMask to reduce the amount of duplicate state in the osgUI subgraph
2014-05-28 10:18:57 +00:00
Robert Osfield
1fcb91900a
Replaced Widget::GraphicsSubgraph with GraphicsSubgraphMap to allow finer control of when the rendering subgraphs are done.
2014-05-28 10:06:14 +00:00
Robert Osfield
6af9edf33b
Improved handling of text
2014-05-27 14:14:51 +00:00
Robert Osfield
faced0a896
Removed Dialog/Popup::open/close() methods as they are replaced by the setVisible() method
2014-05-26 16:32:20 +00:00
Robert Osfield
5d635287c0
Implemented Widger::Visible and Enabled usage
2014-05-26 16:27:33 +00:00
Robert Osfield
b04a4813ba
Added Visible and Enalbed properties to Widget
2014-05-26 16:15:33 +00:00
Robert Osfield
5d234ba021
Fixed missing initilaizer
2014-05-26 16:15:12 +00:00
Robert Osfield
71352ea56d
Added item serializer
2014-05-26 15:58:18 +00:00
Robert Osfield
f50ec0fe8e
Implemented clipping of widget to the widgets extents.
2014-05-23 18:59:16 +00:00
Robert Osfield
cca18e82e8
Implemented scheme for making sure nested widgest overdraw parent widgets graphics
2014-05-23 15:00:49 +00:00
Robert Osfield
55c2041d4d
Added wrappers for open and close methods
2014-05-23 15:00:09 +00:00
Robert Osfield
bda5ec4875
Added osgUI::Widget::set/getGraphicsSubgraph() to hold the subgraph that does the rendering portion of widgets
2014-05-22 10:02:35 +00:00
Robert Osfield
0b5b3213fe
Addd method implementation in serializers
2014-05-21 16:15:02 +00:00
Robert Osfield
d8adc80c2c
Fixed handling of traverse
2014-05-21 10:17:31 +00:00
Robert Osfield
20fd80de3a
Improved handling of callback object to open the door to use of general osg::CallbackObject as mechnisms for something simialr to Qt's signal/slot mechanism.
2014-05-21 09:45:11 +00:00
Robert Osfield
28c36d615b
Added osg::runNamedCallbackObjects(..) convinience method for run all named osg::CallbackObjects attached to an osg::Object
2014-05-21 09:07:25 +00:00
Robert Osfield
9859f3110b
Renamed callbacks to avoid overlap with Node callbacks
2014-05-21 09:06:17 +00:00
Robert Osfield
30b54e3af2
Moved the _boundingSphere set method into the update section of the Drawable::getBoundingBox() method
...
Added an UpdateVisitor::apply(Drawable&) implementation.
2014-05-20 16:09:34 +00:00
Robert Osfield
e70acf4c51
From Pjotr Svetachov, "I stumbled on a little bug with the new drawables. I was distributing points data into different drawables that I used in a LOD later. When simplifying the system to not use geodes anymore I came upon the following bug:
...
If Drawable::getBoundingBox would compute an invalid bounding box (if it was for example empty) it would make a bounding sphere with a infinite radius which counts as a valid sphere in osg.
Attached is a small fix."
2014-05-20 15:34:12 +00:00
Robert Osfield
8346f0ebe1
Improved the handling of updating of text
2014-05-20 08:35:39 +00:00
Robert Osfield
d917987938
Added shell of Popup class
2014-05-20 08:35:19 +00:00
Robert Osfield
e4004118db
Added check against whether an event has been handled or not before actioning escape/quit.
2014-05-20 08:34:32 +00:00
Robert Osfield
4ce2e075c4
Add shell of Dialog class
2014-05-19 10:11:50 +00:00
Robert Osfield
1b34fed500
Added handling of up/down key to ComboBox
2014-05-19 09:30:36 +00:00
Robert Osfield
87fd1d38fb
Added initial cut of ComboBox
2014-05-16 19:24:58 +00:00
Robert Osfield
3e00764649
Added initial shell of PushButton implementation
2014-05-16 10:38:40 +00:00
Robert Osfield
03fc0c3662
Added support for intesecting Drawable that are attached directly to the scene graph without an osg::Geode
2014-05-15 16:30:17 +00:00
Robert Osfield
5b60708e80
From Sebastian Messerschmidt, "There was some small error due to MS non-conformity handling comments correctly."
2014-05-15 14:57:28 +00:00
Robert Osfield
d8a06f827e
From Pjotr Svetachov, build fixes for VisualStudio
2014-05-15 14:45:28 +00:00
Robert Osfield
85386daa25
Added osgGA dependency
2014-05-15 13:34:50 +00:00
Robert Osfield
4f199e36c9
Placed the #include<osg/Node> within #ifdef OSG_USE_BOUND to prevent unncessary inclusion of Node header when OSG_USE_BOUND is false.
2014-05-15 13:22:47 +00:00
Robert Osfield
20b9f3ff88
Added Node::asDrawable() and Node::asGeometry() methods to provide a low cost way of casting a node to Drawable and Geoemtry.
...
Changed the Group::computeBound() method so that it takes account of the a Drawable's BoundingBox.
2014-05-15 09:26:59 +00:00
Robert Osfield
afcf54b108
Fixed the bounding sphere computation and handling of Drawable as the root of the scene graph
2014-05-14 16:52:18 +00:00
Robert Osfield
74f91037a7
Further work on Bound class/Node::getBound() and Drawable::getBound() and usage in OSG codebase
2014-05-14 16:01:40 +00:00
Robert Osfield
ff21af2b0d
Cleaned up code
2014-05-14 16:00:08 +00:00
Robert Osfield
4174d72a52
2014-05-14 10:19:43 +00:00
Robert Osfield
12a737ae02
Changed the Node::ParentList to be a list of osg::Node rather than osg::Group, and added addChild, removeChild, replaceChild virtual method to Node to enable code
...
to user code compile with minimal modifications to account for the new change to the Node ParentList.
2014-05-13 08:43:07 +00:00
Robert Osfield
b2c7bacfe9
From Farshid Lashkari, "As discussed, I've added the ability to handle Drawable objects within the NodeVisitor class. Here is an overview of the changes:
...
- Added apply(Drawable) and apply(Geometry) to NodeVisitor
- Added accept(NodeVisitor) method to Drawable/Geometry
- Added traverse(NodeVisitor) to Geode which calls accept(NodeVisitor) on all Drawables
- Updated CullVisitor to use new apply(Drawable) to handle drawables. The apply(Billboard) method still manually handles the drawables since it is depends on the billboard settings. I needed to disable the traverse within billboard to prevent duplicate traversal of drawables.
- Update other osgUtil node visitors (GLObjectsVisitor, IncrementalCompileOperation, ..) to use new apply(Drawable) method.
"
2014-05-12 12:10:35 +00:00
Robert Osfield
ead92353fe
Added beginnings of new osgUI library, a replacement for osgWidget that works fully in 3D/stereo and is scriptable.
2014-05-12 11:27:54 +00:00
Robert Osfield
490b351330
Replaced obsolete __linux usage.
2014-05-06 16:38:57 +00:00
Robert Osfield
754a163cbf
From Stephan Huber, "Xcode changed the default std-lib-implementation again. Now it’s GNU++98 instead of C++11. I adapted the cMakeList.txt files accordingly to add this new option so we can set it explicitly and link against 3rdparty-c++-libs."
2014-05-06 09:43:32 +00:00
Robert Osfield
eae4d51e3f
From Stephan Huber, "Please revert the change to FindQuickTime.cmake as this breaks compilation for IOS and possibly OS X."
2014-05-06 08:37:39 +00:00
Robert Osfield
cf66750d7b
From Farshid Lashkari, "fix for the Collada loader where it would access a null string in some cases"
2014-05-02 09:12:36 +00:00
Robert Osfield
1f33e2a2a0
From Ali Botorabi, "recently I ran into a problem with Microsoft's Appverifier while using OpenThreads on win32 platform. The Appverifier complained about an invalid thread handle during starting of a new thread. After looking closer into the problem it seemed that indeed a potential root of problem may be in the thread startup code. See the line below in Win32Thread.cpp (line number 347):
...
pd->tid.set( (void*)_beginthreadex(NULL,static_cast<unsigned>(pd->stackSize),ThreadPrivateActions::StartThread,static_cast<void *>(this),0,&ID));
the method "pd->tid.set" sets the thread id, however via the startup function "ThreadPrivateActions::StartThread" that thread id is used (see further down the call hierarchy the line "int status = SetThreadPriority( pd->tid.get(), prio);".
Until now I never ran into any problem in debug or release builds, though. It seems that furtunately the tid.set method was executed always before the tid.get method in the startup code. However, this may make trouble in the furture. A simple solution is the following: just replace the line above with following two lines:
pd->tid.set( (void*)_beginthreadex(NULL,static_cast<unsigned>(pd->stackSize),ThreadPrivateActions::StartThread,static_cast<void *>(this),CREATE_SUSPENDED,&ID));
ResumeThread(pd->tid.get());
The trick is just starting the thread in suspended mode so the StartThread function does not get executed and we can safely store the tid by pd->tid.set. Then start the Thread by calling ResumeThread."
2014-05-02 09:11:16 +00:00