Tissue Forge C 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfCMeshObj.h
Go to the documentation of this file.
1/*******************************************************************************
2 * This file is part of Tissue Forge.
3 * Copyright (c) 2022-2024 T.J. Sego and Tien Comlekoglu
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published
7 * by the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 ******************************************************************************/
19
24
25#ifndef _WRAPS_C_VERTEX_SOLVER_TFCMESHOBJ_H_
26#define _WRAPS_C_VERTEX_SOLVER_TFCMESHOBJ_H_
27
28#include <tf_port_c.h>
29
30#include "tfCVertex.h"
31#include "tfCSurface.h"
32#include "tfCBody.h"
33
34
35// Handles
36
37
43 unsigned int NONE;
44 unsigned int VERTEX;
45 unsigned int SURFACE;
46 unsigned int BODY;
47};
48
54 void *tfObj;
55};
56
62 void *tfObj;
63};
64
65
67// MeshObjTypeLabel //
69
70
77
78
80// MeshObjActor //
82
83
90
100 char **str,
101 unsigned int *numChars
102);
103
112 struct tfVertexSolverMeshObjActorHandle *handle,
113 char **str,
114 unsigned int *numChars
115);
116
126 struct tfVertexSolverMeshObjActorHandle *handle,
127 struct tfVertexSolverSurfaceHandleHandle *source,
128 struct tfVertexSolverVertexHandleHandle *target,
129 tfFloatP_t *result
130);
131
141 struct tfVertexSolverMeshObjActorHandle *handle,
142 struct tfVertexSolverSurfaceHandleHandle *source,
143 struct tfVertexSolverVertexHandleHandle *target,
144 tfFloatP_t **result
145);
146
156 struct tfVertexSolverMeshObjActorHandle *handle,
157 struct tfVertexSolverBodyHandleHandle *source,
158 struct tfVertexSolverVertexHandleHandle *target,
159 tfFloatP_t *result
160);
161
171 struct tfVertexSolverMeshObjActorHandle *handle,
172 struct tfVertexSolverBodyHandleHandle *source,
173 struct tfVertexSolverVertexHandleHandle *target,
174 tfFloatP_t **result
175);
176
177
179// MeshObjTypePairActor //
181
182
192);
193
201 struct tfVertexSolverMeshObjActorHandle *handle,
203);
204
205
207// Module functions //
209
210
220 struct tfVertexSolverSurfaceHandleHandle *handle,
221 const char *actorName,
222 struct tfVertexSolverMeshObjActorHandle **actors,
223 unsigned int *numActors
224);
225
235 struct tfVertexSolverBodyHandleHandle *handle,
236 const char *actorName,
237 struct tfVertexSolverMeshObjActorHandle **actors,
238 unsigned int *numActors
239);
240
250 struct tfVertexSolverSurfaceTypeHandle *handle,
251 const char *actorName,
252 struct tfVertexSolverMeshObjActorHandle **actors,
253 unsigned int *numActors
254);
255
265 struct tfVertexSolverBodyTypeHandle *handle,
266 const char *actorName,
267 struct tfVertexSolverMeshObjActorHandle **actors,
268 unsigned int *numActors
269);
270
271#endif // _WRAPS_C_VERTEX_SOLVER_TFCMESHOBJ_H_
Handle to a models::vertex::BodyHandle instance.
Definition tfCBody.h:57
Handle to a models::vertex::BodyType instance.
Definition tfCBody.h:65
Handle to a models::vertex::MeshObjActor instance.
Definition tfCMeshObj.h:53
Handle to a models::vertex::MeshObjTypeLabel instance.
Definition tfCMeshObj.h:42
Handle to a models::vertex::MeshObjTypePairActor instance.
Definition tfCMeshObj.h:61
Handle to a models::vertex::SurfaceHandle instance.
Definition tfCSurface.h:68
Handle to a models::vertex::SurfaceType instance.
Definition tfCSurface.h:76
Handle to a models::vertex::VertexHandle instance.
Definition tfCVertex.h:39
HRESULT tfVertexSolverMeshObjActor_getName(struct tfVertexSolverMeshObjActorHandle *handle, char **str, unsigned int *numChars)
Name of the actor.
HRESULT tfVertexSolverMeshObjActor_getForceSurface(struct tfVertexSolverMeshObjActorHandle *handle, struct tfVertexSolverSurfaceHandleHandle *source, struct tfVertexSolverVertexHandleHandle *target, tfFloatP_t **result)
Calculate the force that a source object exerts on a target object.
HRESULT tfVertexSolverMeshObjActor_getForceBody(struct tfVertexSolverMeshObjActorHandle *handle, struct tfVertexSolverBodyHandleHandle *source, struct tfVertexSolverVertexHandleHandle *target, tfFloatP_t **result)
Calculate the force that a source object exerts on a target object.
HRESULT tfVertexSolverMeshObjActor_destroy(struct tfVertexSolverMeshObjActorHandle *handle)
Destroy an instance.
HRESULT tfVertexSolver_getActorsFromSurfaceTypeByName(struct tfVertexSolverSurfaceTypeHandle *handle, const char *actorName, struct tfVertexSolverMeshObjActorHandle **actors, unsigned int *numActors)
Get the actors with a given name from a surface type.
HRESULT tfVertexSolverMeshObjActor_getEnergyBody(struct tfVertexSolverMeshObjActorHandle *handle, struct tfVertexSolverBodyHandleHandle *source, struct tfVertexSolverVertexHandleHandle *target, tfFloatP_t *result)
Calculate the energy of a source object acting on a target object.
HRESULT tfVertexSolverMeshObjTypePairActor_fromBase(struct tfVertexSolverMeshObjActorHandle *handle, struct tfVertexSolverMeshObjTypePairActorHandle *result)
Cast from a base actor instance.
HRESULT tfVertexSolver_getActorsFromSurfaceByName(struct tfVertexSolverSurfaceHandleHandle *handle, const char *actorName, struct tfVertexSolverMeshObjActorHandle **actors, unsigned int *numActors)
Get the actors with a given name from a surface.
HRESULT tfVertexSolverMeshObjTypeLabel_init(struct tfVertexSolverMeshObjTypeLabelHandle *handle)
Initialize an instance.
HRESULT tfVertexSolver_getActorsFromBodyByName(struct tfVertexSolverBodyHandleHandle *handle, const char *actorName, struct tfVertexSolverMeshObjActorHandle **actors, unsigned int *numActors)
Get the actors with a given name from a body.
HRESULT tfVertexSolverMeshObjActor_getEnergySurface(struct tfVertexSolverMeshObjActorHandle *handle, struct tfVertexSolverSurfaceHandleHandle *source, struct tfVertexSolverVertexHandleHandle *target, tfFloatP_t *result)
Calculate the energy of a source object acting on a target object.
HRESULT tfVertexSolverMeshObjActor_toString(struct tfVertexSolverMeshObjActorHandle *handle, char **str, unsigned int *numChars)
Get a JSON string representation.
HRESULT tfVertexSolverMeshObjTypePairActor_toBase(struct tfVertexSolverMeshObjTypePairActorHandle *handle, struct tfVertexSolverMeshObjActorHandle *result)
Cast to a base actor instance.
HRESULT tfVertexSolver_getActorsFromBodyTypeByName(struct tfVertexSolverBodyTypeHandle *handle, const char *actorName, struct tfVertexSolverMeshObjActorHandle **actors, unsigned int *numActors)
Get the actors with a given name from a body type.