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