25#ifndef _MODELS_VERTEX_SOLVER_ACTORS_TFEDGETENSION_H_
26#define _MODELS_VERTEX_SOLVER_ACTORS_TFEDGETENSION_H_
31namespace TissueForge::models::vertex {
34 typedef FloatP_t (*EdgeTensionEnergyFcn)(
const Surface*,
const Vertex*,
const FloatP_t&,
const unsigned int&);
35 typedef FVector3 (*EdgeTensionForceFcn)(
const Surface*,
const Vertex*,
const FloatP_t&,
const unsigned int&);
61 EdgeTension(
const FloatP_t &
lam=0,
const unsigned int &
order=1);
64 virtual std::string
name()
const override {
return "EdgeTension"; }
67 static std::string
actorName() {
return "EdgeTension"; }
96 EdgeTensionEnergyFcn energyFcn;
97 EdgeTensionForceFcn forceFcn;
The mesh surface is an area-enclosed object of implicit mesh edges defined by mesh vertices.
Definition tfSurface.h:65
The mesh vertex is a volume of a mesh centered at a point in a space.
Definition tfVertex.h:71
unsigned int order
Definition tfEdgeTension.h:59
static EdgeTension * fromString(const std::string &str)
Create from a JSON string representation.
FVector3 force(const Surface *source, const Vertex *target) override
Calculate the force that a source object exerts on a target object.
static std::string actorName()
Definition tfEdgeTension.h:67
virtual std::string name() const override
Definition tfEdgeTension.h:64
FloatP_t energy(const Surface *source, const Vertex *target) override
Calculate the energy of a source object acting on a target object.
FloatP_t lam
Definition tfEdgeTension.h:56
Base definition of how a mesh object acts on another mesh object.
Definition tfMeshObj.h:97