CellModules
|
Class for managing Delaunay triangulation and mass-spring-based physics. More...
#include <BodyHertzianPhysics.hpp>
Public Member Functions | |
BodyHertzianPhysics () | |
Constructor. More... | |
double | getBoundingBoxRadius () const |
Gets the bounding box radius. More... | |
void | setRadius (double rad) |
Sets the radius. More... | |
double | getVolume () const |
Gets the volume. More... | |
double | getRadius () const |
Gets the radius. More... | |
double | getBaseRadius () const |
Gets the base radius. More... | |
void | setBaseRadius (double _baseRadius) |
Sets the base radius. More... | |
void | growth (double delta) |
Increases the radius so that the volume is multiplied by 1 + delta. More... | |
void | setDensity (double d) |
Sets the density. More... | |
double | getAdhesion () const |
Gets the adhesion coefficient. More... | |
void | setTargetOverlap (double _targetOverlap) |
Sets the target overlap. More... | |
double | getYoungModulus () const |
Gets the Young's modulus. More... | |
void | setYoungModulus (double ym) |
Sets the Young's modulus. More... | |
MecaCell::Vec | getPurposeVelocity () const |
Gets the purpose velocity. More... | |
void | setPurposeVelocity (MecaCell::Vec pf) |
Sets the purpose velocity. More... | |
double | getPoissonNumber () const |
Gets the Poisson's ratio. More... | |
void | setPoissonNumber (double pn) |
Sets the Poisson's ratio. More... | |
void | moveTo (const MecaCell::Vec &v) |
Moves a cell to position v. More... | |
bool | getComputed () const |
Gets the computed flag. More... | |
void | setComputed (bool c) |
Sets the computed flag. More... | |
double | getGamma () const |
Gets the gamma value. More... | |
void | setGammaCoef (double g) |
Sets the gamma coefficient. More... | |
Tensor | getStressTensor () |
Gets the stress tensor. More... | |
void | setStressTensor (Tensor st) |
Sets the stress tensor. More... | |
void | addStress (Tensor st) |
Adds stress to the stress tensor. More... | |
void | divTensor (double div) |
Divides the stress tensor. More... | |
double | getPressure () const |
Gets the internal pressure. More... | |
bool | isMovementEnabled () |
void | disableMovement () |
void | enableMovement () |
Vec | getPosition () const |
Vec | getPrevposition () const |
Vec | getVelocity () const |
Vec | getForce () const |
double | getMass () const |
void | setPosition (const Vec &p) |
void | setPrevposition (const Vec &p) |
void | setVelocity (const Vec &v) |
void | setForce (const Vec &f) |
void | setMass (const double m) |
void | receiveForce (const double &intensity, const Vec &direction, const bool &compressive) |
void | receiveForce (const Vec &f) |
void | resetVelocity () |
void | resetForce () |
void | setCellPlugin (plugin_t *_cellPlugin) |
void | onCellPluginLinking () |
Protected Attributes | |
Vec | position = Vec::zero() |
Vec | prevposition = Vec::zero() |
Vec | velocity = Vec::zero() |
Vec | force = Vec::zero() |
bool | movementEnabled = true |
double | mass = Config::DEFAULT_CELL_MASS |
double | totalForce = 0 |
plugin_t * | cellPlugin |
Private Member Functions | |
void | computeAdhesion () |
Computes the adhesion coefficient based on the different parameters. More... | |
Private Attributes | |
double | baseRadius |
double | radius |
double | volume |
double | density |
double | gammaCoef |
MecaCell::Vec | purposeVelocity |
double | poissonNumber |
double | youngModulus |
double | adhesion |
double | targetOverlap |
bool | computed |
Tensor | stressTensor |
Class for managing Delaunay triangulation and mass-spring-based physics.
cell_t | Type of the cell. |
plugin_t | Type of the plugin. |
Definition at line 33 of file BodyHertzianPhysics.hpp.
|
inline |
Constructor.
Initializes the Body to default values.
Definition at line 66 of file BodyHertzianPhysics.hpp.
|
inline |
Adds stress to the stress tensor.
st | Stress tensor. |
Definition at line 246 of file BodyHertzianPhysics.hpp.
|
inlineprivate |
Computes the adhesion coefficient based on the different parameters.
Definition at line 52 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inline |
Divides the stress tensor.
div | Divisor. |
Definition at line 253 of file BodyHertzianPhysics.hpp.
|
inline |
Gets the adhesion coefficient.
Definition at line 152 of file BodyHertzianPhysics.hpp.
|
inline |
|
inline |
|
inline |
Gets the computed flag.
Definition at line 209 of file BodyHertzianPhysics.hpp.
|
inline |
|
inlineinherited |
|
inline |
Gets the Poisson's ratio.
Definition at line 191 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inline |
Gets the internal pressure.
Computes the internal pressure based on the stress tensor in ng/(µm.s²).
Definition at line 262 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inline |
Gets the purpose velocity.
Definition at line 179 of file BodyHertzianPhysics.hpp.
|
inline |
|
inline |
Gets the stress tensor.
Definition at line 233 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inline |
|
inline |
Gets the Young's modulus.
Definition at line 167 of file BodyHertzianPhysics.hpp.
|
inline |
Increases the radius so that the volume is multiplied by 1 + delta.
delta | Volume augmentation ratio. |
Definition at line 132 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inline |
Moves a cell to position v.
v | Position vector. |
Definition at line 203 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
Definition at line 15 of file BaseBody.hpp.
|
inlineinherited |
|
inlineinherited |
|
inline |
Sets the base radius.
_baseRadius | Base radius. |
Definition at line 125 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
Definition at line 14 of file BaseBody.hpp.
|
inline |
Sets the computed flag.
c | Computed flag. |
Definition at line 215 of file BodyHertzianPhysics.hpp.
|
inline |
Sets the density.
Changes the mass knowing the current radius.
d | Density. |
Definition at line 143 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inline |
Sets the gamma coefficient.
g | Gamma coefficient. |
Definition at line 227 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inline |
Sets the Poisson's ratio.
pn | Poisson's ratio. |
Definition at line 197 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inlineinherited |
|
inline |
Sets the purpose velocity.
pf | Purpose velocity. |
Definition at line 185 of file BodyHertzianPhysics.hpp.
|
inline |
Sets the radius.
Changes the mass knowing the current density.
rad | Radius. |
Definition at line 94 of file BodyHertzianPhysics.hpp.
|
inline |
Sets the stress tensor.
st | Stress tensor. |
Definition at line 239 of file BodyHertzianPhysics.hpp.
|
inline |
Sets the target overlap.
overlap | Target overlap. |
Definition at line 158 of file BodyHertzianPhysics.hpp.
|
inlineinherited |
|
inline |
Sets the Young's modulus.
ym | Young's modulus. |
Definition at line 173 of file BodyHertzianPhysics.hpp.
|
private |
Adhesion coefficient in ng/(µm².s²)
Definition at line 44 of file BodyHertzianPhysics.hpp.
|
private |
Radius in µm
Definition at line 36 of file BodyHertzianPhysics.hpp.
|
protectedinherited |
Definition at line 9 of file BaseBody.hpp.
|
private |
Definition at line 46 of file BodyHertzianPhysics.hpp.
|
private |
Density in ng/µm³
Definition at line 39 of file BodyHertzianPhysics.hpp.
|
private |
Damping coefficient in Hz
Definition at line 40 of file BodyHertzianPhysics.hpp.
|
protectedinherited |
|
protectedinherited |
|
private |
Ratio of deformation
Definition at line 42 of file BodyHertzianPhysics.hpp.
|
private |
Speed vector of a moving cell in µm/s
Definition at line 41 of file BodyHertzianPhysics.hpp.
|
private |
Radius in µm
Definition at line 37 of file BodyHertzianPhysics.hpp.
|
private |
Stress tensor of a cell
Definition at line 47 of file BodyHertzianPhysics.hpp.
|
private |
Targeted overlap ratio between cells (used to compute adhesion)
Definition at line 45 of file BodyHertzianPhysics.hpp.
|
protectedinherited |
|
private |
Volume in µm³
Definition at line 38 of file BodyHertzianPhysics.hpp.
|
private |
Stiffness in ng/(µm.s²)
Definition at line 43 of file BodyHertzianPhysics.hpp.