NuTo
Numerics Tool
CollidableWallCylinder.h
Go to the documentation of this file.
1 /*
2  * CollidableWallCylinder.h
3  *
4  * Created on: 13 Feb 2014
5  * Author: ttitsche
6  */
7 
8 #pragma once
9 
11 
12 namespace NuTo
13 {
14 class CollidableParticleSphere;
15 
18 {
19 public:
26  CollidableWallCylinder(Eigen::Vector3d rPosition, Eigen::Vector3d rDirection, double rRadius, double rHeigth,
27  int rIndex);
28 
31  void PerformCollision(CollidableParticleSphere& rSphere) override;
32 
36  double PredictCollision(CollidableParticleSphere& rSphere, int& rType) override;
37 
38  bool IsPhysical() const override
39  {
40  return true;
41  }
42 
45  void VisualizationStatic(Visualize::UnstructuredGrid& rVisualizer) const override;
46 
49  bool IsInside(const CollidableParticleSphere& rSphere) const override;
50 
51 protected:
54  void Print(std::ostream& rReturnStream) const override;
55 
57  double mRadius;
58 
60  double mHeigth;
61 };
62 
63 } /* namespace NuTo */
void Print(std::ostream &rReturnStream) const override
prints cylinder informations
Definition: CollidableWallCylinder.cpp:183
bool IsInside(const CollidableParticleSphere &rSphere) const override
returns true, if the sphere is in this cylinder
Definition: CollidableWallCylinder.cpp:174
class for spherical collidables
Definition: CollidableParticleSphere.h:28
CollidableWallCylinder(Eigen::Vector3d rPosition, Eigen::Vector3d rDirection, double rRadius, double rHeigth, int rIndex)
constructor.
Definition: CollidableWallCylinder.cpp:16
visualization of unstructured grids
Definition: UnstructuredGrid.h:18
double PredictCollision(CollidableParticleSphere &rSphere, int &rType) override
collision prediction between (this) and a sphere
Definition: CollidableWallCylinder.cpp:43
bool IsPhysical() const override
ture for physical walls
Definition: CollidableWallCylinder.h:38
double mHeigth
cylinder height
Definition: CollidableWallCylinder.h:60
Definition: Exception.h:6
base class for walls
Definition: CollidableWallBase.h:23
void PerformCollision(CollidableParticleSphere &rSphere) override
collision between this and CollidableSphere
Definition: CollidableWallCylinder.cpp:24
class for cylindric walls
Definition: CollidableWallCylinder.h:17
void VisualizationStatic(Visualize::UnstructuredGrid &rVisualizer) const override
visualize all non-moving collidables
Definition: CollidableWallCylinder.cpp:85
double mRadius
cylinder radius
Definition: CollidableWallCylinder.h:57