Import Geant4 11.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2021-12-10 14:46:44 +01:00
committed by Ben Morgan
parent 6399a014b6
commit 80e2389dd8
3932 changed files with 202519 additions and 246221 deletions
@@ -33,23 +33,19 @@
#include "G4VGraphicsSystem.hh"
//----- prototype
class G4VSceneHandler ;
//----------------------------//
//----- class G4DAWNFILE -----//
//----------------------------//
class G4DAWNFILE: public G4VGraphicsSystem {
public:
G4DAWNFILE ();
virtual ~G4DAWNFILE ();
G4VSceneHandler* CreateSceneHandler (const G4String& name = "");
G4VViewer* CreateViewer (G4VSceneHandler&, const G4String& name = "");
private:
//----- prototype
class G4VSceneHandler;
//----------------------------//
//----- class G4DAWNFILE -----//
//----------------------------//
class G4DAWNFILE : public G4VGraphicsSystem
{
public:
G4DAWNFILE();
virtual ~G4DAWNFILE();
G4VSceneHandler* CreateSceneHandler(const G4String& name = "");
G4VViewer* CreateViewer(G4VSceneHandler&, const G4String& name = "");
};
#endif
@@ -37,193 +37,139 @@
#include "G4FRofstream.hh"
#include "G4FRConst.hh"
class G4VisAttributes ;
class G4VisAttributes;
class G4DAWNFILE;
//-----
class G4DAWNFILESceneHandler: public G4VSceneHandler {
//-----
class G4DAWNFILESceneHandler : public G4VSceneHandler
{
friend class G4DAWNFILEViewer;
public:
public:
//----- constructor and destructor
G4DAWNFILESceneHandler(G4DAWNFILE& system, const G4String& name = "");
virtual ~G4DAWNFILESceneHandler();
//----- constructor and destructor
G4DAWNFILESceneHandler (G4DAWNFILE& system, const G4String& name = "");
virtual ~G4DAWNFILESceneHandler ();
//----- overriding base class methods
//----- overriding base class methods
using G4VSceneHandler::AddPrimitive;
void AddPrimitive (const G4Polyline& line);
void AddPrimitive (const G4Polyhedron& p);
void AddPrimitive (const G4Text&);
void AddPrimitive (const G4Circle&);
void AddPrimitive (const G4Square&);
void AddPrimitive(const G4Polyline& line);
void AddPrimitive(const G4Polyhedron& p);
void AddPrimitive(const G4Text&);
void AddPrimitive(const G4Circle&);
void AddPrimitive(const G4Square&);
void BeginPrimitives (const G4Transform3D& objectTransformation);
void EndPrimitives ();
void BeginPrimitives(const G4Transform3D& objectTransformation);
void EndPrimitives();
using G4VSceneHandler::AddSolid;
void AddSolid ( const G4Box& box );
void AddSolid ( const G4Cons& cons );
void AddSolid ( const G4Tubs& tubs );
void AddSolid ( const G4Trd& trd );
void AddSolid ( const G4Trap& trap );
void AddSolid ( const G4Sphere& sphere );
void AddSolid ( const G4Para& para );
void AddSolid ( const G4Torus& torus );
void AddSolid ( const G4VSolid& solid );
void AddSolid(const G4Box& box);
void AddSolid(const G4Cons& cons);
void AddSolid(const G4Tubs& tubs);
void AddSolid(const G4Trd& trd);
void AddSolid(const G4Trap& trap);
void AddSolid(const G4Sphere& sphere);
void AddSolid(const G4Para& para);
void AddSolid(const G4Torus& torus);
void AddSolid(const G4VSolid& solid);
void ClearTransientStore(); // Used for triggering detector re-drawing.
//----- public methods inherent to this class
void FRBeginModeling () ;
void FREndModeling () ;
G4bool FRIsInModeling () { return FRflag_in_modeling ; }
//----- public methods inherent to this class
void FRBeginModeling();
void FREndModeling();
G4bool FRIsInModeling() { return FRflag_in_modeling; }
G4bool IsSavingG4Prim ( void ) { return flag_saving_g4_prim ; }
void BeginSavingG4Prim( void );
void EndSavingG4Prim ( void ) ;
void SetG4PrimFileName() ;
G4bool IsSavingG4Prim(void) { return flag_saving_g4_prim; }
void BeginSavingG4Prim(void);
void EndSavingG4Prim(void);
void SetG4PrimFileName();
G4DAWNFILE& GetSystem () { return fSystem ; }
void SendBoundingBox ( void );
const char* GetG4PrimFileName () { return fG4PrimFileName ; }
G4DAWNFILE& GetSystem() { return fSystem; }
void SendBoundingBox(void);
const char* GetG4PrimFileName() { return fG4PrimFileName; }
private:
//----- Utilities etc (common to DAWN and DAWNFILE drivers )
G4bool SendVisAttributes(const G4VisAttributes* pAV);
G4bool IsVisible(void);
void SendTransformedCoordinates(void);
void SendPhysVolName(void);
void SendNdiv(void);
private:
//----- public methods common to DAWN and DAWNFILE drivers
public:
void SendStr(const char* char_string);
void SendStrInt(const char* char_string, G4int ival);
void SendStrInt3(const char* char_string, G4int ival1, G4int ival2,
G4int ival3);
void SendStrInt4(const char* char_string, G4int ival1, G4int ival2,
G4int ival3, G4int ival4);
void SendStrDouble(const char* char_string, G4double dval);
void SendStrDouble2(const char* char_string, G4double dval1, G4double dval2);
void SendStrDouble3(const char* char_string, G4double dval1, G4double dval2,
G4double dval3);
//----- Utilities etc (common to DAWN and DAWNFILE drivers )
G4bool SendVisAttributes ( const G4VisAttributes* pAV );
G4bool IsVisible ( void ) ;
void SendTransformedCoordinates( void ) ;
void SendPhysVolName ( void ) ;
void SendNdiv ( void ) ;
void SendStrDouble4(const char* char_string, G4double dval1, G4double dval2,
G4double dval3, G4double dval4);
//----- public methods common to DAWN and DAWNFILE drivers
public:
void SendStr ( const char* char_string ) ;
void SendStrInt( const char* char_string ,
G4int ival );
void SendStrInt3( const char* char_string ,
G4int ival1 ,
G4int ival2 ,
G4int ival3 );
void SendStrInt4( const char* char_string ,
G4int ival1 ,
G4int ival2 ,
G4int ival3 ,
G4int ival4 );
void SendStrDouble( const char* char_string ,
G4double dval );
void SendStrDouble2( const char* char_string ,
G4double dval1 ,
G4double dval2 );
void SendStrDouble3( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 );
void SendStrDouble5(const char* char_string, G4double dval1, G4double dval2,
G4double dval3, G4double dval4, G4double dval5);
void SendStrDouble4( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 );
void SendStrDouble6(const char* char_string, G4double dval1, G4double dval2,
G4double dval3, G4double dval4, G4double dval5,
G4double dval6);
void SendStrDouble5( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 );
void SendStrDouble7(const char* char_string, G4double dval1, G4double dval2,
G4double dval3, G4double dval4, G4double dval5,
G4double dval6, G4double dval7);
void SendStrDouble6( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 ,
G4double dval6 );
void SendStrDouble11(const char* char_string, G4double dval1, G4double dval2,
G4double dval3, G4double dval4, G4double dval5,
G4double dval6, G4double dval7, G4double dval8,
G4double dval9, G4double dval10, G4double dval11);
void SendStrDouble7( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 ,
G4double dval6 ,
G4double dval7 );
void SendIntDouble3(G4int ival, G4double dval1, G4double dval2,
G4double dval3);
void SendInt3Str(G4int ival1, G4int ival2, G4int ival3,
const char* char_string);
void SendInt4Str(G4int ival1, G4int ival2, G4int ival3, G4int ival4,
const char* char_string);
void SendStrDouble11( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 ,
G4double dval6 ,
G4double dval7 ,
G4double dval8 ,
G4double dval9 ,
G4double dval10 ,
G4double dval11 ) ;
void SendStrDouble3Str(const char* char_string1, G4double dval1,
G4double dval2, G4double dval3,
const char* char_string2);
void SendIntDouble3( G4int ival ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 );
void SendInt3Str( G4int ival1 ,
G4int ival2 ,
G4int ival3 ,
const char* char_string );
void SendInt4Str( G4int ival1 ,
G4int ival2 ,
G4int ival3 ,
G4int ival4 ,
const char* char_string );
void SendStrDouble6Str(const char* char_string1, G4double dval1,
G4double dval2, G4double dval3, G4double dval4,
G4double dval5, G4double dval6,
const char* char_string2);
void SendStrDouble3Str( const char* char_string1 ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
const char* char_string2 );
void SendInt(G4int val);
void SendDouble(G4double val);
void SendStrDouble6Str( const char* char_string1 ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 ,
G4double dval6 ,
const char* char_string2 );
private:
G4DAWNFILE& fSystem; // Graphics system for this scene.
static G4int fSceneIdCount;
void SendInt ( G4int val );
void SendDouble( G4double val );
G4FRofstream fPrimDest; // defined here
G4bool FRflag_in_modeling;
// true: FR_BEGIN_MODELING has sent to DAWN, and
// FR_END_MODELING has not sent yet.
// false: otherwise
//
// FRflag_in_modeling is set to "true"
// in FRBeginModeling(), and to "false"
// in FREndModeling().
private:
G4DAWNFILE& fSystem; // Graphics system for this scene.
static G4int fSceneIdCount;
G4bool flag_saving_g4_prim;
G4FRofstream fPrimDest ; // defined here
G4bool FRflag_in_modeling ;
// true: FR_BEGIN_MODELING has sent to DAWN, and
// FR_END_MODELING has not sent yet.
// false: otherwise
//
// FRflag_in_modeling is set to "true"
// in FRBeginModeling(), and to "false"
// in FREndModeling().
const int COMMAND_BUF_SIZE;
G4bool flag_saving_g4_prim ;
char fG4PrimDestDir[256];
char fG4PrimFileName[256];
G4int fMaxFileNum;
const int COMMAND_BUF_SIZE ;
char fG4PrimDestDir [256] ;
char fG4PrimFileName[256] ;
G4int fMaxFileNum ;
G4int fPrec, fPrec2 ;
G4int fPrec, fPrec2;
};
#endif
@@ -34,37 +34,45 @@
#include "G4VViewer.hh"
#include "globals.hh"
class G4DAWNFILESceneHandler ;
class G4DAWNFILESceneHandler;
class G4DAWNFILEViewer: public G4VViewer {
class G4DAWNFILEViewer : public G4VViewer
{
enum FRDEV
{
FRDEV_PS = 1,
FRDEV_XWIN = 2,
FRDEV_PS2 = 3,
FRDEV_XWIN2 = 4,
FRDEV_OPEN_GL = 5,
FRDEV_DEVICE_END = 6
};
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
G4DAWNFILEViewer(G4DAWNFILESceneHandler& scene, const G4String& name = "");
virtual ~G4DAWNFILEViewer();
public:
//----- constructor and destructor
G4DAWNFILEViewer (G4DAWNFILESceneHandler& scene, const G4String& name = "");
virtual ~G4DAWNFILEViewer ();
//----- overriding base class methods
void SetView(); // Do nothing. SendViewParameters will do its job.
void ClearView();
void DrawView();
void ShowView();
//----- overriding base class methods
void SetView (); // Do nothing. SendViewParameters will do its job.
void ClearView ();
void DrawView ();
void ShowView ();
//---- methods inherent to this class
void SendViewParameters();
const char* GetG4PrimViewer() { return fG4PrimViewer; }
const char* GetG4PrimViewerInvocation() { return fG4PrimViewerInvocation; }
const char* GetPSViewer() { return fPSViewer; }
void SendDrawingStyleToDAWNGUI(std::ostream& out);
//---- methods inherent to this class
void SendViewParameters () ;
const char* GetG4PrimViewer () { return fG4PrimViewer ;}
const char* GetG4PrimViewerInvocation() { return fG4PrimViewerInvocation ;}
const char* GetPSViewer () { return fPSViewer ;}
void SendDrawingStyleToDAWNGUI( std::ostream& out ) ;
private:
G4DAWNFILESceneHandler& fSceneHandler; // Reference to Graphics Scene for this view.
char fG4PrimViewer [32] ;
char fG4PrimViewerInvocation[64] ;
char fPSViewer [32] ;
private:
G4DAWNFILESceneHandler&
fSceneHandler; // Reference to Graphics Scene for this view.
char fG4PrimViewer[32];
char fG4PrimViewerInvocation[64];
char fPSViewer[32];
};
#endif
@@ -1,141 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
// Satoshi TANAKA, Wed Jul 3 14:13:52 JST 1996
////////////////////////////////
///// G4FRClientServer.h /////
////////////////////////////////
//=================//
#if defined (G4VIS_BUILD_DAWN_DRIVER) || defined (G4VIS_USE_DAWN)
//=================//
#if !defined G4FR_CLIENT_SERVER_H
#define G4FR_CLIENT_SERVER_H
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<sys/un.h>
#include<unistd.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"G4ios.hh"
//----- constants
const char FR_ENV_SERVER_HOST_NAME[] = "G4DAWN_HOST_NAME" ;
const char FR_ENV_NAMED_PIPE_CONNECTION[] = "G4DAWN_NAMED_PIPE" ;
//-----------------------------------//
//----- class G4FRClientServer -----//
//-----------------------------------//
class G4FRClientServer {
public:
enum { SEND_BUFMAX = 1024 , RECV_BUFMAX = 1024 };
enum { SUN_PATH_MAX = 16 };
protected:
const char TERMINATOR ;
const char END_OF_LINE;
char SUN_PATH[ SUN_PATH_MAX ];
int PORT_NUMBER ;
int fSocketFd ;
char fReceivedMessage [ RECV_BUFMAX ];
char fSendingMessage [ SEND_BUFMAX ];
protected:
void Err( const char* message ) { perror(message) ;}
void SetSendingMessage( const char* message )
{ strcpy( fSendingMessage, message );}
void Send() ; // send command in fSendingMessage
public:
//----- Server
int AcceptUnix(){ return 0;} // made unfunctioned
int AcceptINET(){ return 0 ;} // made unfunctioned
//----- Client
int ConnectUnix();
int ConnectINET();
//----- Common to server and client
//---------- (1)
G4FRClientServer ( char terminator = '.' ,
char end_line = '\n' ) ;
virtual ~G4FRClientServer () {;}
void SetSunPath( const char* sun_path )
{ strcpy ( SUN_PATH, sun_path ); }
void SetPortNumber( int port_num )
{ PORT_NUMBER = port_num ; }
void IncrementPortNumber( int incr = 1 )
{ PORT_NUMBER += incr ; }
const char* GetSendingMessage() const
{ return fSendingMessage ;}
int GetSendingMessageLength() const
{ return strlen(fSendingMessage) ;}
void SetReceivedMessage( const char* message )
{ strcpy( fReceivedMessage, message );}
const char* GetReceivedMessage() const
{ return fReceivedMessage ;}
int GetReceivedMessageLength() const
{ return strlen(fReceivedMessage) ;}
int GetSofd() const { return fSocketFd ; }
int GetPortNumber () const { return PORT_NUMBER ; }
void ClearReceivedMessage ()
{ memset(fReceivedMessage, '\0', RECV_BUFMAX) ; }
int IsTerminator(char ch ) { return ( ch == TERMINATOR ); }
char GetTerminator() const { return TERMINATOR ; }
int IsEndOfLine (char ch ) { return ( ch == END_OF_LINE ); }
char GetEndOfLine() const { return END_OF_LINE ; }
void DisConnect();
void Clear();
void WaitSendBack( const char* command_string ) ;
//---------- (2) send and receive
virtual void Send ( const char* message ) ;
virtual void SendLine ( const char* message ) ;
// Add END_OF_LINE if the message does not
// Terminate with it. And then send the message.
virtual void Receive() ;
virtual void ReceiveLine() ;
}; // G4FRClientServer
#endif
#endif //G4VIS_BUILD_DAWN_DRIVER
@@ -30,166 +30,166 @@
///// G4FRConst.hh /////
///////////////////////////////////
#if !defined G4_FR_COMMAND_LIST_HH
#ifndef G4_FR_COMMAND_LIST_HH
#define G4_FR_COMMAND_LIST_HH
//----- Header comment
const char FR_G4_PRIM_HEADER [] = "##G4.PRIM-FORMAT-2.4" ;
//const char FR_PHYSICAL_VOLUME_NAME [] = "#/PhysicalVolumeName" ;
const char FR_PHYSICAL_VOLUME_NAME [] = "#/PVName" ;
//----- Header comment
const char FR_G4_PRIM_HEADER[] = "##G4.PRIM-FORMAT-2.4";
// const char FR_PHYSICAL_VOLUME_NAME [] = "#/PhysicalVolumeName" ;
const char FR_PHYSICAL_VOLUME_NAME[] = "#/PVName";
//----- Execution control (beginning with !)
const char FR_GUI [] = "!GraphicalUserInterface" ;
const char FR_DEVICE [] = "!Device" ;
const char FR_SET_CAMERA [] = "!SetCamera" ;
const char FR_OPEN_DEVICE [] = "!OpenDevice" ;
const char FR_CLOSE_DEVICE [] = "!CloseDevice" ;
const char FR_DRAW_ALL [] = "!DrawAll" ;
const char FR_CLEAR_DATA [] = "!ClearData" ;
const char FR_QUIT [] = "!Quit" ;
const char FR_DISCONNECT_DAWND [] = "!DisconnectDawnd" ;
const char FR_TERMINATE_DAWND [] = "!TerminateDawnd" ;
const char FR_SAVE [] = "!Save" ;
const char FR_END_SAVE [] = "!EndSave" ;
const char FR_WAIT [] = "!Wait" ;
const char FR_PAUSE [] = "!Pause" ;
//----- Execution control (beginning with !)
const char FR_GUI[] = "!GraphicalUserInterface";
const char FR_DEVICE[] = "!Device";
const char FR_SET_CAMERA[] = "!SetCamera";
const char FR_OPEN_DEVICE[] = "!OpenDevice";
const char FR_CLOSE_DEVICE[] = "!CloseDevice";
const char FR_DRAW_ALL[] = "!DrawAll";
const char FR_CLEAR_DATA[] = "!ClearData";
const char FR_QUIT[] = "!Quit";
const char FR_DISCONNECT_DAWND[] = "!DisconnectDawnd";
const char FR_TERMINATE_DAWND[] = "!TerminateDawnd";
const char FR_SAVE[] = "!Save";
const char FR_END_SAVE[] = "!EndSave";
const char FR_WAIT[] = "!Wait";
const char FR_PAUSE[] = "!Pause";
//----- Drawing Style
const char FR_WIREFRAME [] = "/Wireframe" ;
const char FR_SURFACE [] = "/Surface" ;
const char FR_LINES [] = "/Lines" ;
//----- Drawing Style
const char FR_WIREFRAME[] = "/Wireframe";
const char FR_SURFACE[] = "/Surface";
const char FR_LINES[] = "/Lines";
//----- Begin and End of Modeling
const char FR_BEGIN_MODELING [] = "!BeginModeling" ;
const char FR_END_MODELING [] = "!EndModeling" ;
//----- Begin and End of Modeling
const char FR_BEGIN_MODELING[] = "!BeginModeling";
const char FR_END_MODELING[] = "!EndModeling";
//----- Bounding box
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" ;
//----- Bounding box
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 ;
//----- 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" ;
const char FR_NDIV_4 [] = "/Ndiv 4" ;
const char FR_NDIV_8 [] = "/Ndiv 8" ;
const char FR_NDIV_16 [] = "/Ndiv 16" ;
const char FR_NDIV_24 [] = "/Ndiv 24" ;
const char FR_NDIV_48 [] = "/Ndiv 48" ;
const char FR_NDIV_96 [] = "/Ndiv 96" ;
const char FR_NDIV[] = "/Ndiv";
const char FR_NDIV_DEFAULT[] = "/Ndiv 24";
const char FR_NDIV_3[] = "/Ndiv 3";
const char FR_NDIV_4[] = "/Ndiv 4";
const char FR_NDIV_8[] = "/Ndiv 8";
const char FR_NDIV_16[] = "/Ndiv 16";
const char FR_NDIV_24[] = "/Ndiv 24";
const char FR_NDIV_48[] = "/Ndiv 48";
const char FR_NDIV_96[] = "/Ndiv 96";
//----- Camera information
const char FR_CAMERA_POSITION[] = "/CameraPosition" ;
const char FR_CAMERA_POSITION_DEFAULT[] = "/CameraPosition 100000.0 0.0 0.0" ;
// see from far upward position
const char FR_TARGET_POINT [] = "/TargetPoint";
const char FR_ZOOM_FACTOR [] = "/ZoomFactor";
const char FR_SCALE [] = "/Scale";
const char FR_FOCAL_DISTANCE [] = "/FocalDistance";
//----- Camera information
const char FR_CAMERA_POSITION[] = "/CameraPosition";
const char FR_CAMERA_POSITION_DEFAULT[] = "/CameraPosition 100000.0 0.0 0.0";
// see from far upward position
const char FR_TARGET_POINT[] = "/TargetPoint";
const char FR_ZOOM_FACTOR[] = "/ZoomFactor";
const char FR_SCALE[] = "/Scale";
const char FR_FOCAL_DISTANCE[] = "/FocalDistance";
//----- Body coordinate information
const char FR_BASE_VECTOR [] = "/BaseVector" ;
// Give e1 and e2. Then e3 is calculated.
const char FR_BASE_VECTOR_DEFAULT [] = "/BaseVector 1.0 0.0 0.0 0.0 1.0 0.0" ;
const char FR_ORIGIN [] = "/Origin" ;
const char FR_ORIGIN_DEFAULT [] = "/Origin 0.0 0.0 0.0" ;
//----- Body coordinate information
const char FR_BASE_VECTOR[] = "/BaseVector";
// Give e1 and e2. Then e3 is calculated.
const char FR_BASE_VECTOR_DEFAULT[] = "/BaseVector 1.0 0.0 0.0 0.0 1.0 0.0";
const char FR_ORIGIN[] = "/Origin";
const char FR_ORIGIN_DEFAULT[] = "/Origin 0.0 0.0 0.0";
//----- Attribute information
const char FR_DIFFUSE_RGB [] = "/DiffuseRGB" ;
// old name of /ColorRGB
//----- Attribute information
const char FR_DIFFUSE_RGB[] = "/DiffuseRGB";
// old name of /ColorRGB
const char FR_COLOR_RGB [] = "/ColorRGB" ;
const char FR_COLOR_RGB_DEFAULT [] = "/ColorRGB 1.0 1.0 1.0" ;
const char FR_COLOR_RGB_WHITE [] = "/ColorRGB 1.0 1.0 1.0" ;
const char FR_COLOR_RGB[] = "/ColorRGB";
const char FR_COLOR_RGB_DEFAULT[] = "/ColorRGB 1.0 1.0 1.0";
const char FR_COLOR_RGB_WHITE[] = "/ColorRGB 1.0 1.0 1.0";
const char FR_COLOR_RGB_RED [] = "/ColorRGB 1.0 0.0 0.0" ;
const char FR_COLOR_RGB_GREEN [] = "/ColorRGB 0.0 1.0 0.0" ;
const char FR_COLOR_RGB_BLUE [] = "/ColorRGB 0.0 0.0 1.0" ;
const char FR_COLOR_RGB_RED[] = "/ColorRGB 1.0 0.0 0.0";
const char FR_COLOR_RGB_GREEN[] = "/ColorRGB 0.0 1.0 0.0";
const char FR_COLOR_RGB_BLUE[] = "/ColorRGB 0.0 0.0 1.0";
const char FR_COLOR_RGB_CYAN [] = "/ColorRGB 0.0 1.0 1.0" ;
const char FR_COLOR_RGB_MAGENTA [] = "/ColorRGB 1.0 0.0 1.0" ;
const char FR_COLOR_RGB_YELLOW [] = "/ColorRGB 1.0 1.0 0.0" ;
const char FR_COLOR_RGB_CYAN[] = "/ColorRGB 0.0 1.0 1.0";
const char FR_COLOR_RGB_MAGENTA[] = "/ColorRGB 1.0 0.0 1.0";
const char FR_COLOR_RGB_YELLOW[] = "/ColorRGB 1.0 1.0 0.0";
const char FR_SPECULAR_RGB [] = "/SpecularRGB" ;
const char FR_SPECULAR_RGB_DEFAULT [] = "/SpecularRGB 1.0 1.0 1.0" ;
const char FR_SPECULAR_RGB_WHITE [] = "/SpecularRGB 1.0 1.0 1.0" ;
const char FR_SPECULAR_RGB[] = "/SpecularRGB";
const char FR_SPECULAR_RGB_DEFAULT[] = "/SpecularRGB 1.0 1.0 1.0";
const char FR_SPECULAR_RGB_WHITE[] = "/SpecularRGB 1.0 1.0 1.0";
const char FR_PHONG_POWER [] = "/PhongPower" ;
const char FR_PHONG_POWER_DEFAULT [] = "/PhongPower 3" ;
const char FR_PHONG_POWER[] = "/PhongPower";
const char FR_PHONG_POWER_DEFAULT[] = "/PhongPower 3";
const char FR_TRANSPARENCY [] = "/Transparency" ;
const char FR_TRANSPARENCY_ON [] = "/Transparency 1 " ; // transparent
const char FR_TRANSPARENCY_OFF [] = "/Transparency 0 " ; // non-transparent
const char FR_TRANSPARENCY[] = "/Transparency";
const char FR_TRANSPARENCY_ON[] = "/Transparency 1 "; // transparent
const char FR_TRANSPARENCY_OFF[] = "/Transparency 0 "; // non-transparent
const char FR_FORCE_WIREFRAME [] = "/ForceWireframe" ;
const char FR_FORCE_WIREFRAME_ON [] = "/ForceWireframe 1" ;
const char FR_FORCE_WIREFRAME_OFF [] = "/ForceWireframe 0" ;
const char FR_FORCE_WIREFRAME[] = "/ForceWireframe";
const char FR_FORCE_WIREFRAME_ON[] = "/ForceWireframe 1";
const char FR_FORCE_WIREFRAME_OFF[] = "/ForceWireframe 0";
const char FR_VISIBILITY [] = "/Visibility" ;
const char FR_VISIBILITY_ON [] = "/Visibility 1" ; // visible
const char FR_VISIBILITY_OFF [] = "/Visibility 0" ; // invisible
const char FR_VISIBILITY[] = "/Visibility";
const char FR_VISIBILITY_ON[] = "/Visibility 1"; // visible
const char FR_VISIBILITY_OFF[] = "/Visibility 0"; // invisible
//----- 3D Primitives
const char FR_POLYHEDRON [] = "/Polyhedron" ;
const char FR_VERTEX [] = "/Vertex" ;
const char FR_FACET [] = "/Facet" ;
const char FR_END_POLYHEDRON [] = "/EndPolyhedron" ;
//----- 3D Primitives
const char FR_POLYHEDRON[] = "/Polyhedron";
const char FR_VERTEX[] = "/Vertex";
const char FR_FACET[] = "/Facet";
const char FR_END_POLYHEDRON[] = "/EndPolyhedron";
const char FR_BOX [] = "/Box" ;
const char FR_BOX_UNIT [] = "/Box 0.5 0.5 0.5" ; // dx, dy, dz
const char FR_BOX[] = "/Box";
const char FR_BOX_UNIT[] = "/Box 0.5 0.5 0.5"; // dx, dy, dz
const char FR_COLUMN [] = "/Column" ;
const char FR_COLUMN_UNIT [] = "/Column 0.5 0.5" ; // R dz
const char FR_COLUMN[] = "/Column";
const char FR_COLUMN_UNIT[] = "/Column 0.5 0.5"; // R dz
const char FR_POLYLINE [] = "/Polyline" ;
const char FR_PL_VERTEX [] = "/PLVertex" ;
const char FR_PL_VERTEX_OLD [] = "PLVertex" ;
const char FR_END_POLYLINE [] = "/EndPolyline" ;
const char FR_POLYLINE[] = "/Polyline";
const char FR_PL_VERTEX[] = "/PLVertex";
const char FR_PL_VERTEX_OLD[] = "PLVertex";
const char FR_END_POLYLINE[] = "/EndPolyline";
const char FR_TRD [] = "/Trd" ;
// /Trd dx1 dx2 dy1 dy2 dz ;
const char FR_TRAP [] = "/Trap" ;
// /Trap dz theta phi h1 bl1 tl1 alpha1 h2 bl2 tl2 alpha2
const char FR_TUBS [] = "/Tubs" ;
// /Tubs rmin rmax dz sphi dphi
const char FR_CONS [] = "/Cons" ;
// /Cons rmin1 rmax1 rmin2 rmax2 dz sphi dphi
const char FR_SPHERE [] = "/Sphere" ;
// /Sphere R
const char FR_SPHERE_SEG [] = "/SphereSeg" ;
// /SphereSeg rmin rmax s_theta d_theta s_phi d_phi
const char FR_PARA [] = "/Parallelepiped" ;
// /Parallelepiped dx dy dz tanAlpha tanTheta_cosPhi tanTheta_sinPhi
const char FR_PCON [] = "/PolyCone" ;
// /PolyCone sphi dphi nz z[nz] rmin[nz] rmax[nz]
const char FR_PGON [] = "/PolyGon" ;
// /PolyGon sphi dphi ndiv nz z[nz] rmin[nz] rmax[nz]
const char FR_TORUS [] = "/Torus" ;
// /PolyGon sphi dphi ndiv nz z[nz] rmin[nz] rmax[nz]
const char FR_TRD[] = "/Trd";
// /Trd dx1 dx2 dy1 dy2 dz ;
const char FR_TRAP[] = "/Trap";
// /Trap dz theta phi h1 bl1 tl1 alpha1 h2 bl2 tl2 alpha2
const char FR_TUBS[] = "/Tubs";
// /Tubs rmin rmax dz sphi dphi
const char FR_CONS[] = "/Cons";
// /Cons rmin1 rmax1 rmin2 rmax2 dz sphi dphi
const char FR_SPHERE[] = "/Sphere";
// /Sphere R
const char FR_SPHERE_SEG[] = "/SphereSeg";
// /SphereSeg rmin rmax s_theta d_theta s_phi d_phi
const char FR_PARA[] = "/Parallelepiped";
// /Parallelepiped dx dy dz tanAlpha tanTheta_cosPhi tanTheta_sinPhi
const char FR_PCON[] = "/PolyCone";
// /PolyCone sphi dphi nz z[nz] rmin[nz] rmax[nz]
const char FR_PGON[] = "/PolyGon";
// /PolyGon sphi dphi ndiv nz z[nz] rmin[nz] rmax[nz]
const char FR_TORUS[] = "/Torus";
// /PolyGon sphi dphi ndiv nz z[nz] rmin[nz] rmax[nz]
//----- Marks I (arg: x y z half_size_3d)
const char FR_FONT_NAME [] = "/FontName" ;
const char FR_FONT_NAME[] = "/FontName";
//----- Marks I (arg: x y z half_size_3d)
const char FR_MARK_CIRCLE_2D [] = "/MarkCircle2D" ;
const char FR_MARK_SQUARE_2D [] = "/MarkSquare2D" ;
const char FR_MARK_TEXT_2D [] = "/MarkText2D" ;
// /MarkText2D x y z size_world x_offset_world y_offset_world string
const char FR_MARK_CIRCLE_2D[] = "/MarkCircle2D";
const char FR_MARK_SQUARE_2D[] = "/MarkSquare2D";
const char FR_MARK_TEXT_2D[] = "/MarkText2D";
// /MarkText2D x y z size_world x_offset_world y_offset_world string
//----- Marks II (arg: x y z half_size_2d)
const char FR_MARK_CIRCLE_2DS [] = "/MarkCircle2DS" ;
const char FR_MARK_SQUARE_2DS [] = "/MarkSquare2DS" ;
const char FR_MARK_TEXT_2DS [] = "/MarkText2DS" ;
// /MarkText2DS x y z size_pt x_offset_pt y_offset_pt string
const char FR_MARK_CIRCLE_2DS[] = "/MarkCircle2DS";
const char FR_MARK_SQUARE_2DS[] = "/MarkSquare2DS";
const char FR_MARK_TEXT_2DS[] = "/MarkText2DS";
// /MarkText2DS x y z size_pt x_offset_pt y_offset_pt string
//----- Text
const char FR_TEXT_2DS [] = "/Text2DS" ;
const char FR_TEXT_2DS[] = "/Text2DS";
//----- For DAWNCUT
const char FR_CLIPPING_PLANE [] = "/ClippingPlane" ;
// /ClippingPlaneMarkCross2D a b c d
// for plane ax + by + cz + d = 0
const char FR_CLIPPING_PLANE[] = "/ClippingPlane";
// /ClippingPlaneMarkCross2D a b c d
// for plane ax + by + cz + d = 0
#endif
@@ -1,58 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
#if !defined G4_FR_FEATURES_HH
#define G4_FR_FEATURES_HH
const char FR_DAWN_FEATURES[] = "High quality technical renderer.\
\n Features: exact hidden line, hidden surface algorithms.\
\n high (unlimited) resolution.\
\n renders to PostScript for viewing and/or hardcopy.\
\n remote rendering.\
\n off-line rendering.\
\n graphical user interface.\
\n connection via TCP/IP socket or named pipe Fukui Renderer DAWN.\
\n Disadvantages: compute intensive, takes time (use a fast graphics\
\n system, such as OpenGL, to select view, then copy\
\n to this renderer - /vis~/copy/view, /vis~/set/view).";
const char FR_DAWNFILE_FEATURES[] ="High quality technical renderer.\
\n Features: exact hidden line, hidden surface algorithms.\
\n high (unlimited) resolution.\
\n renders to PostScript for viewing and/or hardcopy.\
\n remote rendering.\
\n off-line rendering.\
\n graphical user interface.\
\n connection via g4.prim file to Fukui Renderer DAWN,\
\n DAVID (DAwn's Visual Intersection Debugger, etc.\
\n Disadvantages: compute intensive, takes time (use a fast graphics\
\n system, such as OpenGL, to select view, then copy\
\n to this renderer - /vis~/copy/view, /vis~/set/view).";
#endif
File diff suppressed because it is too large Load Diff
@@ -25,100 +25,92 @@
//
//
//
#ifndef G4_FR_OFSTREAM_HH
#define G4_FR_OFSTREAM_HH
#include <fstream>
#if !defined G4_FR_OFSTREAM_HH
#define G4_FR_OFSTREAM_HH
#include "globals.hh"
/////////////////////
//typedef int G4bool ;
//#define false 0 ;
//#define true 1 ;
////////////////////
class G4FRofstream {
class G4FRofstream
{
public:
enum
{
SEND_BUFMAX = 1024
};
public:
enum { SEND_BUFMAX = 1024 };
// constructors
G4FRofstream() { flag_file_open = false; }
G4FRofstream(const char* filename);
public:
// constructors
G4FRofstream () { flag_file_open = false ; }
G4FRofstream ( const char* filename ) ;
// destructor
virtual ~G4FRofstream();
// destructor
virtual ~G4FRofstream ();
// open and close
void Open(const char* filename);
void Close();
G4bool IsOpen() { return flag_file_open; }
// open and close
void Open ( const char* filename );
void Close() ;
G4bool IsOpen() { return flag_file_open ;}
// utilities
void SendLine(const char* string); // save string with new line
// utilities
void SendLine( const char* string ) ; // save string with new line
// static functions
static G4bool DoesFileExist( const char* filename ) ;
// static functions
static G4bool DoesFileExist(const char* filename);
protected:
G4bool flag_file_open ;
std::ofstream fout ;
} ;
G4bool flag_file_open;
std::ofstream fout;
};
inline void G4FRofstream::Open ( const char* filename )
{
if( !IsOpen() ) {
fout.open( filename ) ;
flag_file_open = true ;
}
inline void G4FRofstream::Open(const char* filename)
{
if(!IsOpen())
{
fout.open(filename);
flag_file_open = true;
}
}
inline void G4FRofstream::Close ()
{
if( IsOpen() ) {
fout.close();
flag_file_open = false ;
}
inline void G4FRofstream::Close()
{
if(IsOpen())
{
fout.close();
flag_file_open = false;
}
}
inline void G4FRofstream::SendLine ( const char* message )
inline void G4FRofstream::SendLine(const char* message)
{
if ( IsOpen() ) {
fout << message << G4endl;
}
if(IsOpen())
{
fout << message << G4endl;
}
}
inline G4bool G4FRofstream::DoesFileExist ( const char* filename )
inline G4bool G4FRofstream::DoesFileExist(const char* filename)
{
G4bool status = false ;
G4bool status = false;
std::ifstream fout_tmp( filename ) ;
if( fout_tmp ) { status = true ; }
fout_tmp.close();
std::ifstream fout_tmp(filename);
if(fout_tmp)
{
status = true;
}
fout_tmp.close();
return status ;
return status;
}
inline
G4FRofstream::G4FRofstream ( const char* filename )
inline G4FRofstream::G4FRofstream(const char* filename)
{
flag_file_open = false ;
Open( filename );
}
inline
G4FRofstream::~G4FRofstream ()
{
Close() ;
}
flag_file_open = false;
Open(filename);
}
inline G4FRofstream::~G4FRofstream() { Close(); }
#endif
@@ -1,82 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// Satoshi TANAKA
// Fukui Renderer factory.
//=================//
#if defined (G4VIS_BUILD_DAWN_DRIVER) || defined (G4VIS_USE_DAWN)
//=================//
#ifndef G4FUKUI_RENDERER_HH
#define G4FUKUI_RENDERER_HH
#include "G4VGraphicsSystem.hh"
#include "G4FRClientServer.hh"
//----- prototype
class G4VSceneHandler ;
//---------------------------------//
//----- class G4FukuiRenderer -----//
//---------------------------------//
class G4FukuiRenderer: public G4VGraphicsSystem {
public:
G4FukuiRenderer ();
virtual ~G4FukuiRenderer ();
G4VSceneHandler* CreateSceneHandler (const G4String& name = "");
G4VViewer* CreateViewer (G4VSceneHandler&, const G4String& name = "");
G4FRClientServer& GetPrimDest() { return fPrimDest ; }
//----- inter-process communication
enum { IP_UNIX, IP_INET };
enum { FR_MAX_PORT_INCR = 10 };
G4bool IsUnixDomain() const { return (fIPMode == G4FukuiRenderer::IP_UNIX); }
G4bool IsInetDomain() const { return (fIPMode == G4FukuiRenderer::IP_INET); }
void UseInetDomainAuto();
void UseInetDomain();
void UseBSDUnixDomainAuto();
void ConnectPort( int max_port_incr = FR_MAX_PORT_INCR);
G4bool IsGUIMode (void) { return flag_use_gui ; }
G4bool IsConnected (void) { return flag_connected ; }
public:
//----- inter-process communication
G4FRClientServer fPrimDest ;
private:
int fIPMode ;
G4bool flag_use_gui ;
G4int flag_connected ;
};
#endif
#endif //G4VIS_BUILD_DAWN_DRIVER
@@ -1,238 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// Satoshi TANAKA, Fri Jun 28 11:19:19 JST 1996
//=================//
#ifdef G4VIS_BUILD_DAWN_DRIVER
//=================//
#ifndef G4FUKUI_RENDERER_SCENE_HANDLER_HH
#define G4FUKUI_RENDERER_SCENE_HANDLER_HH
#include "globals.hh"
#include "G4VSceneHandler.hh"
#include "G4FRClientServer.hh"
#include "G4FRConst.hh"
class G4VisAttributes ;
class G4FukuiRenderer;
//-----
class G4FukuiRendererSceneHandler: public G4VSceneHandler {
public:
//----- constructor and destructor
G4FukuiRendererSceneHandler (G4FukuiRenderer& system, const G4String& name = "");
virtual ~G4FukuiRendererSceneHandler ();
//----- overriding base class methods
using G4VSceneHandler::AddPrimitive;
void AddPrimitive (const G4Polyline& line);
void AddPrimitive (const G4Polyhedron& p);
void AddPrimitive (const G4Text&);
void AddPrimitive (const G4Circle&);
void AddPrimitive (const G4Square&);
void BeginPrimitives (const G4Transform3D& objectTransformation);
void EndPrimitives ();
using G4VSceneHandler::AddSolid;
void AddSolid ( const G4Box& box );
void AddSolid ( const G4Cons& cons );
void AddSolid ( const G4Tubs& tubs );
void AddSolid ( const G4Trd& trd );
void AddSolid ( const G4Trap& trap );
void AddSolid ( const G4Sphere& sphere );
void AddSolid ( const G4Para& para );
void AddSolid ( const G4Torus& torus );
void AddSolid ( const G4VSolid& solid );
void ClearTransientStore(); // Used for triggering detector re-drawing.
//----- methods inherent to this class
void FRBeginModeling () ;
void FREndModeling () ;
G4bool FRIsInModeling () { return FRflag_in_modeling ; }
G4bool IsSavingG4Prim ( void ) { return flag_saving_g4_prim ; }
void BeginSavingG4Prim( void )
{
if( !IsSavingG4Prim() )
{
SendStr( FR_SAVE ) ;
SendStr( FR_G4_PRIM_HEADER ) ;
flag_saving_g4_prim = true ;
}
}
void EndSavingG4Prim ( void )
{ if( IsSavingG4Prim() ) { SendStr( FR_END_SAVE ); flag_saving_g4_prim = false ; } }
G4FRClientServer& GetPrimDest () { return fPrimDest ; }
G4FukuiRenderer& GetSystem () { return fSystem ; }
void SendBoundingBox ( void );
private:
//----- Utilities etc
G4bool SendVisAttributes ( const G4VisAttributes* pAV );
G4bool IsVisible ( void ) ;
void SendTransformedCoordinates( void ) ;
void SendPhysVolName ( void ) ;
void SendNdiv ( void ) ;
public:
void SendStr ( const char* char_string ) ;
void SendStrInt( const char* char_string ,
G4int ival );
void SendStrInt3( const char* char_string ,
G4int ival1 ,
G4int ival2 ,
G4int ival3 );
void SendStrInt4( const char* char_string ,
G4int ival1 ,
G4int ival2 ,
G4int ival3 ,
G4int ival4 );
void SendStrDouble( const char* char_string ,
G4double dval );
void SendStrDouble2( const char* char_string ,
G4double dval1 ,
G4double dval2 );
void SendStrDouble3( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 );
void SendStrDouble4( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 );
void SendStrDouble5( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 );
void SendStrDouble6( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 ,
G4double dval6 );
void SendStrDouble7( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 ,
G4double dval6 ,
G4double dval7 );
void SendStrDouble11( const char* char_string ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 ,
G4double dval6 ,
G4double dval7 ,
G4double dval8 ,
G4double dval9 ,
G4double dval10 ,
G4double dval11 ) ;
void SendIntDouble3( G4int ival ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 );
void SendInt3Str( G4int ival1 ,
G4int ival2 ,
G4int ival3 ,
const char* char_string );
void SendInt4Str( G4int ival1 ,
G4int ival2 ,
G4int ival3 ,
G4int ival4 ,
const char* char_string );
void SendStrDouble3Str( const char* char_string1 ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
const char* char_string2 );
void SendStrDouble6Str( const char* char_string1 ,
G4double dval1 ,
G4double dval2 ,
G4double dval3 ,
G4double dval4 ,
G4double dval5 ,
G4double dval6 ,
const char* char_string2 );
void SendInt ( G4int val );
void SendDouble( G4double val );
private:
G4FukuiRenderer& fSystem; // Graphics system for this scene.
static G4int fSceneIdCount;
G4FRClientServer& fPrimDest ; // defined in G4FukuiRenderer
G4bool FRflag_in_modeling ;
// true: FR_BEGIN_MODELING has sent to DAWN, and
// FR_END_MODELING has not sent yet.
// false: otherwise
//
// FRflag_in_modeling is set to "true"
// in FRBeginModeling(), and to "false"
// in FREndModeling().
G4bool flag_saving_g4_prim ;
const int COMMAND_BUF_SIZE ;
G4int fPrec, fPrec2 ;
};
#endif
#endif //G4VIS_BUILD_DAWN_DRIVER
@@ -1,75 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// Satoshi TANAKA, Fri Jun 28 12:10:14 JST 1996
// FukuiRenderer viewer - opens window, hard copy, etc.
//=================//
#ifdef G4VIS_BUILD_DAWN_DRIVER
//=================//
#ifndef G4FUKUI_RENDERER_VIEWER_HH
#define G4FUKUI_RENDERER_VIEWER_HH
#include "G4VViewer.hh"
#include "globals.hh"
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} ;
//----- constructor and destructor
G4FukuiRendererViewer (G4FukuiRendererSceneHandler& scene, const G4String& name);
virtual ~G4FukuiRendererViewer ();
//----- overriding base class methods
void SetView (); // Do nothing. SendViewParameters will do its job.
void ClearView ();
void DrawView ();
void ShowView ();
//---- methods inherent to this class
void Wait() ;
void SendViewParameters () ;
void SendDevice( FRDEV dev );
void SendDrawingStyle() ;
private:
G4FukuiRendererSceneHandler& fSceneHandler; // Reference to Graphics Scene for this view.
};
#endif
#endif //G4VIS_BUILD_DAWN_DRIVER
@@ -30,6 +30,6 @@
#include "globals.hh"
G4String G4VisFeaturesOfDAWNFILE ();
G4String G4VisFeaturesOfDAWNFILE();
#endif
@@ -1,37 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
#ifndef G4VISFEATURESOFFUKUIRENDERER_HH
#define G4VISFEATURESOFFUKUIRENDERER_HH
#include "globals.hh"
G4String G4VisFeaturesOfFukuiRenderer ();
#endif