Import Geant4 8.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:44:26 +02:00
parent 8a51e0bc40
commit 216a75eeb1
8717 changed files with 360418 additions and 141343 deletions
+21 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.20 2005/10/13 17:19:55 allison Exp $
$Id: History,v 1.25 2006/06/12 08:24:09 allison Exp $
-------------------------------------------------------------------
=========================================================
@@ -20,6 +20,26 @@ committal in the CVS repository !
History file for visualization/FukuiRenderer sub-category
---------------------------------------------------------
12th June 2006 John Allison (DAWN-V08-00-04)
- Fixed rewind problem:
o G4FRofstream.hh: Removed rewind (badly implemented).
o G4DAWNFILEViewer.cc: ClearView closes and re-opens file.
- G4DAWNFILESceneHandler.cc: Fixed file closure on exit:
2nd June 2006 John Allison (DAWN-V08-00-03)
- G4DAWNFILESceneHandler.cc: Close file in destructor if required.
- G4FRSceneFunc.icc: Improve behaviour when no model exists.
4th May 2006 John Allison (DAWN-V08-00-02)
- Improved protection for null models and parameters.
19th April 2006 John Allison (DAWN-V08-00-01)
- G4FRSceneFunc.icc: Migrated to direct access to G4PhysicalVolumeModel.
23rd January 2006 John Allison (DAWN-V08-00-00)
- Implemented G4FRofstream::Rewind. Used in ClearView. Avoids
duplicate geomtries in output file.
13th October 2005 John Allison (DAWN-V07-01-00)
- Migrated to <sstream>.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4DAWNFILE.hh,v 1.8 2001/07/27 22:32:55 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4DAWNFILE.hh,v 1.9 2006/06/29 21:16:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA
// DAWNFILE driver factory.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4DAWNFILESceneHandler.hh,v 1.14 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4DAWNFILESceneHandler.hh,v 1.16 2006/06/29 21:16:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA
@@ -44,6 +47,8 @@ class G4DAWNFILE;
//-----
class G4DAWNFILESceneHandler: public G4VSceneHandler {
friend class G4DAWNFILEViewer;
public:
//----- constructor and destructor
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4DAWNFILEViewer.hh,v 1.9 2003/06/16 17:13:27 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4DAWNFILEViewer.hh,v 1.10 2006/06/29 21:16:32 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA
// DAWNFILE viewer - opens window, hard copy, etc.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FRClientServer.hh,v 1.6 2001/07/11 10:08:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FRClientServer.hh,v 1.7 2006/06/29 21:16:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA, Wed Jul 3 14:13:52 JST 1996
////////////////////////////////
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FRConst.hh,v 1.6 2001/07/11 10:08:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FRConst.hh,v 1.7 2006/06/29 21:16:36 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA, Tue Jul 2 15:30:49 JST 1996
///////////////////////////////////
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FRFeatures.hh,v 1.5 2001/07/11 10:08:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FRFeatures.hh,v 1.6 2006/06/29 21:16:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
#if !defined G4_FR_FEATURES_HH
#define G4_FR_FEATURES_HH
@@ -1,30 +1,34 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FRSceneFunc.icc,v 1.10 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FRSceneFunc.icc,v 1.14 2006/06/29 21:16:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
#include "G4PhysicalVolumeModel.hh"
#include "G4LogicalVolume.hh"
//========== AddPrimitive() functions ==========//
@@ -307,10 +311,12 @@ void G4FRSCENEHANDLER::AddPrimitive ( const G4Polyhedron& polyhedron )
default:
G4cerr <<
"ERROR G4FRSCENEHANDLER::AddPrimitive(G4Polyhedron)\n";
if (fpCurrentPV) G4cerr <<
"Volume " << fpCurrentPV->GetName() <<
", Solid " << fpCurrentLV->GetSolid()->GetName() <<
" (" << fpCurrentLV->GetSolid()->GetEntityType();
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
if (pPVModel) G4cerr <<
"Volume " << pPVModel->GetCurrentPV()->GetName() <<
", Solid " << pPVModel->GetCurrentLV()->GetSolid()->GetName() <<
" (" << pPVModel->GetCurrentLV()->GetSolid()->GetEntityType();
G4cerr <<
"\nG4Polyhedron facet with " << i << " edges" << G4endl;
}
@@ -335,15 +341,15 @@ void G4FRSCENEHANDLER::SendNdiv ( void )
G4int num_division = FR_DEFALUT_NDIV_VALUE ;
//----- number used for dividing a curved surface, Ndiv
if ( GetModel() ) {
num_division = GetModel()->GetModelingParameters()->GetNoOfSides();
} else {
// if ( GetModel() ) { ?? Why test for model. Can be zero. JA ??
num_division = fpViewer->GetViewParameters().GetNoOfSides();
// } else {
#if defined DEBUG_FR_SCENE
G4cerr << "WARNING: GetNoOfSides() failed. " ;
G4cerr << "The default value " << num_division ;
G4cerr << " is assigned." << G4endl;
#endif
}
//}
//---------- Error recovery for too small Ndiv
num_division = ( num_division < 3 ? 3 : num_division );
@@ -994,11 +1000,15 @@ void G4FRSCENEHANDLER::SendPhysVolName ( void )
const G4VModel* pv_model = GetModel();
if (!pv_model) { return ; }
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
if (!pPVModel) { return ; }
// Current Physical volume name
G4String pv_name = pv_model->GetCurrentTag() ;
G4String pv_name = pPVModel->GetCurrentTag() ;
// Current depth of volume
G4int& cur_depth = fCurrentDepth;
G4int cur_depth = pPVModel->GetCurrentDepth() ;
// Make a string to be sent
// e.g. experimental_Hall.1, where "1" is the copy number
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FRofstream.hh,v 1.6 2003/06/16 17:13:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FRofstream.hh,v 1.9 2006/06/29 21:16:42 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
#include <fstream>
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FukuiRenderer.hh,v 1.7 2001/07/11 10:08:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FukuiRenderer.hh,v 1.8 2006/06/29 21:16:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Satoshi TANAKA
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FukuiRendererSceneHandler.hh,v 1.14 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FukuiRendererSceneHandler.hh,v 1.15 2006/06/29 21:16:46 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Satoshi TANAKA, Fri Jun 28 11:19:19 JST 1996
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FukuiRendererViewer.hh,v 1.7 2001/07/11 10:08:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FukuiRendererViewer.hh,v 1.8 2006/06/29 21:16:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Satoshi TANAKA, Fri Jun 28 12:10:14 JST 1996
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4DAWNFILE.cc,v 1.10 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4DAWNFILE.cc,v 1.11 2006/06/29 21:16:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA
// DAWNFILE factory.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4DAWNFILESceneHandler.cc,v 1.14 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4DAWNFILESceneHandler.cc,v 1.18 2006/06/29 21:16:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA
// DAWNFILE scene.
@@ -58,7 +61,6 @@
#include "G4Text.hh"
#include "G4Circle.hh"
#include "G4Square.hh"
#include "G4ModelingParameters.hh"
#include "G4VPhysicalVolume.hh"
//----- constants
@@ -127,8 +129,14 @@ G4DAWNFILESceneHandler::~G4DAWNFILESceneHandler ()
#if defined DEBUG_FR_SCENE
G4cerr << "***** ~G4DAWNFILESceneHandler" << G4endl;
#endif
if (fPrimDest.IsOpen())
{
//----- End of modeling
// !EndModeling, !DrawAll, !CloseDevice,
// close g4.prim
FREndModeling();
}
ClearStore (); // clear current scene
}
//-----
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4DAWNFILEViewer.cc,v 1.17 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4DAWNFILEViewer.cc,v 1.20 2006/06/29 21:16:54 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA
// DAWNFILE view - opens window, hard copy, etc.
@@ -111,7 +114,14 @@ G4DAWNFILEViewer::ClearView( void )
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4DAWNFILEViewer::ClearView (): No effects " << G4endl;
#endif
if (fSceneHandler.fPrimDest.IsOpen()) {
fSceneHandler.fPrimDest.Close();
// Re-open with same filename...
fSceneHandler.fPrimDest.Open(fSceneHandler.fG4PrimFileName);
fSceneHandler.SendStr( FR_G4_PRIM_HEADER );
fSceneHandler.FRflag_in_modeling = false;
fSceneHandler.FRBeginModeling();
}
}
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FRClientServer.cc,v 1.5 2001/07/11 10:08:45 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FRClientServer.cc,v 1.6 2006/06/29 21:16:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// Satoshi TANAKA, Wed Jul 3 14:14:29 JST 1996
////////////////////////////////
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FukuiRenderer.cc,v 1.8 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FukuiRenderer.cc,v 1.9 2006/06/29 21:16:58 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Satoshi TANAKA
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FukuiRendererSceneHandler.cc,v 1.12 2005/10/13 17:19:55 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FukuiRendererSceneHandler.cc,v 1.14 2006/06/29 21:17:00 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Satoshi TANAKA, Fri Jun 28 11:34:24 JST 1996
@@ -63,7 +66,6 @@
#include "G4Text.hh"
#include "G4Circle.hh"
#include "G4Square.hh"
#include "G4ModelingParameters.hh"
#include "G4VPhysicalVolume.hh"
//----- constants
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4FukuiRendererViewer.cc,v 1.10 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4FukuiRendererViewer.cc,v 1.11 2006/06/29 21:17:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Satoshi TANAKA, Fri Jun 28 12:09:11 JST 1996
+3 -12
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.23 2005/06/28 08:47:50 gcosmo Exp $
# $Id: GNUmakefile,v 1.24 2006/05/22 08:54:13 allison Exp $
name := G4visHepRep
@@ -10,9 +10,8 @@ GLOBLIBS = libG4vis_management.lib libG4modeling.lib
ifdef G4LIB_BUILD_ZLIB
GLOBLIBS += libG4zlib.lib
endif
GLOBLIBS += libG4run.lib libG4event.lib
GLOBLIBS += libG4tracking.lib libG4processes.lib libG4digits_hits.lib
GLOBLIBS += libG4track.lib libG4particles.lib libG4geometry.lib
GLOBLIBS += libG4tracking.lib libG4digits_hits.lib
GLOBLIBS += libG4geometry.lib
GLOBLIBS += libG4materials.lib libG4graphics_reps.lib
GLOBLIBS += libG4intercoms.lib libG4global.lib
@@ -29,24 +28,16 @@ else
CPPFLAGS += -DCHEPREP_NO_ZLIB
endif
CPPFLAGS += -I$(G4BASE)/event/include
CPPFLAGS += -I$(G4BASE)/track/include
CPPFLAGS += -I$(G4BASE)/run/include
CPPFLAGS += -I$(G4BASE)/digits_hits/hits/include
CPPFLAGS += -I$(G4BASE)/particles/management/include
CPPFLAGS += -I$(G4BASE)/tracking/include
CPPFLAGS += -I$(G4BASE)/visualization/management/include
CPPFLAGS += -I$(G4BASE)/visualization/modeling/include
CPPFLAGS += -I$(G4BASE)/global/management/include
CPPFLAGS += -I$(G4BASE)/global/HEPRandom/include
CPPFLAGS += -I$(G4BASE)/global/HEPGeometry/include
CPPFLAGS += -I$(G4BASE)/graphics_reps/include
CPPFLAGS += -I$(G4BASE)/intercoms/include
CPPFLAGS += -I$(G4BASE)/processes/management/include
CPPFLAGS += -I$(G4BASE)/geometry/management/include
CPPFLAGS += -I$(G4BASE)/geometry/navigation/include
CPPFLAGS += -I$(G4BASE)/geometry/solids/CSG/include
CPPFLAGS += -I$(G4BASE)/geometry/volumes/include
CPPFLAGS += -I$(G4BASE)/geometry/solids/specific/include
CPPFLAGS += -I$(G4BASE)/materials/include
+35 -1
View File
@@ -1,4 +1,4 @@
.$Id: History,v 1.103 2005/10/31 18:52:59 duns Exp $
.$Id: History,v 1.117 2006/06/05 07:58:10 perl Exp $
-------------------------------------------------------------------
=========================================================
@@ -19,6 +19,40 @@ committal in the CVS repository !
History file for visualization/HepRep sub-category
--------------------------------------------------
4 June 2006 Joseph Perl (vis-HepRep-V08-00-04)
- G4HepRepFileSceneHandler: Bring trajectory points under control of filtering.
- G4HepRepFileSceneHandler: Correct direction of G4Cons and G4Tubs.
- G4HepRepFileSceneHandler: Use GetMarkerSize for marks and text.
- G4HepRepFileSceneHandler: Apply correct units for Density and Radlen.
- G4HepRepFileSceneHandler: Use BeginPrimitives2D and EndPrimitives2D to be able to cleanly
reject cases that don't apply to HepRep: 3D text and 2D lines and markers.
- G4HepRepFileSceneHandler: Improve handling for case of culled volumes.
2 June 2006 Joseph Perl (vis-HepRep-V08-00-03)
- G4HepRepFileSceneHandler: Support 2D Text.
- G4HepRepFileSceneHandler: Avoid creating Traj or Hit instances if they
have no primitives due to filtering.
- G4HepRepFileSceneHandler: Assign Hits to various HepRepTypes depending on
attribute HitType.
- G4HepRepFileSceneHandler: Support G4VisTrajContext.
- G4HepRepFileSceneHandler: Include G4Version attribute in HepRep file.
- G4HepRepFileSceneHandler: Handle Axes and other primitives that are neither
transients nor geometry.
- G4HepRepFileViewer: Call ShowView from destructor to assure file is
properly terminated.
22nd May 2006 John Allison (vis-HepRep-V08-00-02)
- Removed dependency on Run. (G4HepRepSceneHandler.cc: Version string
now obtained directly from G4Version.hh.)
4th May 2006 John Allison (vis-HepRep-V08-00-01)
- Improved protection for null models and parameters.
19 April 2006 John Allison (vis-HepRep-V08-00-00)
- G4HepRepSceneHandler and G4HepRepFileSceneHandler: Migrated to direct
access to G4PhysicalVolumeModel.
31 October 2005 Mark Donszelmann (vis-HepRep-V07-01-04)
- Further fix for GEANT-61.
+16 -13
View File
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRep.hh,v 1.16 2003/12/11 21:55:54 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRep.hh,v 1.17 2006/06/29 21:17:04 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
/**
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4HepRepFile.hh,v 1.7 2003/07/12 19:48:15 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepFile.hh,v 1.8 2006/06/29 21:17:06 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// John Allison 5th April 2001
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4HepRepFileSceneHandler.hh,v 1.22 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepFileSceneHandler.hh,v 1.29 2006/06/29 21:17:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Joseph Perl 27th January 2002
@@ -52,6 +55,7 @@
class G4VPhysicalVolume;
class G4LogicalVolume;
class G4ModelingParameters;
class G4VisTrajContext;
class G4HepRepFileSceneHandler: public G4VSceneHandler {
@@ -74,7 +78,9 @@ public:
void AddSolid(const G4Polyhedra&);
void AddSolid(const G4VSolid&);
void AddCompound (const G4VTrajectory&);
void InitTrajectory();
void AddCompound (const G4VHit&);
void InitHit();
// void PreAddSolid(const G4Transform3D& objectTransformation,
// const G4VisAttributes&);
// void PostAddSolid();
@@ -107,6 +113,9 @@ public:
void BeginModeling();
void EndModeling();
void BeginPrimitives2D();
void EndPrimitives2D();
//////////////////////////////////////////////////////////////
// Administration functions.
@@ -133,9 +142,22 @@ private:
G4bool fileOverwrite;
G4bool cullInvisibleObjects;
G4bool haveVisible;
G4bool inPrimitives2D;
G4bool warnedAbout3DText;
G4bool warnedAbout2DMarkers;
G4bool drawingTraj;
G4bool doneInitTraj;
G4bool drawTrajPts;
G4bool drawingHit;
G4bool doneInitHit;
const G4VisTrajContext* trajContext;
std::vector<G4AttValue>* trajAttValues;
std::map<G4String,G4AttDef>* trajAttDefs;
std::vector<G4AttValue>* hitAttValues;
std::map<G4String,G4AttDef>* hitAttDefs;
#ifdef G4HEPREPFILEDEBUG
void PrintThings();
#endif
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4HepRepFileViewer.hh,v 1.8 2003/07/12 19:48:15 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepFileViewer.hh,v 1.9 2006/06/29 21:17:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// John Allison 5th April 2001
@@ -1,29 +1,32 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//--------------------------------------------------------------------------
// File and Version Information:
// $Id: G4HepRepFileXMLWriter.hh,v 1.1 2003/07/12 19:48:15 duns Exp $
// $Id: G4HepRepFileXMLWriter.hh,v 1.2 2006/06/29 21:17:12 gunter Exp $
//
// Description:
// Create a HepRep XML File (HepRep version 1).
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRepMessenger.hh,v 1.6 2005/06/02 19:15:21 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepMessenger.hh,v 1.7 2006/06/29 21:17:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
#ifndef G4HepRepMessenger_HH
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRepSceneHandler.hh,v 1.40 2005/06/02 23:40:49 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepSceneHandler.hh,v 1.41 2006/06/29 21:17:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
/**
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRepViewer.hh,v 1.17 2004/05/27 05:55:20 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepViewer.hh,v 1.18 2006/06/29 21:17:18 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
/**
@@ -52,28 +52,28 @@ public:
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return rho = sqrt(dx2+dy2);
* @return rho = std::sqrt(dx2+dy2);
*/
virtual double getRho() = 0;
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return phi = atan2(dy, dx);
* @return phi = std::atan2(dy, dx);
*/
virtual double getPhi() = 0;
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return theta = atan2(rho, dx);
* @return theta = std::atan2(rho, dx);
*/
virtual double getTheta() = 0;
/**
* Returns coordinate with respect to vertex at (0, 0, 0).
*
* @return r = sqrt(dx2+dy2+dz2);
* @return r = std::sqrt(dx2+dy2+dz2);
*/
virtual double getR() = 0;
@@ -108,28 +108,28 @@ public:
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @return rho = sqrt(dx2+dy2);
* @return rho = std::sqrt(dx2+dy2);
*/
virtual double getRho(double xVertex, double yVertex, double zVertex) = 0;
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @return phi = atan2(dy, dx);
* @return phi = std::atan2(dy, dx);
*/
virtual double getPhi(double xVertex, double yVertex, double zVertex) = 0;
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @return theta = atan2(rho, dx);
* @return theta = std::atan2(rho, dx);
*/
virtual double getTheta(double xVertex, double yVertex, double zVertex) = 0;
/**
* Returns coordinate with respect to vertex at (xVertex, yVertex, zVertex).
*
* @return r = sqrt(dx2+dy2+dz2);
* @return r = std::sqrt(dx2+dy2+dz2);
*/
virtual double getR(double xVertex, double yVertex, double zVertex) = 0;
+16 -13
View File
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRep.cc,v 1.21 2004/05/27 05:55:20 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRep.cc,v 1.22 2006/06/29 21:17:20 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
/**
+16 -13
View File
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRepFile.cc,v 1.9 2005/06/01 06:50:15 perl Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepFile.cc,v 1.10 2006/06/29 21:17:22 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Joseph Perl 1 October 2001
File diff suppressed because it is too large Load Diff
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRepFileViewer.cc,v 1.13 2005/10/13 17:23:42 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepFileViewer.cc,v 1.15 2006/06/29 21:17:26 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
#include "G4HepRepFileViewer.hh"
@@ -41,7 +44,9 @@ G4HepRepFileViewer::G4HepRepFileViewer
fDefaultVP.SetCulling(false);
}
G4HepRepFileViewer::~G4HepRepFileViewer() {}
G4HepRepFileViewer::~G4HepRepFileViewer() {
ShowView ();
}
void G4HepRepFileViewer::SetView() {
#ifdef G4HEPREPFILEDEBUG
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//--------------------------------------------------------------------------
// File and Version Information:
// $Id: G4HepRepFileXMLWriter.cc,v 1.2 2005/05/28 18:13:23 perl Exp $
// $Id: G4HepRepFileXMLWriter.cc,v 1.3 2006/06/29 21:17:28 gunter Exp $
//
// Description:
// Create a HepRep XML File (HepRep version 1).
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRepMessenger.cc,v 1.9 2005/06/03 00:03:36 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepMessenger.cc,v 1.10 2006/06/29 21:17:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
#include "G4HepRepMessenger.hh"
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRepSceneHandler.cc,v 1.94 2005/10/29 21:07:46 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepSceneHandler.cc,v 1.97 2006/06/29 21:17:32 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
/**
@@ -44,7 +47,7 @@
//G4
#include "G4Vector3D.hh"
#include "G4RunManagerKernel.hh"
#include "G4Version.hh"
#include "G4Types.hh"
#include "G4Point3D.hh"
#include "G4Normal3D.hh"
@@ -549,20 +552,30 @@ void G4HepRepSceneHandler::AddSolid(const G4Cons& cons) {
return;
}
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
if (!pPVModel) {
G4VSceneHandler::AddSolid(cons);
return;
}
G4LogicalVolume* pCurrentLV = pPVModel->GetCurrentLV();
G4int currentDepth = pPVModel->GetCurrentDepth();
G4Point3D vertex1(G4Point3D( 0., 0., cons.GetZHalfLength()));
G4Point3D vertex2(G4Point3D( 0., 0.,-cons.GetZHalfLength()));
vertex1 = (transform) * vertex1;
vertex2 = (transform) * vertex2;
HepRepInstance* instance = getGeometryInstance(fpCurrentLV, fCurrentDepth);
HepRepInstance* instance = getGeometryInstance(pCurrentLV, currentDepth);
setAttribute(instance, "DrawAs", G4String("Cylinder"));
setVisibility(instance, cons);
setLine(instance, cons);
setColor(instance, getColorFor(cons));
HepRepType* type = getGeometryType(fpCurrentLV->GetName(), fCurrentDepth);
HepRepType* type = getGeometryType(pCurrentLV->GetName(), currentDepth);
// Outer cylinder.
HepRepInstance* outer = factory->createHepRepInstance(instance, type);
@@ -600,20 +613,30 @@ void G4HepRepSceneHandler::AddSolid(const G4Tubs& tubs) {
return;
}
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
if (!pPVModel) {
G4VSceneHandler::AddSolid(tubs);
return;
}
G4LogicalVolume* pCurrentLV = pPVModel->GetCurrentLV();
G4int currentDepth = pPVModel->GetCurrentDepth();
G4Point3D vertex1(G4Point3D( 0., 0., tubs.GetZHalfLength()));
G4Point3D vertex2(G4Point3D( 0., 0.,-tubs.GetZHalfLength()));
vertex1 = (transform) * vertex1;
vertex2 = (transform) * vertex2;
HepRepInstance* instance = getGeometryInstance(fpCurrentLV, fCurrentDepth);
HepRepInstance* instance = getGeometryInstance(pCurrentLV, currentDepth);
setAttribute(instance, "DrawAs", G4String("Cylinder"));
setVisibility(instance, tubs);
setLine(instance, tubs);
setColor(instance, getColorFor(tubs));
HepRepType* type = getGeometryType(fpCurrentLV->GetName(), fCurrentDepth);
HepRepType* type = getGeometryType(pCurrentLV->GetName(), currentDepth);
// Outer cylinder.
HepRepInstance* outer = factory->createHepRepInstance(instance, type);
@@ -829,13 +852,18 @@ void G4HepRepSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) {
setVisibility(instance, polyhedron);
G4int currentDepth = 0;
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
if (pPVModel) currentDepth = pPVModel->GetCurrentDepth();
G4bool notLastFace;
do {
HepRepInstance* face;
if (isEventData()) {
face = factory->createHepRepInstance(instance, getCalHitFaceType());
} else {
face = getGeometryInstance("*Face", fCurrentDepth+1);
face = getGeometryInstance("*Face", currentDepth+1);
setAttribute(face, "PickParent", true);
setAttribute(face, "DrawAs", G4String("Polygon"));
}
@@ -1299,7 +1327,9 @@ void G4HepRepSceneHandler::addAttVals(HepRepAttribute* attribute, const map<G4St
bool G4HepRepSceneHandler::isEventData () {
return !fpCurrentPV || fReadyForTransients || currentHit || currentTrack;
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
return !pPVModel || fReadyForTransients || currentHit || currentTrack;
}
void G4HepRepSceneHandler::addTopLevelAttributes(HepRepType* type) {
@@ -1309,7 +1339,10 @@ void G4HepRepSceneHandler::addTopLevelAttributes(HepRepType* type) {
type->addAttValue("Generator", G4String("Geant4"));
type->addAttDef( "GeneratorVersion", "Version of the Generator", "General", "");
type->addAttValue("GeneratorVersion", G4RunManagerKernel::GetRunManagerKernel()->GetVersionString());
G4String versionString = G4Version;
versionString = versionString.substr(1,versionString.size()-2);
versionString = " Geant4 version " + versionString + " " + G4Date;
type->addAttValue("GeneratorVersion", versionString);
const G4ViewParameters parameters = GetCurrentViewer()->GetViewParameters();
const G4Vector3D& viewPointDirection = parameters.GetViewpointDirection();
@@ -1344,8 +1377,15 @@ void G4HepRepSceneHandler::addTopLevelAttributes(HepRepType* type) {
HepRepInstance* G4HepRepSceneHandler::getGeometryOrEventInstance(HepRepType* type) {
return isEventData() ? factory->createHepRepInstance(getEventInstance(), type)
: getGeometryInstance(fpCurrentLV, fCurrentDepth);
if (isEventData()) {
return factory->createHepRepInstance(getEventInstance(), type);
} else {
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
G4LogicalVolume* pCurrentLV = pPVModel->GetCurrentLV();
G4int currentDepth = pPVModel->GetCurrentDepth();
return getGeometryInstance(pCurrentLV, currentDepth);
}
}
HepRep* G4HepRepSceneHandler::getHepRep() {
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HepRepViewer.cc,v 1.25 2004/05/27 05:59:08 duns Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4HepRepViewer.cc,v 1.26 2006/06/29 21:17:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
/**
+260 -5
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.319 2005/12/05 06:43:50 perl Exp $
$Id: History,v 1.361 2006/06/12 08:35:10 allison Exp $
-------------------------------------------------------------------
=========================================================
@@ -23,6 +23,261 @@ committal in the CVS repository !
History file for visualization category
---------------------------------------
---------------------------------------------
12th June 2006 John Allison (vis-V08-00-13)
- DAWN-V08-00-04: Fixed rewind and file closure on exit.
- VRML-V08-00-02: Fixed rewind and file closure on exit.
------------------------------------------
8th June 2006 John Allison (vis-V08-00-12)
- visman-V08-00-23: Fixed bug in /vis/scene/endOfRunAction.
-------------------------------------------
7th June 2006 John Allison (vis-V08-00-11)
- modeling-V08-00-14: Added protection for zero vis atts.
- visman-V08-00-22: Zeroed modeling parameters pointer after use.
-------------------------------------------
6th June 2006 John Allison (vis-V08-00-10)
- modeling-V08-00-13: Fixes for Sun and bug fix in G4PhysicalVolumeModel.
- visman-V08-00-21: /vis/viewer/create: Fixed view params copy to self.
------------------------------------------
4th June 2005 Joseph Perl (vis-V08-00-09)
- Global tag for Geant4 release 8.1
- Corresponds to the following subdirectory tags:
- DAWN-V08-00-03
- vis-HepRep-V08-00-04
- visman-V08-00-20
- modeling-V08-00-12
- opengl-V08-00-08
- openinventor-V08-00-05
- raytracer-V08-00-04
- vistest-V08-00-08
- vistree-V08-00-04
- VRML-V08-00-01
- visXXX-V08-00-04
2nd June 2006 Joseph Perl
- vis-HepRep-V08-00-03: Improvements to HepRepFile.
2nd June 2006 John Allison
- DAWN-V08-00-03: Handle file closing in DAWNFILE destructor.
- VRML-V08-00-01: Protect zero model pointer.
30th May 2006 Joseph Perl
- opengl-V08-00-08: Fixed buffering problem in Win32.
--------------------------------------------
25th May 2006 John Allison (vis-V08-00-08)
- visman-V08-00-19:
o Changed re-computation of transients default to "off".
o Indent printing of models plus other minor improvements.
- modeling-V08-00-11: Indent printing of models, fix trivial compiler warnings.
- vistest-V08-00-07: Removed standalone - moved to
examples/extended/visualization.
22nd May 2006 John Allison
- modeling-V08-00-10:
o Remove dependency on Run.
o Protect zero pointer in output of G4ModelingParameters.
- visman-V08-00-18:
o Remove G4Scene:Clear(). (Not used.)
o Require Idle state for transient re-computation.
o Reduce dependency on Run. (Still used for transient re-computation.)
o /vis/.../list commands: Default verbosity changed to "warnings".
- vis-HepRep-V08-00-02: Remove dependency on Run.
--------------------------------------------
12th May 2006 John Allison (vis-V08-00-07)
- Needs run-V08-00-02 and event-V08-00-03.
- Main features:
o Protect against non-instantiation of run manager.
o Final refinements for re-computation of transients.
o G4OpenGLWin32Viewer: Fixed buffer swapping behaviour.
- visman-V08-00-16:
o Added /vis/list and /vis/scene/add/eventID.
o Final refinements for event/run reprocessing (re-computation of
transients).
- modeling-V08-00-09:
o Removed dependency on G4RunManager.
o G4CallbackModel: Added G4VGraphicsScene argument to operator().
- opengl-V08-00-06: G4OpenGLWin32Viewer: Fixed buffer swapping behaviour.
- raytracer-V08-00-04: SetRecomputeTransients(false).
- raytracer-V08-00-03: Moved G4RayShooter class to Event category.
- vistest-V08-00-06: Uses /vis/scene/add/eventID.
----------------------------------------------
21st April 2006 John Allison (vis-V08-00-06)
- Main features:
o Improved protection for null models and parameters.
o Improved trajectory drawing.
o Improved re-computation of transients in OpenGL.
- modeling-V08-00-08:
o Improved protection for null models and parameters.
o Add context to trajectory drawers.
o Add generic drawer, G4TrajectoryGenericDrawer.
- visman-V08-00-15: Improved protection for null models and parameters.
- DAWN-V08-00-02: Improved protection for null models and parameters.
- vis-HepRep-V08-00-01: Improved protection for null models and parameters.
- raytracer-V08-00-02):
o Relies on improved protection for null models and parameters.
- vistree-V08-00-04: Improved protection for null models and parameters.
- visXXX-V08-00-04: Improved protection for null models and parameters.
- vistest-V08-00-05: Tidied.
28th April 2006 John Allison
- Co-working tags:
o opengl-V08-00-05: Fixes re-computation of transients in stored viewers.
o visman-V08-00-14: Includes changes that improve behaviour of
double buffered and interactive viewers when recomputing
transients.
----------------------------------------------
24th April 2006 John Allison (vis-V08-00-05)
- visman-V08-00-13:
o Fix bug #861.
o Print available models on initialisation.
- modeling-V08-00-07:
o Add Print method to G4VModelFactory.
o Fix warnings on Linux.
- opengl-V08-00-04: Fixed compilation problem on Windows.
---------------------------------------------------------------------
19th April 2006 John Allison (vis-V08-00-04 - needs greps-V08-00-02)
- Main features:
o Implementation of 2D text in base classes and concrete implementation
of same in OpenGL.
o Continued migration to direct access to G4PhysicalVolumeModel.
o Addition of Trajectory Filter Models (Jane Tinslay).
- visman-V08-00-12 (needs greps-V08-00-02):
o Implemented Draw2D(const G4Text&).
o Implemented Begin/EndPrimitives2D.
o Migrated to direct access to G4PhysicalVolumeModel.
o Introduced G4VisFilterManager.hh to manager filtering
- modeling-V08-00-06:
o Upgrade to greps-V08-00-02 and minor improvements.
o Added G4TrajectoryFilterFactories and G4TrajectoryParticleFilter
- DAWN-V08-00-01: Migrated to direct access to G4PhysicalVolumeModel.
- vis-HepRep-V08-00-00: Migrated to direct access to G4PhysicalVolumeModel.
- opengl-V08-00-03:
o Implemented Begin/EndPrimitives2D.
o Migrated to direct access to G4PhysicalVolumeModel.
- vistree-V08-00-03:
o G4GAGTreeSceneHandler: Migration to direct access to G4PhysicalVolumeModel.
- visXXX-V08-00-03: Improvement of legibility.
- openinventor-V08-00-04: Use cmath instead of math.h.
- vistest-V08-00-04: Added drawing of 2D text.
----------------------------------------------
28th March 2006 John Allison (vis-V08-00-03)
- visman-V08-00-11:
o Introduces trajectory drawing manager.
o G4VisExecutive: Adds G4TrajectoryDrawByOriginVolumeFactory.
o Corrects logic of transients re-computation:
o Unifies treatment of bools in commands.
- modeling-V08-00-05:
o Introduces G4TrajectoryDrawByOriginVolume.
o Part migration away from EstablishSpecials mechanism.
- vistree-V08-00-02 (needs modeling-V08-00-05):
o Made compatible with modeling-V08-00-05.
o Migration away from EstablishSpecials mechanism.
- openinventor-V08-00-03: Much improvement in logic.
- visXXX-V08-00-02: Added G4XXXFile, G4XXXStored, G4XXXSG.
- vistest-V08-00-03: Modernised and improved.
----------------------------------------------
14th March 2006 John Allison (vis-V08-00-02)
- opengl-V08-00-02: Refinement of display list handling.
- vistree-V08-00-01: G4VTree and G4ASCIITree: Minor improvements to
readability of code.
- modeling-V08-00-04: Added output operator<< for PVNodeID.
13th March 2006 John Allison
- visman-V08-00-10: Fixes recomputation of transients when changing drivers.
---------------------------------------------
8th March 2006 John Allison (vis-V08-00-01)
- visman-V08-00-09: Small bug fix to vis-V08-00-00.
6th March 2006 John Allison (vis-V08-00-00)
- Collected tags below. Main features since Release 8.0:
o Added /vis/scene/transientsAction. The default is "rerun", i.e.,
when the viewer requests, the previous event or run will be
processed again with the original random number seed so that
transients (trajectories, hits, user drawing, etc.) are
reconstructed. Thus, transients are "remembered" and may be
copied between graphics systems. Turn off with
"/vis/scene/transientsAction none".
o Introduced /vis/geometry/... for editing vis attributes of
geometry volumes.
o For developers:
* Migration from use of Establish/DecommisionSpecials.
* Drawn path available.
6th March 2006 John Allison
- visman-V08-00-08: Added /vis/scene/transientsAction.
3rd March 2006 John Allison
- vistest-V08-00-02: Added test of transient handling.
16th February 2006 John Allison
- modeling-V08-00-03: For future removal of Establish/DecommisionSpecials.
9th February 2006 John Allison
- visman-V08-00-07: First implementation of refresh end-of-event.
8th February 2006 John Allison
- modeling-V08-00-02: Added DrawingStyle to G4ModelingParameters and fixed
bug in culling of covered daughters
- visman-V08-00-06 (needs modeling-V08-00-02): Made use of
G4ModelingParameters::DrawingStyle.
- vistree-V08-00-00: Fixed bug in treatment of repeated replicas.
- visXXX-V08-00-01: Improved handling of DrawnPVPath.
3rd February 2006 John Allison
- visman-V08-00-05: Introduced /vis/geometry/...
30th January 2006 John Allison
- openinventor-V08-00-01: Implemented drawn volume path.
26th January 2006 John Allison
- raytracer-V08-00-01: Minor improvements.
- vistest-V08-00-01: Improved ray tracer; commented about voxelisation crash.
- modeling-V08-00-01: G4PhysicalVolumeModel: Added drawn volume path
capability.
- visXXX-V08-00-00: Uses drawn volume path. Needs modeling-V08-00-01
and visman-V08-00-04.
- 3 co-working tags due to removal of fModified:
o visman-V08-00-04: Removed fModified plus minor improvements.
o opengl-V08-00-01: Removed fModified plus tidying.
o openinventor-V08-00-00: Removed fModified.
----------------------------------------------------------------------
The tags below since Release 8.0 were collected in geant4-08-00-ref-01
and geant4-08-00-ref-02.
23rd January 2006 John Allison
- DAWN-V08-00-00: Rewind output file in ClearView. Avoids duplicate
geometries in output file.
- VRML-V08-00-00: As above.
11th January 2006 John Allison
- vistest-V08-00-00: Added twisted solids and improved Perspective example.
- visman-V08-00-02: Minor improvements.
- raytracer-V08-00-00: Reorganisation (needs visman-V08-00-02).
- opengl-V08-00-00: Improved efficiency; made G4OpenGLXmViewerMessenger smart.
- modeling-V08-00-00: Changed last remaining G4Transform3D::Identity to
G4Transform3D().
9th January 2006 John Allison
- visman-V08-00-00: geant4-08-00-ref-00 + reversal of change of 22nd
November 2005: fMarkForClearingTransientStore(true) initially now.
- visman-V08-00-01: Improved /vis/scene/notifyHandlers, improved warning
messages and some bug fixes, including visman-V08-00-00.
----------------------------------------------
4th December 2005 Joseph Perl (vis-V07-01-10)
- Global tag for Geant4 release 8.0
- Corresponds to the following subdirectory tags:
@@ -37,7 +292,7 @@ History file for visualization category
- test: vistest-V07-01-04
- Tree: vistree-V07-01-01
- VRML: geant4-07-01-ref-05
- XXX: visXXX-V07-01-02
- XXX: visXXX-V07-01-02
29th November 2005 Jane Tinslay (vis-V07-01-09)
- Make G4VisManager::RegisterModelFactories() non-pure for
@@ -46,7 +301,7 @@ History file for visualization category
when default trajectory model is used.
- Removed names of unused paramaters to stop compiler warnings:
G4VModelCommand.hh, G4ModelCommandsDrawByCharge.cc,
G4ModelCommandsDrawByParticleID.cc, G4VRTScanner.hh
G4ModelCommandsDrawByParticleID.cc, G4VRTScanner.hh
25th November 2005 Joseph Perl (vis-V07-01-08)
- Global tag for Geant4 release 8.0
@@ -62,7 +317,7 @@ History file for visualization category
- test: vistest-V07-01-04
- Tree: vistree-V07-01-01
- VRML: geant4-07-01-ref-05
- XXX: visXXX-V07-01-02
- XXX: visXXX-V07-01-02
22nd November 2005 John Allison
- vistest-V07-01-04: Added G4Tet and PerspectiveVisAction. Refined G4Polyhedra.
@@ -141,7 +396,7 @@ History file for visualization category
opengl-V07-01-05
openinventor-V07-01-02
visXXX-V07-01-00
vis-HepRep-V07-01-01
vis-HepRep-V07-01-01
30th September 2005 Joseph Perl (raytracer-V07-01-03)
New tag to include change Makoto made an hour after V07-01-02 was tagged.
+3 -3
View File
@@ -367,9 +367,9 @@ INPUT = include \
../management/src \
../modeling/include \
../modeling/src \
../../intercoms/include/G4VGraphicsScene.hh \
../../intercoms/include/G4VVisManager.hh \
../../intercoms/src/G4VVisManager.cc
../../graphics_reps/include/G4VGraphicsScene.hh \
../../graphics_reps/include/G4VVisManager.hh \
../../graphics_reps/src/G4VVisManager.cc
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+58 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.59 2005/11/24 10:24:12 allison Exp $
$Id: History,v 1.69 2006/05/31 02:25:23 perl Exp $
-------------------------------------------------------------------
=========================================================
@@ -20,6 +20,63 @@ committal in the CVS repository !
History file for visualization/OpenGL
-------------------------------------
30th May 2006 Joseph Perl (opengl-V08-00-08)
- G4OpenGLImmediateWin32Viewer: Removed tests on doublebuffer since that
variable seems to have random behavior and should be assumed false for
this viewer.
29th May 2006 Joseph Perl (opengl-V08-00-07)
- G4OpenGLWin32Viewer, G4OpenGLImmediateWin32Viewer, G4OpenGLStoredWin32Viewer:
Removed common FinishView and instead made separate FinishView for the two different
versions of this viewer since each wants a different buffer swapping behaviour.
12th May 2006 John Allison (opengl-V08-00-06)
- G4OpenGLWin32Viewer: Fixed buffer swapping behaviour.
28th April 2006 John Allison (opengl-V08-00-05 - needs visman-V08-00-14)
- G4OpenGLStoredX/Xm/Win32Viewer.cc: Fixed buffer swapping problem when
recomputing transients.
24th April 2006 John Allison (opengl-V08-00-04)
- Fixed compilation problem on Windows.
19th April 2006 John Allison (opengl-V08-00-03)
- G4OpenGLSceneHandler, G4OpenGLStoredSceneHandler and
G4OpenGLImmediateSceneHandler:
o Implemented Begin/EndPrimitives2D (needs visman-V08-00-12 and
greps-V08-00-02).
o Migrated to direct access to G4PhysicalVolumeModel.
- G4OpenGLStoredX/Xm/Win32Viewer.cc: bug fix for conditional drawing
of display lists in DrawView.
14th March 2006 John Allison (opengl-V08-00-02)
- Refined display list building and re-drawing algorithm.
o G4OpenGLStoredSceneHandler::EndModeling: Changed to GL_COMPILE_AND_EXECUTE.
o Avoided unnecessary re-execution in DrawView (X, Xm and Win32).
- G4OpenGLStoredSceneHandler::RequestPrimitives: Refined display list
re-use algorithm. In test19 with global culling off, numbers of
display lists used are:
o 191 No re-use:
o 73 Before this change: re-use except replicas (includes parameterised).
o 33 After this change: re-use except parameterised and replicas in radius.
26th January 2006 John Allison (opengl-V08-00-01)
- Coworks with visman-V08-00-04 (removed fModified).
- Removed references to fModified.
- Tidying: Removed unnecessary ClearView.
- G4OpenGLSceneHandler.cc: Added some (commented out) code for
possible future implementation of 2D drawing.
- G4OpenGLXViewer.cc: Improved exception printing.
11th January 2006 John Allison (opengl-V08-00-00)
- Improved efficiency: all DrawView's:
o Don't call ClearView.
o Set flag so SetView will not be called in ProcessView.
o Leave background colour to ClearView.
- Used dynamic_cast<G4OpenGLViewer*>, no need for G4OpenGLViewerDataStore.
- G4OpenGLXmViewerMessenger: Made a smart singleton; interrogates vis manager
for current viewer.
24th November 2005 John Allison (opengl-V07-01-09)
- Protected G4OpenGLXmViewerMessenger with #ifdef G4VIS_BUILD_OPENGLXM_DRIVER.
+16 -13
View File
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4OpenGL.hh,v 1.3 2005/04/17 16:08:43 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGL.hh,v 1.4 2006/06/29 21:17:36 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// G.Barrand.
@@ -1,27 +1,30 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4OpenGLFontBaseStore.hh,v 1.2 2005/05/27 10:56:06 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLFontBaseStore.hh,v 1.3 2006/06/29 21:17:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// J.Allison Apr 2005.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateSceneHandler.hh,v 1.8 2005/09/05 11:02:38 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateSceneHandler.hh,v 1.10 2006/06/29 21:17:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -49,6 +52,8 @@ public:
virtual ~G4OpenGLImmediateSceneHandler ();
void BeginPrimitives (const G4Transform3D& objectTransformation);
void EndPrimitives ();
void BeginPrimitives2D ();
void EndPrimitives2D ();
void BeginModeling ();
void EndModeling ();
void ClearTransientStore ();
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateViewer.hh,v 1.7 2002/10/16 10:44:13 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateViewer.hh,v 1.8 2006/06/29 21:17:42 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateWin32.hh,v 1.6 2002/10/16 10:44:14 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateWin32.hh,v 1.7 2006/06/29 21:17:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// OpenGLImmediateWin32 graphics system factory.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateWin32Viewer.hh,v 1.7 2002/10/16 10:44:14 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateWin32Viewer.hh,v 1.9 2006/06/29 21:17:46 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Class G4OpenGLImmediateWin32Viewer : a class derived from
@@ -49,6 +52,7 @@ public:
const G4String& name = "");
void Initialise ();
void DrawView ();
void FinishView ();
};
#endif
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateX.hh,v 1.6 2001/07/11 10:08:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateX.hh,v 1.7 2006/06/29 21:17:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateXViewer.hh,v 1.7 2001/07/14 21:47:42 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateXViewer.hh,v 1.8 2006/06/29 21:17:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateXm.hh,v 1.6 2001/07/11 10:08:49 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateXm.hh,v 1.7 2006/06/29 21:17:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateXmViewer.hh,v 1.7 2001/07/14 21:47:43 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateXmViewer.hh,v 1.8 2006/06/29 21:17:54 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLSceneHandler.hh,v 1.18 2005/01/27 20:04:52 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLSceneHandler.hh,v 1.19 2006/06/29 21:17:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 27th March 1996
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLSceneHandler.icc,v 1.6 2005/01/27 20:04:55 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLSceneHandler.icc,v 1.7 2006/06/29 21:17:58 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 20th January 1998
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredSceneHandler.hh,v 1.16 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredSceneHandler.hh,v 1.18 2006/06/29 21:18:00 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -51,6 +54,8 @@ public:
virtual ~G4OpenGLStoredSceneHandler ();
void BeginPrimitives (const G4Transform3D& objectTransformation);
void EndPrimitives ();
void BeginPrimitives2D ();
void EndPrimitives2D ();
void BeginModeling ();
void EndModeling ();
private:
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredViewer.hh,v 1.8 2001/08/14 18:03:15 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredViewer.hh,v 1.9 2006/06/29 21:18:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredWin32.hh,v 1.6 2002/10/16 10:44:14 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredWin32.hh,v 1.7 2006/06/29 21:18:04 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// OpenGLStoredWin32 graphics system factory.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredWin32Viewer.hh,v 1.5 2002/10/16 10:44:14 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredWin32Viewer.hh,v 1.7 2006/06/29 21:18:06 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Class G4OpenGLStoredWin32Viewer : a class derived from
@@ -47,6 +50,7 @@ public:
const G4String& name = "");
void Initialise ();
void DrawView ();
void FinishView ();
};
#endif
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredX.hh,v 1.6 2001/07/11 10:08:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredX.hh,v 1.7 2006/06/29 21:18:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredXViewer.hh,v 1.5 2001/07/14 21:47:46 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredXViewer.hh,v 1.6 2006/06/29 21:18:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredXm.hh,v 1.5 2001/07/11 10:08:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredXm.hh,v 1.6 2006/06/29 21:18:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredXmViewer.hh,v 1.5 2001/07/14 21:47:47 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredXmViewer.hh,v 1.6 2006/06/29 21:18:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLTransform3D.hh,v 1.6 2004/04/07 15:17:12 gbarrand Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLTransform3D.hh,v 1.7 2006/06/29 21:18:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 24th October 1996
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLViewer.hh,v 1.11 2005/10/13 17:30:08 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLViewer.hh,v 1.13 2006/06/29 21:18:18 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 27th March 1996
@@ -40,6 +43,10 @@ class G4OpenGLSceneHandler;
// Base class for various OpenGLView classes.
class G4OpenGLViewer: virtual public G4VViewer {
friend class G4OpenGLSceneHandler;
friend class G4OpenGLImmediateSceneHandler;
friend class G4OpenGLStoredSceneHandler;
public:
void ClearView ();
@@ -1,48 +0,0 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4OpenGLViewerDataStore.hh,v 1.1 2005/09/29 14:26:17 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
// J.Allison Apr 2005.
// Class Description:
// Facilitates sharing of fontdat between scene handler and viewers.
#ifndef G4OPENGLVIEWERDATASTORE_HH
#define G4OPENGLVIEWERDATASTORE_HH
#include "globals.hh"
#include <map>
#include <vector>
class G4VViewer;
class G4OpenGLViewerDataStore {
public:
static void SetTransparencyEnabled(G4VViewer*, G4bool transparency_enabled);
static G4bool GetTransparencyEnabled(G4VViewer*);
private:
static std::map<G4VViewer*,G4bool> fTransparencyEnabledMap;
};
#endif
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLWin32Viewer.hh,v 1.11 2003/06/25 09:01:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLWin32Viewer.hh,v 1.13 2006/06/29 21:18:20 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// G4OpenGLWin32Viewer : Class to provide WindowsNT specific
@@ -47,7 +50,6 @@ public:
virtual ~G4OpenGLWin32Viewer ();
void SetView ();
void ShowView ();
void FinishView ();
protected:
void GetWin32Connection ();
void CreateGLWin32Context ();
@@ -55,12 +57,12 @@ protected:
protected:
G4int WinSize_x;
G4int WinSize_y;
HDC fHDC;
private:
static LRESULT CALLBACK WindowProc(HWND,UINT,WPARAM,LPARAM);
static bool SetWindowPixelFormat(HDC);
private:
HWND fWindow;
HDC fHDC;
HGLRC fHGLRC;
};
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXViewer.hh,v 1.22 2005/11/13 15:46:54 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXViewer.hh,v 1.23 2006/06/29 21:18:22 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmBox.hh,v 1.6 2001/07/11 10:08:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmBox.hh,v 1.7 2006/06/29 21:18:24 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Box container class
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmFourArrowButtons.hh,v 1.5 2001/07/11 10:08:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmFourArrowButtons.hh,v 1.6 2006/06/29 21:18:26 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Four arrow buttons class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmFramedBox.hh,v 1.6 2001/07/11 10:08:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmFramedBox.hh,v 1.7 2006/06/29 21:18:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Framed box container class
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmPushButton.hh,v 1.6 2001/07/11 10:08:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmPushButton.hh,v 1.7 2006/06/29 21:18:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Push button class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmRadioButton.hh,v 1.6 2001/07/11 10:08:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmRadioButton.hh,v 1.7 2006/06/29 21:18:32 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Radio button class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmResources.hh,v 1.4 2001/07/11 10:08:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmResources.hh,v 1.5 2006/06/29 21:18:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Default resources file for GEANT4 OpenGL Motif windows.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmSeparator.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmSeparator.hh,v 1.6 2006/06/29 21:18:36 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Separator class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmSliderBar.hh,v 1.6 2001/07/11 10:08:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmSliderBar.hh,v 1.7 2006/06/29 21:18:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Slider bar class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmTextField.hh,v 1.6 2001/07/11 10:08:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmTextField.hh,v 1.7 2006/06/29 21:18:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Text field class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmTopLevelShell.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmTopLevelShell.hh,v 1.6 2006/06/29 21:18:42 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Top level shell class
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmVWidgetComponent.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmVWidgetComponent.hh,v 1.6 2006/06/29 21:18:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Base class for all Motif component widgets
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmVWidgetContainer.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmVWidgetContainer.hh,v 1.6 2006/06/29 21:18:46 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Base class for all Motif container widgets
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmVWidgetObject.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmVWidgetObject.hh,v 1.6 2006/06/29 21:18:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Virtual base class for all Motif widgets.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmVWidgetShell.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmVWidgetShell.hh,v 1.6 2006/06/29 21:18:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
//Base class for all Motif window widgets (shells)
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmViewer.hh,v 1.8 2005/11/22 16:03:23 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmViewer.hh,v 1.10 2006/06/29 21:18:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -67,7 +70,6 @@ class G4OpenGLXmTextField;
class G4OpenGLXmFramedBox;
class G4OpenGLXmFourArrowButtons;
class G4OpenGLXmSeparator;
class G4OpenGLXmViewerMessenger;
class G4OpenGLXmViewer: public G4OpenGLXViewer {
@@ -207,7 +209,6 @@ protected:
G4OpenGLXmRadioButton* fpprint_col_radio2;
G4OpenGLXmRadioButton* fpprint_style_radio1;
G4OpenGLXmRadioButton* fpprint_style_radio2;
G4OpenGLXmViewerMessenger* fpMessenger;
public:
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLXmViewerMessenger.hh,v 1.2 2005/11/24 10:23:43 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLXmViewerMessenger.hh,v 1.4 2006/06/29 21:18:54 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
#ifdef G4VIS_BUILD_OPENGLXM_DRIVER
@@ -40,14 +43,13 @@ class G4UIcmdWithADouble;
class G4OpenGLXmViewerMessenger: public G4UImessenger {
public:
G4OpenGLXmViewerMessenger
(G4OpenGLXmViewer* viewer, const G4String& viewerShortName);
static G4OpenGLXmViewerMessenger* GetInstance(); // Singleton constructor.
~G4OpenGLXmViewerMessenger();
void SetNewValue (G4UIcommand*, G4String);
private:
G4OpenGLXmViewer* fpViewer;
G4String fViewerShortName;
G4OpenGLXmViewerMessenger(); // Private constructor.
static G4OpenGLXmViewerMessenger* fpInstance;
G4UIdirectory* fpDirectory;
G4UIdirectory* fpDirectorySet;
G4UIcmdWithADoubleAndUnit* fpCommandSetDollyHigh;
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLFontBaseStore.cc,v 1.2 2005/05/27 10:56:06 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLFontBaseStore.cc,v 1.3 2006/06/29 21:18:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
#include "G4OpenGLFontBaseStore.hh"
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateSceneHandler.cc,v 1.17 2005/09/29 14:27:03 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateSceneHandler.cc,v 1.22 2006/06/29 21:18:58 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -41,7 +44,6 @@
#include "G4OpenGLSceneHandler.hh"
#include "G4OpenGLViewer.hh"
#include "G4OpenGLViewerDataStore.hh"
#include "G4OpenGLTransform3D.hh"
#include "G4OpenGLImmediateSceneHandler.hh"
@@ -85,6 +87,36 @@ void G4OpenGLImmediateSceneHandler::EndPrimitives () {
G4VSceneHandler::EndPrimitives ();
}
void G4OpenGLImmediateSceneHandler::BeginPrimitives2D()
{
G4VSceneHandler::BeginPrimitives2D();
// Push current 3D world matrices and load identity to define screen
// coordinates...
glMatrixMode (GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho (-1., 1., -1., 1., -DBL_MAX, DBL_MAX);
glMatrixMode (GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
}
void G4OpenGLImmediateSceneHandler::EndPrimitives2D()
{
// Pop current 3D world matrices back again...
glMatrixMode (GL_PROJECTION);
glPopMatrix();
glMatrixMode (GL_MODELVIEW);
glPopMatrix();
if (fReadyForTransients) {
glFlush ();
}
G4VSceneHandler::EndPrimitives2D ();
}
void G4OpenGLImmediateSceneHandler::BeginModeling () {
G4VSceneHandler::BeginModeling();
}
@@ -105,38 +137,43 @@ void G4OpenGLImmediateSceneHandler::ClearTransientStore () {
}
}
void G4OpenGLImmediateSceneHandler::RequestPrimitives (const G4VSolid& solid) {
void G4OpenGLImmediateSceneHandler::RequestPrimitives (const G4VSolid& solid)
{
if (fReadyForTransients) {
// Always draw transient solids, e.g., hits represented as solids.
// (As we have no control over the order of drawing of transient
// objects, we cannot do anything about transparent ones, as
// below, so always draw them.)
G4VSceneHandler::RequestPrimitives (solid);
return;
}
else {
// For non-transient (run-duration) objects, ensure transparent
// objects are drawn last. The problem of
// blending/transparency/alpha is quite a tricky one - see History
// of opengl-V07-01-01/2/3.
// Get vis attributes - pick up defaults if none.
const G4VisAttributes* pVA =
fpViewer -> GetApplicableVisAttributes(fpVisAttribs);
const G4Colour& c = pVA -> GetColour ();
G4double opacity = c.GetAlpha ();
if (!fSecondPass) {
G4bool transparency_enabled =
G4OpenGLViewerDataStore::GetTransparencyEnabled(fpViewer);
if (transparency_enabled && opacity < 1.) {
// On first pass, transparent objects are not drawn, but flag is set...
fSecondPassRequested = true;
return;
}
// For non-transient (run-duration) objects, ensure transparent
// objects are drawn last. The problem of
// blending/transparency/alpha is quite a tricky one - see History
// of opengl-V07-01-01/2/3.
// Get vis attributes - pick up defaults if none.
const G4VisAttributes* pVA =
fpViewer -> GetApplicableVisAttributes(fpVisAttribs);
const G4Colour& c = pVA -> GetColour ();
G4double opacity = c.GetAlpha ();
if (!fSecondPass) {
G4bool transparency_enabled = true;
G4OpenGLViewer* pViewer = dynamic_cast<G4OpenGLViewer*>(fpViewer);
if (pViewer) transparency_enabled = pViewer->transparency_enabled;
if (transparency_enabled && opacity < 1.) {
// On first pass, transparent objects are not drawn, but flag is set...
fSecondPassRequested = true;
return;
}
// On second pass, opaque objects are not drwan...
if (fSecondPass && opacity >= 1.) return;
// Else invoke base class method...
G4VSceneHandler::RequestPrimitives (solid);
}
// On second pass, opaque objects are not drwan...
if (fSecondPass && opacity >= 1.) return;
// Else invoke base class method...
G4VSceneHandler::RequestPrimitives (solid);
}
G4int G4OpenGLImmediateSceneHandler::fSceneIdCount = 0;
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateViewer.cc,v 1.6 2002/10/16 10:44:15 johna Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateViewer.cc,v 1.7 2006/06/29 21:19:00 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateWin32.cc,v 1.9 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateWin32.cc,v 1.10 2006/06/29 21:19:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// OpenGLImmediateWin32 graphics system factory.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateWin32Viewer.cc,v 1.10 2005/11/17 07:36:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateWin32Viewer.cc,v 1.15 2006/06/29 21:19:04 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Class G4OpenGLImmediateWin32Viewer : a class derived from G4OpenGLWin32Viewer and
@@ -55,10 +58,8 @@ void G4OpenGLImmediateWin32Viewer::Initialise () {
// If a double buffer context has been forced upon us, ignore the
// back buffer for this OpenGLImmediate view.
if (doublebuffer) {
doublebuffer = false;
glDrawBuffer (GL_FRONT);
}
doublebuffer = false;
glDrawBuffer (GL_FRONT);
// clear the buffers and window.
ClearView ();
@@ -72,16 +73,8 @@ void G4OpenGLImmediateWin32Viewer::DrawView () {
// If a double buffer context has been forced upon us, ignore the
// back buffer for this OpenGLImmediate view.
if (doublebuffer) {
doublebuffer = false;
glDrawBuffer (GL_FRONT);
}
glClearColor (background.GetRed(),
background.GetGreen(),
background.GetBlue(),
1.);
glClearDepth (1.0);
doublebuffer = false;
glDrawBuffer (GL_FRONT);
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
@@ -89,7 +82,6 @@ void G4OpenGLImmediateWin32Viewer::DrawView () {
//Win32 version needed
//glXMakeCurrent (dpy, win, cx);
glViewport (0, 0, WinSize_x, WinSize_y);
ClearView ();
if(style!=G4ViewParameters::hlr &&
haloing_enabled) {
@@ -109,4 +101,22 @@ void G4OpenGLImmediateWin32Viewer::DrawView () {
}
//////////////////////////////////////////////////////////////////////////////
void G4OpenGLImmediateWin32Viewer::FinishView (
)
//////////////////////////////////////////////////////////////////////////////
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
{
if(!fHDC) return;
glFlush ();
// Empty the Windows message queue :
MSG event;
while ( ::PeekMessage(&event, NULL, 0, 0, PM_REMOVE) ) {
::TranslateMessage(&event);
::DispatchMessage (&event);
}
}
#endif
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateX.cc,v 1.9 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateX.cc,v 1.10 2006/06/29 21:19:06 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 27th March 1996
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateXViewer.cc,v 1.12 2005/10/13 17:30:08 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateXViewer.cc,v 1.15 2006/06/29 21:19:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -92,19 +95,11 @@ void G4OpenGLImmediateXViewer::Initialise () {
void G4OpenGLImmediateXViewer::DrawView () {
glClearColor (background.GetRed(),
background.GetGreen(),
background.GetBlue(),
1.);
glClearDepth (1.0);
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
//Make sure current viewer is attached and clean...
glXMakeCurrent (dpy, win, cx);
glViewport (0, 0, WinSize_x, WinSize_y);
ClearView ();
if(style!=G4ViewParameters::hlr &&
haloing_enabled) {
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateXm.cc,v 1.10 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateXm.cc,v 1.12 2006/06/29 21:19:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -36,12 +39,16 @@
#include "G4OpenGLViewer.hh"
#include "G4OpenGLImmediateXm.hh"
#include "G4OpenGLImmediateXmViewer.hh"
#include "G4OpenGLXmViewerMessenger.hh"
G4OpenGLImmediateXm::G4OpenGLImmediateXm ():
G4VGraphicsSystem ("OpenGLImmediateXm",
"OGLIXm",
G4VisFeaturesOfOpenGLIXm (),
G4VGraphicsSystem::threeD) {}
G4VGraphicsSystem::threeD)
{
G4OpenGLXmViewerMessenger::GetInstance();
}
G4OpenGLImmediateXm::~G4OpenGLImmediateXm () {}
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLImmediateXmViewer.cc,v 1.13 2005/10/13 17:30:08 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLImmediateXmViewer.cc,v 1.16 2006/06/29 21:19:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -98,19 +101,11 @@ void G4OpenGLImmediateXmViewer::Initialise () {
void G4OpenGLImmediateXmViewer::DrawView () {
glClearColor (background.GetRed(),
background.GetGreen(),
background.GetBlue(),
1.);
glClearDepth (1.0);
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
//Make sure current viewer is attached and clean...
glXMakeCurrent (dpy, win, cx);
glViewport (0, 0, WinSize_x, WinSize_y);
ClearView ();
if(style!=G4ViewParameters::hlr &&
haloing_enabled) {
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLSceneHandler.cc,v 1.39 2005/11/22 16:11:06 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLSceneHandler.cc,v 1.43 2006/06/29 21:19:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 27th March 1996
@@ -43,7 +46,6 @@
#include "G4OpenGLSceneHandler.hh"
#include "G4OpenGLViewer.hh"
#include "G4OpenGLFontBaseStore.hh"
#include "G4OpenGLViewerDataStore.hh"
#include "G4OpenGLTransform3D.hh"
#include "G4Point3D.hh"
#include "G4Normal3D.hh"
@@ -55,6 +57,7 @@
#include "G4VMarker.hh"
#include "G4Polyhedron.hh"
#include "G4VisAttributes.hh"
#include "G4PhysicalVolumeModel.hh"
#include "G4VPhysicalVolume.hh"
#include "G4LogicalVolume.hh"
#include "G4VSolid.hh"
@@ -89,7 +92,6 @@ const GLubyte G4OpenGLSceneHandler::fStippleMaskHashed [128] = {
0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55
};
//Method for handling G4Polyline objects (from tracking or wireframe).
void G4OpenGLSceneHandler::AddPrimitive (const G4Polyline& line)
{
G4int nPoints = line.size ();
@@ -103,8 +105,8 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Polyline& line)
else {glEnable (GL_DEPTH_TEST); glDepthFunc (GL_LESS);}
glDisable (GL_LIGHTING);
glBegin (GL_LINE_STRIP);
glBegin (GL_LINE_STRIP);
for (G4int iPoint = 0; iPoint < nPoints; iPoint++) {
G4double x, y, z;
x = line[iPoint].x();
@@ -382,9 +384,10 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) {
// attributes, thereby over-riding the current view parameter.
G4ViewParameters::DrawingStyle drawing_style = GetDrawingStyle (pVA);
//Get colour, etc..
G4bool transparency_enabled =
G4OpenGLViewerDataStore::GetTransparencyEnabled(fpViewer);
//Get colour, etc...
G4bool transparency_enabled = true;
G4OpenGLViewer* pViewer = dynamic_cast<G4OpenGLViewer*>(fpViewer);
if (pViewer) transparency_enabled = pViewer->transparency_enabled;
const G4Colour& c = GetColour (polyhedron);
GLfloat materialColour [4];
materialColour [0] = c.GetRed ();
@@ -505,11 +508,15 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) {
if (n > 4) {
G4cerr <<
"G4OpenGLSceneHandler::AddPrimitive(G4Polyhedron): WARNING";
if (fpCurrentPV) {
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
if (pPVModel) {
G4VPhysicalVolume* pCurrentPV = pPVModel->GetCurrentPV();
G4LogicalVolume* pCurrentLV = pPVModel->GetCurrentLV();
G4cerr <<
"\n Volume " << fpCurrentPV->GetName() <<
", Solid " << fpCurrentLV->GetSolid()->GetName() <<
" (" << fpCurrentLV->GetSolid()->GetEntityType();
"\n Volume " << pCurrentPV->GetName() <<
", Solid " << pCurrentLV->GetSolid()->GetName() <<
" (" << pCurrentLV->GetSolid()->GetEntityType();
}
G4cerr<<
"\n G4Polyhedron facet with " << n << " edges" << G4endl;
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredSceneHandler.cc,v 1.23 2005/09/29 14:27:03 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredSceneHandler.cc,v 1.28 2006/06/29 21:19:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -40,7 +43,7 @@
#include "G4OpenGLStoredSceneHandler.hh"
#include "G4OpenGLViewerDataStore.hh"
#include "G4PhysicalVolumeModel.hh"
#include "G4VPhysicalVolume.hh"
#include "G4LogicalVolume.hh"
@@ -104,9 +107,71 @@ void G4OpenGLStoredSceneHandler::EndPrimitives () {
G4VSceneHandler::EndPrimitives ();
}
void G4OpenGLStoredSceneHandler::BeginPrimitives2D()
{
G4VSceneHandler::BeginPrimitives2D();
if (fMemoryForDisplayLists) {
fDisplayListId = glGenLists (1);
if (!fDisplayListId) { // Could pre-allocate?
G4cout << "********************* WARNING! ********************\n"
<<"Unable to allocate any more display lists in OpenGL.\n "
<< " Continuing drawing in IMMEDIATE MODE.\n"
<< "***************************************************" << G4endl;
fMemoryForDisplayLists = false;
}
}
if (fMemoryForDisplayLists) {
if (fReadyForTransients) {
fTODLList.push_back (fDisplayListId);
fTODLTransformList.push_back (G4Transform3D()); // Identity (ignored).
glDrawBuffer (GL_FRONT);
glNewList (fDisplayListId, GL_COMPILE_AND_EXECUTE);
}
else {
fPODLList.push_back (fDisplayListId);
fPODLTransformList.push_back (G4Transform3D()); // Identity (ignored).
glNewList (fDisplayListId, GL_COMPILE);
}
} else {
glDrawBuffer (GL_FRONT);
}
// Push current 3D world matrices and load identity to define screen
// coordinates...
glMatrixMode (GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho (-1., 1., -1., 1., -DBL_MAX, DBL_MAX);
glMatrixMode (GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
}
void G4OpenGLStoredSceneHandler::EndPrimitives2D ()
{
// Pop current 3D world matrices back again...
glMatrixMode (GL_PROJECTION);
glPopMatrix();
glMatrixMode (GL_MODELVIEW);
glPopMatrix();
if (fMemoryForDisplayLists) {
glEndList();
}
if (fReadyForTransients || !fMemoryForDisplayLists) {
glFlush ();
glDrawBuffer (GL_BACK);
}
G4VSceneHandler::EndPrimitives2D ();
}
void G4OpenGLStoredSceneHandler::BeginModeling () {
G4VSceneHandler::BeginModeling();
ClearStore(); // ...and all that goes with it.
/* Debug...
fDisplayListId = glGenLists (1);
G4cout << "OGL::fDisplayListId (start): " << fDisplayListId << G4endl;
*/
}
void G4OpenGLStoredSceneHandler::EndModeling () {
@@ -119,7 +184,7 @@ void G4OpenGLStoredSceneHandler::EndModeling () {
<< G4endl;
}
else {
glNewList (fTopPODL, GL_COMPILE); {
glNewList (fTopPODL, GL_COMPILE_AND_EXECUTE); {
for (size_t i = 0; i < fPODLList.size (); i++) {
glPushMatrix();
G4OpenGLTransform3D oglt (fPODLTransformList [i]);
@@ -132,6 +197,11 @@ void G4OpenGLStoredSceneHandler::EndModeling () {
}
G4VSceneHandler::EndModeling ();
/* Debug...
fDisplayListId = glGenLists (1);
G4cout << "OGL::fDisplayListId (end): " << fDisplayListId << G4endl;
*/
}
void G4OpenGLStoredSceneHandler::ClearStore () {
@@ -196,46 +266,66 @@ void G4OpenGLStoredSceneHandler::ClearTransientStore () {
}
}
void G4OpenGLStoredSceneHandler::RequestPrimitives (const G4VSolid& solid) {
void G4OpenGLStoredSceneHandler::RequestPrimitives (const G4VSolid& solid)
{
if (fReadyForTransients) {
// Always draw transient solids, e.g., hits represented as solids.
// (As we have no control over the order of drawing of transient
// objects, we cannot do anything about transparent ones, as
// below, so always draw them.)
G4VSceneHandler::RequestPrimitives (solid);
return;
}
else {
// For non-transient (run-duration) objects, ensure transparent
// objects are drawn last. The problem of
// blending/transparency/alpha is quite a tricky one - see History
// of opengl-V07-01-01/2/3.
// Get vis attributes - pick up defaults if none.
const G4VisAttributes* pVA =
fpViewer -> GetApplicableVisAttributes(fpVisAttribs);
const G4Colour& c = pVA -> GetColour ();
G4double opacity = c.GetAlpha ();
if (!fSecondPass) {
G4bool transparency_enabled =
G4OpenGLViewerDataStore::GetTransparencyEnabled(fpViewer);
if (transparency_enabled && opacity < 1.) {
// On first pass, transparent objects are not drawn, but flag is set...
fSecondPassRequested = true;
return;
}
// For non-transient (run-duration) objects, ensure transparent
// objects are drawn last. The problem of
// blending/transparency/alpha is quite a tricky one - see History
// of opengl-V07-01-01/2/3.
// Get vis attributes - pick up defaults if none.
const G4VisAttributes* pVA =
fpViewer -> GetApplicableVisAttributes(fpVisAttribs);
const G4Colour& c = pVA -> GetColour ();
G4double opacity = c.GetAlpha ();
if (!fSecondPass) {
G4bool transparency_enabled = true;
G4OpenGLViewer* pViewer = dynamic_cast<G4OpenGLViewer*>(fpViewer);
if (pViewer) transparency_enabled = pViewer->transparency_enabled;
if (transparency_enabled && opacity < 1.) {
// On first pass, transparent objects are not drawn, but flag is set...
fSecondPassRequested = true;
return;
}
// On second pass, opaque objects are not drwan...
if (fSecondPass && opacity >= 1.) return;
}
// If a display list already exists for this solid, re-use it if
// possible. We could be smarter, and recognise repeated branches
// of the geometry hierarchy, for example. But this a;gorithm
// should be secure, I think...
// On second pass, opaque objects are not drwan...
if (fSecondPass && opacity >= 1.) return;
G4PhysicalVolumeModel* pPVModel =
dynamic_cast<G4PhysicalVolumeModel*>(fpModel);
if (pPVModel) {
// If part of the geometry hierarchy, i.e., from a
// G4PhysicalVolumeModel, check if a display list already exists for
// this solid, re-use it if possible. We could be smarter, and
// recognise repeated branches of the geometry hierarchy, for
// example. But this algorithm should be secure, I think...
const G4VSolid* pSolid = &solid;
if (fpCurrentPV &&
// Provided it is not replicated (because if so, the solid's
// parameters might have been changed)...
!(fpCurrentPV -> IsReplicated ()) &&
EAxis axis = kRho;
G4VPhysicalVolume* pCurrentPV = pPVModel->GetCurrentPV();
if (pCurrentPV -> IsReplicated ()) {
G4int nReplicas;
G4double width;
G4double offset;
G4bool consuming;
pCurrentPV->GetReplicationData(axis,nReplicas,width,offset,consuming);
}
// Provided it is not parametrised (because if so, the
// solid's parameters might have been changed)...
if (!(pCurrentPV -> IsParameterised ()) &&
// Provided it is not replicated radially (because if so, the
// solid's parameters will have been changed)...
!(pCurrentPV -> IsReplicated () && axis == kRho) &&
// ...and if the solid has already been rendered...
(fSolidMap.find (pSolid) != fSolidMap.end ())) {
fDisplayListId = fSolidMap [pSolid];
@@ -246,7 +336,11 @@ void G4OpenGLStoredSceneHandler::RequestPrimitives (const G4VSolid& solid) {
G4VSceneHandler::RequestPrimitives (solid);
fSolidMap [pSolid] = fDisplayListId;
}
return;
}
// Otherwise invoke base class method...
G4VSceneHandler::RequestPrimitives (solid);
}
G4int G4OpenGLStoredSceneHandler::fSceneIdCount = 0;
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredViewer.cc,v 1.13 2005/10/13 17:30:08 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredViewer.cc,v 1.14 2006/06/29 21:19:18 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredWin32.cc,v 1.12 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredWin32.cc,v 1.13 2006/06/29 21:19:20 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// OpenGLStoredWin32 graphics system factory.
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredWin32Viewer.cc,v 1.10 2005/11/17 07:36:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredWin32Viewer.cc,v 1.17 2006/06/29 21:19:22 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Class G4OpenGLStoredWin32Viewer : a class derived from G4OpenGLWin32Viewer and
@@ -63,21 +66,19 @@ void G4OpenGLStoredWin32Viewer::Initialise () {
void G4OpenGLStoredWin32Viewer::DrawView () {
glClearColor (background.GetRed(),
background.GetGreen(),
background.GetBlue(),
1.);
//Make sure current viewer is attached and clean...
//Win32 version needed
// glXMakeCurrent (dpy, win, cx);
glViewport (0, 0, WinSize_x, WinSize_y);
ClearView ();
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
//See if things have changed from last time and remake if necessary...
KernelVisitDecision ();
// The fNeedKernelVisit flag might have been set by the user in
// /vis/viewer/rebuild, but if not, make decision and set flag only
// if necessary...
if (!fNeedKernelVisit) KernelVisitDecision ();
G4bool kernelVisitWasNeeded = fNeedKernelVisit; // Keep (ProcessView resets).
ProcessView ();
if(style!=G4ViewParameters::hlr &&
@@ -89,12 +90,37 @@ void G4OpenGLStoredWin32Viewer::DrawView () {
HaloingSecondPass ();
DrawDisplayLists ();
FinishView ();
} else {
// If kernel visit was needed, drawing and FinishView will already
// have been done, so...
if (!kernelVisitWasNeeded) {
DrawDisplayLists ();
FinishView ();
}
}
}
DrawDisplayLists ();
//////////////////////////////////////////////////////////////////////////////
void G4OpenGLStoredWin32Viewer::FinishView (
)
//////////////////////////////////////////////////////////////////////////////
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
{
if(!fHDC) return;
FinishView ();
glFlush ();
::SwapBuffers(fHDC);
// Empty the Windows message queue :
MSG event;
while ( ::PeekMessage(&event, NULL, 0, 0, PM_REMOVE) ) {
::TranslateMessage(&event);
::DispatchMessage (&event);
}
}
#endif
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredX.cc,v 1.10 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredX.cc,v 1.11 2006/06/29 21:19:24 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredXViewer.cc,v 1.13 2005/10/13 17:30:08 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredXViewer.cc,v 1.19 2006/06/29 21:19:26 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 7th February 1997
@@ -77,17 +80,14 @@ void G4OpenGLStoredXViewer::DrawView () {
glXMakeCurrent (dpy, win, cx);
glViewport (0, 0, WinSize_x, WinSize_y);
glClearColor (background.GetRed(),
background.GetGreen(),
background.GetBlue(),
1.);
ClearView ();
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
//See if things have changed from last time and remake if necessary...
KernelVisitDecision ();
// The fNeedKernelVisit flag might have been set by the user in
// /vis/viewer/rebuild, but if not, make decision and set flag only
// if necessary...
if (!fNeedKernelVisit) KernelVisitDecision ();
G4bool kernelVisitWasNeeded = fNeedKernelVisit; // Keep (ProcessView resets).
ProcessView ();
if(style!=G4ViewParameters::hlr &&
@@ -99,12 +99,18 @@ void G4OpenGLStoredXViewer::DrawView () {
HaloingSecondPass ();
DrawDisplayLists ();
FinishView ();
} else {
// If kernel visit was needed, drawing and FinishView will already
// have been done, so...
if (!kernelVisitWasNeeded) {
DrawDisplayLists ();
FinishView ();
}
}
DrawDisplayLists ();
FinishView ();
}
#endif
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredXm.cc,v 1.8 2005/06/02 17:43:46 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredXm.cc,v 1.10 2006/06/29 21:19:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -36,12 +39,16 @@
#include "G4OpenGLViewer.hh"
#include "G4OpenGLStoredXm.hh"
#include "G4OpenGLStoredXmViewer.hh"
#include "G4OpenGLXmViewerMessenger.hh"
G4OpenGLStoredXm::G4OpenGLStoredXm ():
G4VGraphicsSystem ("OpenGLStoredXm",
"OGLSXm",
G4VisFeaturesOfOpenGLSXm (),
G4VGraphicsSystem::threeD) {}
G4VGraphicsSystem::threeD)
{
G4OpenGLXmViewerMessenger::GetInstance();
}
G4VSceneHandler* G4OpenGLStoredXm::CreateSceneHandler (const G4String& name) {
G4VSceneHandler* pScene = new G4OpenGLStoredSceneHandler (*this, name);
@@ -1,28 +1,31 @@
//
// ********************************************************************
// * DISCLAIMER *
// * License and Disclaimer *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenGLStoredXmViewer.cc,v 1.13 2005/10/13 17:30:08 allison Exp $
// GEANT4 tag $Name: geant4-08-00 $
// $Id: G4OpenGLStoredXmViewer.cc,v 1.19 2006/06/29 21:19:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
//
// Andrew Walkden 10th February 1997
@@ -77,20 +80,17 @@ void G4OpenGLStoredXmViewer::Initialise () {
void G4OpenGLStoredXmViewer::DrawView () {
glClearColor (background.GetRed(),
background.GetGreen(),
background.GetBlue(),
1.);
//Make sure current viewer is attached and clean...
glXMakeCurrent (dpy, win, cx);
glViewport (0, 0, WinSize_x, WinSize_y);
ClearView ();
G4ViewParameters::DrawingStyle style = GetViewParameters().GetDrawingStyle();
//See if things have changed from last time and remake if necessary...
KernelVisitDecision ();
// /vis/viewer/rebuild, but if not, make decision and set flag only
// if necessary...
if (!fNeedKernelVisit) KernelVisitDecision ();
G4bool kernelVisitWasNeeded = fNeedKernelVisit; // Keep (ProcessView resets).
ProcessView ();
if(style!=G4ViewParameters::hlr &&
@@ -102,12 +102,18 @@ void G4OpenGLStoredXmViewer::DrawView () {
HaloingSecondPass ();
DrawDisplayLists ();
FinishView ();
} else {
// If kernel visit was needed, drawing and FinishView will already
// have been done, so...
if (!kernelVisitWasNeeded) {
DrawDisplayLists ();
FinishView ();
}
}
DrawDisplayLists ();
FinishView ();
}
#endif

Some files were not shown because too many files have changed in this diff Show More