Tissue Forge C 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfCVertex.h File Reference
#include <tf_port_c.h>
#include <tfCParticle.h>
#include <tfC_io.h>
Include dependency graph for tfCVertex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  tfVertexSolverVertexHandleHandle
 Handle to a models::vertex::VertexHandle instance. More...
 

Functions

HRESULT tfVertexSolverVertexHandle_init (struct tfVertexSolverVertexHandleHandle *handle, int id)
 Initialize an instance.
 
HRESULT tfVertexSolverVertexHandle_fromString (struct tfVertexSolverVertexHandleHandle *handle, const char *str)
 Create an instance from a JSON string representation.
 
HRESULT tfVertexSolverVertexHandle_destroy (struct tfVertexSolverVertexHandleHandle *handle)
 Destroy an instance.
 
HRESULT tfVertexSolverVertexHandle_getId (struct tfVertexSolverVertexHandleHandle *handle, int *objId)
 Get the id of an instance.
 
HRESULT tfVertexSolverVertexHandle_definesSurface (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle *s, bool *result)
 Test whether a vertex defines a surface.
 
HRESULT tfVertexSolverVertexHandle_definesBody (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverBodyHandleHandle *b, bool *result)
 Test whether a vertex defines a body.
 
HRESULT tfVertexSolverVertexHandle_objType (struct tfVertexSolverVertexHandleHandle *handle, int *label)
 Get the mesh object type.
 
HRESULT tfVertexSolverVertexHandle_destroyVertex (struct tfVertexSolverVertexHandleHandle *handle)
 Destroy the vertex.
 
HRESULT tfVertexSolverVertexHandle_destroyVertices (struct tfVertexSolverVertexHandleHandle **handles, unsigned int numObjs)
 Destroy vertices.
 
HRESULT tfVertexSolverVertexHandle_validate (struct tfVertexSolverVertexHandleHandle *handle, bool *result)
 Validate the vertex.
 
HRESULT tfVertexSolverVertexHandle_positionChanged (struct tfVertexSolverVertexHandleHandle *handle)
 Update internal data due to a change in position.
 
HRESULT tfVertexSolverVertexHandle_str (struct tfVertexSolverVertexHandleHandle *handle, char **str, unsigned int *numChars)
 Get a summary string.
 
HRESULT tfVertexSolverVertexHandle_toString (struct tfVertexSolverVertexHandleHandle *handle, char **str, unsigned int *numChars)
 Get a JSON string representation.
 
HRESULT tfVertexSolverVertexHandle_addSurface (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle *s)
 Add a surface.
 
HRESULT tfVertexSolverVertexHandle_insertSurfaceAt (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle *s, int idx)
 Insert a surface at a location in the list of surfaces.
 
HRESULT tfVertexSolverVertexHandle_insertSurfaceBefore (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle *s, struct tfVertexSolverSurfaceHandleHandle *before)
 Insert a surface before another surface.
 
HRESULT tfVertexSolverVertexHandle_remove (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle *s)
 Remove a surface.
 
HRESULT tfVertexSolverVertexHandle_replaceSurfaceAt (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle *toInsert, int idx)
 Replace a surface at a location in the list of surfaces.
 
HRESULT tfVertexSolverVertexHandle_replaceSurfaceWith (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle *toInsert, struct tfVertexSolverSurfaceHandleHandle *toRemove)
 Replace a surface with another surface.
 
HRESULT tfVertexSolverVertexHandle_getPartId (struct tfVertexSolverVertexHandleHandle *handle, int *result)
 Get the id of the underlying particle.
 
HRESULT tfVertexSolverVertexHandle_getBodies (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverBodyHandleHandle **objs, int *numObjs)
 Get the bodies defined by the vertex.
 
HRESULT tfVertexSolverVertexHandle_getSurfaces (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle **objs, int *numObjs)
 Get the surfaces defined by the vertex.
 
HRESULT tfVertexSolverVertexHandle_findSurface (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t *dir, struct tfVertexSolverSurfaceHandleHandle *result)
 Find a surface defined by this vertex.
 
HRESULT tfVertexSolverVertexHandle_findBody (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t *dir, struct tfVertexSolverBodyHandleHandle *result)
 Find a body defined by this vertex.
 
HRESULT tfVertexSolverVertexHandle_connectedVertices (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverVertexHandleHandle **objs, int *numObjs)
 Get the connected vertices.
 
HRESULT tfVertexSolverVertexHandle_updateConnectedVertices (struct tfVertexSolverVertexHandleHandle *handle)
 Update internal connected vertex data.
 
HRESULT tfVertexSolverVertexHandle_sharedSurfaces (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverVertexHandleHandle *other, struct tfVertexSolverSurfaceHandleHandle **result, int *numObjs)
 Get the surfaces that this vertex and another vertex both define.
 
HRESULT tfVertexSolverVertexHandle_getArea (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t *result)
 Get the current area.
 
HRESULT tfVertexSolverVertexHandle_getVolume (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t *result)
 Get the current volume.
 
HRESULT tfVertexSolverVertexHandle_getMass (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t *result)
 Get the current mass.
 
HRESULT tfVertexSolverVertexHandle_updateProperties (struct tfVertexSolverVertexHandleHandle *handle)
 Update the properties of the underlying particle.
 
HRESULT tfVertexSolverVertexHandle_particle (struct tfVertexSolverVertexHandleHandle *handle, struct tfParticleHandleHandle *result)
 Get a handle to the underlying particle, if any.
 
HRESULT tfVertexSolverVertexHandle_getPosition (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t **result)
 Get the current position.
 
HRESULT tfVertexSolverVertexHandle_setPosition (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t *pos, bool updateChildren)
 Set the current position.
 
HRESULT tfVertexSolverVertexHandle_getVelocity (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t **result)
 Get the current velocity.
 
HRESULT tfVertexSolverVertexHandle_transferBondsTo (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverVertexHandleHandle *other)
 Transfer all bonds to another vertex.
 
HRESULT tfVertexSolverVertexHandle_replaceSurface (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverSurfaceHandleHandle *toReplace)
 Replace a surface.
 
HRESULT tfVertexSolverVertexHandle_replaceBody (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverBodyHandleHandle *toReplace)
 Replace a body.
 
HRESULT tfVertexSolverVertexHandle_merge (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverVertexHandleHandle *toRemove, tfFloatP_t lenCf)
 Merge with a vertex. The passed vertex is destroyed.
 
HRESULT tfVertexSolverVertexHandle_mergeA (struct tfVertexSolverVertexHandleHandle ***handles, unsigned int numMerges, unsigned int *numVertices, tfFloatP_t lenCf)
 Merge sets of vertices.
 
HRESULT tfVertexSolverVertexHandle_insertBetween (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverVertexHandleHandle *v1, struct tfVertexSolverVertexHandleHandle *v2)
 Inserts a vertex between two vertices.
 
HRESULT tfVertexSolverVertexHandle_insertBetweenNeighbors (struct tfVertexSolverVertexHandleHandle *handle, struct tfVertexSolverVertexHandleHandle *vf, struct tfVertexSolverVertexHandleHandle **nbs, int numNbs)
 Insert a vertex between a vertex and each of a set of vertices.
 
HRESULT tfVertexSolverVertexHandle_split (struct tfVertexSolverVertexHandleHandle *handle, tfFloatP_t *sep, struct tfVertexSolverVertexHandleHandle *newObj)
 Split a vertex into an edge.
 
HRESULT tfVertexSolverMeshParticleType_get (struct tfParticleTypeHandle *handle)
 Get the particle type of the solver.
 
HRESULT tfVertexSolverCreateVertexByPartId (unsigned int &pid, int *objId)
 Create a vertex using the id of an existing particle.
 
HRESULT tfVertexSolverCreateVertexByPosition (tfFloatP_t *position, int *objId)
 Create a vertex at a position.
 
HRESULT tfVertexSolverCreateVertexByIOData (struct tfIoThreeDFVertexDataHandle *vdata, int *objId)
 Create a vertex using I/O data.
 
HRESULT tfVertexSolverCreateVertexByPartIdA (unsigned int *pids, unsigned int numObjs, int **objIds)
 Create vertices using the id of an existing particles.
 
HRESULT tfVertexSolverCreateVertexByPositionA (tfFloatP_t **positions, unsigned int numObjs, int **objIds)
 Create vertices at positions.
 
HRESULT tfVertexSolverCreateVertexByIODataA (struct tfIoThreeDFVertexDataHandle **vdata, unsigned int numObjs, int **objIds)
 Create vertices using I/O data.
 

Function Documentation

◆ tfVertexSolverCreateVertexByIOData()

HRESULT tfVertexSolverCreateVertexByIOData ( struct tfIoThreeDFVertexDataHandle * vdata,
int * objId )

Create a vertex using I/O data.

Parameters
vdataI/O data
objIdid of new vertex

◆ tfVertexSolverCreateVertexByIODataA()

HRESULT tfVertexSolverCreateVertexByIODataA ( struct tfIoThreeDFVertexDataHandle ** vdata,
unsigned int numObjs,
int ** objIds )

Create vertices using I/O data.

Parameters
vdataI/O data
numObjsnumber of vertices to create
objIdsids of new vertex

◆ tfVertexSolverCreateVertexByPartId()

HRESULT tfVertexSolverCreateVertexByPartId ( unsigned int & pid,
int * objId )

Create a vertex using the id of an existing particle.

Parameters
pidparticle id
objIdid of new vertex

◆ tfVertexSolverCreateVertexByPartIdA()

HRESULT tfVertexSolverCreateVertexByPartIdA ( unsigned int * pids,
unsigned int numObjs,
int ** objIds )

Create vertices using the id of an existing particles.

Parameters
pidsparticle ids
numObjsnumber of vertices to create
objIdsids of new vertex

◆ tfVertexSolverCreateVertexByPosition()

HRESULT tfVertexSolverCreateVertexByPosition ( tfFloatP_t * position,
int * objId )

Create a vertex at a position.

Parameters
positionposition to create a new vertex
objIdid of new vertex

◆ tfVertexSolverCreateVertexByPositionA()

HRESULT tfVertexSolverCreateVertexByPositionA ( tfFloatP_t ** positions,
unsigned int numObjs,
int ** objIds )

Create vertices at positions.

Parameters
positionspositions to create new vertices
numObjsnumber of vertices to create
objIdsids of new vertices

◆ tfVertexSolverMeshParticleType_get()

HRESULT tfVertexSolverMeshParticleType_get ( struct tfParticleTypeHandle * handle)

Get the particle type of the solver.

Parameters
handlehandle to populate

◆ tfVertexSolverVertexHandle_addSurface()

HRESULT tfVertexSolverVertexHandle_addSurface ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle * s )

Add a surface.

Parameters
handlepopulated handle
ssurface to add

◆ tfVertexSolverVertexHandle_connectedVertices()

HRESULT tfVertexSolverVertexHandle_connectedVertices ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverVertexHandleHandle ** objs,
int * numObjs )

Get the connected vertices.

A vertex is connected if it defines an edge with this vertex.

Parameters
handlepopulated handle
objsconnected vertices
numObjsnumber of connected vertices

◆ tfVertexSolverVertexHandle_definesBody()

HRESULT tfVertexSolverVertexHandle_definesBody ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverBodyHandleHandle * b,
bool * result )

Test whether a vertex defines a body.

Parameters
handlepopulated handle
bbody
resulttest result

◆ tfVertexSolverVertexHandle_definesSurface()

HRESULT tfVertexSolverVertexHandle_definesSurface ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle * s,
bool * result )

Test whether a vertex defines a surface.

Parameters
handlepopulated handle
ssurface
resulttest result

◆ tfVertexSolverVertexHandle_destroy()

HRESULT tfVertexSolverVertexHandle_destroy ( struct tfVertexSolverVertexHandleHandle * handle)

Destroy an instance.

Parameters
handlepopulated handle

◆ tfVertexSolverVertexHandle_destroyVertex()

HRESULT tfVertexSolverVertexHandle_destroyVertex ( struct tfVertexSolverVertexHandleHandle * handle)

Destroy the vertex.

Parameters
handlepopulated handle

◆ tfVertexSolverVertexHandle_destroyVertices()

HRESULT tfVertexSolverVertexHandle_destroyVertices ( struct tfVertexSolverVertexHandleHandle ** handles,
unsigned int numObjs )

Destroy vertices.

Parameters
handlespopulated handles
numObjsnumber of objects to destroy

◆ tfVertexSolverVertexHandle_findBody()

HRESULT tfVertexSolverVertexHandle_findBody ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t * dir,
struct tfVertexSolverBodyHandleHandle * result )

Find a body defined by this vertex.

Parameters
handlepopulated handle
dirdirection to look with respect to the vertex
resultbody

◆ tfVertexSolverVertexHandle_findSurface()

HRESULT tfVertexSolverVertexHandle_findSurface ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t * dir,
struct tfVertexSolverSurfaceHandleHandle * result )

Find a surface defined by this vertex.

Parameters
handlepopulated handle
dirdirection to look with respect to the vertex
resultsurface

◆ tfVertexSolverVertexHandle_fromString()

HRESULT tfVertexSolverVertexHandle_fromString ( struct tfVertexSolverVertexHandleHandle * handle,
const char * str )

Create an instance from a JSON string representation.

Parameters
handlehandle to populate
strJSON string
numCharsnumber of string chars

◆ tfVertexSolverVertexHandle_getArea()

HRESULT tfVertexSolverVertexHandle_getArea ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t * result )

Get the current area.

Parameters
handlepopulated handle
resultcurrent area

◆ tfVertexSolverVertexHandle_getBodies()

HRESULT tfVertexSolverVertexHandle_getBodies ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverBodyHandleHandle ** objs,
int * numObjs )

Get the bodies defined by the vertex.

Parameters
handlepopulated handle
objsbodies
numObjsnumber of bodies

◆ tfVertexSolverVertexHandle_getId()

HRESULT tfVertexSolverVertexHandle_getId ( struct tfVertexSolverVertexHandleHandle * handle,
int * objId )

Get the id of an instance.

Parameters
handlepopulated handle
objIdinstance id

◆ tfVertexSolverVertexHandle_getMass()

HRESULT tfVertexSolverVertexHandle_getMass ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t * result )

Get the current mass.

Parameters
handlepopulated handle
resultcurrent mass

◆ tfVertexSolverVertexHandle_getPartId()

HRESULT tfVertexSolverVertexHandle_getPartId ( struct tfVertexSolverVertexHandleHandle * handle,
int * result )

Get the id of the underlying particle.

Parameters
handlepopulated handle
resultparticle id, if any (-1 if none)

◆ tfVertexSolverVertexHandle_getPosition()

HRESULT tfVertexSolverVertexHandle_getPosition ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t ** result )

Get the current position.

Parameters
handlepopulated handle
resultcurrent position

◆ tfVertexSolverVertexHandle_getSurfaces()

HRESULT tfVertexSolverVertexHandle_getSurfaces ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle ** objs,
int * numObjs )

Get the surfaces defined by the vertex.

Parameters
handlepopulated handle
objssurfaces
numObjsnumber of surfaces

◆ tfVertexSolverVertexHandle_getVelocity()

HRESULT tfVertexSolverVertexHandle_getVelocity ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t ** result )

Get the current velocity.

Parameters
handlepopulated handle
resultcurrent velocity

◆ tfVertexSolverVertexHandle_getVolume()

HRESULT tfVertexSolverVertexHandle_getVolume ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t * result )

Get the current volume.

Parameters
handlepopulated handle
resultcurrent volume

◆ tfVertexSolverVertexHandle_init()

HRESULT tfVertexSolverVertexHandle_init ( struct tfVertexSolverVertexHandleHandle * handle,
int id )

Initialize an instance.

Parameters
handlehandle to populate
idobject id

◆ tfVertexSolverVertexHandle_insertBetween()

HRESULT tfVertexSolverVertexHandle_insertBetween ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverVertexHandleHandle * v1,
struct tfVertexSolverVertexHandleHandle * v2 )

Inserts a vertex between two vertices.

Parameters
handlepopulated handle
v1first vertex
v2second vertex

◆ tfVertexSolverVertexHandle_insertBetweenNeighbors()

HRESULT tfVertexSolverVertexHandle_insertBetweenNeighbors ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverVertexHandleHandle * vf,
struct tfVertexSolverVertexHandleHandle ** nbs,
int numNbs )

Insert a vertex between a vertex and each of a set of vertices.

Parameters
handlepopulated handle
vfanother vertex
nbsa set of vertices
numNbsnumber of vertices

◆ tfVertexSolverVertexHandle_insertSurfaceAt()

HRESULT tfVertexSolverVertexHandle_insertSurfaceAt ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle * s,
int idx )

Insert a surface at a location in the list of surfaces.

Parameters
handlepopulated handle
ssurface to insert
idxindex of insertion

◆ tfVertexSolverVertexHandle_insertSurfaceBefore()

HRESULT tfVertexSolverVertexHandle_insertSurfaceBefore ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle * s,
struct tfVertexSolverSurfaceHandleHandle * before )

Insert a surface before another surface.

Parameters
handlepopulated handle
ssurface to insert
beforesurface to precede

◆ tfVertexSolverVertexHandle_merge()

HRESULT tfVertexSolverVertexHandle_merge ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverVertexHandleHandle * toRemove,
tfFloatP_t lenCf )

Merge with a vertex. The passed vertex is destroyed.

Parameters
handlepopulated handle
toRemovevertex to remove
lenCfdistance coefficient in [0, 1] for where to place the vertex, from the kept vertex to the removed vertex

◆ tfVertexSolverVertexHandle_mergeA()

HRESULT tfVertexSolverVertexHandle_mergeA ( struct tfVertexSolverVertexHandleHandle *** handles,
unsigned int numMerges,
unsigned int * numVertices,
tfFloatP_t lenCf )

Merge sets of vertices.

The first instance of each list absorbs the remaining vertices.

Parameters
handlepopulated handles
numMergesnumber of sets to merge
numVerticesnumber of vertices per set
lenCfdistance coefficient in [0, 1] for where to place the vertex, from the kept vertex to the removed vertex

◆ tfVertexSolverVertexHandle_objType()

HRESULT tfVertexSolverVertexHandle_objType ( struct tfVertexSolverVertexHandleHandle * handle,
int * label )

Get the mesh object type.

Parameters
handlepopulated handle
labelmesh object type

◆ tfVertexSolverVertexHandle_particle()

HRESULT tfVertexSolverVertexHandle_particle ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfParticleHandleHandle * result )

Get a handle to the underlying particle, if any.

Parameters
handlepopulated handle
resultparticle handle

◆ tfVertexSolverVertexHandle_positionChanged()

HRESULT tfVertexSolverVertexHandle_positionChanged ( struct tfVertexSolverVertexHandleHandle * handle)

Update internal data due to a change in position.

Parameters
handlepopulated handle

◆ tfVertexSolverVertexHandle_remove()

HRESULT tfVertexSolverVertexHandle_remove ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle * s )

Remove a surface.

Parameters
handlepopulated handle
ssurface to remove

◆ tfVertexSolverVertexHandle_replaceBody()

HRESULT tfVertexSolverVertexHandle_replaceBody ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverBodyHandleHandle * toReplace )

Replace a body.

Parameters
handlepopulated handle
toReplacebody to replace

◆ tfVertexSolverVertexHandle_replaceSurface()

HRESULT tfVertexSolverVertexHandle_replaceSurface ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle * toReplace )

Replace a surface.

Parameters
handlepopulated handle
toReplacesurface to replace

◆ tfVertexSolverVertexHandle_replaceSurfaceAt()

HRESULT tfVertexSolverVertexHandle_replaceSurfaceAt ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle * toInsert,
int idx )

Replace a surface at a location in the list of surfaces.

Parameters
handlepopulated handle
toInsertsurface to insert
idxlocation of replacement

◆ tfVertexSolverVertexHandle_replaceSurfaceWith()

HRESULT tfVertexSolverVertexHandle_replaceSurfaceWith ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverSurfaceHandleHandle * toInsert,
struct tfVertexSolverSurfaceHandleHandle * toRemove )

Replace a surface with another surface.

Parameters
handlepopulated handle
toInsertsurface to insert
toRemovesurface to remove

◆ tfVertexSolverVertexHandle_setPosition()

HRESULT tfVertexSolverVertexHandle_setPosition ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t * pos,
bool updateChildren )

Set the current position.

Parameters
handlepopulated handle
poscurrent position
updateChildrenflag for whether to update children

◆ tfVertexSolverVertexHandle_sharedSurfaces()

HRESULT tfVertexSolverVertexHandle_sharedSurfaces ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverVertexHandleHandle * other,
struct tfVertexSolverSurfaceHandleHandle ** result,
int * numObjs )

Get the surfaces that this vertex and another vertex both define.

Parameters
handlepopulated handle
otheranother vertex
resultsurfaces
numObjsnumber of surfaces

◆ tfVertexSolverVertexHandle_split()

HRESULT tfVertexSolverVertexHandle_split ( struct tfVertexSolverVertexHandleHandle * handle,
tfFloatP_t * sep,
struct tfVertexSolverVertexHandleHandle * newObj )

Split a vertex into an edge.

The vertex must define at least one surface.

New topology is governed by a cut plane at the midpoint of, and orthogonal to, the new edge. Each first-order neighbor vertex is connected to the vertex of the new edge on the same side of the cut plane.

Parameters
handlepopulated handle
sepseparation distance
newObjnewly created vertex

◆ tfVertexSolverVertexHandle_str()

HRESULT tfVertexSolverVertexHandle_str ( struct tfVertexSolverVertexHandleHandle * handle,
char ** str,
unsigned int * numChars )

Get a summary string.

Parameters
handlepopulated handle
strsummary string
numCharsnumber of chars

◆ tfVertexSolverVertexHandle_toString()

HRESULT tfVertexSolverVertexHandle_toString ( struct tfVertexSolverVertexHandleHandle * handle,
char ** str,
unsigned int * numChars )

Get a JSON string representation.

Parameters
handlepopulated handle
strJSON string
numCharsnumber of chars

◆ tfVertexSolverVertexHandle_transferBondsTo()

HRESULT tfVertexSolverVertexHandle_transferBondsTo ( struct tfVertexSolverVertexHandleHandle * handle,
struct tfVertexSolverVertexHandleHandle * other )

Transfer all bonds to another vertex.

Parameters
handlepopulated handle
otheranother vertex

◆ tfVertexSolverVertexHandle_updateConnectedVertices()

HRESULT tfVertexSolverVertexHandle_updateConnectedVertices ( struct tfVertexSolverVertexHandleHandle * handle)

Update internal connected vertex data.

Parameters
handlepopulated handle

◆ tfVertexSolverVertexHandle_updateProperties()

HRESULT tfVertexSolverVertexHandle_updateProperties ( struct tfVertexSolverVertexHandleHandle * handle)

Update the properties of the underlying particle.

Parameters
handlepopulated handle

◆ tfVertexSolverVertexHandle_validate()

HRESULT tfVertexSolverVertexHandle_validate ( struct tfVertexSolverVertexHandleHandle * handle,
bool * result )

Validate the vertex.

Parameters
handlepopulated handle
resulttest result