NurbsWall.h
Go to the documentation of this file.
1 // This file is part of the MercuryDPM project (https://www.mercurydpm.org).
2 // Copyright (c), The MercuryDPM Developers Team. All rights reserved.
3 // License: BSD 3-Clause License; see the LICENSE file in the root directory.
4 
5 #ifndef NURBSWALL_H
6 #define NURBSWALL_H
7 
8 #include "Nurbs/NurbsSurface.h"
9 #include "BaseWall.h"
10 #include "File.h"
11 
15 class NurbsWall : public BaseWall
16 {
17 public:
18 
22  NurbsWall();
23 
27  NurbsWall(const NurbsWall& other);
28 
32  NurbsWall(const NurbsSurface& nurbsSurface);
33 
37  ~NurbsWall();
38 
42  NurbsWall* copy() const override;
43 
47  void set(const NurbsSurface& nurbsSurface);
48 
52  bool getDistanceAndNormal(const BaseParticle& P, Mdouble& distance, Vec3D& normal_return) const final;
53 
57  void read(std::istream& is) override;
58 
62  void write(std::ostream& os) const override;
63 
67  std::string getName() const override;
68 
69  void writeVTK (VTKContainer &vtk) const override;
70 
71  void writeWallDetailsVTK(VTKData& data) const override;
72 
73 protected:
75 };
76 
77 #endif
int data[]
Definition: Map_placement_new.cpp:1
Definition: BaseParticle.h:33
Basic class for walls.
Definition: BaseWall.h:28
Definition: NurbsSurface.h:13
This function defines a wall via a NurbsSurface.
Definition: NurbsWall.h:16
void writeWallDetailsVTK(VTKData &data) const override
Definition: NurbsWall.cc:129
NurbsWall()
Default constructor: make a wall with default parameters.
Definition: NurbsWall.cc:18
NurbsSurface nurbsSurface_
Definition: NurbsWall.h:74
void writeVTK(VTKContainer &vtk) const override
Definition: NurbsWall.cc:95
void read(std::istream &is) override
Reads this wall from an input stream, for example a restart file.
Definition: NurbsWall.cc:70
NurbsWall * copy() const override
Copy this wall and return a pointer to the copy.
Definition: NurbsWall.cc:43
~NurbsWall()
Default destructor.
Definition: NurbsWall.cc:38
void write(std::ostream &os) const override
Writes this wall to an output stream, for example a restart file.
Definition: NurbsWall.cc:81
void set(const NurbsSurface &nurbsSurface)
Defines a wall, given a NurbsSurface.
Definition: NurbsWall.cc:48
std::string getName() const override
Returns the name of the object, here the string "Screw".
Definition: NurbsWall.cc:90
bool getDistanceAndNormal(const BaseParticle &P, Mdouble &distance, Vec3D &normal_return) const final
Compute the distance from the Screw for a given BaseParticle and return if there is a collision....
Definition: NurbsWall.cc:53
Definition: Kernel/VTKWriter/VTKData.h:15
Definition: Kernel/Math/Vector.h:30
double P
Uniform pressure.
Definition: TwenteMeshGluing.cpp:77
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
Definition: BaseWall.h:17