The Refresh mechanism supports three-stage asynchronous update consisting of load, compile, and merge.
When the UpdateVisitor encounters a newly loaded subgraph, it requests the compilation of that subgraph. The compilation is invoked by an OSG plugin which is executed on the DatabasePager thread. When the UpdateVisitor encounters a newly compiled subgraph, it merges that subgraph into the scene. So, Import is just a little state machine.
#include <Import.h>
Public Member Functions |
|
Import (const awString::IString &name) | |
Import (const Import &nodeToCopy) | |
Import & | operator= (const Import &) |
virtual void | accept (NodeVisitor &) |
void | getFilename (awString::IString &) const |
const awString::IString & | getFilename () const |
void | setFilename (const awString::IString &) |
virtual bool | getIsRelativeToOriginal () const |
virtual bool | needToMaintainSceneHierarchy () const |
Look at the children and parents, and let us
know if this node should be marked as "maintain" or not. |
|
Protected Member Functions |
|
virtual | ~Import () |
Reference counted objects shouldn't exist on
the stack. |
Import | ( | const awString::IString & | name | ) | [explicit] |
virtual ~Import | ( | ) | [protected, virtual] |
Reference counted objects shouldn't exist on the stack.
virtual void accept | ( | NodeVisitor & | ) | [virtual] |
Reimplemented from Group.
void getFilename | ( | awString::IString & | ) | const |
const awString::IString& getFilename | ( | ) | const |
void setFilename | ( | const awString::IString & | ) |
virtual bool getIsRelativeToOriginal | ( | ) | const [virtual] |
Reimplemented from Group.
virtual bool needToMaintainSceneHierarchy | ( | ) | const [virtual] |
Look at the children and parents, and let us know if this node should be marked as "maintain" or not.
Return true if we really, really need that flag set. The "set...Check" behaves as the "set..." above if maintain is false. If maintain is true, it consults the "needTo..." to decide if it should set it or not. In the process, it may fix up the parents as well.
Reimplemented from Node.