44 logger(
DEBUG,
"WallHandler::WallHandler() finished");
58 logger(
DEBUG,
"WallHandler::WallHandler(const WallHandler &PH) finished");
75 #ifdef DEBUG_CONSTRUCTOR
76 logger(
DEBUG,
"WallHandler::operator = (const WallHandler& rhs) finished");
83 #ifdef DEBUG_DESTRUCTOR
84 logger(
DEBUG,
"WallHandler::~WallHandler() finished");
115 if (type ==
"CylindricalWall")
118 is >> cylindricalWall;
121 else if (type ==
"AxisymmetricIntersectionOfWalls")
124 is >> axisymmetricIntersectionOfWalls;
127 else if (type ==
"IntersectionOfWalls")
130 is >> intersectionOfWalls;
133 else if (type ==
"InfiniteWall")
139 else if (type ==
"InfiniteWallWithHole")
142 is >> infiniteWallWithHole;
145 else if (type ==
"Screw")
151 else if (type ==
"Coil")
158 else if (type ==
"numFiniteWalls")
164 logger(
ERROR,
"Wall type: % not understood in restart file", type);
178 std::stringstream line(std::stringstream::in | std::stringstream::out);
183 unsigned int numWalls;
191 line >> dummy >> normal >> dummy >> position;
192 infiniteWall.
set(normal, position*normal);
198 for (
unsigned int i = 0; i < numWalls; ++i)
200 line >> dummy >> normal >> dummy >> position;
201 intersectionOfWalls.
addObject(normal, position*normal);
212 return "WallHandler";
A IntersectionOfWalls is convex polygon defined as an intersection of InfiniteWall's.
This function defines an Archimedes' screw in the z-direction from a (constant) starting point...
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
void setDPMBase(DPMBase *DPMBase)
Sets the problem that is solved using this handler.
void readOldObject(std::istream &is)
Reads a BaseWall into the WallHandler from old-style restart data.
void setHandler(WallHandler *handler)
A function which sets the WallHandler for this BaseWall.
void addObject(Vec3D normal, Vec3D point)
Adds a wall to the set of infinite walls, given an outward normal vector s.t. normal*x=normal*point.
void readObject(std::istream &is)
Reads BaseWall into the WallHandler from restart data.
U * copyAndAddObject(const U &O)
Creates a copy of a Object and adds it to the BaseHandler.
void getLineFromStringStream(std::istream &in, std::stringstream &out)
Reads a line from one stringstream into another, and prepares the latter for reading in...
WallHandler()
Default constructor, it creates an empty WallHandler.
virtual void addObject(T *O)
Adds a new Object to the BaseHandler.
A AxisymmetricIntersectionOfWalls is a axisymmetric wall, defined by rotating a twodimensional Inters...
Container to store all BaseWall.
void set(Vec3D normal, Vec3D point)
Defines a standard wall, given an outward normal vector s.t. normal*x=normal*point for all x of the w...
This is a class defining walls.
void addObject(BaseWall *W)
Adds a BaseWall to the WallHandler.
WallHandler operator=(const WallHandler &rhs)
Assignment operator that copies the pointer to the DPMBase and all BaseWall in the given WallHandler...
~WallHandler()
Destructor, it destructs the WallHandler and all BaseWall it contains.
void copyContentsFromOtherHandler(const BaseHandler< BaseWall > &BH)
Function that copies the contents (vector of pointers, maxObject_, nextId_, DPMBase_) from one handle...
Implementation of a 3D vector (by Vitaliy).
DPMBase * getDPMBase()
Gets the problem that is solved using this handler.
This class defines a coil in the z-direction from a (constant) starting point, a (constant) length L...
void clear()
Empties the whole BaseHandler by removing all Objects and setting all other variables to 0...
std::string getName() const
Returns the name of the handler, namely the string "WallHandler".