31 #ifndef LevelSetWall_H
32 #define LevelSetWall_H
89 void read(std::istream& is)
override;
94 std::string
getName()
const override;
113 Vec3D& normal)
const;
137 static const int N = 10;
const unsigned n
Definition: CG3DPackingUnitTest.cpp:32
double Mdouble
Definition: GeneralDefine.h:34
virtual void move(const Vec3D &move)
Moves this BaseInteractable by adding an amount to the position.
Definition: BaseInteractable.cc:215
Definition: BaseParticle.h:54
Basic class for walls.
Definition: BaseWall.h:49
A infinite wall fills the half-space {point: (position_-point)*normal_<=0}.
Definition: LevelSetWall.h:48
void createVTK()
Definition: LevelSetWall.cc:190
void read(std::istream &is) override
Reads LevelSetWall from a restart file.
Definition: LevelSetWall.cc:122
void createVTKCube()
Definition: LevelSetWall.cc:149
void createVTKDiamond()
Definition: LevelSetWall.cc:170
Shape
Definition: LevelSetWall.h:53
LevelSetWall(Shape s, double radius, ParticleSpecies *sp=nullptr)
Definition: LevelSetWall.cc:36
std::string getName() const override
Returns the name of the object, in this case the string "LevelSetWall".
Definition: LevelSetWall.cc:133
LevelSetWall * copy() const override
Wall copy method. It calls the copy constructor of this Wall, useful for polymorphism.
Definition: LevelSetWall.cc:78
double levelSet_[2 *N+1][2 *N+1][2 *N+1]
Definition: LevelSetWall.h:140
double radius_
Definition: LevelSetWall.h:143
void setShapeCube()
Definition: LevelSetWall.cc:396
VTKContainer vtkLabFrame_
Definition: LevelSetWall.h:145
bool getDistanceAndNormal(const BaseParticle &p, Mdouble &distance, Vec3D &normal_return) const override
Definition: LevelSetWall.cc:104
bool getDistanceAndNormalLabCoordinates(Vec3D position, Mdouble interactionRadius, Mdouble &distance, Vec3D &normal) const
Definition: LevelSetWall.cc:308
void writeToFile(int n, double radiusContact) const
Definition: LevelSetWall.cc:261
void writeVTK(VTKContainer &vtk) const override
Definition: LevelSetWall.cc:138
void setShapeFourSided()
Definition: LevelSetWall.cc:448
~LevelSetWall() override
Default destructor.
Definition: LevelSetWall.cc:70
void setShapeDiamond()
Definition: LevelSetWall.cc:433
void createVTKSphere()
Definition: LevelSetWall.cc:216
static const int N
Definition: LevelSetWall.h:137
void setShapeSphere()
Definition: LevelSetWall.cc:366
void setShapeCylinder()
Definition: LevelSetWall.cc:381
Definition: ParticleSpecies.h:37
Definition: BaseWall.h:38