31 #ifndef INFINITEWALL_H
32 #define INFINITEWALL_H
108 void read(std::istream& is);
113 void oldRead(std::istream& is);
118 void write(std::ostream& os)
const;
123 std::string
getName()
const override;
void write(std::ostream &os) const
Writes the InfiniteWall to an output stream, usually a restart file.
MERCURY_DEPRECATED void move(Mdouble position)
Move the wall to a new position by giving the new position in the direction of the unit normal vector...
void read(std::istream &is)
Reads InfiniteWall from a restart file.
bool getDistanceAndNormal(const BaseParticle &p, Mdouble &distance, Vec3D &normal_return) const override
Compute the distance from the wall for a given BaseParticle and return if there is a collision...
std::string getName() const override
Returns the name of the object, in this case the string "InfiniteWall".
Mdouble getDistance(const Vec3D &otherPosition) const
Returns the distance of the wall to the particle.
BaseInteraction * getInteractionWith(BaseParticle *p, Mdouble timeStamp, InteractionHandler *interactionHandler)
Look up the interaction between this wall and a BaseParticle at a certain timeStamp.
Vec3D getNormal() const
Access function for normal.
void oldRead(std::istream &is)
Reads InfiniteWall from an old-style restart file.
Stores information about interactions between two interactable objects; often particles but could be ...
#define MERCURY_DEPRECATED
InfiniteWall()
Default constructor, the normal is infinitely long.
Container to store Interaction objects.
InfiniteWall * copy() const override
Wall copy method. It calls the copy constructor of this Wall, useful for polymorphism.
void setNormal(const Vec3D normal)
Changes the normal of the InfiniteWall.
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.
Implementation of a 3D vector (by Vitaliy).
virtual void move(const Vec3D &move)
Moves this BaseInteractable by adding an amount to the position.
virtual ~InfiniteWall()
Default destructor.