NuTo
Numerics Tool
|
class for cylindric walls More...
#include <CollidableWallCylinder.h>
Public Member Functions | |
CollidableWallCylinder (Eigen::Vector3d rPosition, Eigen::Vector3d rDirection, double rRadius, double rHeigth, int rIndex) | |
constructor. More... | |
void | PerformCollision (CollidableParticleSphere &rSphere) override |
collision between this and CollidableSphere More... | |
double | PredictCollision (CollidableParticleSphere &rSphere, int &rType) override |
collision prediction between (this) and a sphere More... | |
bool | IsPhysical () const override |
ture for physical walls More... | |
void | VisualizationStatic (Visualize::UnstructuredGrid &rVisualizer) const override |
visualize all non-moving collidables More... | |
bool | IsInside (const CollidableParticleSphere &rSphere) const override |
returns true, if the sphere is in this cylinder More... | |
Public Member Functions inherited from NuTo::CollidableWallBase | |
CollidableWallBase (Eigen::VectorXd rPosition, Eigen::VectorXd rDirection, int rIndex) | |
constructor, create CollidableWallBase using the point-and-normal-vector plane definition More... | |
virtual | ~CollidableWallBase () |
destructor, do nothing More... | |
void | SetBoxes (SubBox &rInsideBox, SubBox &rOutsideBox) |
every wall should know its box and the neighbour box More... | |
void | PerformCollision (CollidableBase &rCollidable) override |
collision between CollidableWall and CollidableBase, resolve double dispatch, forward *this More... | |
void | PerformCollision (CollidableWallBase &rWall) override |
collision between CollidableWall and CollidableWall, does nothing More... | |
double | PredictCollision (CollidableBase &rCollidable, int &rType) override |
collision check between CollidableWall and CollidableBase, resolve double dispatch, forward *this More... | |
double | PredictCollision (CollidableWallBase &rWall, int &rType) override |
collision check between CollidableWall and CollidableWall, does nothing More... | |
void | MoveAndGrow (double) override |
walls to neither grow nor move, do nothing More... | |
void | GetLocalEventsToDelete (LocalEvents &) const override |
does nothing as all other wall events are still legal More... | |
const Eigen::Vector3d & | GetDirection () const |
getter for the wall direction More... | |
const Eigen::Vector3d & | GetPosition () const |
getter fot the wall position More... | |
Public Member Functions inherited from NuTo::CollidableBase | |
CollidableBase (int rIndex) | |
constructor, initialized with an index More... | |
virtual | ~CollidableBase () |
destructor More... | |
int | GetIndex () const |
getter for collidable index More... | |
void | AddBox (SubBox &rBox) |
adds a SubBox to this collidable More... | |
void | RemoveBox (SubBox &rBox) |
removes a SubBox from this collidable More... | |
void | PrintLocalEvents () const |
prints the local event list More... | |
const std::vector< SubBox * > & | GetSubBoxes () const |
returns all the SubBoxes of this collidable More... | |
Protected Member Functions | |
void | Print (std::ostream &rReturnStream) const override |
prints cylinder informations More... | |
Protected Attributes | |
double | mRadius |
cylinder radius More... | |
double | mHeigth |
cylinder height More... | |
Protected Attributes inherited from NuTo::CollidableWallBase | |
Eigen::Vector3d | mPosition |
point of the point-and-normal-vector plane definition More... | |
Eigen::Vector3d | mDirection |
normal vector of the point-and-normal-vector plane definition More... | |
SubBox * | mInsideBox |
box on the inner side of the wall More... | |
SubBox * | mOutsideBox |
box on the outer side of the wall More... | |
int | mNonNullAxis |
index of the direction component that is != 0 More... | |
bool | mIsAxisAligned |
true –> calculations without vector calculations More... | |
Protected Attributes inherited from NuTo::CollidableBase | |
int | mIndex |
index, just a name for each collidable, multiple collidables with the same index possible More... | |
std::vector< SubBox * > | mBoxes |
list of SubBoxes in which this collidable is inside if the collidable is passing a virutal sub box wall, multiple mBoxes are possible More... | |
LocalEvents | mLocalEvents |
local event list adding single event: through EventBase::AddLocalEvents() remove single event: through EventBase::~EventBase() clear everything: on collision More... | |
Additional Inherited Members | |
Public Types inherited from NuTo::CollidableBase | |
typedef std::vector< CollidableParticleSphere * > | ParticleContainer |
class for cylindric walls
NuTo::CollidableWallCylinder::CollidableWallCylinder | ( | Eigen::Vector3d | rPosition, |
Eigen::Vector3d | rDirection, | ||
double | rRadius, | ||
double | rHeigth, | ||
int | rIndex | ||
) |
constructor.
rPosition | center of the cylinder |
rDirection | vector pointing to the top of the cylinder |
rRadius | radius |
rHeigth | height |
rIndex | name |
|
overridevirtual |
returns true, if the sphere is in this cylinder
rSphere | sphere to check |
Reimplemented from NuTo::CollidableWallBase.
|
inlineoverridevirtual |
ture for physical walls
Implements NuTo::CollidableWallBase.
|
overridevirtual |
collision between this and CollidableSphere
rSphere | collision partner |
Implements NuTo::CollidableWallBase.
|
overridevirtual |
collision prediction between (this) and a sphere
rSphere | collision partner |
Implements NuTo::CollidableWallBase.
|
overrideprotectedvirtual |
prints cylinder informations
rReturnStream | output stream, that gets modified |
Reimplemented from NuTo::CollidableWallBase.
|
overridevirtual |
visualize all non-moving collidables
rVisualizer | NuTo object for ascii-export |
Reimplemented from NuTo::CollidableWallBase.
|
protected |
cylinder height
|
protected |
cylinder radius