Commit Graph

4009 Commits

Author SHA1 Message Date
James Turner
890cc46825 Reset: alternate property copying strategy.
Search the tree for leaves / sub-trees with a particular attribute set.
This permits both sparse selection as well as selection by sub-tree.

(This is needed for PRESERVE attribute, and once new reset is switched
on, will enable 'normal' copyProperties to revert to ignoring
attributes completely)
2013-12-10 17:37:37 +00:00
James Turner
6b0f7e8512 Quiet a message. 2013-12-09 23:28:52 +00:00
Thomas Geymayer
7a220921f0 Canvas: one global SystemAdapter is enough.
This also fixes elements requiring a SystemAdapter without
being assigned to a Canvas (eg. because they are desktop
elements).
2013-12-09 23:07:17 +01:00
Thomas Geymayer
7ef9acda5d Add ListDiff helper (for fast array differences). 2013-12-08 18:48:57 +01:00
Thomas Geymayer
2a6d62e6f7 Fix some unused/uninitialized variables. 2013-12-07 13:43:17 +01:00
Thomas Geymayer
42b50bd7f7 SGPropertyNode: add removeAllChildren() method 2013-12-07 13:42:15 +01:00
Thomas Geymayer
2c3f44ae11 Canvas: ensure all canvasses are destroyed
- For shutdown/reset make sure all properties describing a canvas
   are removed and also not restored after the reset.
2013-12-07 13:40:22 +01:00
Stuart Buchanan
b7662f16e5 Work around apparent OSG 3.2.0 normal binding bug. 2013-12-06 22:12:52 +00:00
Stuart Buchanan
5bc535a8d2 PagedLOD for random trees, buildings and objects. 2013-12-06 20:20:46 +00:00
James Turner
3ec9c7ae6e Canvas: clear elements in shutdown()
- without this change, elements aren't un-ref-ed and hence destroyed
until the actual dtor runs, which is too late (other systems may be
destroyed already)
2013-12-06 18:14:48 +00:00
James Turner
e326d0c756 Work around a clang/libc++ issue. 2013-12-06 18:03:35 +00:00
Thomas Geymayer
7c5434a99f cppbind: don't leak nasal references for Ghost methods. 2013-12-04 11:15:11 +01:00
James Turner
26d9256ee9 Reset: hook to clear the effects cache. 2013-12-04 09:12:51 +00:00
James Turner
053e761d8f Reset: don't leak EffectPropertyListener.
Track and free listeners from effect expressions.
2013-12-03 21:36:18 +00:00
Clément de l'Hamaide
5861b52cff Implement UTF-8 to Latin1 converter 2013-12-01 18:48:05 +01:00
Thomas Geymayer
66193d7283 cppbind: Fix detecting derived Ghosts 2013-12-01 12:35:02 +01:00
Thomas Geymayer
dfb07f359e cppbind: make ghost_type static to keep same pointer on reset.
Using a static naGhostType ensures that always the same
address is used for the same ghost and prevents ghost_types
from getting invalid (eg. on reset).
2013-12-01 01:18:13 +01:00
Thomas Geymayer
6fe1433497 Canvas: allow removing placement factories. 2013-11-24 15:39:03 +01:00
bcoconni
01ace109ba Fixed a crash: the singleton needs to be instantiated the first time SGCommandMgr::instance() is called 2013-11-24 14:50:11 +01:00
bcoconni
8e01acaa12 Added more explicit error messages to the property lists parser.
More specifically, each time an error or a warning is issued the location of the corresponding XML tag (file name an line number) is reported.
2013-11-24 12:20:26 +01:00
James Turner
7bbec8dbcb Reset: allow re-init of Nasal Ghosts.
After discussion with Thomas, reset needs the scenario this assert
was designed to guard against, so removing it for now.
2013-11-23 20:06:47 +00:00
James Turner
10375086ed Allow Command-manager singleton to be deleted.
(Shutdown can delete commands in an orderly way)
2013-11-23 20:00:23 +00:00
James Turner
dd367daac9 Fix another SVN crash on failure. 2013-11-19 21:33:50 +00:00
Martin Spott
27063d0c32 Repository name preferred 2013-11-16 10:44:17 -08:00
James Turner
80ff0282c3 Give terrasync a custom HTTP UA. 2013-11-16 09:45:40 +00:00
James Turner
e973e406a3 Fix some SVN errors/crashes. 2013-11-15 11:47:36 +00:00
bcoconni
c64776029e Removed the 'using::std' instructions from the headers as per James Turner request.
Also took this opportunity to add a check in XMLVisitor::savePosition() against a null pointer.
2013-11-14 22:07:29 +00:00
bcoconni
5d7d0a922d Added the ability to access the file name and position (line, column) from which the XML visitor is getting its data 2013-11-14 22:07:29 +00:00
Christian Schmitt
c2c96c4219 apt_signs: lower the log level for apt.dat syntax errors. Nobody seems to care... 2013-11-14 18:41:20 +01:00
James Turner
3e9ed08c53 Reset: use ref-counting to own subsystems.
Change the subsystem-group and manager code to use shared-ptr references
to subsystems, instead of holding a raw pointer. Hence the manager becomes
the owning ref to most subsystems.
2013-11-12 23:12:45 +00:00
James Turner
b7df9026c0 Reset: Terrasync root can change, can be shutdown. 2013-11-12 23:04:13 +00:00
James Turner
6527c6357b Reset: clean event-manager shutdown 2013-11-12 22:23:19 +00:00
James Turner
fad333256c Reset: DeletionManager can be uninstalled 2013-11-12 22:23:14 +00:00
James Turner
8753811fe1 Remove exceptions on missing texture names 2013-11-12 22:23:09 +00:00
James Turner
237752ff62 String case conversion, UTF-8 conversion. 2013-11-12 22:17:12 +00:00
Thomas Geymayer
743244a69c CanvasElement: ensure parent pointer can not become invalid. 2013-11-10 17:12:50 +01:00
Thomas Geymayer
9f89737986 track-to animation: fix "short" and "long" tracking. 2013-11-10 11:14:50 +01:00
Thomas Geymayer
508a5c5f66 track-to animation: 2dof rotation for slave object.
Slave objects can now rotate around two axis to always track the
target - even when it is outside the plane perpendicular to the
lock-axis of the root object. This allows for example animating
levers with non-parallel axis of rotation connected with a rod.
2013-11-08 00:51:18 +01:00
James Turner
d84394efa0 Tweak HTTP code to always sleep.
Check explicitly for the 'no channels' case and
sleep instead, to avoid busy-waiting. (This is a work-
around, the underlying issue still be be traced)
2013-11-06 15:11:46 -08:00
James Turner
dd613d48bc Reset: pin ctor and dtor of event manager. 2013-11-05 05:21:57 +00:00
James Turner
2e8e500d4f Reset: commands can be removed 2013-11-05 05:21:52 +00:00
James Turner
48f866dcc6 TerraSync: avoid assert on missing file 2013-11-05 05:17:57 +00:00
Thomas Geymayer
ec4d3e4f9b Make new gcc happy (include cmath) 2013-11-04 10:48:26 +01:00
Thomas Geymayer
38ddfab1e0 Canvas: improved clipping and new property clip-frame.
- Update clipping rect if canvas view or texture size
   changes.
 - Add new property "clip-frame" to specify coordinate
   frame for "clip" coordinates. Coordinates can be
   global, relative to the parent or relative to the
   element itself.
2013-11-03 20:12:45 +01:00
Thomas Geymayer
353b7e4438 SGPropertyNode: extract enum value with getValue 2013-11-03 20:11:06 +01:00
Thomas Geymayer
7076c9a0ff HTTP: finish core request before calling any callback. 2013-10-28 20:34:11 +01:00
James Turner
2f42a8714c Terrasync: don't busy wait when no requests are running. 2013-10-28 14:51:52 +00:00
Thomas Geymayer
fdf6fc32ff HTTPFileRequest: create directory if it does not exist 2013-10-28 12:38:39 +01:00
Thomas Geymayer
f2188b33c6 HTTP: Rename urlretrieve/urlload to save/load. 2013-10-27 23:38:46 +01:00
Thomas Geymayer
f93fead8f2 io: refactor and improve HTTP modules.
- refactor code used multiple times spread over sg/fg into
   one single location.
 - allow aborting requests.
 - Provide two common request types:
  * FileRequest: Save response into file
  * MemoryRequest: Keep resonse in memory (std::string)
 - extend HTTP::Client interface:
  * urlretrieve: Save url to file (shortcut for making a
                 FileRequest)
  * urlload: Get respons into memory (shortcut for making
             a MemoryRequest)
2013-10-27 19:05:49 +01:00