public void updateNode()
{
// Node manager policy:
// if the manager has been changed from the last update manager snapshot, take the manager
// UNLESS
// if the node has been changed from the last update node snapshot, take the node
if (curNodeState.compare(node))
{
// the node hasn't changed, do our own thing
if (changed)
{
if (node.attachedGizmo != null)
{
node.attachedGizmo.DeltaV = curState.getVector();
node.attachedGizmo.UT = curState.UT;
}
node.OnGizmoUpdated(curState.getVector(), curState.UT);
updateCurrentNodeState();
changed = false; // new
}
}
else
{
// the node has changed, take the node's new information for ourselves.
updateCurrentNodeState();
curState.update(node);
}
}