NuTo
Numerics Tool
CollidableParticleBase.h
Go to the documentation of this file.
1 /*
2  * CollidableParticleBase.h
3  *
4  * Created on: 10 Mar 2014
5  * Author: ttitsche
6  */
7 
8 #pragma once
9 
10 #include <Eigen/Core>
12 
13 namespace NuTo
14 {
15 
20 {
21 public:
26  CollidableParticleBase(Eigen::Vector3d rPosition, Eigen::Vector3d rVelocity, int rIndex);
27 
29  virtual double GetVolume() const = 0;
30 
32  virtual double GetKineticEnergy() const = 0;
33 
34 protected:
36  Eigen::Vector3d mPosition;
37 
39  Eigen::Vector3d mVelocity;
40 };
41 
42 } /* namespace NuTo */
base class for all particles TODO: Idea: implement an interface that somehow every particle knows how...
Definition: CollidableParticleBase.h:19
CollidableParticleBase(Eigen::Vector3d rPosition, Eigen::Vector3d rVelocity, int rIndex)
constructor, every particle needs a position, a velocity and an identifier
Definition: CollidableParticleBase.cpp:11
virtual double GetVolume() const =0
getter for the particle volume
Eigen::Vector3d mPosition
particle position
Definition: CollidableParticleBase.h:36
Base class for all collidables.
Definition: CollidableBase.h:22
virtual double GetKineticEnergy() const =0
getter for the kinetic energy of the particle
Eigen::Vector3d mVelocity
particle velocity
Definition: CollidableParticleBase.h:39
Definition: Exception.h:6