Files
geant4/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh
T
2016-06-01 15:25:35 +02:00

62 lines
1.0 KiB
C++

#ifndef __G4BoundingBox3D_h
#define __G4BoundingBox3D_h 1
#include "G4Ray.hh"
#include "G4Point3D.hh"
#include "G4Vector3D.hh"
class G4BoundingBox3D
{
public:
G4BoundingBox3D();
G4BoundingBox3D(const G4Point3D&);
G4BoundingBox3D(const G4Point3D&, const G4Point3D&);
~G4BoundingBox3D();
void Init(const G4Point3D&);
void Init(const G4Point3D&, const G4Point3D&);
void Extend(const G4Point3D&);
G4Point3D GetBoxMin() const;
G4Point3D GetBoxMax() const;
G4double GetDistance() const;
void SetDistance(G4double distance0);
int GetTestResult() const;
int Test(const G4Ray&);
static const G4BoundingBox3D space;
private:
G4Point3D box_min;
G4Point3D box_max;
G4double distance;
int test_result;
G4Point3D MiddlePoint;
G4Vector3D GeantBox;
int BoxIntersect(const G4Point3D&,
const G4Point3D&,
const G4Vector3D&) const;
G4double DistanceToIn(const G4Point3D&,
const G4Vector3D&) const;
};
#include "G4BoundingBox3D.icc"
#endif