37 #ifndef EGS_EXTENDED_SHAPE_
38 #define EGS_EXTENDED_SHAPE_
45 #ifdef BUILD_EXTENDED_SHAPE_DLL
46 #define EGS_EXTENDED_SHAPE_EXPORT __declspec(dllexport)
48 #define EGS_EXTENDED_SHAPE_EXPORT __declspec(dllimport)
50 #define EGS_EXTENDED_SHAPE_LOCAL
54 #ifdef HAVE_VISIBILITY
55 #define EGS_EXTENDED_SHAPE_EXPORT __attribute__ ((visibility ("default")))
56 #define EGS_EXTENDED_SHAPE_LOCAL __attribute__ ((visibility ("hidden")))
58 #define EGS_EXTENDED_SHAPE_EXPORT
59 #define EGS_EXTENDED_SHAPE_LOCAL
93 EGS_BaseShape(Name,f), shape(Shape), h1(H1), h2(H2), dh(h2-h1) {
97 otype += shape->getObjectType();
100 otype =
"Invalid ExtendedShape";
115 EGS_Float h1, h2, dh;
A class representing 3D vectors.
static void deleteObject(EGS_Object *o)
Delete an object.
Base shape class. All shapes in the EGSnrc C++ class library are derived from EGS_BaseShape.
virtual EGS_Vector getPoint(EGS_RandomGenerator *rndm)
Sample and return a random 3D vector.
Base random number generator class. All random number generators should be derived from this class...
EGS_RandomGenerator class header file.
EGS_BaseShape and shape classes header file.
EGS_Float getUniform()
Returns a random number uniformly distributed between zero (inclusive) and 1 (exclusive).
EGS_BaseShape(const string &Name="", EGS_ObjectFactory *f=0)
Construct a shape named Name.