27#ifndef _SOURCE_MODELS_CENTER_TFCELLPOLARITY_H_
28#define _SOURCE_MODELS_CENTER_TFCELLPOLARITY_H_
36#include <rendering/tfArrowRenderer.h>
39#include <unordered_map>
41namespace TissueForge::models::center::CellPolarity {
50CPPAPI_FUNC(FVector3)
getVectorAB(
const int &pId,
const bool ¤t=
true);
59CPPAPI_FUNC(FVector3)
getVectorPCP(
const int &pId,
const bool ¤t=
true);
69CPPAPI_FUNC(
void)
setVectorAB(
const int &pId,
const FVector3 &pVec,
const bool ¤t=
true,
const bool &
init=
false);
79CPPAPI_FUNC(
void)
setVectorPCP(
const int &pId,
const FVector3 &pVec,
const bool ¤t=
true,
const bool &
init=
false);
119 const std::string &initMode=
"random",
120 const FVector3 &initPolarAB=FVector3(0.0),
121 const FVector3 &initPolarPCP=FVector3(0.0)
195typedef enum PolarContactType {
202 FloatP_t arrowLength = 1.0;
220CPPAPI_FUNC(
void)
setArrowColors(
const std::string &colorAB,
const std::string &colorPCP);
267struct CAPI_EXPORT ContactPotential : Potential {
310 const FloatP_t &cutoff,
311 const FloatP_t &mag=1.0,
312 const FloatP_t &rate=1.0,
313 const FloatP_t &distanceCoeff=1.0,
314 const FloatP_t &couplingFlat=1.0,
315 const FloatP_t &couplingOrtho=0.0,
316 const FloatP_t &couplingLateral=0.0,
317 std::string contactType=
"regular",
318 const FloatP_t &bendingCoeff=0.0
HRESULT init(const std::vector< std::string > &argv)
Force is a metatype, in that Tissue Forge has lots of different instances of force functions,...
Definition tfForce.h:69
A handle to a particle.
Definition tfParticle.h:313
Structure containing information on each particle type.
Definition tfParticle.h:768
Defines a force due to polarity state.
Definition tfCellPolarity.h:176
FloatP_t sensPCP
Definition tfCellPolarity.h:181
FloatP_t sensAB
Definition tfCellPolarity.h:178
Definition tfCellPolarity.h:201
Vector visualization specification.
Definition tfArrowRenderer.h:46
void setVectorAB(const int &pId, const FVector3 &pVec, const bool ¤t=true, const bool &init=false)
Sets the AB polarity vector of a cell.
void update()
Updates all running polarity models.
PolarityArrowData * getVectorArrowPCP(const int32_t &pId)
Gets the rendering info for the PCP polarity vector of a cell.
void 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.
FVector3 getVectorPCP(const int &pId, const bool ¤t=true)
Gets the PCP polarity vector of a cell.
void setVectorPCP(const int &pId, const FVector3 &pVec, const bool ¤t=true, const bool &init=false)
Sets the PCP polarity vector of a cell.
const FVector3 getInitPolarPCP(ParticleType *pType)
Gets the initial PCP polar vector of a type.
void setDrawVectors(const bool &_draw)
Toggles whether polarity vectors are rendered.
void unregister(ParticleHandle *ph)
Unregisters a particle as polar.
PolarityArrowData * getVectorArrowAB(const int32_t &pId)
Gets the rendering info for the AB polarity vector of a cell.
void setInitPolarAB(ParticleType *pType, const FVector3 &value)
Sets the initial AB polar vector of a type.
void setInitMode(ParticleType *pType, const std::string &value)
Sets the name of the initialization mode of a type.
void setArrowScale(const FloatP_t &_scale)
Sets scale of rendered polarity vectors.
PersistentForce * createPersistentForce(const FloatP_t &sensAB=0.0, const FloatP_t &sensPCP=0.0)
Creates a persistent polarity force.
void load()
Runs the polarity model along with a simulation. Must be called before doing any operations with this...
void setArrowColors(const std::string &colorAB, const std::string &colorPCP)
Sets rendered polarity vector colors.
ContactPotential * 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.
void registerParticle(ParticleHandle *ph)
Registers a particle as polar.
FVector3 getVectorAB(const int &pId, const bool ¤t=true)
Gets the AB polarity vector of a cell.
void setInitPolarPCP(ParticleType *pType, const FVector3 &value)
Sets the initial PCP polar vector of a type.
const std::string getInitMode(ParticleType *pType)
Gets the name of the initialization mode of a type.
const FVector3 getInitPolarAB(ParticleType *pType)
Gets the initial AB polar vector of a type.
void setArrowLength(const FloatP_t &_length)
Sets length of rendered polarity vectors.