In Eyeshot version 12 we introduced a simplified representation of the scene that allows smooth Zoom/Pan/Rotate dynamic movements. This simplified representation is used only during dynamic movements (between the mouse down and mouse up events) and for not current items when an assembly component is set as current (using Model.Entities.SetCurrent() for example).
This simplified representation, at the time of writing, does not use materials, environment mapping, shadows, silhouettes, line widths and textures. Other items not included are dimension tolerances, radial and diametric dimensions center marks. Item selection is also not drawn.
By default, FastZPR is active and kicks-in when the number of items in the scene goes beyond the Model.Entities.MaxComplexity threshold (the default value is
3000 int.MaxValue). FastZPR is most effective with complex scene graphs, therefore when many items or many nested levels are involved.
You can disable it using:
model1.Entities.MaxComplexity = int.MaxValue;
You can make it always active using:
model1.Entities.MaxComplexity = 0;
You can check if it is active using:
bool active = model1.Entities.FastZPR;
Preparing this simplified representation takes time, Eyeshot updates it automatically when the scene changes in terms of geometry but not when it changes in terms of color, material, visibility or when the display mode is changed.
To update the simplified representation manually, use:
This method also updates the scene extents, the visual refinement tolerance and the planar shadow.
- Rebuilding the simplified representation takes time (from a few milliseconds to minutes for huge models). Try to limit the calls to Model.Entities.ComputeBoundingBox() method to the minimum necessary.
- If you need to do interactive editing of the geometry, try to use the Model.Entities.SetCurrent()/ResetCurrent() method to reduce the number of items in scope or to disable/enable FastZPR to reduce the number of simplified representation rebuilds.
- If the geometry is very far from world origin, the simplified representation could be more accurate compared to the actual one. To resolve this issue, please consider using the Model.RemoveJittering() method.