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

Go to the source code of this file.

Functions

HRESULT tfVertexSolverMeshHasQuality (bool *result)
 Test whether this mesh has a mesh quality instance.
 
HRESULT tfVertexSolverMeshGetQuality (struct tfVertexSolverMeshQualityHandle *quality)
 Get the mesh quality instance.
 
HRESULT tfVertexSolverMeshSetQuality (struct tfVertexSolverMeshQualityHandle *quality)
 Set the mesh quality instance.
 
HRESULT tfVertexSolverMeshQualityWorking (bool *result)
 Test whether a mesh quality instance is working on the mesh.
 
HRESULT tfVertexSolverMeshEnsureAvailableVertices (unsigned int numAlloc)
 Ensure that there are a given number of allocated vertices.
 
HRESULT tfVertexSolverMeshEnsureAvailableSurfaces (unsigned int numAlloc)
 Ensure that there are a given number of allocated surfaces.
 
HRESULT tfVertexSolverMeshEnsureAvailableBodies (unsigned int numAlloc)
 Ensure that there are a given number of allocated bodies.
 
HRESULT tfVertexSolverMeshCreateVertex (struct tfVertexSolverVertexHandleHandle *handle, unsigned int pid)
 Create a vertex.
 
HRESULT tfVertexSolverMeshCreateVertices (struct tfVertexSolverVertexHandleHandle **handles, unsigned int *pids, unsigned int numObjs)
 Create a vertices.
 
HRESULT tfVertexSolverMeshCreateSurface (struct tfVertexSolverSurfaceHandleHandle *handle)
 Create a surface.
 
HRESULT tfVertexSolverMeshCreateSurfaces (struct tfVertexSolverSurfaceHandleHandle **handles, unsigned int numObjs)
 Create surfaces.
 
HRESULT tfVertexSolverMeshCreateBody (struct tfVertexSolverBodyHandleHandle *handle)
 Create a body.
 
HRESULT tfVertexSolverMeshCreateBodies (struct tfVertexSolverBodyHandleHandle *handles, unsigned int numObjs)
 Create a bodies.
 
HRESULT tfVertexSolverMeshLock ()
 Locks the mesh for thread-safe operations.
 
HRESULT tfVertexSolverMeshUnlock ()
 Unlocks the mesh for thread-safe operations.
 
HRESULT tfVertexSolverMeshFindVertex (tfFloatP_t *pos, tfFloatP_t tol, struct tfVertexSolverVertexHandleHandle *v)
 Find a vertex in this mesh.
 
HRESULT tfVertexSolverMeshGetVertexByPID (unsigned int pid, struct tfVertexSolverVertexHandleHandle *v)
 Get the vertex for a given particle id.
 
HRESULT tfVertexSolverMeshGetVertex (unsigned int idx, struct tfVertexSolverVertexHandleHandle *v)
 Get the vertex at a location in the list of vertices.
 
HRESULT tfVertexSolverMeshGetSurface (unsigned int idx, struct tfVertexSolverSurfaceHandleHandle *s)
 Get a surface at a location in the list of surfaces.
 
HRESULT tfVertexSolverMeshGetBody (unsigned int idx, struct tfVertexSolverBodyHandleHandle *b)
 Get a body at a location in the list of bodies.
 
HRESULT tfVertexSolverMeshNumVertices (unsigned int *result)
 Get the number of vertices.
 
HRESULT tfVertexSolverMeshNumSurfaces (unsigned int *result)
 Get the number of surfaces.
 
HRESULT tfVertexSolverMeshNumBodies (unsigned int *result)
 Get the number of bodies.
 
HRESULT tfVertexSolverMeshSizeVertices (unsigned int *result)
 Get the size of the list of vertices.
 
HRESULT tfVertexSolverMeshSizeSurfaces (unsigned int *result)
 Get the size of the list of surfaces.
 
HRESULT tfVertexSolverMeshSizeBodies (unsigned int *result)
 Get the size of the list of bodies.
 
HRESULT tfVertexSolverMeshValidate (bool *result)
 Validate state of the mesh.
 
HRESULT tfVertexSolverMeshMakeDirty ()
 Manually notify that the mesh has been changed.
 
HRESULT tfVertexSolverMeshConnectedVertices (struct tfVertexSolverVertexHandleHandle *v1, struct tfVertexSolverVertexHandleHandle *v2, bool *result)
 Check whether two vertices are connected.
 
HRESULT tfVertexSolverMeshConnectedSurfaces (struct tfVertexSolverSurfaceHandleHandle *s1, struct tfVertexSolverSurfaceHandleHandle *s2, bool *result)
 Check whether two surfaces are connected.
 
HRESULT tfVertexSolverMeshConnectedBodies (struct tfVertexSolverBodyHandleHandle *b1, struct tfVertexSolverBodyHandleHandle *b2, bool *result)
 Check whether two bodies are connected.
 
HRESULT tfVertexSolverMeshRemoveVertex (struct tfVertexSolverVertexHandleHandle *v)
 Remove a vertex from the mesh; all connected surfaces and bodies are also removed.
 
HRESULT tfVertexSolverMeshRemoveVertices (struct tfVertexSolverVertexHandleHandle **v, unsigned int numObjs)
 Remove vertices from the mesh; all connected surfaces and bodies are also removed.
 
HRESULT tfVertexSolverMeshRemoveSurface (struct tfVertexSolverSurfaceHandleHandle *s)
 Remove a surface from the mesh; all connected bodies are also removed.
 
HRESULT tfVertexSolverMeshRemoveSurfaces (struct tfVertexSolverSurfaceHandleHandle **s, unsigned int numObjs)
 Remove surfaces from the mesh; all connected bodies are also removed.
 
HRESULT tfVertexSolverMeshRemoveBody (struct tfVertexSolverBodyHandleHandle *b)
 Remove a body from the mesh.
 
HRESULT tfVertexSolverMeshRemoveBodies (struct tfVertexSolverBodyHandleHandle **b, unsigned int numObjs)
 Remove bodies from the mesh.
 
HRESULT tfVertexSolverMeshIs3D (bool *result)
 Test whether the mesh is 3D.
 

Function Documentation

◆ tfVertexSolverMeshConnectedBodies()

HRESULT tfVertexSolverMeshConnectedBodies ( struct tfVertexSolverBodyHandleHandle * b1,
struct tfVertexSolverBodyHandleHandle * b2,
bool * result )

Check whether two bodies are connected.

Parameters
b1first body
b2second body
resultresult of the test

◆ tfVertexSolverMeshConnectedSurfaces()

HRESULT tfVertexSolverMeshConnectedSurfaces ( struct tfVertexSolverSurfaceHandleHandle * s1,
struct tfVertexSolverSurfaceHandleHandle * s2,
bool * result )

Check whether two surfaces are connected.

Parameters
s1first surface
s2second surface
resultresult of the test

◆ tfVertexSolverMeshConnectedVertices()

HRESULT tfVertexSolverMeshConnectedVertices ( struct tfVertexSolverVertexHandleHandle * v1,
struct tfVertexSolverVertexHandleHandle * v2,
bool * result )

Check whether two vertices are connected.

Parameters
v1first vertex
v2second vertex
resultresult of the test

◆ tfVertexSolverMeshCreateBodies()

HRESULT tfVertexSolverMeshCreateBodies ( struct tfVertexSolverBodyHandleHandle * handles,
unsigned int numObjs )

Create a bodies.

Parameters
handleshandles to populate
numObjsnumber of instances to create

◆ tfVertexSolverMeshCreateBody()

HRESULT tfVertexSolverMeshCreateBody ( struct tfVertexSolverBodyHandleHandle * handle)

Create a body.

Parameters
handlehandle to populate

◆ tfVertexSolverMeshCreateSurface()

HRESULT tfVertexSolverMeshCreateSurface ( struct tfVertexSolverSurfaceHandleHandle * handle)

Create a surface.

Parameters
handlehandle to populate

◆ tfVertexSolverMeshCreateSurfaces()

HRESULT tfVertexSolverMeshCreateSurfaces ( struct tfVertexSolverSurfaceHandleHandle ** handles,
unsigned int numObjs )

Create surfaces.

Parameters
handleshandles to populate
numObjsnumber of instances to create

◆ tfVertexSolverMeshCreateVertex()

HRESULT tfVertexSolverMeshCreateVertex ( struct tfVertexSolverVertexHandleHandle * handle,
unsigned int pid )

Create a vertex.

Parameters
handlehandle to populate
pidid of underlying particle

◆ tfVertexSolverMeshCreateVertices()

HRESULT tfVertexSolverMeshCreateVertices ( struct tfVertexSolverVertexHandleHandle ** handles,
unsigned int * pids,
unsigned int numObjs )

Create a vertices.

Parameters
handleshandles to populate
pidsids of underlying particles
numObjsnumber of instances to create

◆ tfVertexSolverMeshEnsureAvailableBodies()

HRESULT tfVertexSolverMeshEnsureAvailableBodies ( unsigned int numAlloc)

Ensure that there are a given number of allocated bodies.

Parameters
numAllocnumber to ensure allocated

◆ tfVertexSolverMeshEnsureAvailableSurfaces()

HRESULT tfVertexSolverMeshEnsureAvailableSurfaces ( unsigned int numAlloc)

Ensure that there are a given number of allocated surfaces.

Parameters
numAllocnumber to ensure allocated

◆ tfVertexSolverMeshEnsureAvailableVertices()

HRESULT tfVertexSolverMeshEnsureAvailableVertices ( unsigned int numAlloc)

Ensure that there are a given number of allocated vertices.

Parameters
numAllocnumber to ensure allocated

◆ tfVertexSolverMeshFindVertex()

HRESULT tfVertexSolverMeshFindVertex ( tfFloatP_t * pos,
tfFloatP_t tol,
struct tfVertexSolverVertexHandleHandle * v )

Find a vertex in this mesh.

Parameters
posposition to look
toldistance tolerance
va vertex within the distance tolerance of the position, otherwise NULL

◆ tfVertexSolverMeshGetBody()

HRESULT tfVertexSolverMeshGetBody ( unsigned int idx,
struct tfVertexSolverBodyHandleHandle * b )

Get a body at a location in the list of bodies.

Parameters
idxindex
bbody

◆ tfVertexSolverMeshGetQuality()

HRESULT tfVertexSolverMeshGetQuality ( struct tfVertexSolverMeshQualityHandle * quality)

Get the mesh quality instance.

Parameters
qualitymesh quality instance

◆ tfVertexSolverMeshGetSurface()

HRESULT tfVertexSolverMeshGetSurface ( unsigned int idx,
struct tfVertexSolverSurfaceHandleHandle * s )

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

Parameters
idxindex
ssurface

◆ tfVertexSolverMeshGetVertex()

HRESULT tfVertexSolverMeshGetVertex ( unsigned int idx,
struct tfVertexSolverVertexHandleHandle * v )

Get the vertex at a location in the list of vertices.

Parameters
idxindex
vhandle to populate

◆ tfVertexSolverMeshGetVertexByPID()

HRESULT tfVertexSolverMeshGetVertexByPID ( unsigned int pid,
struct tfVertexSolverVertexHandleHandle * v )

Get the vertex for a given particle id.

Parameters
pidparticle id
vhandle to populate

◆ tfVertexSolverMeshHasQuality()

HRESULT tfVertexSolverMeshHasQuality ( bool * result)

Test whether this mesh has a mesh quality instance.

Parameters
resultresult of the test

◆ tfVertexSolverMeshIs3D()

HRESULT tfVertexSolverMeshIs3D ( bool * result)

Test whether the mesh is 3D.

A 3D mesh has at least one body.

Parameters
resultresult of the test

◆ tfVertexSolverMeshNumBodies()

HRESULT tfVertexSolverMeshNumBodies ( unsigned int * result)

Get the number of bodies.

Parameters
resultresult of the test

◆ tfVertexSolverMeshNumSurfaces()

HRESULT tfVertexSolverMeshNumSurfaces ( unsigned int * result)

Get the number of surfaces.

Parameters
resultresult of the test

◆ tfVertexSolverMeshNumVertices()

HRESULT tfVertexSolverMeshNumVertices ( unsigned int * result)

Get the number of vertices.

Parameters
resultresult of the test

◆ tfVertexSolverMeshQualityWorking()

HRESULT tfVertexSolverMeshQualityWorking ( bool * result)

Test whether a mesh quality instance is working on the mesh.

Parameters
resultresult of the test

◆ tfVertexSolverMeshRemoveBodies()

HRESULT tfVertexSolverMeshRemoveBodies ( struct tfVertexSolverBodyHandleHandle ** b,
unsigned int numObjs )

Remove bodies from the mesh.

Parameters
bbodies to remove
numObjsnumber of instances

◆ tfVertexSolverMeshRemoveBody()

HRESULT tfVertexSolverMeshRemoveBody ( struct tfVertexSolverBodyHandleHandle * b)

Remove a body from the mesh.

Parameters
bbody to remove

◆ tfVertexSolverMeshRemoveSurface()

HRESULT tfVertexSolverMeshRemoveSurface ( struct tfVertexSolverSurfaceHandleHandle * s)

Remove a surface from the mesh; all connected bodies are also removed.

Parameters
ssurface to remove

◆ tfVertexSolverMeshRemoveSurfaces()

HRESULT tfVertexSolverMeshRemoveSurfaces ( struct tfVertexSolverSurfaceHandleHandle ** s,
unsigned int numObjs )

Remove surfaces from the mesh; all connected bodies are also removed.

Parameters
ssurfaces to remove
numObjsnumber of instances

◆ tfVertexSolverMeshRemoveVertex()

HRESULT tfVertexSolverMeshRemoveVertex ( struct tfVertexSolverVertexHandleHandle * v)

Remove a vertex from the mesh; all connected surfaces and bodies are also removed.

Parameters
vvertex to remove

◆ tfVertexSolverMeshRemoveVertices()

HRESULT tfVertexSolverMeshRemoveVertices ( struct tfVertexSolverVertexHandleHandle ** v,
unsigned int numObjs )

Remove vertices from the mesh; all connected surfaces and bodies are also removed.

Parameters
vvertices to remove
numObjsnumber of instances

◆ tfVertexSolverMeshSetQuality()

HRESULT tfVertexSolverMeshSetQuality ( struct tfVertexSolverMeshQualityHandle * quality)

Set the mesh quality instance.

Parameters
qualitymesh quality instance

◆ tfVertexSolverMeshSizeBodies()

HRESULT tfVertexSolverMeshSizeBodies ( unsigned int * result)

Get the size of the list of bodies.

Parameters
resultresult of the test

◆ tfVertexSolverMeshSizeSurfaces()

HRESULT tfVertexSolverMeshSizeSurfaces ( unsigned int * result)

Get the size of the list of surfaces.

Parameters
resultresult of the test

◆ tfVertexSolverMeshSizeVertices()

HRESULT tfVertexSolverMeshSizeVertices ( unsigned int * result)

Get the size of the list of vertices.

Parameters
resultresult of the test

◆ tfVertexSolverMeshValidate()

HRESULT tfVertexSolverMeshValidate ( bool * result)

Validate state of the mesh.

Parameters
resultresult of the test