** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: phantom.h,v 1.4 2000/06/25 17:32:24 kevin Exp $
+** $Id: phantom.h,v 1.9 2000/07/20 11:17:31 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
~PhantomElement (void);
- bool isPointInside (double x, double y, const CoordType coord_type);
+ bool isPointInside (double x, double y, const CoordType coord_type) const;
bool clipLineNormalizedCoords (double& x1, double& y1, double& x2, double& y2) const;
private:
PhmElemType m_type; // pelem type (box, ellipse, etc)
- double m_atten; // X-ray attenuation coefficient
double m_cx, m_cy; // center of pelem
double m_u, m_v; // size of pelem
+ double m_atten; // X-ray attenuation coefficient
double m_rot; // pelem rotation angle (in radians)
double *m_x, *m_y; // ptr to array of points in obj world coord
int m_nPoints; // number of points in outline arrays
static int numCirclePoints (double theta);
+ PhantomElement (const PhantomElement& rhs); // copy constructor
+ PhantomElement& operator= (const PhantomElement&); // assignment operator
};
PHM_UNITPULSE /* Unit pulse phantom */
} PhantomID;
- static const char PHM_HERMAN_STR[]= "herman";
- static const char PHM_BHERMAN_STR[]= "bherman";
- static const char PHM_ROWLAND_STR[]= "rowland";
- static const char PHM_BROWLAND_STR[]= "browland";
- static const char PHM_UNITPULSE_STR[]= "unitpulse";
+ static const char PHM_HERMAN_STR[];
+ static const char PHM_BHERMAN_STR[];
+ static const char PHM_ROWLAND_STR[];
+ static const char PHM_BROWLAND_STR[];
+ static const char PHM_UNITPULSE_STR[];
+
+ static const char PHM_HERMAN_TITLE_STR[];
+ static const char PHM_BHERMAN_TITLE_STR[];
+ static const char PHM_ROWLAND_TITLE_STR[];
+ static const char PHM_BROWLAND_TITLE_STR[];
+ static const char PHM_UNITPULSE_TITLE_STR[];
Phantom (void);
Phantom (const char* const phmName);
static const char* convertPhantomIDToName (const PhantomID phmID);
void init(void);
+
+ Phantom (const Phantom& rhs); // copy constructor
+ Phantom& operator= (const Phantom&); // assignment operator
};
typedef slist<PhantomElement*>::iterator PElemIterator;