Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfCellPolarity.h File Reference

Implements model with additional features defined in Nielsen, Bjarke Frost, et al. "Model to link cell shape and polarity with organogenesis." Iscience 23.2 (2020): 100830. More...

#include <tfParticle.h>
#include <tfAngle.h>
#include <tfBond.h>
#include <tfForce.h>
#include <tfParticleTypeList.h>
#include <tfPotential.h>
#include <rendering/tfArrowRenderer.h>
#include <string>
#include <unordered_map>
Include dependency graph for tfCellPolarity.h:

Go to the source code of this file.

Classes

struct  TissueForge::models::center::CellPolarity::PersistentForce
 Defines a force due to polarity state. More...
 
struct  TissueForge::models::center::CellPolarity::PolarityArrowData
 
struct  TissueForge::models::center::CellPolarity::ContactPotential
 Defines polarity state dynamics and anisotropic adhesion. More...
 

Namespaces

namespace  TissueForge
 Include Python header, disable linking to pythonX_d.lib on Windows in debug mode.
 
namespace  TissueForge::models
 Application-specific Tissue Forge models and methods.
 

Typedefs

typedef enum TissueForge::models::center::CellPolarity::PolarContactType TissueForge::models::center::CellPolarity::PolarContactType
 

Enumerations

enum  PolarContactType { REGULAR = 0 , ISOTROPIC = 1 , ANISOTROPIC = 2 }
 

Functions

FVector3 TissueForge::models::center::CellPolarity::getVectorAB (const int &pId, const bool &current=true)
 Gets the AB polarity vector of a cell.
 
FVector3 TissueForge::models::center::CellPolarity::getVectorPCP (const int &pId, const bool &current=true)
 Gets the PCP polarity vector of a cell.
 
void TissueForge::models::center::CellPolarity::setVectorAB (const int &pId, const FVector3 &pVec, const bool &current=true, const bool &init=false)
 Sets the AB polarity vector of a cell.
 
void TissueForge::models::center::CellPolarity::setVectorPCP (const int &pId, const FVector3 &pVec, const bool &current=true, const bool &init=false)
 Sets the PCP polarity vector of a cell.
 
void TissueForge::models::center::CellPolarity::update ()
 Updates all running polarity models.
 
void TissueForge::models::center::CellPolarity::registerParticle (ParticleHandle *ph)
 Registers a particle as polar.
 
void TissueForge::models::center::CellPolarity::unregister (ParticleHandle *ph)
 Unregisters a particle as polar.
 
void TissueForge::models::center::CellPolarity::registerType (ParticleType *pType, const std::string &initMode="random", const FVector3 &initPolarAB=FVector3(0.0), const FVector3 &initPolarPCP=FVector3(0.0))
 Registers a particle type as polar.
 
const std::string TissueForge::models::center::CellPolarity::getInitMode (ParticleType *pType)
 Gets the name of the initialization mode of a type.
 
void TissueForge::models::center::CellPolarity::setInitMode (ParticleType *pType, const std::string &value)
 Sets the name of the initialization mode of a type.
 
const FVector3 TissueForge::models::center::CellPolarity::getInitPolarAB (ParticleType *pType)
 Gets the initial AB polar vector of a type.
 
void TissueForge::models::center::CellPolarity::setInitPolarAB (ParticleType *pType, const FVector3 &value)
 Sets the initial AB polar vector of a type.
 
const FVector3 TissueForge::models::center::CellPolarity::getInitPolarPCP (ParticleType *pType)
 Gets the initial PCP polar vector of a type.
 
void TissueForge::models::center::CellPolarity::setInitPolarPCP (ParticleType *pType, const FVector3 &value)
 Sets the initial PCP polar vector of a type.
 
PersistentForceTissueForge::models::center::CellPolarity::createPersistentForce (const FloatP_t &sensAB=0.0, const FloatP_t &sensPCP=0.0)
 Creates a persistent polarity force.
 
void TissueForge::models::center::CellPolarity::setDrawVectors (const bool &_draw)
 Toggles whether polarity vectors are rendered.
 
void TissueForge::models::center::CellPolarity::setArrowColors (const std::string &colorAB, const std::string &colorPCP)
 Sets rendered polarity vector colors.
 
void TissueForge::models::center::CellPolarity::setArrowScale (const FloatP_t &_scale)
 Sets scale of rendered polarity vectors.
 
void TissueForge::models::center::CellPolarity::setArrowLength (const FloatP_t &_length)
 Sets length of rendered polarity vectors.
 
PolarityArrowDataTissueForge::models::center::CellPolarity::getVectorArrowAB (const int32_t &pId)
 Gets the rendering info for the AB polarity vector of a cell.
 
PolarityArrowDataTissueForge::models::center::CellPolarity::getVectorArrowPCP (const int32_t &pId)
 Gets the rendering info for the PCP polarity vector of a cell.
 
void TissueForge::models::center::CellPolarity::load ()
 Runs the polarity model along with a simulation. Must be called before doing any operations with this module.
 
ContactPotentialTissueForge::models::center::CellPolarity::createContactPotential (const FloatP_t &cutoff, const FloatP_t &mag=1.0, const FloatP_t &rate=1.0, const FloatP_t &distanceCoeff=1.0, const FloatP_t &couplingFlat=1.0, const FloatP_t &couplingOrtho=0.0, const FloatP_t &couplingLateral=0.0, std::string contactType="regular", const FloatP_t &bendingCoeff=0.0)
 Creates a contact-mediated polarity potential.
 

Detailed Description

Implements model with additional features defined in Nielsen, Bjarke Frost, et al. "Model to link cell shape and polarity with organogenesis." Iscience 23.2 (2020): 100830.

Function Documentation

◆ createContactPotential()

ContactPotential * TissueForge::models::center::CellPolarity::createContactPotential ( const FloatP_t & cutoff,
const FloatP_t & mag = 1.0,
const FloatP_t & rate = 1.0,
const FloatP_t & distanceCoeff = 1.0,
const FloatP_t & couplingFlat = 1.0,
const FloatP_t & couplingOrtho = 0.0,
const FloatP_t & couplingLateral = 0.0,
std::string contactType = "regular",
const FloatP_t & bendingCoeff = 0.0 )

Creates a contact-mediated polarity potential.

Parameters
cutoffcutoff distance
magmagnitude of force
raterate of state vector dynamics
distanceCoeffdistance coefficient
couplingFlatflat coupling coefficient
couplingOrthoorthogonal coupling coefficient
couplingLaterallateral coupling coefficient
contactTypetype of contact; available are regular, isotropic, anisotropic
bendingCoeffbending coefficient
Returns
ContactPotential*

◆ createPersistentForce()

PersistentForce * TissueForge::models::center::CellPolarity::createPersistentForce ( const FloatP_t & sensAB = 0.0,
const FloatP_t & sensPCP = 0.0 )

Creates a persistent polarity force.

Parameters
sensABsensitivity to AB vector
sensPCPsensitivity to PCP vector
Returns
PersistentForce*

◆ getInitMode()

const std::string TissueForge::models::center::CellPolarity::getInitMode ( ParticleType * pType)

Gets the name of the initialization mode of a type.

Parameters
pTypea type
Returns
const std::string

◆ getInitPolarAB()

const FVector3 TissueForge::models::center::CellPolarity::getInitPolarAB ( ParticleType * pType)

Gets the initial AB polar vector of a type.

Parameters
pTypea type
Returns
const FVector3

◆ getInitPolarPCP()

const FVector3 TissueForge::models::center::CellPolarity::getInitPolarPCP ( ParticleType * pType)

Gets the initial PCP polar vector of a type.

Parameters
pTypea type
Returns
const FVector3

◆ getVectorAB()

FVector3 TissueForge::models::center::CellPolarity::getVectorAB ( const int & pId,
const bool & current = true )

Gets the AB polarity vector of a cell.

Parameters
pIdparticle id
currentcurrent value flag; default true
Returns
FVector3

◆ getVectorArrowAB()

PolarityArrowData * TissueForge::models::center::CellPolarity::getVectorArrowAB ( const int32_t & pId)

Gets the rendering info for the AB polarity vector of a cell.

Parameters
pIdparticle id
Returns
PolarityArrowData*

◆ getVectorArrowPCP()

PolarityArrowData * TissueForge::models::center::CellPolarity::getVectorArrowPCP ( const int32_t & pId)

Gets the rendering info for the PCP polarity vector of a cell.

Parameters
pIdparticle id
Returns
PolarityArrowData*

◆ getVectorPCP()

FVector3 TissueForge::models::center::CellPolarity::getVectorPCP ( const int & pId,
const bool & current = true )

Gets the PCP polarity vector of a cell.

Parameters
pIdparticle id
currentcurrent value flag; default true
Returns
FVector3

◆ registerParticle()

void TissueForge::models::center::CellPolarity::registerParticle ( ParticleHandle * ph)

Registers a particle as polar.

This must be called before the first integration step. Otherwise, the engine will not know that the particle is polar and will be ignored.

Parameters
phhandle of particle

◆ registerType()

void TissueForge::models::center::CellPolarity::registerType ( ParticleType * pType,
const std::string & initMode = "random",
const FVector3 & initPolarAB = FVector3(0.0),
const FVector3 & initPolarPCP = FVector3(0.0) )

Registers a particle type as polar.

This must be called on a particle type before any other type-specific operations.

Parameters
pTypeparticle type
initModeinitialization mode for particles of this type
initPolarABinitial value of AB polarity vector; only used when initMode="value"
initPolarPCPinitial value of PCP polarity vector; only used when initMode="value"

◆ setArrowColors()

void TissueForge::models::center::CellPolarity::setArrowColors ( const std::string & colorAB,
const std::string & colorPCP )

Sets rendered polarity vector colors.

Applies to subsequently created vectors and all current vectors.

Parameters
colorABname of AB vector color
colorPCPname of PCP vector color

◆ setArrowLength()

void TissueForge::models::center::CellPolarity::setArrowLength ( const FloatP_t & _length)

Sets length of rendered polarity vectors.

Applies to subsequently created vectors and all current vectors.

Parameters
_lengthlength of rendered vectors

◆ setArrowScale()

void TissueForge::models::center::CellPolarity::setArrowScale ( const FloatP_t & _scale)

Sets scale of rendered polarity vectors.

Applies to subsequently created vectors and all current vectors.

Parameters
_scalescale of rendered vectors

◆ setDrawVectors()

void TissueForge::models::center::CellPolarity::setDrawVectors ( const bool & _draw)

Toggles whether polarity vectors are rendered.

Parameters
_drawrendering flag; vectors are rendered when true

◆ setInitMode()

void TissueForge::models::center::CellPolarity::setInitMode ( ParticleType * pType,
const std::string & value )

Sets the name of the initialization mode of a type.

Parameters
pTypea type
valueinitialization mode

◆ setInitPolarAB()

void TissueForge::models::center::CellPolarity::setInitPolarAB ( ParticleType * pType,
const FVector3 & value )

Sets the initial AB polar vector of a type.

Parameters
pTypea type
valueinitial AB polar vector

◆ setInitPolarPCP()

void TissueForge::models::center::CellPolarity::setInitPolarPCP ( ParticleType * pType,
const FVector3 & value )

Sets the initial PCP polar vector of a type.

Parameters
pTypea type
valueinitial PCP polar vector

◆ setVectorAB()

void TissueForge::models::center::CellPolarity::setVectorAB ( const int & pId,
const FVector3 & pVec,
const bool & current = true,
const bool & init = false )

Sets the AB polarity vector of a cell.

Parameters
pIdparticle id
pVecvector value
currentcurrent value flag; default true
initinitialization flag; default false

◆ setVectorPCP()

void TissueForge::models::center::CellPolarity::setVectorPCP ( const int & pId,
const FVector3 & pVec,
const bool & current = true,
const bool & init = false )

Sets the PCP polarity vector of a cell.

Parameters
pIdparticle id
pVecvector value
currentcurrent value flag; default true
initinitialization flag; default false

◆ unregister()

void TissueForge::models::center::CellPolarity::unregister ( ParticleHandle * ph)

Unregisters a particle as polar.

This must be called before destroying a registered particle.

Parameters
phhandle of particle