88 Vec3D& normal)
const override;
94 void read(std::istream& is)
override;
96 void write(std::ostream& os)
const override;
98 std::string
getName()
const override;
A wall that is the inside (concave side) of an arc of a cylinder, like a pipe or half-pipe.
Definition: ArcWall.h:52
Mdouble radius_
Definition: ArcWall.h:103
Vec3D pos_
Definition: ArcWall.h:102
~ArcWall() override=default
Default destructor.
std::string getName() const override
A purely virtual function.
Definition: ArcWall.cc:134
Vec3D centreline_
Definition: ArcWall.h:104
void write(std::ostream &os) const override
Write a BaseInteractable to an output stream.
Definition: ArcWall.cc:124
Mdouble semiangle_
Definition: ArcWall.h:105
void set(Vec3D axis, Vec3D pos, Mdouble radius, Vec3D centreline, Mdouble semiangle)
Set parameters of the ArcWall.
Definition: ArcWall.cc:49
void read(std::istream &is) override
Reads a BaseInteractable from an input stream.
Definition: ArcWall.cc:113
Vec3D axis_
Definition: ArcWall.h:101
BaseInteraction * getInteractionWith(BaseParticle *p, unsigned timeStamp, InteractionHandler *interactionHandler) override
Returns the interaction between this object and a given BaseParticle.
Definition: ArcWall.cc:93
ArcWall * copy() const override
Pure virtual function that can be overwritten in inherited classes in order to copy a BaseWall.
Definition: ArcWall.cc:63
ArcWall()
Default constructor.
Definition: ArcWall.cc:31
bool getDistanceAndNormal(const BaseParticle &p, Mdouble &distance, Vec3D &normal) const override
Pure virtual function that computes the distance of a BaseParticle to this wall and returns the norma...
Definition: ArcWall.cc:68
Stores information about interactions between two interactable objects; often particles but could be ...
Definition: BaseInteraction.h:60
Definition: BaseParticle.h:54
Basic class for walls.
Definition: BaseWall.h:49
Container to store Interaction objects.
Definition: InteractionHandler.h:45
Container to store all BaseWall.
Definition: WallHandler.h:44