BasicUnionOfWalls Class Reference

Restriction of a wall to the intersection with another wall. More...

#include <BasicUnionOfWalls.h>

+ Inheritance diagram for BasicUnionOfWalls:

Public Member Functions

 BasicUnionOfWalls ()
 Default constructor, the normal is infinitely long. More...
 
 BasicUnionOfWalls (const BasicUnionOfWalls &w)
 Copy constructor, copy the given wall. More...
 
 ~BasicUnionOfWalls () override
 Default destructor. More...
 
BasicUnionOfWallscopy () const override
 Wall copy method. It calls the copy constructor of this Wall, useful for polymorphism. More...
 
unsigned long getNumberOfObjects ()
 Returns the number of objects. More...
 
void add (BaseWall &wall)
 Defines a standard wall, given an outward normal vector s.t. normal*x=normal*point for all x of the wall. More...
 
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. If there is a collision, also return the normal vector. More...
 
void read (std::istream &is) override
 Reads BasicUnionOfWalls from a restart file. More...
 
void oldRead (std::istream &is)
 Reads BasicUnionOfWalls from an old-style restart file. More...
 
void write (std::ostream &os) const override
 Writes the BasicUnionOfWalls to an output stream, usually a restart file. More...
 
std::string getName () const override
 Returns the name of the object, in this case the string "BasicUnionOfWalls". More...
 
void getVTK (std::vector< Vec3D > &points, std::vector< std::vector< double >> &triangleStrips)
 
BaseWallgetObject (unsigned i)
 
void writeVTK (VTKContainer &vtk) const override
 
- Public Member Functions inherited from BaseWall
 BaseWall ()
 Default constructor. More...
 
 BaseWall (const BaseWall &w)
 Copy constructor. More...
 
 ~BaseWall () override
 Default destructor. More...
 
virtual bool getDistanceNormalOverlap (const BaseParticle &P, Mdouble &distance, Vec3D &normal_return, Mdouble &overlap) const
 
virtual bool getDistanceNormalOverlapSuperquadric (const SuperQuadricParticle &p, Mdouble &distance, Vec3D &normal_return, Mdouble &overlap) const
 
virtual Vec3D getFurthestPointSuperQuadric (const Vec3D &normalBodyFixed, const Vec3D &axes, Mdouble eps1, Mdouble eps2) const
 
virtual void setHandler (WallHandler *handler)
 A function which sets the WallHandler for this BaseWall. More...
 
WallHandlergetHandler () const
 A function which returns the WallHandler that handles this BaseWall. More...
 
void setIndSpecies (unsigned int indSpecies) override
 Define the species of this wall using the index of the species in the SpeciesHandler in this DPMBase. More...
 
void setSpecies (const ParticleSpecies *species)
 Defines the species of the current wall. More...
 
bool isFixed () const override
 
void setForceControl (Vec3D forceGoal, Vec3D gainFactor, Vec3D baseVelocity={0, 0, 0})
 Slowly adjusts the force on a wall towards a specified goal, by adjusting (prescribing) the velocity of the wall. More...
 
virtual bool isLocal (Vec3D &min, Vec3D &max) const
 
bool getLinePlaneIntersect (Vec3D &intersect, const Vec3D &p0, const Vec3D &p1, const Vec3D &n, const Vec3D &p)
 
bool isInsideWallVTK (const Vec3D &point, const Vec3D &normal, const Vec3D &position) const
 
void projectOntoWallVTK (Vec3D &point0, const Vec3D &point1, const Vec3D &normal, const Vec3D &position) const
 
void intersectVTK (std::vector< Vec3D > &points, Vec3D normal, Vec3D position) const
 
virtual BaseInteractiongetInteractionWithSuperQuad (SuperQuadricParticle *p, unsigned timeStamp, InteractionHandler *interactionHandler)
 
void getVTK (std::vector< Vec3D > &points, std::vector< std::vector< double >> &triangleStrips)
 
const Vec3D getAxis () const
 
BaseInteractiongetInteractionWith (BaseParticle *p, unsigned timeStamp, InteractionHandler *interactionHandler) override
 Returns the interaction between this wall and a given particle, nullptr if there is no interaction. More...
 
virtual void actionsOnRestart ()
 No implementation but can be overidden in its derived classes. More...
 
virtual void actionsAfterParticleGhostUpdate ()
 No implementation but can be overidden in its derived classes. More...
 
virtual void handleParticleAddition (unsigned int id, BaseParticle *p)
 Handles the addition of particles to the particleHandler. More...
 
virtual void handleParticleRemoval (unsigned int id)
 Handles the addition of particles to the particleHandler. More...
 
virtual void checkInteractions (InteractionHandler *interactionHandler, unsigned int timeStamp)
 Check if all interactions are valid. More...
 
bool getVTKVisibility () const
 
void setVTKVisibility (bool vtkVisibility)
 
void addRenderedWall (BaseWall *w)
 
BaseWallgetRenderedWall (size_t i) const
 
std::vector< BaseWall * > getRenderedWalls () const
 
void removeRenderedWalls ()
 
void renderWall (VTKContainer &vtk)
 
void addParticlesAtWall (unsigned numElements=50)
 
void setVelocityControl (Vec3D forceGoal, Vec3D gainFactor, Vec3D baseVelocity)
 
virtual void writeWallDetailsVTK (VTKData &data) const
 
virtual void computeWear ()
 
- Public Member Functions inherited from BaseInteractable
 BaseInteractable ()
 Default BaseInteractable constructor. More...
 
 BaseInteractable (const BaseInteractable &p)
 Copy constructor. More...
 
 ~BaseInteractable () override
 Destructor, it simply destructs the BaseInteractable and all the objects it contains. More...
 
unsigned int getIndSpecies () const
 Returns the index of the species associated with the interactable object. More...
 
const ParticleSpeciesgetSpecies () const
 Returns a pointer to the species of this BaseInteractable. More...
 
void setSpecies (const ParticleSpecies *species)
 Sets the species of this BaseInteractable. More...
 
const Vec3DgetForce () const
 Returns the force on this BaseInteractable. More...
 
const Vec3DgetTorque () const
 Returns the torque on this BaseInteractable. More...
 
void setForce (const Vec3D &force)
 Sets the force on this BaseInteractable. More...
 
void setTorque (const Vec3D &torque)
 Sets the torque on this BaseInteractable. More...
 
void addForce (const Vec3D &addForce)
 Adds an amount to the force on this BaseInteractable. More...
 
void addTorque (const Vec3D &addTorque)
 Adds an amount to the torque on this BaseInteractable. More...
 
virtual void resetForceTorque (int numberOfOMPthreads)
 
void sumForceTorqueOMP ()
 
const Vec3DgetPosition () const
 Returns the position of this BaseInteractable. More...
 
const QuaterniongetOrientation () const
 Returns the orientation of this BaseInteractable. More...
 
virtual void setPosition (const Vec3D &position)
 Sets the position of this BaseInteractable. More...
 
void setOrientationViaNormal (Vec3D normal)
 Sets the orientation of this BaseInteractable by defining the vector that results from the rotation of the (1,0,0) vector. More...
 
void setOrientationViaEuler (Vec3D eulerAngle)
 Sets the orientation of this BaseInteractable by defining the euler angles. More...
 
virtual void setOrientation (const Quaternion &orientation)
 Sets the orientation of this BaseInteractable. More...
 
virtual void move (const Vec3D &move)
 Moves this BaseInteractable by adding an amount to the position. More...
 
virtual void rotate (const Vec3D &angularVelocityDt)
 Rotates this BaseInteractable. More...
 
const std::vector< BaseInteraction * > & getInteractions () const
 Returns a list of interactions which belong to this interactable. More...
 
void addInteraction (BaseInteraction *I)
 Adds an interaction to this BaseInteractable. More...
 
bool removeInteraction (BaseInteraction *I)
 Removes an interaction from this BaseInteractable. More...
 
void copyInteractionsForPeriodicParticles (const BaseInteractable &p)
 Copies interactions to this BaseInteractable whenever a periodic copy made. More...
 
void setVelocity (const Vec3D &velocity)
 set the velocity of the BaseInteractable. More...
 
void setAngularVelocity (const Vec3D &angularVelocity)
 set the angular velocity of the BaseInteractble. More...
 
void addVelocity (const Vec3D &velocity)
 adds an increment to the velocity. More...
 
void addAngularVelocity (const Vec3D &angularVelocity)
 add an increment to the angular velocity. More...
 
virtual const Vec3DgetVelocity () const
 Returns the velocity of this interactable. More...
 
virtual const Vec3DgetAngularVelocity () const
 Returns the angular velocity of this interactable. More...
 
void setPrescribedPosition (const std::function< Vec3D(double)> &prescribedPosition)
 Allows the position of an infinite mass interactable to be prescribed. More...
 
void applyPrescribedPosition (double time)
 Computes the position from the user defined prescribed position function. More...
 
void setPrescribedVelocity (const std::function< Vec3D(double)> &prescribedVelocity)
 Allows the velocity of an infinite mass interactable to be prescribed. More...
 
void applyPrescribedVelocity (double time)
 Computes the velocity from the user defined prescribed velocity function. More...
 
void setPrescribedOrientation (const std::function< Quaternion(double)> &prescribedOrientation)
 Allows the orientation of the infinite mass interactbale to be prescribed. More...
 
void applyPrescribedOrientation (double time)
 Computes the orientation from the user defined prescribed orientation function. More...
 
void setPrescribedAngularVelocity (const std::function< Vec3D(double)> &prescribedAngularVelocity)
 Allows the angular velocity of the infinite mass interactable to be prescribed. More...
 
void applyPrescribedAngularVelocity (double time)
 Computes the angular velocity from the user defined prescribed angular velocity. More...
 
virtual const Vec3D getVelocityAtContact (const Vec3D &contact) const
 Returns the velocity at the contact point, use by many force laws. More...
 
void integrateBeforeForceComputation (double time, double timeStep)
 This is part of integrate routine for objects with infinite mass. More...
 
void integrateAfterForceComputation (double time, double timeStep)
 This is part of the integration routine for objects with infinite mass. More...
 
virtual Mdouble getInvMass () const
 
virtual Mdouble getCurvature (const Vec3D &labFixedCoordinates) const
 
virtual bool isFaceContact (const Vec3D &normal) const
 
- Public Member Functions inherited from BaseObject
 BaseObject ()=default
 Default constructor. More...
 
 BaseObject (const BaseObject &p)=default
 Copy constructor, copies all the objects BaseObject contains. More...
 
virtual ~BaseObject ()=default
 virtual destructor More...
 
virtual void moveInHandler (unsigned int index)
 Except that it is virtual, it does the same thing as setIndex() does. More...
 
void setIndex (unsigned int index)
 Allows one to assign an index to an object in the handler/container. More...
 
void setId (unsigned long id)
 Assigns a unique identifier to each object in the handler (container) which remains constant even after the object is deleted from the container/handler. More...
 
unsigned int getIndex () const
 Returns the index of the object in the handler. More...
 
unsigned int getId () const
 Returns the unique identifier of any particular object. More...
 
void setGroupId (unsigned groupId)
 
unsigned getGroupId () const
 

Private Attributes

std::vector< BaseWall * > walls_
 

Additional Inherited Members

- Static Public Member Functions inherited from BaseWall
static void addToVTK (const std::vector< Vec3D > &points, VTKContainer &vtk)
 Takes the points provided and adds a triangle strip connecting these points to the vtk container. More...
 

Detailed Description

Restriction of a wall to the intersection with another wall.

This is a class defining walls. It defines the interaction of regular walls and periodic walls with particles as defined in Particle Modifications:

Constructor & Destructor Documentation

◆ BasicUnionOfWalls() [1/2]

BasicUnionOfWalls::BasicUnionOfWalls ( )

Default constructor, the normal is infinitely long.

15 {
16  logger(DEBUG, "BasicUnionOfWalls::BasicUnionOfWalls ) finished");
17 }
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
@ DEBUG

References DEBUG, and logger.

Referenced by copy().

◆ BasicUnionOfWalls() [2/2]

BasicUnionOfWalls::BasicUnionOfWalls ( const BasicUnionOfWalls b)

Copy constructor, copy the given wall.

Parameters
[in]wBasicUnionOfWalls that has to be copied.

First copy the attributes of the BaseWall, then copy the ones that are specific for the BasicUnionOfWalls.

25  : BaseWall(b)
26 {
27  for (auto& w : b.walls_)
28  {
29  walls_.push_back(w->copy());
30  }
31  logger(DEBUG, "BasicUnionOfWalls::BasicUnionOfWalls(const BasicUnionOfWalls &p) finished");
32 }
RowVector3d w
Definition: Matrix_resize_int.cpp:3
Scalar * b
Definition: benchVecAdd.cpp:17
BaseWall()
Default constructor.
Definition: BaseWall.cc:15
std::vector< BaseWall * > walls_
Definition: BasicUnionOfWalls.h:96

References b, DEBUG, logger, w, and walls_.

◆ ~BasicUnionOfWalls()

BasicUnionOfWalls::~BasicUnionOfWalls ( )
override

Default destructor.

35 {
36  for (auto& w : walls_)
37  {
38  delete w;
39  }
40  logger(DEBUG, "BasicUnionOfWalls::~BasicUnionOfWalls finished");
41 }

References DEBUG, logger, w, and walls_.

Member Function Documentation

◆ add()

void BasicUnionOfWalls::add ( BaseWall wall)

Defines a standard wall, given an outward normal vector s.t. normal*x=normal*point for all x of the wall.

Todo:
TW maybe the Restricted wall should be templated with the wall type such that we don't need to use new and delete.
70 {
71  walls_.push_back(wall.copy());
72  walls_.back()->setId(walls_.size());
73 }
virtual BaseWall * copy() const =0
Pure virtual function that can be overwritten in inherited classes in order to copy a BaseWall.

References BaseWall::copy(), and walls_.

Referenced by UnionOfWalls::setupInitialConditions().

◆ copy()

BasicUnionOfWalls * BasicUnionOfWalls::copy ( ) const
overridevirtual

Wall copy method. It calls the copy constructor of this Wall, useful for polymorphism.

Wall copy method. It calls the copy constructor of this Wall, useful for polymorphism

Implements BaseWall.

47 {
48  return new BasicUnionOfWalls(*this);
49 }
BasicUnionOfWalls()
Default constructor, the normal is infinitely long.
Definition: BasicUnionOfWalls.cc:14

References BasicUnionOfWalls().

◆ getDistanceAndNormal()

bool BasicUnionOfWalls::getDistanceAndNormal ( const BaseParticle p,
Mdouble distance,
Vec3D normal 
) const
overridevirtual

Compute the distance from the wall for a given BaseParticle and return if there is a collision. If there is a collision, also return the normal vector.

Parameters
[in]pBaseParticle for which the distance to the wall must be computed.
[out]distanceDistance between the particle and the wall.
[out]normalThe normal of this wall, will only be set if there is a collision.
Returns
A boolean value for whether or not there is a collision.

Return the smallest distance and normal

Implements BaseWall.

83 {
84  if (walls_.empty()) return false;
85 
86  Vec3D position = p.getPosition() - getPosition();
87  getOrientation().rotateBack(position);
88  SphericalParticle shifted;
89  shifted.setSpecies(p.getSpecies());
90  shifted.setPosition(position);
91  shifted.setRadius(p.getRadius());
92 
93  //check wall after wall; the first wall that returns an interaction is chosen
94  for (auto w : walls_) {
95  if (w->getDistanceAndNormal(shifted, distance, normal) == true) {
97  return true;
98  }
99  }
100 
101  return false;
102 }
float * p
Definition: Tutorial_Map_using.cpp:9
const Quaternion & getOrientation() const
Returns the orientation of this BaseInteractable.
Definition: BaseInteractable.h:209
virtual void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
Definition: BaseInteractable.h:218
const Vec3D & getPosition() const
Returns the position of this BaseInteractable.
Definition: BaseInteractable.h:197
virtual void setRadius(Mdouble radius)
Sets the particle's radius_ (and adjusts the mass_ accordingly, based on the particle's species)
Definition: BaseParticle.cc:548
virtual void setSpecies(const ParticleSpecies *species)
Definition: BaseParticle.cc:798
void rotate(Vec3D &position) const
Definition: Quaternion.cc:550
void rotateBack(Vec3D &position) const
Definition: Quaternion.cc:597
A spherical particle is the most simple particle used in MercuryDPM.
Definition: SphericalParticle.h:16
Definition: Kernel/Math/Vector.h:30
void normal(const Vector< double > &x, Vector< double > &normal)
Definition: free_surface_rotation.cc:65

References BaseInteractable::getOrientation(), BaseInteractable::getPosition(), WallFunction::normal(), p, Quaternion::rotate(), Quaternion::rotateBack(), BaseInteractable::setPosition(), BaseParticle::setRadius(), BaseParticle::setSpecies(), w, and walls_.

Referenced by getVTK().

◆ getName()

std::string BasicUnionOfWalls::getName ( ) const
overridevirtual

Returns the name of the object, in this case the string "BasicUnionOfWalls".

Returns
The string "BasicUnionOfWalls", which is the name of this class.

Implements BaseObject.

143 {
144  return "BasicUnionOfWalls";
145 }

◆ getNumberOfObjects()

unsigned long BasicUnionOfWalls::getNumberOfObjects ( )

Returns the number of objects.

Suppose your simulation adds to an BasicUnionOfWalls after a certain time or condition is met. Checking the number of objects is useful for checking if this has happened yet, when restarting.

57 {
58  return walls_.size();
59 }

References walls_.

◆ getObject()

BaseWall * BasicUnionOfWalls::getObject ( unsigned  i)
202 {
203  logger.assert_always(walls_.size() > i, "Index % exceeds number of walls %", i, walls_.size());
204  return walls_[i];
205 }
int i
Definition: BiCGSTAB_step_by_step.cpp:9

References i, logger, and walls_.

◆ getVTK()

void BasicUnionOfWalls::getVTK ( std::vector< Vec3D > &  points,
std::vector< std::vector< double >> &  triangleStrips 
)
Todo:
change getVTK to writeVTK
Parameters
points
triangleStrips
Todo:
this function could be improved; might not plot full wall
148 {
149 // for (auto w : walls_) {
150 // w->writeVTK (points, triangleStrips);
151 // }
152  //writes points and strips for all walls; points are added to the global point vector, but the strips are held back
153  std::vector<std::vector<double>> myTriangleStrips;
154  unsigned long n = points.size();
155  for (auto w : walls_)
156  {
157  w->getVTK(points, myTriangleStrips);
158  }
159  //add position of the BasicUnionOfWalls to the point
160  for (std::vector<Vec3D>::iterator p = points.begin() + n; p != points.end(); p++)
161  {
162  getOrientation().rotate(*p);
163  }
164  //create a vector which points are in the wall (actually, only the new points are necessary)
165  std::vector<bool> pointInWall;
166  pointInWall.reserve(points.size());
167  SphericalParticle particle;
168  particle.setSpecies(getSpecies());
169  particle.setRadius(1e-10); //points within that distance are declared part of the wall
170  Mdouble distance;
171  Vec3D normal;
172  for (auto p : points)
173  {
174  particle.setPosition(p);
175  pointInWall.push_back(getDistanceAndNormal(particle, distance, normal));
176  }
177  //now loop through myTriangleStrips to find the strip parts that are fully inside the wall
178  std::vector<double> strip;
179  for (auto t : myTriangleStrips)
180  {
181  for (unsigned i : t)
182  {
183  if (pointInWall[i] == true)
184  {
185  strip.push_back(i);
186  }
187  else
188  {
189  if (strip.size() > 2)
190  triangleStrips.push_back(strip);
191  strip.clear();
192  }
193  }
194  if (strip.size() > 2)
195  triangleStrips.push_back(strip);
196  strip.clear();
197  }
199 }
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Array< double, 1, 3 > e(1./3., 0.5, 2.)
const ParticleSpecies * getSpecies() const
Returns a pointer to the species of this BaseInteractable.
Definition: BaseInteractable.h:87
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....
Definition: BasicUnionOfWalls.cc:82
t
Definition: plotPSD.py:36

References e(), getDistanceAndNormal(), BaseInteractable::getOrientation(), BaseInteractable::getSpecies(), i, n, WallFunction::normal(), p, Quaternion::rotate(), BaseInteractable::setPosition(), BaseParticle::setRadius(), BaseParticle::setSpecies(), plotPSD::t, w, and walls_.

◆ oldRead()

void BasicUnionOfWalls::oldRead ( std::istream &  is)

Reads BasicUnionOfWalls from an old-style restart file.

◆ read()

void BasicUnionOfWalls::read ( std::istream &  is)
overridevirtual

Reads BasicUnionOfWalls from a restart file.

Parameters
[in]isThe input stream from which the BasicUnionOfWalls is read.

Reimplemented from BaseWall.

108 {
109  BaseWall::read(is);
110  std::string dummy;
111  unsigned size;
112  is >> dummy >> size;
113  for (unsigned i = 0; i < size; i++)
114  {
116  is >> type;
117  BaseWall* wall = getHandler()->createObject(type);
118  wall->setHandler(getHandler());
119  wall->read(is);
120  walls_.push_back(wall);
121  walls_.back()->setId(walls_.size());
122  }
123 }
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
Basic class for walls.
Definition: BaseWall.h:28
WallHandler * getHandler() const
A function which returns the WallHandler that handles this BaseWall.
Definition: BaseWall.cc:113
virtual void setHandler(WallHandler *handler)
A function which sets the WallHandler for this BaseWall.
Definition: BaseWall.cc:104
void read(std::istream &is) override
Function that reads a BaseWall from an input stream, usually a restart file.
Definition: BaseWall.cc:57
static BaseWall * createObject(const std::string &type)
Create a new wall, with the type given as a string (required for restarting).
Definition: WallHandler.cc:107
type
Definition: compute_granudrum_aor.py:141
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286

References WallHandler::createObject(), BaseWall::getHandler(), i, BaseWall::read(), BaseWall::setHandler(), size, oomph::Global_string_for_annotation::string(), compute_granudrum_aor::type, and walls_.

◆ write()

void BasicUnionOfWalls::write ( std::ostream &  os) const
overridevirtual

Writes the BasicUnionOfWalls to an output stream, usually a restart file.

Parameters
[in]osThe output stream the BasicUnionOfWalls is written to.

Reimplemented from BaseWall.

129 {
130  BaseWall::write(os);
131  os << " numWalls " << walls_.size();
132  for (auto w : walls_)
133  {
134  os << " ";
135  w->write(os);
136  }
137 }
void write(std::ostream &os) const override
Function that writes a BaseWall to an output stream, usually a restart file.
Definition: BaseWall.cc:79

References w, walls_, and BaseWall::write().

◆ writeVTK()

void BasicUnionOfWalls::writeVTK ( VTKContainer vtk) const
overridevirtual

adds extra information to the points and triangleStrips vectors needed to plot the wall in vtk format

Parameters
pointsCoordinates of the vertices of the triangulated surfaces (in the VTK file this is called POINTS)
triangleStripsIndices of three vertices forming one triangulated surface (in the VTK file this is called CELL)

Reimplemented from BaseWall.

208 {
209  // Collect the points and triangles from the individual walls
210  VTKContainer vtkDummy;
211  for (auto w: walls_)
212  {
213  w->writeVTK(vtkDummy);
214  }
215 
216  // Save the size of vtk.points for later
217  Mdouble s0 = vtk.points.size();
218 
219  // Rotate into real frame and add to vtk
220  Vec3D p;
221  for (auto point: vtkDummy.points)
222  {
223  getOrientation().rotate(point);
224  point += getPosition();
225  vtk.points.push_back(point);
226  }
227 
228  // Shift the triangle stripes to have the right indices
229  for (std::vector<double> cell: vtkDummy.triangleStrips)
230  {
231  std::transform(cell.begin(), cell.end(), cell.begin(),
232  [s0](double d) { return d + s0; });
233 
234  vtk.triangleStrips.push_back(cell);
235  }
236 }
EIGEN_DONT_INLINE void transform(const Transformation &t, Data &data)
Definition: geometry.cpp:25
Definition: BaseWall.h:17
std::vector< std::vector< double > > triangleStrips
Definition: BaseWall.h:19
std::vector< Vec3D > points
Definition: BaseWall.h:18

References BaseInteractable::getOrientation(), BaseInteractable::getPosition(), p, VTKContainer::points, Quaternion::rotate(), transform(), VTKContainer::triangleStrips, w, and walls_.

Member Data Documentation

◆ walls_

std::vector<BaseWall*> BasicUnionOfWalls::walls_
private

Outward normal vector. This does not have to be a unit vector.

Referenced by add(), BasicUnionOfWalls(), getDistanceAndNormal(), getNumberOfObjects(), getObject(), getVTK(), read(), write(), writeVTK(), and ~BasicUnionOfWalls().


The documentation for this class was generated from the following files: