- aGlobalRange[1] = aRange[1];
- anIsUpdate = true;
- }
-
- if ( anIsUpdate )
- {
- module()->updateVTKZRange( (size_t)aViewer, aGlobalRange );
+ // Extend the global Z range if necessary
+ double* aGlobalRange = GetZRange( (size_t)aViewer );
+ double* aRange = aPrs->getInternalZRange();
+ bool anIsUpdate = false;
+ if ( aRange[0] < aGlobalRange[0] || ValuesEquals( aGlobalRange[0], anInvalidZ ) )
+ {
+ aGlobalRange[0] = aRange[0];
+ anIsUpdate = true;
+ }
+ if ( aRange[1] > aGlobalRange[1] || ValuesEquals( aGlobalRange[1], anInvalidZ ) )
+ {
+ aGlobalRange[1] = aRange[1];
+ anIsUpdate = true;
+ }
+
+ if ( anIsUpdate )
+ {
+ module()->updateVTKZRange( (size_t)aViewer, aGlobalRange );
+ }