45 #ifdef BUILD_SPACE_DLL
46 #define EGS_SPACE_EXPORT __declspec(dllexport)
48 #define EGS_SPACE_EXPORT __declspec(dllimport)
50 #define EGS_SPACE_LOCAL
54 #ifdef HAVE_VISIBILITY
55 #define EGS_SPACE_EXPORT __attribute__ ((visibility ("default")))
56 #define EGS_SPACE_LOCAL __attribute__ ((visibility ("hidden")))
58 #define EGS_SPACE_EXPORT
59 #define EGS_SPACE_LOCAL
113 EGS_Float &t,
int *newmed=0,
EGS_Vector *normal=0) {
121 const string &
getType()
const {
128 "=======================================================\n");
virtual const string & getType() const =0
Get the geometry type.
virtual bool isInside(const EGS_Vector &x)=0
Is the position x inside the geometry?
virtual void printInfo() const
Print information about this geometry.
virtual EGS_Float howfarToOutside(int ireg, const EGS_Vector &x, const EGS_Vector &u)
EGS_BaseGeometry(const string &Name)
Construct a geometry named Name.
A class representing 3D vectors.
Global egspp functions header file.
virtual int isWhere(const EGS_Vector &x)=0
In which region is poisition x?
virtual int howfar(int ireg, const EGS_Vector &x, const EGS_Vector &u, EGS_Float &t, int *newmed=0, EGS_Vector *normal=0)=0
Calculate the distance to a boundary from x along the direction u.
const EGS_Float veryFar
A very large float.
The entire space as a geometry object.
Base geometry class. Every geometry class must be derived from EGS_BaseGeometry.
virtual int inside(const EGS_Vector &x)=0
Returns the region index, if inside, or -1 if outside (obsolete)
EGS_InfoFunction EGS_EXPORT egsInformation
Always use this function for reporting the progress of a simulation and any other type of information...
virtual EGS_Float hownear(int ireg, const EGS_Vector &x)=0
Calculate the distance to a boundary for position x in any direction.
EGS_BaseGeometry class header file.