Import Geant4 1.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:28:20 +02:00
parent aaa409b6ee
commit ca1c8cb059
2995 changed files with 106830 additions and 299600 deletions
@@ -1,3 +1,29 @@
DAWN-V00-01-08
- Removed implicit casting from the previous updation
DAWN-V00-01-06 Satoshi TANAKA Nov 30, 1999
- Fixing improper definition of alpha1, alpha2
DAWN-V00-01-05 Satoshi TANAKA Nov 23, 1999
- Protection to special cases of G4Trap in AddThis()
DAWN-V00-01-04 Satoshi TANAKA Nov 02, 1999
- Protection to AddPrimitive( G4NURBS )
DAWN-V00-01-03 Satoshi TANAKA Nov 02, 1999
- Environmental variable G4DAWN_MULTI_WINDOW is
renamed to G4DAWNFILE_MULTI_WINDOW for DAWN-file driver.
(G4DAWN_MULTI_WINDOW still works for a while.)
DAWN-V00-01-02 Satoshi TANAKA Nov 01, 1999
- Separation of BeginModeling() and FRBeginModeling().
Co-workable with /run/beamOn with the new vis commands.
DAWN-V00-01-01 Satoshi TANAKA Aug 26, 1999
- Protection for invalid calling of BeginModeling
- .DAWN.history ==> .DAWN_1.history
**** It means DAWN version 3.80a or after is required ***
DAWN-00-03-06 Satoshi TANAKA Dec 04, 1998
- Maximun number of generated g4.prim files in the destination
directory is customizable as: "setenv G4DAWNFILE_MAX_FILE_NUM N"
+5 -6
View File
@@ -1,12 +1,11 @@
<< Portability >>
(1) --- Linux, DEC, HP, AIX, Solaris, IRIX ---
Compilation of DAWN-file and DAWN-network drivers
are confirmed at the following platforms:
Linux, DEC, HP, AIX, Solaris, IRIX
OK by default.
For Solaris, we assume that you use SUN-CC as G4SYSTEM.
For IRIX, we assume that you use SGI-CC as G4SYSTEM.
#endif
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4DAWNFILE.hh,v 1.4 1999/05/10 15:38:26 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4DAWNFILE.hh,v 1.4.8.1 1999/12/07 20:53:08 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA
// DAWNFILE driver factory.
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4DAWNFILESceneHandler.hh,v 1.2 1999/05/10 15:38:27 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4DAWNFILESceneHandler.hh,v 1.3.4.1 1999/12/07 20:53:08 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA
@@ -50,11 +50,12 @@ public:
void AddPrimitive (const G4Polymarker& polymarker)
{ G4VSceneHandler::AddPrimitive (polymarker); }
virtual void BeginModeling () ;
virtual void EndModeling () { G4VSceneHandler::EndModeling ();}
virtual void BeginModeling () { G4VSceneHandler::BeginModeling ();}
virtual void EndModeling () { G4VSceneHandler::EndModeling ();}
virtual void BeginPrimitives (const G4Transform3D& objectTransformation);
virtual void EndPrimitives ();
void AddThis ( const G4Box& box );
void AddThis ( const G4Cons& cons );
void AddThis ( const G4Tubs& tubs );
@@ -68,9 +69,10 @@ public:
void ClearStore (){}
//----- public methods inherent to this class
static G4int GetSceneCount ();
void FREndModeling () ;
G4bool IsInModeling () { return flag_in_modeling ; }
static G4int GetSceneCount ();
void FRBeginModeling () ;
void FREndModeling () ;
G4bool FRIsInModeling () { return FRflag_in_modeling ; }
G4bool IsSavingG4Prim ( void ) { return flag_saving_g4_prim ; }
void BeginSavingG4Prim( void );
@@ -87,13 +89,12 @@ private:
//----- Utilities etc (common to DAWN and DAWNFILE drivers )
G4bool SendVisAttributes ( const G4VisAttributes* pAV );
G4bool IsVisible ( void ) ;
G4bool InitializeFR ( void ) ;
void SendTransformedCoordinates( void ) ;
void SendPhysVolName ( void ) ;
void SendNdiv ( void ) ;
//----- public methods common to DAWN and DAWNFILE drivers
public:
void SendStr ( const char* char_string ) ;
void SendStrInt( const char* char_string ,
G4int ival );
@@ -191,15 +192,14 @@ private:
static G4int fSceneCount; // No. of existing scenes.
G4FRofstream fPrimDest ; // defined here
G4bool flag_in_modeling ;
G4bool FRflag_in_modeling ;
// true: FR_BEGIN_MODELING has sent to DAWN, and
// FR_END_MODELING has not sent yet.
// false: otherwise
//
// The flag flag_in_modeling is set to "true"
// in BeginModeling(), and to "false"
// FRflag_in_modeling is set to "true"
// in FRBeginModeling(), and to "false"
// in FREndModeling().
// ( EndModeling() is not used.)
G4bool flag_saving_g4_prim ;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4DAWNFILEViewer.hh,v 1.3 1999/05/10 15:38:28 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4DAWNFILEViewer.hh,v 1.4.4.1 1999/12/07 20:53:08 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA
// DAWNFILE viewer - opens window, hard copy, etc.
@@ -38,7 +38,6 @@ public:
void ClearView ();
void DrawView ();
void ShowView ();
void FlushView (); // ShowView() without calling Wait()
//---- methods inherent to this class
void SendViewParameters () ;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FRClientServer.hh,v 1.2 1999/01/09 16:11:40 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FRClientServer.hh,v 1.2.8.1 1999/12/07 20:53:09 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA, Wed Jul 3 14:13:52 JST 1996
////////////////////////////////
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FRConst.hh,v 1.2 1999/01/09 16:11:41 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FRConst.hh,v 1.3.4.1 1999/12/07 20:53:09 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA, Tue Jul 2 15:30:49 JST 1996
///////////////////////////////////
@@ -51,6 +51,8 @@ const char FR_BOUNDING_BOX [] = "/BoundingBox" ;
const char FR_BOUNDING_BOX_UNIT [] = "/BoundingBox -0.5 -0.5 -0.5 0.5 0.5 0.5" ;
//----- Number of divising curved surface
const int FR_DEFALUT_NDIV_VALUE = 24 ;
const char FR_NDIV [] = "/Ndiv" ;
const char FR_NDIV_DEFAULT [] = "/Ndiv 24" ;
const char FR_NDIV_3 [] = "/Ndiv 3" ;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FRFeatures.hh,v 1.2 1999/01/09 16:11:41 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FRFeatures.hh,v 1.2.8.1 1999/12/07 20:53:09 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
#if !defined G4_FR_FEATURES_HH
#define G4_FR_FEATURES_HH
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FRSocketConfig.hh,v 1.2 1999/01/09 16:11:42 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FRSocketConfig.hh,v 1.2.8.1 1999/12/07 20:53:09 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
////////////////////////////////
///// G4FRSocketConfig.h /////
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FRSocketMacro.hh,v 1.2 1999/01/09 16:11:42 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FRSocketMacro.hh,v 1.2.8.1 1999/12/07 20:53:09 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
///////////////////////////////
///// G4FRSocketMacro.hh /////
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FRofstream.hh,v 1.2 1999/01/09 16:11:43 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FRofstream.hh,v 1.2.8.1 1999/12/07 20:53:10 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
#include<fstream.h>
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FukuiRenderer.hh,v 1.4 1999/05/10 15:38:30 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FukuiRenderer.hh,v 1.4.8.1 1999/12/07 20:53:10 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Satoshi TANAKA
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FukuiRendererSceneHandler.hh,v 1.2 1999/05/10 15:38:31 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FukuiRendererSceneHandler.hh,v 1.3.4.1 1999/12/07 20:53:10 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Satoshi TANAKA, Fri Jun 28 11:19:19 JST 1996
@@ -30,73 +30,6 @@
class G4VisAttributes ;
class G4FukuiRenderer;
////////////////////////////////////////////////////////////////////////
//
// ===== About AddPrimitive() functions =====
//
// Any graphics driver should prepare AddPrimitive() functions
// for the following visualizable primitives:
//
// G4Polyline,
// G4NURBS (not supported by DAWN),
// G4Text, G4Circle, G4Square,
// G4Polyhedron
//
// A drawing function G4VisManager::Draw(...) is prepared for each
// of these primitives.
//
// These primitives have visualization attributes by themselves.
// AddPrimitive() functions use these assinged visualization attributes
// for visualization.
//
// Local coordinates to locate these primitives are set to the current in
// BeginPrimitive() functions.
// See G4VisManager::Draw( const G4Polyline&), for example.
//
//////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
//
// ========== About AddThis() functions =======
//
// AddThis() functions are usually used to visualize a physical volume.
// The are called when G4VisManager::Draw( void ) is used.
//
// Current local coordinates and current visualization attributes
// are set to the current in the inherited PreAddThis() function.
// PreAddThis() is called in G4PhysicalVolumeModel::DescribeAndDescend():
//
// // Make decision to Draw.
// G4bool thisToBeDrawn = !IsThisCulled (pLV);
// if (thisToBeDrawn) {
// scene.PreAddThis (theNewAT, *(pLV -> GetVisAttributes ()));
// pSol -> DescribeYourselfTo (scene);
// scene.PostAddThis ();
// }
//
// where G4VSolid::DescribeYourselfTo ( G4VSceneHandler& ) calls
// a proper AddThis() function. See G4Box.cc, for example.
//
// For shapes for which AddThis() functions are not prepered explicitly,
// AddThis (const G4VSolid& ) is called automatically.
// Then the following chain of calling is Done:
//
// AddThis ( const G4VSolid& )
// ==> G4VSceneHandler::AddThis ( const G4VSolid& )
// ==> G4VSceneHandler::RequestPrimitives( const G4VSolid& )
// ==> AddPrimitive ( const G4Polyhedron& )
//
// Therefore, AddPrimitive( const G4Polyhedron& ) is used for
// visualization finally. Note that G4Polyhedron is automatically
// created in G4VSceneHandler::RequestPrimitives( const G4VSolid& ) and
// current visualization attributes are assigned there.
//
///////////////////////////////////////////////////////////////////////
//-----
class G4FukuiRendererSceneHandler: public G4VSceneHandler {
@@ -116,11 +49,12 @@ public:
void AddPrimitive (const G4Polymarker& polymarker)
{ G4VSceneHandler::AddPrimitive (polymarker); }
virtual void BeginModeling () ;
virtual void EndModeling () { G4VSceneHandler::EndModeling ();}
virtual void BeginModeling () { G4VSceneHandler::BeginModeling ();}
virtual void EndModeling () { G4VSceneHandler::EndModeling ();}
virtual void BeginPrimitives (const G4Transform3D& objectTransformation);
virtual void EndPrimitives ();
void AddThis ( const G4Box& box );
void AddThis ( const G4Cons& cons );
void AddThis ( const G4Tubs& tubs );
@@ -134,9 +68,10 @@ public:
void ClearStore (){}
//----- methods inherent to this class
static G4int GetSceneCount ();
void FREndModeling () ;
G4bool IsInModeling () { return flag_in_modeling ; }
static G4int GetSceneCount ();
void FRBeginModeling () ;
void FREndModeling () ;
G4bool FRIsInModeling () { return FRflag_in_modeling ; }
G4bool IsSavingG4Prim ( void ) { return flag_saving_g4_prim ; }
void BeginSavingG4Prim( void )
@@ -160,9 +95,9 @@ private:
//----- Utilities etc
G4bool SendVisAttributes ( const G4VisAttributes* pAV );
G4bool IsVisible ( void ) ;
G4bool InitializeFR ( void ) ;
void SendTransformedCoordinates( void ) ;
void SendPhysVolName ( void ) ;
void SendNdiv ( void ) ;
public:
@@ -265,15 +200,14 @@ private:
static G4int fSceneCount; // No. of existing scenes.
G4FRClientServer& fPrimDest ; // defined in G4FukuiRenderer
G4bool flag_in_modeling ;
G4bool FRflag_in_modeling ;
// true: FR_BEGIN_MODELING has sent to DAWN, and
// FR_END_MODELING has not sent yet.
// false: otherwise
//
// The flag flag_in_modeling is set to "true"
// in BeginModeling(), and to "false"
// FRflag_in_modeling is set to "true"
// in FRBeginModeling(), and to "false"
// in FREndModeling().
// ( EndModeling() is not used.)
G4bool flag_saving_g4_prim ;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FukuiRendererViewer.hh,v 1.3 1999/05/10 15:38:32 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FukuiRendererViewer.hh,v 1.4.4.1 1999/12/07 20:53:10 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Satoshi TANAKA, Fri Jun 28 12:10:14 JST 1996
@@ -25,11 +25,13 @@
class G4FukuiRendererSceneHandler ;
class G4FukuiRendererViewer: public G4VViewer {
public:
enum FRDEV {FRDEV_PS=1, FRDEV_XWIN=2, FRDEV_PS2=3, FRDEV_XWIN2=4, FRDEV_OPEN_GL=5, FRDEV_DEVICE_END=6} ;
public:
//----- constructor and destructor
G4FukuiRendererViewer (G4FukuiRendererSceneHandler& scene, const G4String& name);
virtual ~G4FukuiRendererViewer ();
@@ -39,15 +41,16 @@ public:
void ClearView ();
void DrawView ();
void ShowView ();
void FlushView (); // ShowView() without calling Wait()
//---- methods inherent to this class
void Wait() ;
void SendViewParameters () ;
private:
void SendDevice( FRDEV dev );
void SendDrawingStyle() ;
private:
G4FukuiRendererSceneHandler& fSceneHandler; // Reference to Graphics Scene for this view.
};
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4DAWNFILE.cc,v 1.3 1999/01/11 00:47:20 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4DAWNFILE.cc,v 1.4.4.1 1999/12/07 20:53:10 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA
// DAWNFILE factory.
@@ -15,6 +15,8 @@
#ifdef G4VIS_BUILD_DAWNFILE_DRIVER
//=================//
//#define DEBUG_FR_SYSTEM
#include "G4DAWNFILE.hh"
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4DAWNFILESceneHandler.cc,v 1.1 1999/01/09 16:11:47 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4DAWNFILESceneHandler.cc,v 1.2.4.1 1999/12/07 20:53:10 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA
// DAWNFILE scene.
@@ -19,7 +19,7 @@
#define __G_ANSI_C__
//#define DEBUG_FR_SCENE
// #define DEBUG_FR_SCENE
//----- header files
#include <fstream.h>
@@ -61,7 +61,7 @@ G4DAWNFILESceneHandler::G4DAWNFILESceneHandler (G4DAWNFILE& system, const G4Stri
fSystem (system) ,
G4VSceneHandler (system, fSceneIdCount++, name) ,
fPrimDest () ,
flag_in_modeling (false) ,
FRflag_in_modeling (false) ,
flag_saving_g4_prim (false) ,
COMMAND_BUF_SIZE (G4FRofstream::SEND_BUFMAX)
{
@@ -102,6 +102,7 @@ G4DAWNFILESceneHandler::~G4DAWNFILESceneHandler ()
}
//-----
void G4DAWNFILESceneHandler::SetG4PrimFileName()
{
// g4.prim, g4_1.prim, ..., g4_MAX_FILE_INDEX.prim
@@ -155,10 +156,19 @@ void G4DAWNFILESceneHandler::SetG4PrimFileName()
} // G4DAWNFILESceneHandler::SetG4PrimFileName()
//-----
void G4DAWNFILESceneHandler::BeginSavingG4Prim( void )
{
#if defined DEBUG_FR_SCENE
G4cerr << "***** BeginSavingG4Prim (called)\n";
#endif
if( !IsSavingG4Prim() )
{
#if defined DEBUG_FR_SCENE
G4cerr << "***** (started) " ;
G4cerr << "(open g4.prim, ##)" << endl;
#endif
SetG4PrimFileName() ; // returned to fG4PrimFileName
fPrimDest.Open(fG4PrimFileName) ;
@@ -169,14 +179,59 @@ void G4DAWNFILESceneHandler::BeginSavingG4Prim( void )
void G4DAWNFILESceneHandler::EndSavingG4Prim ( void )
{
#if defined DEBUG_FR_SCENE
G4cerr << "***** EndSavingG4Prim (called)\n";
#endif
if( IsSavingG4Prim() )
{
#if defined DEBUG_FR_SCENE
G4cerr << "***** (started) (close g4.prim)" << endl;
#endif
fPrimDest.Close() ;
flag_saving_g4_prim = false ;
}
}
//-----
void G4DAWNFILESceneHandler::FRBeginModeling( void )
{
if( !FRIsInModeling() )
{
#if defined DEBUG_FR_SCENE
G4cerr << "***** G4DAWNFILESceneHandler::FRBeginModeling (called & started)" << endl;
#endif
//----- Send saving command and heading comment
BeginSavingG4Prim();
//----- Send bounding box command
SendBoundingBox();
//----- send SET_CAMERA command
#if defined DEBUG_FR_SCENE
G4cerr << "***** (!SetCamera in FRBeginModeling())" << endl;
#endif
SendStr( FR_SET_CAMERA );
//----- open device
#if defined DEBUG_FR_SCENE
G4cerr << "***** (!OpenDevice in FRBeginModeling())" << endl;
#endif
SendStr( FR_OPEN_DEVICE );
//----- begin sending primitives
#if defined DEBUG_FR_SCENE
G4cerr << "***** (!BeginModeling in FRBeginModeling())" << endl;
#endif
SendStr( FR_BEGIN_MODELING ); FRflag_in_modeling = true ;
} // if
}
/////////////////////////////////////////
// Common to DAWN and DAWNFILE drivers //
/////////////////////////////////////////
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4DAWNFILEViewer.cc,v 1.2 1999/01/11 00:47:21 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4DAWNFILEViewer.cc,v 1.5.4.1 1999/12/07 20:53:10 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA
// DAWNFILE view - opens window, hard copy, etc.
@@ -40,7 +40,8 @@
//----- constants
const char FR_ENV_MULTI_WINDOW[] = "G4DAWN_MULTI_WINDOW" ;
const char FR_ENV_MULTI_WINDOW [] = "G4DAWN_MULTI_WINDOW" ;
const char FR_ENV_MULTI_WINDOW2[] = "G4DAWNFILE_MULTI_WINDOW" ;
//----- G4DAWNFILEViewer, constructor
G4DAWNFILEViewer::G4DAWNFILEViewer (G4DAWNFILESceneHandler& scene,
@@ -80,7 +81,7 @@ G4DAWNFILEViewer::~G4DAWNFILEViewer ()
void G4DAWNFILEViewer::SetView ()
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4DAWNFILEViewer::SetView()\n";
G4cerr << "***** G4DAWNFILEViewer::SetView(): No effects" << endl;
#endif
// Do nothing, since DAWN is running as a different process.
// SendViewParameters () will do this job instead.
@@ -92,15 +93,9 @@ void
G4DAWNFILEViewer::ClearView( void )
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4DAWNFILEViewer::ClearView () " << endl;
G4cerr << "***** G4DAWNFILEViewer::ClearView (): No effects " << endl;
#endif
//----- Begin saving data to g4.prim
fSceneHandler.BeginSavingG4Prim();
//----- Clear old data
fSceneHandler.SendStr( FR_CLEAR_DATA );
}
@@ -110,24 +105,8 @@ void G4DAWNFILEViewer::DrawView ()
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4DAWNFILEViewer::DrawView () " << endl;
#endif
//----- Error recovery
if( fSceneHandler.IsInModeling() ) {
G4cerr << "WARNING from DAWNFILE driver:" << endl;
G4cerr << " You've invoked a drawing command before " << endl;
G4cerr << " completing your previous visualization." << endl;
// G4cerr << " You should have invoked command, /vis~/show/view," << endl;
// G4cerr << " to complete it." << endl;
FlushView();
}
//----- Begin Saving g4.prim file
fSceneHandler.BeginSavingG4Prim();
//----- set view if necessary
SendViewParameters();
// Camera data should be sent at every time, even if
// the setting is unchanged at GEANT 4 side.
//-----
fSceneHandler.FRBeginModeling() ;
//----- Always visit G4 kernel
NeedKernelVisit ();
@@ -146,21 +125,15 @@ void G4DAWNFILEViewer::ShowView( void )
G4cerr << "***** G4DAWNFILEViewer::ShowView () " << endl;
#endif
if( fSceneHandler.IsInModeling() ) // if( fSceneHandler.flag_in_modeling )
if( fSceneHandler.FRIsInModeling() )
{
//----- End of Data
//----- End of modeling
// !EndModeling, !DrawAll, !CloseDevice,
// close g4.prim
fSceneHandler.FREndModeling();
//----- Draw all
fSceneHandler.SendStr( FR_DRAW_ALL );
//----- Close device
fSceneHandler.SendStr( FR_CLOSE_DEVICE );
//----- End saving data to g4.prim
fSceneHandler.EndSavingG4Prim() ;
//----- Output DAWN GUI file
SendViewParameters();
//----- string for viewer invocation
if ( !strcmp( fG4PrimViewer, "NONE" ) ) {
@@ -198,24 +171,14 @@ void G4DAWNFILEViewer::ShowView( void )
} // G4DAWNFILEViewer::ShowView()
//----- G4DAWNFILEViewer::FlushView()
void G4DAWNFILEViewer::FlushView( void )
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4DAWNFILEViewer::Flush () " << endl;
#endif
ShowView();
}
//----- G4DAWNFILEViewer::SendDrawingStyleToDAWNGUI( ostream& out )
void G4DAWNFILEViewer::SendDrawingStyleToDAWNGUI( ostream& out )
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4DAWNFILEViewer::SendDrawingStyle() " << endl;
#endif
///////////////////////
//#if defined DEBUG_FR_VIEW
// G4cerr << "***** G4DAWNFILEViewer::SendDrawingStyleToDAWNGUI()" << endl;
//#endif
//////////////////////
G4int style = fVP.GetDrawingStyle();
@@ -243,7 +206,7 @@ void G4DAWNFILEViewer::SendDrawingStyleToDAWNGUI( ostream& out )
//----- G4DAWNFILEViewer::SendViewParameters ()
//-----
void G4DAWNFILEViewer::SendViewParameters ()
{
// Calculates view representation based on extent of object being
@@ -251,7 +214,8 @@ void G4DAWNFILEViewer::SendViewParameters ()
// later due to user interaction via visualization system's GUI.)
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4DAWNFILEViewer::SendViewParameters()\n";
G4cerr << "***** G4DAWNFILEViewer::SendViewParameters() ";
G4cerr << "(GUI parameters)" << endl;
#endif
//----- Magic number to decide camera distance automatically
@@ -259,9 +223,6 @@ void G4DAWNFILEViewer::SendViewParameters ()
const G4double MIN_HALF_ANGLE = 0.01 ;
const G4double MAX_HALF_ANGLE = 0.499 * M_PI ;
//----- Send Bounding Box
fSceneHandler.SendBoundingBox();
//----- CALC camera distance
//..... Note: Camera cannot enter inside object
G4double camera_distance ;
@@ -296,7 +257,7 @@ void G4DAWNFILEViewer::SendViewParameters ()
//########### Generation of the file .DAWN.history for DAWN GUI
//-----
ofstream gui_out (".DAWN.history") ;
ofstream gui_out (".DAWN_1.history") ;
// ######### P1
@@ -355,27 +316,26 @@ void G4DAWNFILEViewer::SendViewParameters ()
//######### P4
//----- drawing device
// enum {PS=1, XWIN=2, PS2=3, XWIN2=4, OPEN_GL=5, DEVICE_END=6};
if( ( getenv( FR_ENV_MULTI_WINDOW ) != NULL ) && \
( strcmp( getenv( FR_ENV_MULTI_WINDOW ),"0" ) ) )
if( ( ( getenv( FR_ENV_MULTI_WINDOW ) != NULL ) && \
( strcmp( getenv( FR_ENV_MULTI_WINDOW ),"0" ) ) ) || \
( ( getenv( FR_ENV_MULTI_WINDOW2 ) != NULL ) && \
( strcmp( getenv( FR_ENV_MULTI_WINDOW2 ),"0" ) ) ) )
{
gui_out << 2 << endl; // OpenWindow
} else {
gui_out << 1 << endl; // Invoke PS viewer
}
gui_out << GetPSViewer() << endl; // PS viewer
gui_out << 0; // Add showpage
gui_out << GetPSViewer() << endl; // PS viewer
gui_out << 0 << endl ; // Do not add showpage
gui_out << 0 << endl ; // Non-append mode
gui_out.close();
//########### end of generating file .DAWN.history
//----- SET CAMERA
fSceneHandler.SendStr( FR_SET_CAMERA );
} // G4DAWNFILEViewer::SendViewParameters ()
}
#endif // G4VIS_BUILD_DAWNFILE_DRIVER
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FRClientServer.cc,v 1.2 1999/01/09 16:11:49 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FRClientServer.cc,v 1.2.8.1 1999/12/07 20:53:11 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
// Satoshi TANAKA, Wed Jul 3 14:14:29 JST 1996
////////////////////////////////
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FRSceneFunc.icc,v 1.3 1999/01/11 00:47:22 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FRSceneFunc.icc,v 1.9.2.1 1999/12/07 20:53:11 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
@@ -19,7 +19,7 @@ void G4FRSCENE::AddPrimitive (const G4Polyline& polyline)
G4cerr << "***** AddPrimitive\n";
#endif
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- local working variables
G4int nPoints = polyline.entries ();
@@ -65,6 +65,9 @@ void G4FRSCENE::AddPrimitive (const G4NURBS& nurb)
G4cerr << "***** AddPrimitive( G4NURBS )\n";
#endif
//----- Initialize DAWN IF NECESSARY
FRBeginModeling();
///////////////////////////////////////////////
// DAWN does not support NUBS visualizaition //
///////////////////////////////////////////////
@@ -80,7 +83,7 @@ void G4FRSCENE::AddPrimitive ( const G4Text& text )
G4cerr << "***** AddPrimitive( G4Text )\n";
#endif
//----- Initialize DAWN IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- send color
const G4Color& color = GetTextColor (text) ;
@@ -153,7 +156,7 @@ void G4FRSCENE::AddPrimitive ( const G4Circle& mark_circle )
G4cerr << "***** AddPrimitive( G4Circle )\n";
#endif
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- send color
const G4Color& color = GetColor (mark_circle) ;
@@ -196,7 +199,7 @@ void G4FRSCENE::AddPrimitive (const G4Square& mark_square )
G4cerr << "***** AddPrimitive( G4Square )\n";
#endif
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- send color
const G4Color& color = GetColor (mark_square) ;
@@ -240,7 +243,7 @@ void G4FRSCENE::AddPrimitive ( const G4Polyhedron& polyhedron )
#endif
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Attributes
if(!SendVisAttributes( fpViewer->GetApplicableVisAttributes
@@ -293,46 +296,75 @@ void G4FRSCENE::AddPrimitive ( const G4Polyhedron& polyhedron )
} // G4FRSCENE::AddPrimitive (polyhedron)
//----- G4FRSCENE::BeginModeling ()
void G4FRSCENE::BeginModeling ()
//----- G4FRSCENE::SendNdiv ()
void G4FRSCENE::SendNdiv ( void )
{
//////////////////////////////////////////////////
//#if defined DEBUG_FR_SCENE
// G4cerr << "***** SendNdiv() (/Ndiv)" << endl;
//#endif
//////////////////////////////////////////////////
G4VSceneHandler::BeginModeling ();
//-----
#if defined DEBUG_FR_SCENE
G4cerr << "***** BeginModeling\n";
#endif
//----- local
G4int num_division ;
//----- open device
SendStr( FR_OPEN_DEVICE );
//----- begin sending primitives
SendStr( FR_BEGIN_MODELING ); flag_in_modeling = true ;
G4int num_division = FR_DEFALUT_NDIV_VALUE ;
//----- number used for dividing a curved surface, Ndiv
num_division = GetModel()->GetModelingParameters()->GetNoOfSides () ;
if ( GetModel() ) {
num_division = GetModel()->GetModelingParameters()->GetNoOfSides();
} else {
#if defined DEBUG_FR_SCENE
G4cerr << "WARNING: GetNoOfSides() failed. " ;
G4cerr << "The default value " << num_division ;
G4cerr << " is assigned." << endl;
#endif
}
//---------- Error recovery for too small Ndiv
num_division = ( num_division < 3 ? 3 : num_division );
//////////////////////////////////////////////////
//#if defined DEBUG_FR_SCENE
// G4cerr << "Ndiv = " << num_division << endl;
//#endif
//////////////////////////////////////////////////
//----- Send resultant Ndiv
this->SendStrInt( FR_NDIV, num_division );
} // G4FRSCENE::BeginModeling ()
}
//----- G4FRSCENE::FREndModeling ()
void G4FRSCENE::FREndModeling ()
{
//-----
#if defined DEBUG_FR_SCENE
G4cerr << "***** FREndModeling \n";
G4cerr << "***** FREndModeling (called)" << endl;
#endif
SendStr( FR_END_MODELING ); flag_in_modeling = false ;
if( FRIsInModeling() ) {
#if defined DEBUG_FR_SCENE
G4cerr << "***** FREndModeling (started) " ;
G4cerr << "(/EndModeling, /DrawAll, /CloseDevice)" << endl;
#endif
SendStr( "#--------------------" );
//----- !EndModeling
SendStr( FR_END_MODELING );
//----- !DrawAll
SendStr( FR_DRAW_ALL );
//----- !CloseDevice
SendStr( FR_CLOSE_DEVICE );
//----- End saving data to g4.prim
EndSavingG4Prim() ;
//------ Reset flag
FRflag_in_modeling = false ;
}
}
//----- G4FRSCENE::BeginPrimitives (const G4Transform3D&)
@@ -342,13 +374,11 @@ void G4FRSCENE::BeginPrimitives (const G4Transform3D& objectTransformation)
G4cerr << "***** BeginPrimitives \n";
#endif
FRBeginModeling();
G4VSceneHandler::BeginPrimitives (objectTransformation);
fpObjectTransformation = &objectTransformation;
#if defined DEBUG_FR_SCENE
G4cerr << "***** BeginPrimitives \n";
#endif
}
//----- G4FRSCENE::EndPrimitives ()
@@ -378,11 +408,14 @@ void G4FRSCENE::AddThis( const G4Box& box )
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName();
//----- Send Ndiv
// SendNdiv();
//----- Attributes
if(!SendVisAttributes
( fpViewer->GetApplicableVisAttributes( fpVisAttribs ) ) ) {
@@ -414,11 +447,14 @@ G4FRSCENE::AddThis( const G4Tubs& tubes )
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName();
//----- Send Ndiv
SendNdiv();
//----- Attributes
if(!SendVisAttributes
( fpViewer->GetApplicableVisAttributes( fpVisAttribs ) ) ) {
@@ -453,11 +489,14 @@ G4FRSCENE::AddThis( const G4Cons& cons )
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName();
//----- Send Ndiv
SendNdiv();
//----- Attributes
if(!SendVisAttributes
( fpViewer->GetApplicableVisAttributes( fpVisAttribs ) ) ) {
@@ -493,11 +532,14 @@ void G4FRSCENE::AddThis ( const G4Trd& trd )
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName();
//----- Send Ndiv
// SendNdiv();
//----- Attributes
if(!SendVisAttributes
( fpViewer->GetApplicableVisAttributes( fpVisAttribs ) ) ) {
@@ -530,11 +572,14 @@ void G4FRSCENE::AddThis ( const G4Sphere& sphere )
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName();
//----- Send Ndiv
SendNdiv();
//----- Attributes
if(!SendVisAttributes
( fpViewer->GetApplicableVisAttributes( fpVisAttribs ) ) ) {
@@ -588,11 +633,14 @@ void G4FRSCENE::AddThis (const G4Para& para)
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName();
//----- Send Ndiv
// SendNdiv();
//----- Attributes
if(!SendVisAttributes
( fpViewer->GetApplicableVisAttributes( fpVisAttribs ) ) ) {
@@ -641,11 +689,14 @@ void G4FRSCENE::AddThis (const G4Trap& trap)
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName();
//----- Send Ndiv
// SendNdiv();
//----- Attributes
if(!SendVisAttributes
( fpViewer->GetApplicableVisAttributes( fpVisAttribs ) ) ) {
@@ -670,8 +721,19 @@ void G4FRSCENE::AddThis (const G4Trap& trap)
//----- parameters (half lengths of box)
G4double dz = trap.GetZHalfLength ();
G4double theta = acos( cosTheta ) ;
G4double phi = atan2( ny, nx ) ; if( phi < 0.0 ) { phi += twopi ; }
// -PI < atan() < PI
G4double phi;
if ( ny==0. && nx ==0.) {
phi = 0.; // atan2(0.,0.) gives undefined value of phi
} else {
phi = atan2( ny, nx ) ; if( phi < 0. ) { phi += twopi ; }
// -PI < atan() < PI
}
/////////////////////////////////////////////////
// G4double phi = atan2( ny, nx ) ;
// if( phi < 0.0 ) { phi += twopi ; }
// // -PI < atan() < PI
/////////////////////////////////////////////////
G4double h1 = trap.GetYHalfLength1 ();
G4double bl1 = trap.GetXHalfLength1 ();
G4double tl1 = trap.GetXHalfLength2 ();
@@ -684,6 +746,11 @@ void G4FRSCENE::AddThis (const G4Trap& trap)
//----- send coordinates to Fukui Renderer
SendTransformedCoordinates();
//----- Change sign of alpha for compatibility
// with the DAWN format
G4double alpha_sign = -1.0 ;
alpha1 *= alpha_sign ; alpha2 *= alpha_sign ;
//----- send box to Fukui Renderer
SendStrDouble11( FR_TRAP ,
dz ,
@@ -712,11 +779,14 @@ G4FRSCENE::AddThis( const G4Torus& torus )
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName();
//----- Send Ndiv
SendNdiv();
//----- Attributes
if(!SendVisAttributes
( fpViewer->GetApplicableVisAttributes( fpVisAttribs ) ) ) {
@@ -747,11 +817,13 @@ void G4FRSCENE::AddThis ( const G4VSolid& solid )
if( !IsVisible() ) { return ; }
//----- Initialize Fukui Renderer IF NECESSARY
InitializeFR();
FRBeginModeling();
//----- Send Name
SendPhysVolName() ;
//----- Send Ndiv
// SendNdiv();
//----- Send a primitive
G4VSceneHandler::AddThis( solid ) ;
@@ -800,12 +872,14 @@ G4FRSCENE::SendVisAttributes ( const G4VisAttributes* pAV )
//----- G4FRSCENE::IsVisible()
G4bool G4FRSCENE::IsVisible()
{
//-----
G4bool visibility = true ;
//-----
const G4VisAttributes* pVisAttribs =
fpViewer->GetApplicableVisAttributes( fpVisAttribs );
//-----
//-----
if( ( getenv( FR_ENV_CULL_INVISIBLE_OBJECTS ) != NULL ) && \
( strcmp( getenv( FR_ENV_CULL_INVISIBLE_OBJECTS ),"0" ) ) && \
( pVisAttribs ) )
@@ -813,6 +887,7 @@ G4bool G4FRSCENE::IsVisible()
visibility = pVisAttribs->IsVisible();
}
//-----
return visibility ;
} // G4FRSCENE::IsVisible()
@@ -821,6 +896,10 @@ G4bool G4FRSCENE::IsVisible()
//----- G4FRSCENE::SendBoundingBox()
void G4FRSCENE::SendBoundingBox( void )
{
#if defined DEBUG_FR_SCENE
G4cerr << "***** SendBoundingBox () (/BoundingBox)" << endl;
#endif
//----- (1A) CALC bounding box of the bounding sphere
const G4VisExtent& extent = GetScene()->GetExtent();
const G4Point3D& center = extent.GetExtentCenter();
@@ -851,34 +930,6 @@ void G4FRSCENE::SendBoundingBox( void )
} // G4FRSCENE::SendBoundingBox()
//----- G4FRSCENE::InitializeFR()
G4bool
G4FRSCENE::InitializeFR( void )
{
if( !IsInModeling() ) // if( !flag_in_modeling )
{
//----- Send saving command and heading comment
BeginSavingG4Prim();
//----- Send bounding box command
SendBoundingBox();
//----- sen SET_CAMERA command
SendStr( FR_SET_CAMERA );
//----- send begin modeling
//..... (1) FR_OPEN_DEVICE
//..... (2) FR_BEGIN_MODELING
//..... (3) FR_NDIV
BeginModeling ();
}
return flag_in_modeling ;
} // G4FRSCENE::InitializeFR( void )
//----- G4FRSCENE::SendTransformedCoordinates()
void
G4FRSCENE::SendTransformedCoordinates()
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FukuiRenderer.cc,v 1.3 1999/01/11 00:47:23 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FukuiRenderer.cc,v 1.3.8.1 1999/12/07 20:53:11 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Satoshi TANAKA
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FukuiRendererSceneHandler.cc,v 1.1 1999/01/09 16:11:52 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FukuiRendererSceneHandler.cc,v 1.2.4.1 1999/12/07 20:53:11 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Satoshi TANAKA, Fri Jun 28 11:34:24 JST 1996
@@ -20,7 +20,7 @@
#define __G_ANSI_C__
//#define DEBUG_FR_SCENE
// #define DEBUG_FR_SCENE
//----- header files
#include <fstream.h>
@@ -47,8 +47,8 @@
#include "G4VPhysicalVolume.hh"
//----- constants
const char FR_ENV_CULL_INVISIBLE_OBJECTS [] = "G4DAWN_CULL_INVISIBLE_OBJECTS";
const char FR_ENV_CULL_INVISIBLE_OBJECTS [] = "G4DAWN_CULL_INVISIBLE_OBJECTS";
const char FR_ENV_MULTI_WINDOW[] = "G4DAWN_MULTI_WINDOW" ;
///////////////////////////
// Driver-dependent part //
@@ -61,7 +61,7 @@ G4FukuiRendererSceneHandler::G4FukuiRendererSceneHandler (G4FukuiRenderer& syste
fSystem (system) ,
G4VSceneHandler (system, fSceneIdCount++, name) ,
fPrimDest (system.GetPrimDest() ) ,
flag_in_modeling (false) ,
FRflag_in_modeling (false) ,
flag_saving_g4_prim (false) ,
COMMAND_BUF_SIZE (G4FRClientServer::SEND_BUFMAX)
{
@@ -103,6 +103,69 @@ G4FukuiRendererSceneHandler::~G4FukuiRendererSceneHandler ()
}
//-----
void G4FukuiRendererSceneHandler::FRBeginModeling( void )
{
if( !FRIsInModeling() )
{
#if defined DEBUG_FR_SCENE
G4cerr << "***** G4FukuiRendererSceneHandler::FRBeginModeling (called & started)" << endl;
#endif
//----- Begin Saving g4.prim file
// open g4.prim, ##
BeginSavingG4Prim();
//----- Send Bounding Box
// /BoundingBox
SendBoundingBox();
//----- drawing device
// !Device
// (Note: Not saved in g4.prim)
if( ( getenv( FR_ENV_MULTI_WINDOW ) != NULL ) && \
( strcmp( getenv( FR_ENV_MULTI_WINDOW ),"0" ) ) )
{
((G4FukuiRendererViewer*)fpViewer)->SendDevice( G4FukuiRendererViewer::FRDEV_XWIN ) ;
} else {
((G4FukuiRendererViewer*)fpViewer)->SendDevice( G4FukuiRendererViewer::FRDEV_PS ) ;
}
//----- drawing style
// /WireFrame, /Surface etc
// (Note: Not saved in g4.prim)
((G4FukuiRendererViewer*)fpViewer)->SendDrawingStyle() ;
//----- set view parameters
// /CameraPosition, /TargetPoint,
// /ZoomFactor, /FocalDistance,
// !GraphicalUserInterface
((G4FukuiRendererViewer*)fpViewer)->SendViewParameters();
//----- send SET_CAMERA command
// !SetCamera
#if defined DEBUG_FR_SCENE
G4cerr << "***** (!SetCamera in FRBeginModeling())" << endl;
#endif
SendStr( FR_SET_CAMERA );
//----- open device
// !OpenDevice
#if defined DEBUG_FR_SCENE
G4cerr << "***** (!OpenDevice in FRBeginModeling())" << endl;
#endif
SendStr( FR_OPEN_DEVICE );
//----- begin sending primitives
// !BeginModeling
#if defined DEBUG_FR_SCENE
G4cerr << "***** (!BeginModeling in FRBeginModeling())" << endl;
#endif
SendStr( FR_BEGIN_MODELING ); FRflag_in_modeling = true ;
} // if
}
/////////////////////////////////////////
// Common to DAWN and DAWNFILE drivers //
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4FukuiRendererViewer.cc,v 1.2 1999/01/11 00:47:24 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4FukuiRendererViewer.cc,v 1.3.4.1 1999/12/07 20:53:11 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Satoshi TANAKA, Fri Jun 28 12:09:11 JST 1996
@@ -39,159 +39,82 @@
#include "G4FukuiRendererViewer.hh"
//----- constants
const char FR_ENV_MULTI_WINDOW[] = "G4DAWN_MULTI_WINDOW" ;
//----- G4FukuiRendererViewer, constructor
//----- Constructor
G4FukuiRendererViewer::G4FukuiRendererViewer (G4FukuiRendererSceneHandler& scene,
const G4String& name):
G4VViewer (scene, scene.IncrementViewCount (), name), fSceneHandler (scene)
{}
//----- G4FukuiRendererViewer, destructor
//----- Destructor
G4FukuiRendererViewer::~G4FukuiRendererViewer ()
{}
//----- G4FukuiRendererViewer::SetView ()
//-----
void G4FukuiRendererViewer::SetView ()
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4FukuiRendererViewer::SetView()\n";
G4cerr << "***** G4FukuiRendererViewer::SetView(): No effects" << endl;
#endif
// Do nothing, since DAWN is running as a different process.
// SendViewParameters () will do this job instead.
}
//----- G4FukuiRendererViewer::ClearView()
//-----
void
G4FukuiRendererViewer::ClearView( void )
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4FukuiRendererViewer::ClearView () " << endl;
G4cerr << "***** G4FukuiRendererViewer::ClearView (): No effects " << endl;
#endif
//----- Begin saving data to g4.prim
fSceneHandler.BeginSavingG4Prim();
//----- Clear old data
fSceneHandler.SendStr( FR_CLEAR_DATA );
}
//----- G4FukuiRendererViewer::DrawView ()
//-----
void G4FukuiRendererViewer::DrawView ()
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4FukuiRendererViewer::DrawView () " << endl;
#endif
//----- Error recovery
if( fSceneHandler.IsInModeling() ) {
G4cerr << "WARNING from FukuiRenderer (DAWN) driver:" << endl;
G4cerr << " You've invoked a drawing command before " << endl;
G4cerr << " completing your previous visualization." << endl;
// G4cerr << " You should have invoked command, /vis~/show/view," << endl;
// G4cerr << " to complete it." << endl;
FlushView();
}
//----- Begin modeling 3D
fSceneHandler.FRBeginModeling();
//----- Begin Saving g4.prim file
fSceneHandler.BeginSavingG4Prim();
//----- drawing device
if( ( getenv( FR_ENV_MULTI_WINDOW ) != NULL ) && \
( strcmp( getenv( FR_ENV_MULTI_WINDOW ),"0" ) ) )
{
SendDevice( FRDEV_XWIN ) ;
} else {
SendDevice( FRDEV_PS ) ;
}
//----- drawing style
SendDrawingStyle() ;
//----- set view if necessary
SendViewParameters();
// Camera data should be sent at every time, even if
// the setting is unchanged at GEANT 4 side.
//----- Always visit G4 kernel
//----- Always visit G4 kernel
NeedKernelVisit ();
//----- Draw
//----- Draw
ProcessView () ;
} // G4FukuiRendererViewer::DrawView ()
}
//----- G4FukuiRendererViewer::ShowView()
//-----
void G4FukuiRendererViewer::ShowView( void )
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4FukuiRendererViewer::ShowView () " << endl;
#endif
if( fSceneHandler.IsInModeling() ) // if( fSceneHandler.flag_in_modeling )
if( fSceneHandler.FRIsInModeling() )
{
//----- End of Data
//----- End of modeling
// !EndModeling, !DrawAll, !CloseDevice,
// close g4.prim
fSceneHandler.FREndModeling();
//----- Draw all
fSceneHandler.SendStr( FR_DRAW_ALL );
//----- Close device
fSceneHandler.SendStr( FR_CLOSE_DEVICE );
//----- End saving data to g4.prim
fSceneHandler.EndSavingG4Prim() ;
//----- Wait user clicks drawing Area
this->Wait();
}
} // G4FukuiRendererViewer::ShowView()
}
//----- G4FukuiRendererViewer::FlushView()
void G4FukuiRendererViewer::FlushView( void )
//-----
void G4FukuiRendererViewer::Wait()
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4FukuiRendererViewer::Flush () " << endl;
#endif
if( fSceneHandler.IsInModeling() ) // if( fSceneHandler.flag_in_modeling )
{
//----- End of Data
fSceneHandler.FREndModeling();
//----- Draw all
fSceneHandler.SendStr( FR_DRAW_ALL );
//----- Close device
fSceneHandler.SendStr( FR_CLOSE_DEVICE );
//----- End saving data to g4.prim
fSceneHandler.EndSavingG4Prim() ;
}
} // G4FukuiRendererViewer::FlushView()
//----- G4FukuiRendererViewer::Wait()
void
G4FukuiRendererViewer::Wait()
{
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4FukuiRendererViewer::Wait () " << endl;
G4cerr << "***** G4FukuiRendererViewer::Wait () : Begin" << endl;
#endif
fSceneHandler.SendStr ( FR_WAIT );
fSceneHandler.GetPrimDest().WaitSendBack( FR_WAIT );
@@ -202,7 +125,7 @@ G4FukuiRendererViewer::Wait()
}
//----- G4FukuiRendererViewer::SendDevice()
//-----
void
G4FukuiRendererViewer::SendDevice( FRDEV dev )
{
@@ -210,7 +133,6 @@ G4FukuiRendererViewer::SendDevice( FRDEV dev )
G4cerr << "***** G4FukuiRendererViewer::SendDevice() " << endl;
#endif
// enum {PS=1, XWIN=2, PS2=3, XWIN2=4, OPEN_GL=5, DEVICE_END=6};
if( dev >= FRDEV_PS || dev < FRDEV_DEVICE_END ) {
@@ -219,7 +141,7 @@ G4FukuiRendererViewer::SendDevice( FRDEV dev )
}
//----- G4FukuiRendererViewer::SendDrawingStyle()
//-----
void G4FukuiRendererViewer::SendDrawingStyle()
{
#if defined DEBUG_FR_VIEW
@@ -245,11 +167,10 @@ void G4FukuiRendererViewer::SendDrawingStyle()
break;
}
} // G4FukuiRendererViewer::SendDrawingStyle()
}
//----- G4FukuiRendererViewer::SendViewParameters ()
//-----
void G4FukuiRendererViewer::SendViewParameters ()
{
// Calculates view representation based on extent of object being
@@ -257,7 +178,7 @@ void G4FukuiRendererViewer::SendViewParameters ()
// later due to user interaction via visualization system's GUI.)
#if defined DEBUG_FR_VIEW
G4cerr << "***** G4FukuiRendererViewer::SendViewParameters()\n";
G4cerr << "***** G4FukuiRendererViewer::SendViewParameters()" << endl;
#endif
//----- Magic number to decide camera distance automatically
@@ -265,9 +186,6 @@ void G4FukuiRendererViewer::SendViewParameters ()
const G4double MIN_HALF_ANGLE = 0.01 ;
const G4double MAX_HALF_ANGLE = 0.499 * M_PI ;
//----- Send Bounding Box
fSceneHandler.SendBoundingBox();
//----- (2A) CALC camera distance
//..... Note: Camera cannot enter inside object
G4double camera_distance ;
@@ -351,9 +269,8 @@ void G4FukuiRendererViewer::SendViewParameters ()
fSceneHandler.GetPrimDest().WaitSendBack( FR_GUI );
}
//----- SET CAMERA
fSceneHandler.SendStr( FR_SET_CAMERA );
} // G4FukuiRendererViewer::SendViewParameters ()
}
#endif // G4VIS_BUILD_DAWN_DRIVER
+10 -2
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.2 1999/06/19 16:29:35 johna Exp $
# $Id: GNUmakefile,v 1.4 1999/09/15 16:49:59 johna Exp $
# -----------------------------------------------------------------------
# GNUmakefile for visualization and modeling. John Allison, 5/7/95.
# Modeling is always made. Others by environment. John Allison 4/7/98.
@@ -66,5 +66,13 @@ ifdef G4VIS_BUILD_VRMLFILE_DRIVER
endif
# End of VRML and VRMLFILE drivers
include $(G4INSTALL)/config/globlib.gmk
.PHONY: granular glob global clean
granular:
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done
glob global:
@echo "ERROR: The global target not relevant for the visualization category."
clean:
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) clean); done
+126 -2
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.23 1999/07/03 10:52:25 johna Exp $
$Id: History,v 1.54 1999/12/07 11:05:52 johna Exp $
-------------------------------------------------------------------
=========================================================
@@ -24,6 +24,130 @@ committal in the CVS repository !
History file for visualization category
---------------------------------------
vis-V00-01-14a 7th December 1999 John Allison
- Added `class' keyword in friend statement in G4VisStateDependent.hh
to keep HP happy.
vis-V00-01-14 6th December 1999 John Allison
- Invert rotation of boolean component in G4PhysicalVolumeModel.cc.
vis-V00-01-13 Satoshi TANAKA Dec 01, 1999
- DAWN-V00-01-08
- Removed implicit casting from the previous updation
vis-V00-01-12 Satoshi TANAKA Nov 30, 1999
- DAWN-V00-01-06
- Fixing improper definition of alpha1, alpha2
vis-V00-01-11 29th November 1999 John Allison
- Introduced helper class G4VisStateDependent to decouple G4VisManager from
G4StateManager, G4RunManager, etc.
- Archived old directoris inside test subdirectory.
vis-V00-01-10 25th November 1999 John Allison
- Adapted relevant header files of modeling and management for
Software Reference Manual.
vis-V00-01-09 23th November 1999 Satoshi Tanaka
- Protection to ill-defined G4Trap in AddThis()
vis-V00-01-08 10th November 1999 John Allison
- Added capability of viewing Boolean solids - coworks with geometry-V00-01-01.
- Fixed bug in G4VViewer to maintain proper status of fNeedKernelVisit.
- Added Boolean solids to test/src/MyDetectorConstruction.cc.
- Added circle to represent end of step in test/src/MySteppingAction.cc.
vis-V00-01-07 5th November John Allison
- Added /vis/viewer/update [<viewer-name>].
- Some groundwork for /vis/scene/edit.
- Added additional check in G4VisManager::IsValidView().
- G4VSceneHandler::ClearStore() invokes fpViewer -> NeedKernelVisit().
(After a clear of the graphical database it is necessary to do this.
So if a derived class redefines, it must still invoke this base
class method.
- G4Scene::AddRunDurationModel(), AddWorldIfEmpty(), AddEndOfEventModel():
avoid duplicate models and flag with G4bool return argument.
- G4VisCommandsSceneAdd: respect the above G4bool return value.
- G4Scene::AddRunDurationModel(): remove temporary workaround for old CLHEP
non-const problem.
- Added 3rd template argument of map (to keep Sun CC 4.2 happy) in
G4OpenGLStoredSceneHandler.hh and G4OpenInventorSceneHandler.hh.
- G4OpenGLStoredSceneHandler::ClearStore() and
G4OpenInventorSceneHandler::ClearStore() invoke base class function
G4VSceneHandler::ClearStore().
VRML-V00-01-01 4th November 1999 Satoshi Tanaka
- Introduction of VRMLBeginModeling() for new vis commands
- Updation and tagging of visualization/VRML/
and this History file
DAWN-V00-01-04 04th November 1999 Satoshi TANAKA
- Protection to AddPrimitive( G4NURBS )
- Updation and tagging of visualization/FukuiRenderer/
and this History file
DAWN-V00-01-03 02nd November 1999 Satoshi TANAKA
- Updation and tagging of visualization/FukuiRenderer/
and this History file
- Environmental variable G4DAWN_MULTI_WINDOW is
renamed to G4DAWNFILE_MULTI_WINDOW for DAWN-file driver.
(G4DAWN_MULTI_WINDOW still works for a while.)
DAWN-V00-01-02 01st November 1999 Satoshi TANAKA
- Updation and tagging of visualization/FukuiRenderer/
and this History file
- Separation of BeginModeling() and FRBeginModeling().
Co-workable with /run/beamOn with the new vis commands.
29 Oct 1999 Guy Barrand
- Modify G4Xo.cc to not load G4Xo.xrm resource file.
Resource must be grouped in some g4.xrm file.
vis-V00-01-06 25th October 1999 John Allison
- No longer update view parameters in /vis/scene/add/volume, etc.
- Change G4RWTValHashDictionary to G4std::map in G4OpenGLStoredSceneHandler
and G4OpenInventorSceneHandler (needs global-V00-01-03).
11 Oct 1999 Guy Barrand
- G4GoSceneHandler.cc/G4GoSceneHandler::EndPrimitives : modify
the logic of setting the OMatrix for Go objects in order
to avoid the usage of the CLHEP/Rotation.getAngleAxis that
clearly has precision problem on some platforms (at least
Linux and HP-UX).
vis-V00-01-05 4th October 1999 John Allison
- Implemented /vis/scene/add/logicalVolume.
- Added G4LogicalVolumeModel.
- Augmented G4PhysicalVolumeModel so G4LogicalVolumeModel could inherit.
- Updated G4BoundingSphereScene and G4PhysicalVolumeSearchScene to
implement extra virtual functions in G4VSceneHandler interface.
- Moved virtual destructor G4VModel::~G4VModel to non-inline implementation.
- Tidied G4VSceneHandler.
vis-V00-01-04 30 Sep 1999 Satoshi Tanaka
- RW/STL dependence was removed from VRML 1.0 driver
15 Sep 1999 Guy Barrand
- Modify G4OpenGLStoredSceneHandler.cc to compile on Linux-g++ with STL.
vis-V00-01-03 27th August John Allison
- Modified GNUmakefile to prevent building of global libraries.
vis-V00-01-02 27th August John Allison
- Eliminate residual references to G4Ray.
- Improved some informational printing in G4VisManager::IsValidView.
- G4Vis
Manager::SetCurrentGraphicsSystem no longer gives spurious warnings.
- Improved README (change `gmake global' to plain `gmake').
vis-V00-01-01 26th August Satoshi TANAKA
- Protection for invalid calling of BeginModeling
- .DAWN.history ==> .DAWN_1.history
**** It means DAWN version 3.80a or after is required ***
vis-V00-01-00 24th August Satoshi TANAKA
- Improved README.
vis-01-00-15a 3rd July 1999 John Allison
- Improved README (Guy).
- Corrected a fprintf statement in G4OpenGLXViewer::spewWireframeEPS.
@@ -109,7 +233,7 @@ vis-01-00-05 7th February 1999 John Allison
vis-01-00-04 11th January 1999 John Allison
- Completed change of names from scene to sceneHandler, view to viewer.
- Vis manager and scene handlers now keep pointer to scene, rather than a copy.
- G4SceneList now a simple RWTPtrOrderedVector.
- G4SceneList now a simple G4RWTPtrOrderedVector.
- /vis/camera/reset now resets viewpoint direction and up vector.
vis-01-00-03 10th January 1999 John Allison
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4GoSceneHandler.hh,v 1.3 1999/05/25 12:04:43 barrand Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4GoSceneHandler.hh,v 1.3.8.1 1999/12/07 20:53:12 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
+3 -3
View File
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4Wo.hh,v 1.4 1999/05/10 15:38:48 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4Wo.hh,v 1.4.8.1 1999/12/07 20:53:12 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4WoViewer.hh,v 1.3 1999/05/10 15:38:49 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4WoViewer.hh,v 1.3.8.1 1999/12/07 20:53:12 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
+3 -3
View File
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4Xo.hh,v 1.4 1999/05/10 15:38:50 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4Xo.hh,v 1.4.8.1 1999/12/07 20:53:12 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4XoViewer.hh,v 1.3 1999/05/10 15:38:51 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4XoViewer.hh,v 1.3.8.1 1999/12/07 20:53:12 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4GoSceneHandler.cc,v 1.3 1999/05/31 17:20:56 barrand Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4GoSceneHandler.cc,v 1.4.4.1 1999/12/07 20:53:13 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
@@ -267,6 +267,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4Box&) " << endl;
#endif
G4VSceneHandler::AddThis (box);
}
/***************************************************************************/
@@ -276,6 +279,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4Cons&) " << endl;
#endif
G4VSceneHandler::AddThis (cons);
}
/***************************************************************************/
@@ -285,6 +291,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4Tubs&) " << endl;
#endif
G4VSceneHandler::AddThis (tubs);
}
/***************************************************************************/
@@ -294,6 +303,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4Trd&) " << endl;
#endif
G4VSceneHandler::AddThis (trd);
}
/***************************************************************************/
@@ -303,6 +315,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4Trap&) " << endl;
#endif
G4VSceneHandler::AddThis (trap);
}
/***************************************************************************/
@@ -312,6 +327,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4Sphere&) " << endl;
#endif
G4VSceneHandler::AddThis (sphere);
}
/***************************************************************************/
@@ -321,6 +339,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4Para&) " << endl;
#endif
G4VSceneHandler::AddThis (para);
}
/***************************************************************************/
@@ -330,6 +351,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4Torus&) " << endl;
#endif
G4VSceneHandler::AddThis (torus);
}
/***************************************************************************/
@@ -339,6 +363,9 @@ void G4GoSceneHandler::AddThis (
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
G4cout << "G4GoSceneHandler::AddThis(G4VSolid&) " << endl;
#endif
G4VSceneHandler::AddThis (solid);
}
/***************************************************************************/
@@ -387,8 +414,10 @@ void G4GoSceneHandler::BeginPrimitives (
#ifdef DEBUG
G4cout << "G4GoSceneHandler::BeginPrimitives" << endl;
#endif
G4VSceneHandler::BeginPrimitives (objectTransformation);
transformation = objectTransformation;
fGoNode = nodeName!=NULL ? ONodeCreate (nodeName) : ONodeMake ();
if(ONodeIsValid(fRootGoNode)==0) {
fRootGoNode = ONodeMake ();
@@ -412,18 +441,15 @@ void G4GoSceneHandler::EndPrimitives (
#ifdef DEBUG
G4cout << "G4GoSceneHandler::EndPrimitives" << endl;
#endif
G4double g4angle;
G4ThreeVector g4axis;
G4ThreeVector g4trans;
transformation.getRotation().getAngleAxis(g4angle,g4axis);
g4trans = transformation.getTranslation();
OMatrix orot = OMatrixCreate (OMatrixRotationAxis,g4angle,g4axis.x(),g4axis.y(),g4axis.z());
OMatrix otra = OMatrixCreate (OMatrixTranslation,g4trans.x(),g4trans.y(),g4trans.z());
OMatrix omatrix = OMatrixMultiply (otra,orot);
HepRotation rot = transformation.getRotation();
Hep3Vector tra = transformation.getTranslation();
OMatrix omatrix = OMatrixCreate(OMatrixFollowing,
rot.xx(),rot.xy(),rot.xz(),tra.x(),
rot.yx(),rot.yy(),rot.yz(),tra.y(),
rot.zx(),rot.zy(),rot.zz(),tra.z(),
0., 0., 0., 1.);
ONodeSetMatrix (fGoNode,omatrix);
OMatrixDelete (omatrix);
OMatrixDelete (orot);
OMatrixDelete (otra);
fGoNode = NULL;
G4VSceneHandler::EndPrimitives ();
}
+3 -3
View File
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4Wo.cc,v 1.3 1999/01/11 00:47:32 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4Wo.cc,v 1.3.8.1 1999/12/07 20:53:14 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
+3 -3
View File
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4WoViewer.cc,v 1.2 1999/01/11 00:47:33 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4WoViewer.cc,v 1.2.8.1 1999/12/07 20:53:14 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
+4 -4
View File
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4Xo.cc,v 1.3 1999/01/11 00:47:34 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4Xo.cc,v 1.4.4.1 1999/12/07 20:53:14 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
@@ -45,7 +45,7 @@ G4Xo::G4Xo (
return;
}
XWidgetSetTop (top);
XDisplayPutFileInResourceDatabase (XtDisplay(top),"G4Xo.xrm");
//XDisplayPutFileInResourceDatabase (XtDisplay(top),"G4Xo.xrm");
}
/***************************************************************************/
G4Xo::~G4Xo (
+3 -3
View File
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4XoViewer.cc,v 1.3 1999/05/31 21:17:01 barrand Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4XoViewer.cc,v 1.3.8.1 1999/12/07 20:53:14 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Guy Barrand 04 November 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateSceneHandler.hh,v 1.2 1999/05/10 14:03:39 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateSceneHandler.hh,v 1.2.8.1 1999/12/07 20:53:14 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateViewer.hh,v 1.2 1999/01/11 00:47:35 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateViewer.hh,v 1.3.2.1 1999/12/07 20:53:15 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -25,7 +25,7 @@
#include "G4OpenGLImmediateSceneHandler.hh"
#include "G4OpenGLTransform3D.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
class G4OpenGLSceneHandler;
class G4OpenGLImmediateSceneHandler;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateWin32.hh,v 1.3 1999/01/11 00:47:36 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateWin32.hh,v 1.3.8.1 1999/12/07 20:53:15 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// OpenGLImmediateWin32 graphics system factory.
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateWin32Viewer.hh,v 1.1 1999/01/09 16:22:37 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateWin32Viewer.hh,v 1.2.2.1 1999/12/07 20:53:15 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Class G4OpenGLImmediateWin32Viewer : a class derived from
@@ -22,7 +22,7 @@
#include "G4OpenGLWin32Viewer.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
class G4OpenGLImmediateSceneHandler;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateX.hh,v 1.4 1999/05/10 14:03:41 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateX.hh,v 1.4.8.1 1999/12/07 20:53:16 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateXViewer.hh,v 1.2 1999/05/10 14:03:42 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateXViewer.hh,v 1.3.2.1 1999/12/07 20:53:16 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -23,7 +23,7 @@
#include "G4OpenGLXViewer.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
class G4OpenGLImmediateSceneHandler;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateXm.hh,v 1.3 1999/01/11 00:47:37 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateXm.hh,v 1.3.8.1 1999/12/07 20:53:17 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateXmViewer.hh,v 1.1 1999/01/09 16:22:41 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateXmViewer.hh,v 1.2.2.1 1999/12/07 20:53:17 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -23,7 +23,7 @@
#include "G4OpenGLXmViewer.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
class G4OpenGLImmediateSceneHandler;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLSceneHandler.hh,v 1.3 1999/06/29 18:06:53 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLSceneHandler.hh,v 1.3.8.1 1999/12/07 20:53:17 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 27th March 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLSceneHandler.icc,v 1.1 1999/01/09 16:22:43 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLSceneHandler.icc,v 1.1.8.1 1999/12/07 20:53:17 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 20th January 1998
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredSceneHandler.hh,v 1.3 1999/06/29 18:06:54 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredSceneHandler.hh,v 1.6.2.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -23,14 +23,13 @@
#include "globals.hh"
#include "G4RotationMatrix.hh"
#include "G4OpenGLSceneHandler.hh"
#include <rw/tvhdict.h>
#include "g4std/map"
class G4OpenGLStored;
class G4OpenGLStoredSceneHandler: public G4OpenGLSceneHandler {
public:
typedef unsigned long G4VSolidPointer;
G4OpenGLStoredSceneHandler (G4VGraphicsSystem& system, const G4String& name = "");
virtual ~G4OpenGLStoredSceneHandler ();
void BeginPrimitives (const G4Transform3D& objectTransformation);
@@ -51,16 +50,16 @@ friend class G4OpenGLStoredViewer;
// PODL = Persistent Object Display List.
GLint fTopPODL; // List which calls the other PODLs.
RWTValOrderedVector<G4int> fPODLList;
RWTValOrderedVector<G4Transform3D> fPODLTransformList;
G4RWTValOrderedVector<G4int> fPODLList;
G4RWTValOrderedVector<G4Transform3D> fPODLTransformList;
// TODL = Transient Object Display List.
RWTValOrderedVector<G4int> fTODLList;
RWTValOrderedVector<G4Transform3D> fTODLTransformList;
G4RWTValOrderedVector<G4int> fTODLList;
G4RWTValOrderedVector<G4Transform3D> fTODLTransformList;
// Stop-gap solution of structure re-use.
// A proper implementation would use geometry hierarchy.
RWTValHashDictionary<G4VSolidPointer, G4int> fSolidDictionary;
G4std::map <const G4VSolid*, G4int, less <const G4VSolid*> > fSolidMap;
};
inline G4int G4OpenGLStoredSceneHandler::GetSceneCount () {
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredViewer.hh,v 1.3 1999/05/10 14:03:46 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredViewer.hh,v 1.4.2.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -25,7 +25,7 @@
#include "G4OpenGLStoredSceneHandler.hh"
#include "G4OpenGLTransform3D.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
class G4OpenGLStoredSceneHandler;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredWin32.hh,v 1.3 1999/01/11 00:47:39 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredWin32.hh,v 1.3.8.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// OpenGLStoredWin32 graphics system factory.
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredWin32Viewer.hh,v 1.1 1999/01/09 16:22:46 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredWin32Viewer.hh,v 1.1.8.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Class G4OpenGLStoredWin32Viewer : a class derived from
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredX.hh,v 1.4 1999/05/10 14:03:47 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredX.hh,v 1.4.8.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredXViewer.hh,v 1.2 1999/05/10 14:03:49 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredXViewer.hh,v 1.2.8.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredXm.hh,v 1.3 1999/01/11 00:47:40 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredXm.hh,v 1.3.8.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredXmViewer.hh,v 1.1 1999/01/09 16:22:50 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredXmViewer.hh,v 1.1.8.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLTransform3D.hh,v 1.2 1999/01/09 16:22:51 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLTransform3D.hh,v 1.2.8.1 1999/12/07 20:53:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 24th October 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLViewer.hh,v 1.3 1999/05/10 14:03:50 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLViewer.hh,v 1.4.2.1 1999/12/07 20:53:19 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 27th March 1996
@@ -19,7 +19,7 @@
#include "G4VViewer.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
class G4OpenGLSceneHandler;
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLWin32Viewer.hh,v 1.1 1999/01/09 16:22:53 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLWin32Viewer.hh,v 1.2.2.1 1999/12/07 20:53:19 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// G4OpenGLWin32Viewer : Class to provide WindowsNT specific
@@ -20,7 +20,7 @@
#include "G4VViewer.hh"
#include "G4OpenGLSceneHandler.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
//Win32 includes?
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXViewer.hh,v 1.4 1999/06/29 18:06:56 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXViewer.hh,v 1.5.2.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -21,7 +21,7 @@
#include "G4VViewer.hh"
#include "G4OpenGLSceneHandler.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
#include <X11/Xlib.h>
#include <X11/Intrinsic.h>
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmBox.hh,v 1.2 1999/01/09 16:22:55 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmBox.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Box container class
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmConvenienceRoutines.hh,v 1.2 1999/01/09 16:22:55 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmConvenienceRoutines.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmFourArrowButtons.hh,v 1.2 1999/01/09 16:22:56 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmFourArrowButtons.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Four arrow buttons class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmFramedBox.hh,v 1.2 1999/01/09 16:22:56 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmFramedBox.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Framed box container class
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmMainMenubarCallbacks.hh,v 1.2 1999/01/09 16:22:57 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmMainMenubarCallbacks.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmPanningCallbacks.hh,v 1.2 1999/01/09 16:22:58 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmPanningCallbacks.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmPushButton.hh,v 1.2 1999/01/09 16:22:58 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmPushButton.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Push button class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmRadioButton.hh,v 1.2 1999/01/09 16:22:59 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmRadioButton.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Radio button class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmResources.hh,v 1.2 1999/01/09 16:22:59 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmResources.hh,v 1.2.8.1 1999/12/07 20:53:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Default resources file for GEANT4 OpenGL Motif windows.
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmRotationCallbacks.hh,v 1.2 1999/01/09 16:23:00 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmRotationCallbacks.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmSeparator.hh,v 1.2 1999/01/09 16:23:01 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmSeparator.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Separator class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmSliderBar.hh,v 1.2 1999/01/09 16:23:01 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmSliderBar.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Slider bar class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmStyleCallbacks.hh,v 1.2 1999/01/09 16:23:02 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmStyleCallbacks.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmTextField.hh,v 1.2 1999/01/09 16:23:02 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmTextField.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Text field class. Inherits from G4OpenGLXmVWidgetComponent
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmTopLevelShell.hh,v 1.2 1999/01/09 16:23:03 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmTopLevelShell.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Top level shell class
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmVWidgetComponent.hh,v 1.2 1999/01/09 16:23:04 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmVWidgetComponent.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Base class for all Motif component widgets
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmVWidgetContainer.hh,v 1.2 1999/01/09 16:23:04 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmVWidgetContainer.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Base class for all Motif container widgets
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmVWidgetObject.hh,v 1.2 1999/01/09 16:23:05 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmVWidgetObject.hh,v 1.2.8.1 1999/12/07 20:53:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Virtual base class for all Motif widgets.
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmVWidgetShell.hh,v 1.2 1999/01/09 16:23:06 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmVWidgetShell.hh,v 1.2.8.1 1999/12/07 20:53:22 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
//Base class for all Motif window widgets (shells)
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmViewer.hh,v 1.1 1999/01/09 16:23:07 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmViewer.hh,v 1.2.2.1 1999/12/07 20:53:22 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -21,7 +21,7 @@
#include "G4OpenGLXViewer.hh"
#include "G4OpenGLSceneHandler.hh"
#include "globals.hh"
#include <rw/tvordvec.h>
#include "g4rw/tvordvec.h"
#include <Xm/Xm.h>
#include <Xm/MainW.h>
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmWindowHandlingCallbacks.hh,v 1.2 1999/01/09 16:23:07 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmWindowHandlingCallbacks.hh,v 1.2.8.1 1999/12/07 20:53:22 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateSceneHandler.cc,v 1.2 1999/01/11 00:47:42 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateSceneHandler.cc,v 1.2.8.1 1999/12/07 20:53:22 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateViewer.cc,v 1.2 1999/01/11 00:47:42 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateViewer.cc,v 1.2.8.1 1999/12/07 20:53:23 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateWin32.cc,v 1.3 1999/01/11 00:47:43 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateWin32.cc,v 1.3.8.1 1999/12/07 20:53:23 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// OpenGLImmediateWin32 graphics system factory.
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateWin32Viewer.cc,v 1.1 1999/01/09 16:23:12 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateWin32Viewer.cc,v 1.1.8.1 1999/12/07 20:53:23 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Class G4OpenGLImmediateWin32Viewer : a class derived from G4OpenGLWin32Viewer and
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateX.cc,v 1.4 1999/05/10 14:03:54 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateX.cc,v 1.4.8.1 1999/12/07 20:53:23 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 27th March 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateXViewer.cc,v 1.2 1999/05/10 14:03:55 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateXViewer.cc,v 1.2.8.1 1999/12/07 20:53:23 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateXm.cc,v 1.3 1999/01/11 00:47:44 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateXm.cc,v 1.3.8.1 1999/12/07 20:53:23 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLImmediateXmViewer.cc,v 1.1 1999/01/09 16:23:15 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLImmediateXmViewer.cc,v 1.1.8.1 1999/12/07 20:53:24 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLSceneHandler.cc,v 1.3 1999/02/07 17:17:10 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLSceneHandler.cc,v 1.3.8.1 1999/12/07 20:53:24 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 27th March 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredSceneHandler.cc,v 1.2 1999/01/11 00:47:45 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredSceneHandler.cc,v 1.5.4.1 1999/12/07 20:53:25 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -43,17 +43,11 @@
#include "G4OpenGLStoredSceneHandler.hh"
inline static unsigned pSolidHashFun
(const G4OpenGLStoredSceneHandler::G4VSolidPointer& pSolid) {
return (unsigned)pSolid;
}
G4OpenGLStoredSceneHandler::G4OpenGLStoredSceneHandler (G4VGraphicsSystem& system,
const G4String& name):
G4OpenGLSceneHandler (system, fSceneIdCount++, name),
fMemoryForDisplayLists (true),
fTopPODL (0),
fSolidDictionary (pSolidHashFun)
fTopPODL (0)
{
fSceneCount++;
}
@@ -114,6 +108,8 @@ void G4OpenGLStoredSceneHandler::EndPrimitives () {
void G4OpenGLStoredSceneHandler::ClearStore () {
G4VSceneHandler::ClearStore (); // Sets need kernel visit, etc.
int i;
// Delete OpenGL display lists.
@@ -142,7 +138,7 @@ void G4OpenGLStoredSceneHandler::ClearStore () {
fTODLList.clear ();
fPODLTransformList.clear ();
fTODLTransformList.clear ();
fSolidDictionary.clear ();
fSolidMap.clear ();
}
void G4OpenGLStoredSceneHandler::BeginModeling () {
@@ -187,15 +183,16 @@ void G4OpenGLStoredSceneHandler::RequestPrimitives (const G4VSolid& solid) {
else {
// Stop-gap solution for display List re-use. A proper
// implementation would use geometry hierarchy.
G4VSolidPointer pSolid = (G4VSolidPointer) &solid;
const G4VSolid* pSolid = &solid;
if (!(fpCurrentPV -> IsReplicated ()) &&
fSolidDictionary.findValue (pSolid, fDisplayListId)) {
(fSolidMap.find (pSolid) != fSolidMap.end ())) {
fDisplayListId = fSolidMap [pSolid];
fPODLList.append (fDisplayListId);
fPODLTransformList.append (*fpObjectTransformation);
}
else {
G4VSceneHandler::RequestPrimitives (solid);
fSolidDictionary.insertKeyAndValue (pSolid, fDisplayListId);
fSolidMap [pSolid] = fDisplayListId;
}
}
}
@@ -205,4 +202,3 @@ G4int G4OpenGLStoredSceneHandler::fSceneIdCount = 0;
G4int G4OpenGLStoredSceneHandler::fSceneCount = 0;
#endif
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredViewer.cc,v 1.3 1999/05/10 14:03:56 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredViewer.cc,v 1.3.8.1 1999/12/07 20:53:25 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredWin32.cc,v 1.3 1999/01/11 00:47:47 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredWin32.cc,v 1.3.8.1 1999/12/07 20:53:25 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// OpenGLStoredWin32 graphics system factory.
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredWin32Viewer.cc,v 1.1 1999/01/09 16:23:21 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredWin32Viewer.cc,v 1.1.8.1 1999/12/07 20:53:25 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Class G4OpenGLStoredWin32Viewer : a class derived from G4OpenGLWin32Viewer and
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredX.cc,v 1.4 1999/05/10 14:03:57 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredX.cc,v 1.4.8.1 1999/12/07 20:53:26 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredXViewer.cc,v 1.2 1999/05/10 14:03:59 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredXViewer.cc,v 1.2.8.1 1999/12/07 20:53:26 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredXm.cc,v 1.3 1999/01/11 00:47:48 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredXm.cc,v 1.3.8.1 1999/12/07 20:53:26 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLStoredXmViewer.cc,v 1.1 1999/01/09 16:23:28 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLStoredXmViewer.cc,v 1.1.8.1 1999/12/07 20:53:26 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 10th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLTransform3D.cc,v 1.2 1999/01/09 16:23:29 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLTransform3D.cc,v 1.2.8.1 1999/12/07 20:53:26 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 24th October 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLViewer.cc,v 1.3 1999/05/10 14:04:00 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLViewer.cc,v 1.3.8.1 1999/12/07 20:53:26 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 27th March 1996
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLWin32Viewer.cc,v 1.1 1999/01/09 16:23:32 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLWin32Viewer.cc,v 1.1.8.1 1999/12/07 20:53:27 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// G4OpenGLWin32Viewer : Class to provide WindowsNT specific
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXViewer.cc,v 1.4 1999/07/03 10:51:45 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXViewer.cc,v 1.4.8.1 1999/12/07 20:53:27 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 7th February 1997
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmBox.cc,v 1.2 1999/01/09 16:23:34 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmBox.cc,v 1.2.8.1 1999/12/07 20:53:27 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//Box container class
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpenGLXmConvenienceRoutines.cc,v 1.2 1999/01/09 16:23:35 allison Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpenGLXmConvenienceRoutines.cc,v 1.2.8.1 1999/12/07 20:53:27 gunter Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
// Andrew Walkden 16th April 1997

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