Commit Graph
5124 Commits
Author SHA1 Message Date
Thomas Geymayer 02ac1a43c1 Add smart pointer tests (finally using Boost.Test) 2014-05-08 02:17:24 +02:00
Thomas Geymayer b2c3a90adf Fix use count for deleted, reference counted objects.
Remove inconsitency of returning 0 or ~0. If the object
has been deleted there are no more references, so always
return 0.
2014-05-08 01:43:41 +02:00
Thomas Geymayer 9975c751a7 Add support for using SGWeakPtr with virtual base classes.
- Add SGVirtualWeakReferenced to be used as base class
   for reference counted objects supporting weak references
   and virtual base classes.
 - Modify SGWeakPtr to copy with SGVirtualWeakReferenced
   objects.
2014-05-08 00:27:00 +02:00
Thomas Geymayer efbec8b367 Canvas: base Elements/Canvas on SGWeakReferenced. 2014-05-06 18:10:42 +02:00
Thomas Geymayer 9642f6d946 cppbind: add naContext/naRef overload to Ghost::_set 2014-05-06 18:10:35 +02:00
Thomas Geymayer 247aa49849 SGSharedPtr/SGWeakPtr: add some methods/operators
- allow placing SGWeakPtr in sorted STL containers (eg. requiring
   operator<)
 - add reset() like for boost::shared_ptr/boost::weak_ptr
 - add helper to extract pointer from SGWeakPtr
2014-05-06 18:10:14 +02:00
Thomas Geymayer edaae885ee cppbind: small logging/warning updates. 2014-05-05 15:06:15 +02:00
Thomas Geymayer b101f64cd8 cppbind.Ghost: register _set called on setting new properties. 2014-05-05 15:06:09 +02:00
Thomas Geymayer f75d1cbcb1 cppbind: disable special handling of 'parents' for ghost. 2014-05-05 14:48:29 +02:00
Thomas Geymayer ac2e80dc07 Nasal: allow ghost as 'me' for 'call' 2014-05-05 14:47:10 +02:00
Peter Sadrozinski 85b17ae8d4 fix for sgGetBuckets. Northern most buckets in the bounding box were left out 2014-04-16 10:18:13 -04:00
Thomas Geymayer 77955e5c3c math/nasal: Add more SGRect members and nasal helper. 2014-04-15 10:07:01 +02:00
Peter Sadrozinski 19481983e5 fix windows build 2014-04-06 12:14:44 -04:00
Peter Sadrozinski 5b2b420c48 - secondary tc and vertex attribs in .btg file
- decrease debug when writing btg files
- deprecate some set_xxx apis
2014-04-05 21:48:38 +02:00
James Turner 15d3c12139 Fixed for FreeBSD
(From Gerald Laplanche)
2014-04-03 13:42:11 +01:00
Thomas Geymayer 338a748823 Canvas::Path: also restore glBlendFunc. 2014-04-01 12:35:43 +02:00
Thomas Geymayer 8c45796dc8 Canvas::Path: reduce number of OpenGL state changes.
- Do not enable any multisampling as for FBOs it is not
   supported anyhow.
 - Just restore GL_BLEND and GL_STENCIL_TEST manually
   => Getting rid of the huge load of glPushAttrib/glPopAttrib
      gets us a huge performance boost, especially for drivers
      with slow state stack implementations.
2014-04-01 12:03:53 +02:00
Thomas Geymayer a160e176da cppbind: fix testing for naRef identity. 2014-03-31 14:21:21 +02:00
Thomas Geymayer d332da0605 Canvas: do not write bounding box to property tree.
- Prevent writing to property tree in wrong thread.
 - Add Element::getBoundingBox and
   Element::getTightBoundingBox as uniform way to
   retrieve bounding boxes of all canvas elements.
 - Update path bounding boxe in update traversal.
2014-03-31 13:28:03 +02:00
Thomas Geymayer 6ea55c6851 nasal::Ghost: remove bogus warning. 2014-03-27 12:09:05 +01:00
Thomas Geymayer 10ee7a901f ShivaVG: disable paint textures (Fixes #1414)
Currently there is no need for paint textures so just
disable them to prevent releasing OpenGL resources
from the wrong context/thread.
2014-03-27 11:20:38 +01:00
Thomas Geymayer db8b60ec49 Revert "CanvasGroup: return empty bounding box without children."
Returning somehow valid data in case it is used unchecked was
probably not a good idea. Better fix the code using it^^

This fixes #1421.

This reverts commit 3525fff8d0.
2014-03-23 17:27:30 +01:00
Thomas Geymayer 09d47e7f55 cppbind: fix problem with function call without arguments. 2014-03-22 13:23:21 +01:00
Thomas Geymayer 13a3ea3503 cppbind: allow calling methods with 'me' object from C++. 2014-03-22 12:41:47 +01:00
Thomas Geymayer ff53792e4f CanvasImage: rename 'file' to 'src'. 2014-03-20 11:42:02 +01:00
Thomas Geymayer fd51518d92 CanvasImage: improve fetching from http and add mime detection. 2014-03-20 01:44:31 +01:00
Thomas Geymayer 01a43b49a5 Canvas: Respect clipping while event handling. 2014-03-19 18:21:25 +01:00
Thomas Geymayer 3525fff8d0 CanvasGroup: return empty bounding box without children.
Return an invalid bounding box can lead to problems
if used unchecked. Just returning an empty bounding
box (size 0x0 and position at the origin of the
element) is much safer.
2014-03-19 16:31:17 +01:00
Thomas Geymayer 6c75e2fe3c CanvasImage: support for http protocol.
- Download and display images.
2014-03-18 18:33:44 +01:00
Mathias Froehlich b322864ef4 Fix detection of airports in the stg loader. 2014-03-16 16:08:31 +01:00
Thomas Geymayer f28e3fc9bb Canvas: fix position for drag events and multiclick handling.
- Calculate local/client position for every drag event
   instead of just reporting the position of the initial
   mousedown event.
 - Only pressing the same button multiple times increases
   the mouse clickcount.
2014-03-15 14:53:08 +01:00
Thomas Geymayer 80e77b8372 Canvas: set button for drag events. 2014-03-15 00:40:48 +01:00
James Turner c925b7b601 Don't leak cube-map textures
- use observer_ptr so cube-map textures are released without the
builder holing a ref.
2014-03-13 22:16:58 +00:00
James Turner 966789de90 Fix leak of object-mask textures 2014-03-13 22:16:00 +00:00
Torsten Dreyer d44a3117d9 Partial fix of #1408, add missing throw 2014-03-12 21:10:14 +01:00
Thomas Geymayer c851c449da cppbind: Do not derive from SGReferenced if there is no need 2014-03-12 17:40:21 +01:00
Thomas Geymayer b2d9385f46 cppbind: fix possible usage of expired object from Nasal 2014-03-11 15:40:26 +01:00
James Turner f40efe66fa Simplify copyProperties
- with initial-state save/restore gone, all uses of
copyProperties are now simple. For selective copying, use
copyPropertiesWithAttribute.
2014-03-11 08:32:33 +00:00
Thomas Geymayer 5560479665 SGPropertyNode: do not keep list of deleted children.
Get rid of the possibilty to keep delted children. This was not
used actively, required unnecessary memory for each property node
and lead to subtile bugs, as creating a node after a node with
the same path has been deleted resulted in getting the old node
back instead of a cleanly initialized one.
2014-03-06 00:39:23 +01:00
James Turner 4ea8e4774e Remove unused cube-map from 2D clouds. 2014-03-05 14:42:29 +00:00
James Turner 18ff03acdf VBO switch also controls random-buildings. 2014-03-05 10:20:48 +00:00
Thomas Geymayer aa27a09801 MouseEvent: comply with DOM Level 3 and add some getter. 2014-03-04 17:58:37 +01:00
James Turner a8d7645004 Code cleanups.
(no functionality change)
2014-03-04 16:05:36 +00:00
James Turner 081aafb914 Allow clouds to be toggled on/off
- Change the cloud-root Group to a Switch
2014-02-28 11:06:47 +00:00
Stuart Buchanan 5a5ba08c23 Fix longstanding rent in skydome under ALS. 2014-02-27 21:57:27 +00:00
Thomas Geymayer 91b92c5613 animation: fix for 'textrapezoid' animation outside 'texmultiple'. 2014-02-26 17:48:11 +01:00
James Turner bd5bc9cda0 TerraSync: expose method as public
- needed for command-line terrasync util.
2014-02-25 09:13:16 +00:00
James Turner db684eb33e HTTP: improve handling of connection errors
- handle 'whole connection' errors consistently, e.g. EUNREACH
which can occur with intermittent connections.
2014-02-24 19:41:14 +00:00
James Turner a07cfdb683 Remove obsolete TerraSync methods.
- all scheduling is now done via paths/buckets, not lat+lon.
2014-02-24 18:45:57 +00:00
James Turner b956a2c834 Sky: expose OSG branches as Groups.
- avoids creating additional groups in Renderer
2014-02-24 18:45:57 +00:00