Import Geant4 9.3.0 source tree
This commit is contained in:
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VGraphicsScene.hh,v 1.11 2008/01/04 22:20:59 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4VGraphicsScene.hh,v 1.12 2009/10/21 15:36:22 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
// John Allison 19th July 1996
|
||||
//
|
||||
// Class Description:
|
||||
@@ -37,6 +37,9 @@
|
||||
#ifndef G4VGRAPHICSSCENE_HH
|
||||
#define G4VGRAPHICSSCENE_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4Transform3D.hh"
|
||||
|
||||
class G4VisAttributes;
|
||||
class G4VSolid;
|
||||
class G4Box;
|
||||
@@ -53,6 +56,7 @@ class G4Polycone;
|
||||
class G4Polyhedra;
|
||||
class G4VTrajectory;
|
||||
class G4VHit;
|
||||
template <typename T> class G4THitsMap;
|
||||
class G4Polyline;
|
||||
class G4Scale;
|
||||
class G4Text;
|
||||
@@ -62,8 +66,6 @@ class G4Polymarker;
|
||||
class G4Polyhedron;
|
||||
class G4NURBS;
|
||||
|
||||
#include "G4Transform3D.hh"
|
||||
|
||||
class G4VGraphicsScene {
|
||||
|
||||
public: // With description
|
||||
@@ -111,8 +113,9 @@ public: // With description
|
||||
// use graphics-system-specific code or (d) any combination of the
|
||||
// above.
|
||||
|
||||
virtual void AddCompound (const G4VTrajectory&) = 0;
|
||||
virtual void AddCompound (const G4VHit&) = 0;
|
||||
virtual void AddCompound (const G4VTrajectory&) = 0;
|
||||
virtual void AddCompound (const G4VHit&) = 0;
|
||||
virtual void AddCompound (const G4THitsMap<G4double>&) = 0;
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
// Methods for adding graphics primitives to the scene handler. A
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VMarker.hh,v 1.12 2006/06/29 19:06:14 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4VMarker.hh,v 1.13 2009/02/24 10:58:04 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//
|
||||
// G4VMarker - base class for markers - circles, squares, etc.
|
||||
@@ -96,6 +96,7 @@ class G4VMarker: public G4Visible {
|
||||
public: // With description
|
||||
|
||||
enum FillStyle {noFill, hashed, filled};
|
||||
enum SizeType {none, world, screen};
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// Constructors...
|
||||
@@ -113,6 +114,7 @@ public: // With description
|
||||
/////////////////////////////////////////////////////
|
||||
// Get functions...
|
||||
G4Point3D GetPosition () const;
|
||||
SizeType GetSizeType () const;
|
||||
G4double GetWorldSize () const;
|
||||
G4double GetWorldDiameter () const;
|
||||
G4double GetWorldRadius () const;
|
||||
@@ -124,6 +126,9 @@ public: // With description
|
||||
/////////////////////////////////////////////////////
|
||||
// Set functions...
|
||||
void SetPosition (const G4Point3D&);
|
||||
void SetSize (SizeType, G4double);
|
||||
void SetDiameter (SizeType, G4double);
|
||||
void SetRadius (SizeType, G4double);
|
||||
void SetWorldSize (G4double);
|
||||
void SetWorldDiameter (G4double);
|
||||
void SetWorldRadius (G4double);
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VMarker.icc,v 1.7 2006/06/29 19:06:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4VMarker.icc,v 1.8 2009/02/24 10:58:04 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -65,6 +65,14 @@ inline void G4VMarker::SetPosition (const G4Point3D& pos) {
|
||||
fPosition = pos;
|
||||
}
|
||||
|
||||
inline void G4VMarker::SetDiameter (SizeType sizeType, G4double size) {
|
||||
SetSize(sizeType, size);
|
||||
}
|
||||
|
||||
inline void G4VMarker::SetRadius (SizeType sizeType, G4double size) {
|
||||
SetSize(sizeType, 2. * size);
|
||||
}
|
||||
|
||||
inline void G4VMarker::SetWorldSize (G4double ws) {
|
||||
fWorldSize = ws;
|
||||
}
|
||||
@@ -96,4 +104,6 @@ inline void G4VMarker::SetFillStyle (G4VMarker::FillStyle style) {
|
||||
fFillStyle = style;
|
||||
}
|
||||
|
||||
inline const G4String& G4VMarker::GetInfo() const {return fInfo;}
|
||||
|
||||
inline void G4VMarker::SetInfo(const G4String& info) {fInfo = info;}
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VVisManager.hh,v 1.14 2008/01/04 22:20:59 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4VVisManager.hh,v 1.15 2009/02/25 14:13:43 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
// John Allison 19/Oct/1996.
|
||||
//
|
||||
// Class Description:
|
||||
@@ -188,6 +188,11 @@ public: // With description
|
||||
virtual void GeometryHasChanged () = 0;
|
||||
// This is used by the run manager to notify a change of geometry.
|
||||
|
||||
virtual void NotifyHandlers () {}
|
||||
// Notify scene handlers (G4VGraphicsScene objects) that the scene
|
||||
// has changed so that they may rebuild their graphics database, if
|
||||
// any, and redraw all views.
|
||||
|
||||
virtual void DispatchToModel(const G4VTrajectory&, G4int i_mode = 0) = 0;
|
||||
// Draw the trajectory.
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: HepPolyhedron.h,v 1.24 2008/04/14 08:50:23 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: HepPolyhedron.h,v 1.25 2009/10/28 13:38:54 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//
|
||||
// Class Description:
|
||||
@@ -106,8 +106,6 @@
|
||||
// SetNumberOfRotationSteps (n) - set number of steps for whole circle;
|
||||
// ResetNumberOfRotationSteps() - reset number of steps for whole circle
|
||||
// to default value;
|
||||
// IsErrorBooleanProcess()- true if there has been an error during the
|
||||
// processing of a Boolean operation.
|
||||
// History:
|
||||
//
|
||||
// 20.06.96 Evgeni Chernyaev <Evgueni.Tcherniaev@cern.ch> - initial version
|
||||
@@ -164,6 +162,9 @@
|
||||
// 20.06.05 G.Cosmo
|
||||
// - added HepPolyhedronEllipsoid
|
||||
//
|
||||
// 21.10.09 J.Allison
|
||||
// - removed IsErrorBooleanProcess (now error is returned through argument)
|
||||
//
|
||||
|
||||
#ifndef HEP_POLYHEDRON_HH
|
||||
#define HEP_POLYHEDRON_HH
|
||||
@@ -312,8 +313,6 @@ class HepPolyhedron {
|
||||
HepPolyhedron add(const HepPolyhedron &p) const;
|
||||
HepPolyhedron subtract(const HepPolyhedron &p) const;
|
||||
HepPolyhedron intersect(const HepPolyhedron &p) const;
|
||||
// If there has been an error during the above processing..
|
||||
bool IsErrorBooleanProcess() const;
|
||||
|
||||
// Get area of the surface of the polyhedron
|
||||
double GetSurfaceArea() const;
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 HEP_POLYHEDRONPROCESSOR_HH
|
||||
#define HEP_POLYHEDRONPROCESSOR_HH
|
||||
|
||||
#include <HepPolyhedron.h>
|
||||
|
||||
#include <vector>
|
||||
|
||||
class HepPolyhedronProcessor {
|
||||
public:
|
||||
enum Operation { //Must be the same than BooleanProcessor OP_XXX.
|
||||
UNION = 0
|
||||
,INTERSECTION = 1
|
||||
,SUBTRACTION = 2
|
||||
};
|
||||
private:
|
||||
typedef std::pair<Operation,HepPolyhedron> op_t;
|
||||
public:
|
||||
HepPolyhedronProcessor();
|
||||
virtual ~HepPolyhedronProcessor();
|
||||
private:
|
||||
HepPolyhedronProcessor(const HepPolyhedronProcessor&);
|
||||
HepPolyhedronProcessor& operator=(const HepPolyhedronProcessor&);
|
||||
public:
|
||||
void push_back(Operation,const HepPolyhedron&);
|
||||
bool execute(HepPolyhedron&);
|
||||
void clear();
|
||||
bool is_same_op() const;
|
||||
//private:
|
||||
bool execute1(HepPolyhedron&,const std::vector<unsigned int>&);
|
||||
private:
|
||||
std::vector<op_t> m_ops;
|
||||
};
|
||||
|
||||
#endif /* HEP_POLYHEDRONPROCESSOR_HH */
|
||||
Reference in New Issue
Block a user