Import Geant4 10.6.0 source tree
This commit is contained in:
@@ -24,26 +24,18 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//
|
||||
// Class G4VFacet
|
||||
// G4VFacet
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Base class defining the facets which are components of a
|
||||
// G4TessellatedSolid shape.
|
||||
|
||||
// CHANGE HISTORY
|
||||
// --------------
|
||||
//
|
||||
// 31 October 2004, P R Truscott, QinetiQ Ltd, UK - Created.
|
||||
// 12 October 2012, M Gayer, CERN, - Reviewed optimized implementation.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef G4VFacet_hh
|
||||
#define G4VFacet_hh
|
||||
// 12 October 2012, M Gayer, CERN, - Reviewed optimised implementation.
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4VFACET_HH
|
||||
#define G4VFACET_HH
|
||||
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
@@ -52,53 +44,52 @@
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4VSolid.hh"
|
||||
|
||||
enum G4FacetVertexType {ABSOLUTE, RELATIVE};
|
||||
|
||||
class G4TessellatedSolid;
|
||||
enum G4FacetVertexType { ABSOLUTE, RELATIVE };
|
||||
|
||||
class G4VFacet
|
||||
{
|
||||
public:
|
||||
|
||||
G4VFacet();
|
||||
virtual ~G4VFacet ();
|
||||
|
||||
G4bool operator== (const G4VFacet &right) const;
|
||||
G4bool operator== (const G4VFacet& right) const;
|
||||
|
||||
virtual G4int GetNumberOfVertices () const = 0;
|
||||
virtual G4ThreeVector GetVertex (G4int i) const = 0;
|
||||
virtual void SetVertex (G4int i, const G4ThreeVector &val) = 0;
|
||||
virtual void SetVertex (G4int i, const G4ThreeVector& val) = 0;
|
||||
virtual G4GeometryType GetEntityType () const = 0;
|
||||
virtual G4ThreeVector GetSurfaceNormal () const = 0;
|
||||
virtual G4bool IsDefined () const = 0;
|
||||
virtual G4ThreeVector GetCircumcentre () const = 0;
|
||||
virtual G4double GetRadius () const = 0;
|
||||
virtual G4VFacet *GetClone () = 0;
|
||||
virtual G4VFacet* GetClone () = 0;
|
||||
virtual G4double Distance (const G4ThreeVector&, G4double) = 0;
|
||||
virtual G4double Distance (const G4ThreeVector&, G4double,
|
||||
const G4bool) = 0;
|
||||
virtual G4double Extent (const G4ThreeVector) = 0;
|
||||
virtual G4bool Intersect (const G4ThreeVector&, const G4ThreeVector &,
|
||||
const G4bool , G4double &, G4double &,
|
||||
G4ThreeVector &) = 0;
|
||||
virtual G4bool Intersect (const G4ThreeVector&, const G4ThreeVector&,
|
||||
const G4bool, G4double&, G4double&,
|
||||
G4ThreeVector&) = 0;
|
||||
virtual G4double GetArea() const = 0;
|
||||
virtual G4ThreeVector GetPointOnFace() const = 0;
|
||||
|
||||
void ApplyTranslation (const G4ThreeVector v);
|
||||
|
||||
std::ostream &StreamInfo(std::ostream &os) const;
|
||||
std::ostream& StreamInfo(std::ostream& os) const;
|
||||
|
||||
G4bool IsInside(const G4ThreeVector &p) const;
|
||||
G4bool IsInside(const G4ThreeVector& p) const;
|
||||
|
||||
virtual G4int AllocatedMemory() = 0;
|
||||
virtual void SetVertexIndex (G4int i, G4int j) = 0;
|
||||
virtual G4int GetVertexIndex (G4int i) const = 0;
|
||||
|
||||
virtual void SetVertices(std::vector<G4ThreeVector> *vertices) = 0;
|
||||
virtual void SetVertices(std::vector<G4ThreeVector>* vertices) = 0;
|
||||
|
||||
protected:
|
||||
|
||||
static const G4double dirTolerance;
|
||||
static const G4double kCarTolerance;
|
||||
G4double kCarTolerance;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user