EGSnrc C++ class library
Report PIRS-898 (2021)
Iwan Kawrakow, Ernesto Mainegra-Hing, Frederic Tessier, Reid Townson and Blake Walters
|
A polygon shape. More...
#include <egs_polygon_shape.h>
Public Member Functions | |
EGS_PolygonShape (const vector< EGS_Float > &points, const string &Name="", EGS_ObjectFactory *f=0) | |
EGS_Vector | getPoint (EGS_RandomGenerator *rndm) |
Public Member Functions inherited from EGS_SurfaceShape | |
EGS_SurfaceShape (const string &Name="", EGS_ObjectFactory *f=0) | |
Construct a surface shape named Name. | |
~EGS_SurfaceShape () | |
Destructor. Does nothing. | |
bool | supportsDirectionMethod () const |
Always returns true. Shapes derived from this class must implement the getPoint() method to return points on a given surface. | |
EGS_Float | area () const |
Returns the area of this surface shape. | |
void | getPointSourceDirection (const EGS_Vector &Xo, EGS_RandomGenerator *rndm, EGS_Vector &u, EGS_Float &wt) |
Get a random direction given a source position Xo. More... | |
Public Member Functions inherited from EGS_BaseShape | |
EGS_BaseShape (const string &Name="", EGS_ObjectFactory *f=0) | |
Construct a shape named Name. | |
virtual | ~EGS_BaseShape () |
Destructor. Deletes T if it is not null . | |
virtual EGS_Vector | getRandomPoint (EGS_RandomGenerator *rndm) |
Returns a random 3D vector. More... | |
void | setTransformation (EGS_Input *inp) |
Set the transformation attached to this shape. More... | |
void | setTransformation (EGS_AffineTransform *t) |
Set the transformation attached to this shape. More... | |
const EGS_AffineTransform * | getTransform () const |
Get a pointer to the affine transformation attached to this shape. | |
Public Member Functions inherited from EGS_Object | |
EGS_Object (const string &Name="", EGS_ObjectFactory *f=0) | |
Create an EGS_Object named Name belonging to the object factory f. More... | |
EGS_Object (EGS_Input *inp, EGS_ObjectFactory *f=0) | |
Create an EGS_Object from the information pointed to by inp that belongs to object factory f. More... | |
const string & | getObjectName () const |
Get the object name. | |
void | setObjectName (const string &Name) |
Set the object name to Name. | |
const string & | getObjectType () const |
Get the object type. | |
virtual EGS_Object * | createObject (EGS_Input *inp) |
Create an object from the infromation pointed to by inp. More... | |
void | setName (EGS_Input *inp) |
Set the name of the object from the information provided by inp. More... | |
int | ref () |
Increase the reference count to this object. | |
int | deref () |
Decrease the reference count to this object. | |
void | setFactory (EGS_ObjectFactory *f) |
Set the factory to which the object belongs. More... | |
Protected Attributes | |
int | n |
EGS_TriangleShape ** | triangle |
EGS_AliasTable * | table |
Protected Attributes inherited from EGS_SurfaceShape | |
EGS_Float | A |
Protected Attributes inherited from EGS_BaseShape | |
EGS_AffineTransform * | T |
The affine transformation attached to the shape. | |
Protected Attributes inherited from EGS_Object | |
string | name |
The object name. | |
string | otype |
The object type. | |
int | nref |
Number of references to the object. | |
EGS_ObjectFactory * | factory |
The factory this object belongs to. | |
Additional Inherited Members | |
Static Public Member Functions inherited from EGS_BaseShape | |
static EGS_BaseShape * | createShape (EGS_Input *inp) |
Create a shape from the information pointed to by inp. More... | |
static EGS_BaseShape * | getShape (const string &Name) |
Get a pointer to the shape named Name. More... | |
Static Public Member Functions inherited from EGS_Object | |
static string | getUniqueName (const EGS_Object *o=0) |
Create and return a unique object name. More... | |
static void | deleteObject (EGS_Object *o) |
Delete an object. More... | |
A polygon shape.
A polygon shape is defined using
:start shape: library = egs_polygon_shape points = list of at least 3 2D points (i.e. at least 6 floating numbers) :stop shape:
and delivers points uniformely distributed within a polygon in the xy-plane at z=0. When 3 2D points are given, the actual shape being constructed will be EGS_TriangleShape. For polygons in other planes, attach an affine transformation to the shape.
Definition at line 117 of file egs_polygon_shape.h.