27#ifndef _MDCORE_INCLUDE_TFDIHEDRAL_H_
28#define _MDCORE_INCLUDE_TFDIHEDRAL_H_
30#include <mdcore_config.h>
42 typedef enum DihedralFlags {
47 DIHEDRAL_ACTIVE = 1 << 0
63 uint64_t creation_time;
71 FPTYPE dissociation_energy;
74 FPTYPE potential_energy;
129 struct CAPI_EXPORT DihedralHandle {
160 static std::vector<DihedralHandle>
items();
172 bool has(
const int32_t &pid);
216 DihedralHandle() : id(-1) {}
270 inline bool operator<=(
const TissueForge::DihedralHandle& lhs,
const TissueForge::DihedralHandle& rhs) {
return !(lhs > rhs); }
271 inline bool operator>=(
const TissueForge::DihedralHandle& lhs,
const TissueForge::DihedralHandle& rhs) {
return !(lhs < rhs); }
272 inline bool operator==(
const TissueForge::DihedralHandle& lhs,
const TissueForge::DihedralHandle& rhs) {
return lhs.id == rhs.id; }
273 inline bool operator!=(
const TissueForge::DihedralHandle& lhs,
const TissueForge::DihedralHandle& rhs) {
return !(lhs == rhs); }
281 os << h.
str().c_str();
Tissue Forge rendering and visualization.
Definition tfAngle.h:38
Include Python header, disable linking to pythonX_d.lib on Windows in debug mode.
Definition tfAngleConfig.h:26
std::vector< int32_t > Dihedral_IdsForParticle(int32_t pid)
HRESULT Dihedral_Destroy(Dihedral *d)
Destroys a dihedral.
HRESULT dihedral_eval(struct Dihedral *d, int N, struct engine *e, FPTYPE *epot_out)
Evaluate a list of dihedraled interactions.
HRESULT dihedral_evalf(struct Dihedral *d, int N, struct engine *e, FPTYPE *f, FPTYPE *epot_out)
Evaluate a list of dihedraled interactions.
struct TissueForge::Dihedral Dihedral
HRESULT Dihedral_DestroyAll()
Destroys all dihedrals in the universe.
A handle to a dihedral bond.
Definition tfDihedral.h:129
FPTYPE getDissociationEnergy()
bool decays()
Tests whether this bond decays.
bool check()
Check the validity of the handle.
std::vector< int32_t > getParts()
rendering::Style * getStyle()
void setDissociationEnergy(const FPTYPE &dissociation_energy)
HRESULT destroy()
Destroy the dihedral.
DihedralHandle(const int &_id)
Construct a new dihedral handle from an existing dihedral id.
static std::vector< DihedralHandle > items()
Gets all dihedrals in the universe.
bool has(const int32_t &pid)
Dihedral * get()
Gets the dihedral of this handle.
Potential * getPotential()
void setStyle(rendering::Style *style)
void setHalfLife(const FPTYPE &half_life)
std::string str() const
Get a summary string of the dihedral.
ParticleList getPartList()
bool has(ParticleHandle *part)
Definition tfDihedral.h:54
FPTYPE half_life
Definition tfDihedral.h:68
static DihedralHandle * create(Potential *potential, ParticleHandle *p1, ParticleHandle *p2, ParticleHandle *p3, ParticleHandle *p4)
Creates a dihedral bond.
static Dihedral * fromString(const std::string &str)
Create from a JSON string representation.
std::string toString()
Get a JSON string representation.
static rendering::Style * styleDef()
Get the default style.
A handle to a particle.
Definition tfParticle.h:313
A special list with convenience methods for working with sets of particles.
Definition tfParticleList.h:52
A Potential object is a compiled interpolation of a given function. The Universe applies potentials t...
Definition tfPotential.h:213
Definition tfEngine.h:164
The Tissue Forge style type.
Definition tfStyle.h:46
int32_t HRESULT
Definition tf_port.h:255