25#ifndef _WRAPS_C_TFCCLUSTER_H_
26#define _WRAPS_C_TFCCLUSTER_H_
40 tfFloatP_t *target_energy;
41 tfFloatP_t minimum_radius;
44 unsigned char dynamics;
48 unsigned int numTypes;
123 tfFloatP_t **position,
124 tfFloatP_t **velocity
Handle to a ClusterParticleHandle instance.
Definition tfCCluster.h:58
Handle to a ClusterParticleType instance.
Definition tfCCluster.h:66
Cluster type definition in Tissue Forge C.
Definition tfCCluster.h:36
Handle to a ParticleHandle instance.
Definition tfCParticle.h:111
Handle to a ParticleList instance.
Definition tfCParticle.h:127
Handle to a ParticleType instance.
Definition tfCParticle.h:119
HRESULT tfClusterParticleHandle_split(struct tfClusterParticleHandleHandle *handle, int *cid, tfFloatP_t time, tfFloatP_t *normal, tfFloatP_t *point)
Split the cluster along a point and normal.
HRESULT tfClusterParticleHandle_splitAxis(struct tfClusterParticleHandleHandle *handle, int *cid, tfFloatP_t *axis, tfFloatP_t time)
Split the cluster along an axis.
HRESULT tfClusterParticleHandle_hasPart(struct tfClusterParticleHandleHandle *handle, struct tfParticleHandleHandle *part, bool *result)
Test whether the cluster has a particle.
HRESULT tfClusterParticleType_createParticle(struct tfClusterParticleTypeHandle *handle, int *pid, tfFloatP_t *position, tfFloatP_t *velocity)
Cluster particle constructor.
HRESULT tfClusterParticleType_init(struct tfClusterParticleTypeHandle *handle)
Initialize an instance.
HRESULT tfClusterParticleHandle_createParticle(struct tfClusterParticleHandleHandle *handle, struct tfParticleTypeHandle *partTypeHandle, int *pid, tfFloatP_t **position, tfFloatP_t **velocity)
Constituent particle constructor.
struct tfClusterTypeSpec tfClusterTypeSpec_init()
Get a default definition.
HRESULT tfClusterParticleHandle_getRadiusOfGyration(struct tfClusterParticleHandleHandle *handle, tfFloatP_t *radiusOfGyration)
Get the radius of gyration.
HRESULT tfClusterParticleType_hasPart(struct tfClusterParticleTypeHandle *handle, struct tfParticleHandleHandle *part, bool *result)
Test whether the type has a particle.
HRESULT tfClusterParticleHandle_hasPartId(struct tfClusterParticleHandleHandle *handle, int pid, bool *result)
Test whether the cluster has an id.
HRESULT tfClusterParticleType_FindFromName(struct tfClusterParticleTypeHandle *handle, const char *name)
Get a registered cluster type by type name.
HRESULT tfClusterParticleType_hasTypeId(struct tfClusterParticleTypeHandle *handle, int pid, bool *result)
Test whether the type has a type id.
HRESULT tfClusterParticleType_str(struct tfClusterParticleTypeHandle *handle, char **str, unsigned int *numChars)
Get a summary string of the type.
HRESULT tfClusterParticleHandle_str(struct tfClusterParticleHandleHandle *handle, char **str, unsigned int *numChars)
Get a summary string of the cluster.
HRESULT tfClusterParticleHandle_getCenterOfMass(struct tfClusterParticleHandleHandle *handle, tfFloatP_t **com)
Get the center of mass.
HRESULT tfClusterParticleHandle_getParts(struct tfClusterParticleHandleHandle *handle, struct tfParticleListHandle *parts)
Get the particles that are a member of this cluster.
HRESULT tfClusterParticleType_addType(struct tfClusterParticleTypeHandle *handle, struct tfParticleTypeHandle *phandle)
Add a particle type to the types of a cluster.
HRESULT tfClusterParticleHandle_createParticleS(struct tfClusterParticleHandleHandle *handle, struct tfParticleTypeHandle *partTypeHandle, int *pid, const char *str)
Constituent particle constructor.
HRESULT tfClusterParticleType_hasTypeML(struct tfClusterParticleTypeHandle *handle, struct tfParticleTypeHandle *ptype, bool *result)
Test whether the type has a type.
HRESULT tfClusterParticleHandle_splitRand(struct tfClusterParticleHandleHandle *handle, int *cid, tfFloatP_t time)
Split the cluster randomly.
HRESULT tfClusterParticleHandle_getParticle(struct tfClusterParticleHandleHandle *handle, int i, struct tfParticleHandleHandle *parthandle)
Get the i'th particle that's a member of this cluster.
HRESULT tfClusterParticleType_hasType(struct tfClusterParticleTypeHandle *handle, struct tfParticleTypeHandle *phandle, bool *hasType)
Tests where this cluster has a particle type.
HRESULT tfClusterParticleHandle_init(struct tfClusterParticleHandleHandle *handle, int id)
Initialize an instance.
HRESULT tfClusterParticleType_initD(struct tfClusterParticleTypeHandle *handle, struct tfClusterTypeSpec pdef)
Initialize an instance from a definition.
HRESULT tfClusterParticleHandle_getMomentOfInertia(struct tfClusterParticleHandleHandle *handle, tfFloatP_t **moi)
Get the moment of inertia.
HRESULT tfClusterParticleHandle_getCentroid(struct tfClusterParticleHandleHandle *handle, tfFloatP_t **cent)
Get the centroid.
HRESULT tfClusterParticleType_getFromId(struct tfClusterParticleTypeHandle *handle, unsigned int pid)
Get a registered cluster type by id.
HRESULT tfClusterParticleType_registerType(struct tfClusterParticleTypeHandle *handle)
Registers a type with the engine.
HRESULT tfClusterParticleHandle_getNumParts(struct tfClusterParticleHandleHandle *handle, int *numParts)
Get the number of particles that are a member of this cluster.
HRESULT tfClusterParticleHandle_destroy(struct tfClusterParticleHandleHandle *handle)
Destroy an instance.