26 #ifndef INFINITEWALLWITHHOLE_H
27 #define INFINITEWALLWITHHOLE_H
106 void read(std::istream& is);
111 void oldRead(std::istream& is);
116 void write(std::ostream& os)
const;
121 virtual std::string
getName()
const;
void write(std::ostream &os) const
outputs wall
void read(std::istream &is)
reads wall
bool getDistanceAndNormal(const BaseParticle &P, Mdouble &distance, Vec3D &normal_return) const
Since this function should be called before calculating any Particle-Wall interactions, it can also be used to set the normal vector in case of curved walls.
void oldRead(std::istream &is)
reads wall
Vec3D normal_
Outward normal vector, does not have to be a unit vector.
virtual std::string getName() const
Returns the name of the object.
InfiniteWallWithHole()
default constructor
void clear()
A function that removes all data from this BaseWall, so sets handler_ to nullptr. ...
void set(Vec3D normal, Mdouble position, Mdouble holeRadius)
Defines a standard wall, given an outward normal vector s. t. normal*x=position.
Mdouble getHoleDistance(const Vec3D &position) const
InfiniteWallWithHole * copy() const
Wall copy method. It calls the copy contrustor of this Wall, usefull for polymorfism.
Mdouble position_
position n*x=p
Vec3D getNormal()
access function for normal
Mdouble getPosition()
access function for position
void move_time(Mdouble dt)
Allows the wall to be moved to a new position (also orthogonal to the normal), and setting the veloci...
Implementation of a 3D vector (by Vitaliy).
void moveTo(Mdouble position)
Allows the wall to be moved to a new position.
Mdouble getWallDistance(const Vec3D &position) const
Returns the distance of the wall to the particle.