protected override void UpdateSceneGraph( Camera cam )
{
// First do the standard scene graph update
base.UpdateSceneGraph( cam );
// Then do the portal update. This is done after all the regular
// scene graph node updates because portals can move (being attached to scene nodes)
// (also clear node refs in every zone)
UpdatePortalSpatialData();
// check for portal zone-related changes (portals intersecting other portals)
UpdatePortalZoneData();
// update all scene nodes
UpdatePCZSceneNodes();
// calculate zones affected by each light
CalcZonesAffectedByLights( cam );
// save node positions
//_saveNodePositions();
// clear update flags at end so user triggered updated are
// not cleared prematurely
ClearAllZonesPortalUpdateFlag();
}