Import Geant4 11.4.0.beta source tree
This commit is contained in:
@@ -6,6 +6,30 @@ It must **not** be used as a substitute for writing good git commit messages!
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
## 2025-03-06 John Allison (visQt3D-V11-03-02)
|
||||
- G4Qt3DViewer:
|
||||
- Implement CompareForTransientsRedraw().
|
||||
- Take advantage of ProcessTransients(), which reconstructs that part of
|
||||
the graphical database for transient objects, e.g., trajectories,
|
||||
without reconstructing the "permanent" (run-duration) objects, e.g.,
|
||||
the detector. In other words, something short of a complete "kernel
|
||||
visit". For example, if the time window changes.
|
||||
- Maximises the efficiency of the recently implemented "generic" time
|
||||
windowing.
|
||||
|
||||
## 2025-02-13 John Allison (visQt3D-V11-03-01)
|
||||
- G4Qt3DViewer.cc: CompareForKernelVisit:
|
||||
- Cause kernel visit if viewer start/end time changes.
|
||||
- This is to take advantage of the new generic time window - modeling-V11-03-04.
|
||||
|
||||
## 2025-01-06 John Allison (visQt3D-V11-03-00)
|
||||
- Co-works: visman-V11-03-00, interfaces-V11-03-00, modeling-V11-03-00,
|
||||
opengl-V11-03-00, vis_toolssg-V11-03-00, openinventor-V11-03-00,
|
||||
greps-V11-03-00.
|
||||
- Re-instate the transparency slider (see lengthy explanation in management/History).
|
||||
- G4Qt3DViewer:
|
||||
- Initiate kernel visit if TransparencyByDepth or its options change.
|
||||
|
||||
## 2024-08-14 John Allison (visQt3D-V11-02-03)
|
||||
- G4Qt3DViewer:
|
||||
- Resolve the timing issues around switching to the vis sub-thread with the
|
||||
|
||||
@@ -57,6 +57,7 @@ protected:
|
||||
|
||||
void KernelVisitDecision ();
|
||||
G4bool CompareForKernelVisit(G4ViewParameters&);
|
||||
G4bool CompareForTransientsRedraw(G4ViewParameters&);
|
||||
|
||||
void keyPressEvent (QKeyEvent*);
|
||||
void keyReleaseEvent (QKeyEvent*);
|
||||
|
||||
@@ -144,15 +144,20 @@ void G4Qt3DViewer::DrawView()
|
||||
// if necessary...
|
||||
if (!fNeedKernelVisit) KernelVisitDecision();
|
||||
G4bool kernelVisitWasNeeded = fNeedKernelVisit; // Keep (ProcessView resets).
|
||||
fLastVP = fVP;
|
||||
|
||||
ProcessView (); // Clears store and processes scene only if necessary.
|
||||
|
||||
if (kernelVisitWasNeeded) {
|
||||
// We might need to do something if the kernel was visited.
|
||||
} else {
|
||||
} else { // Or even if it was not!
|
||||
if (!fTransientsNeedRedrawing) CompareForTransientsRedraw(fLastVP);
|
||||
if (fTransientsNeedRedrawing) {
|
||||
ProcessTransients();
|
||||
}
|
||||
}
|
||||
|
||||
fLastVP = fVP;
|
||||
|
||||
// ...before finally...
|
||||
FinishView (); // Flush streams and/or swap buffers.
|
||||
}
|
||||
@@ -319,16 +324,14 @@ G4bool G4Qt3DViewer::CompareForKernelVisit(G4ViewParameters& vp)
|
||||
fVP.GetDefaultTextVisAttributes()->GetColour()) ||
|
||||
(vp.GetBackgroundColour ()!= fVP.GetBackgroundColour ())||
|
||||
(vp.IsPicking () != fVP.IsPicking ()) ||
|
||||
// Scaling for Open Inventor is done by the scene handler so it
|
||||
// Scaling for Qt3D is done by the scene handler (is it really????) so it
|
||||
// needs a kernel visit. (In this respect, it differs from the
|
||||
// OpenGL drivers, where it's done in SetView.)
|
||||
(vp.GetScaleFactor () != fVP.GetScaleFactor ()) ||
|
||||
(vp.GetVisAttributesModifiers() !=
|
||||
fVP.GetVisAttributesModifiers()) ||
|
||||
(vp.IsSpecialMeshRendering() !=
|
||||
fVP.IsSpecialMeshRendering()) ||
|
||||
(vp.GetSpecialMeshRenderingOption() !=
|
||||
fVP.GetSpecialMeshRenderingOption())
|
||||
(vp.GetVisAttributesModifiers() != fVP.GetVisAttributesModifiers()) ||
|
||||
(vp.IsSpecialMeshRendering() != fVP.IsSpecialMeshRendering()) ||
|
||||
(vp.GetSpecialMeshRenderingOption()!= fVP.GetSpecialMeshRenderingOption())||
|
||||
(vp.GetTransparencyByDepth() != fVP.GetTransparencyByDepth())
|
||||
)
|
||||
return true;
|
||||
|
||||
@@ -362,6 +365,18 @@ G4bool G4Qt3DViewer::CompareForKernelVisit(G4ViewParameters& vp)
|
||||
(vp.GetSpecialMeshVolumes() != fVP.GetSpecialMeshVolumes()))
|
||||
return true;
|
||||
|
||||
if (vp.GetTransparencyByDepth() > 0. &&
|
||||
vp.GetTransparencyByDepthOption() != fVP.GetTransparencyByDepthOption())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
G4bool G4Qt3DViewer::CompareForTransientsRedraw(G4ViewParameters& vp)
|
||||
{
|
||||
if (vp.GetTimeParameters() != fVP.GetTimeParameters()) {
|
||||
return fTransientsNeedRedrawing = true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user