Tissue Forge C 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfCMeshSolver.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
25#ifndef _WRAPS_C_VERTEX_SOLVER_TFCMESHSOLVER_H_
26#define _WRAPS_C_VERTEX_SOLVER_TFCMESHSOLVER_H_
27
28#include <tf_port_c.h>
29
30#include "tfCVertex.h"
31#include "tfCSurface.h"
32#include "tfCBody.h"
33
34
36// Module functions //
38
39
47
52
57
62
67
73HRESULT tfVertexSolverIsDirty(bool *result);
74
80HRESULT tfVertexSolverSetDirty(bool isDirty);
81
88
95
102HRESULT tfVertexSolverGetBodyType(const unsigned int &typeId, struct tfVertexSolverBodyTypeHandle *type);
103
110HRESULT tfVertexSolverGetSurfaceType(const unsigned int &typeId, struct tfVertexSolverSurfaceTypeHandle *type);
111
117HRESULT tfVertexSolverNumBodyTypes(int *numTypes);
118
124HRESULT tfVertexSolverNumSurfaceTypes(int *numTypes);
125
130
136HRESULT tfVertexSolverUpdate(bool force);
137
138#endif // _WRAPS_C_VERTEX_SOLVER_TFCMESHSOLVER_H_
Handle to a models::vertex::BodyType instance.
Definition tfCBody.h:65
Handle to a models::vertex::SurfaceType instance.
Definition tfCSurface.h:76
Handle to a models::vertex::VertexHandle instance.
Definition tfCVertex.h:39
HRESULT tfVertexSolverNumSurfaceTypes(int *numTypes)
Get the number of registered surface types.
HRESULT tfVertexSolverSetDirty(bool isDirty)
Set whether the current mesh state needs updated.
HRESULT tfVertexSolverGetSurfaceType(const unsigned int &typeId, struct tfVertexSolverSurfaceTypeHandle *type)
Get the surface type by id.
HRESULT tfVertexSolverIsDirty(bool *result)
Test whether the current mesh state needs updated.
HRESULT tfVertexSolverRegisterBodyType(struct tfVertexSolverBodyTypeHandle *type)
Register a body type.
HRESULT tfVertexSolverRegisterSurfaceType(struct tfVertexSolverSurfaceTypeHandle *type)
Register a surface type.
HRESULT tfVertexSolverPositionChanged()
Update internal data due to a change in position.
HRESULT tfVertexSolverEngineUnlock()
Unlocks the engine for thread-safe engine operations.
HRESULT tfVertexSolverUpdate(bool force)
Update the solver if dirty.
HRESULT tfVertexSolverGetBodyType(const unsigned int &typeId, struct tfVertexSolverBodyTypeHandle *type)
Get the body type by id.
HRESULT tfVertexSolverNumBodyTypes(int *numTypes)
Get the number of registered body types.
HRESULT tfVertexSolverVertexForce(struct tfVertexSolverVertexHandleHandle *v, tfFloatP_t *f)
Calculate the force on a vertex.
HRESULT tfVertexSolverInit()
Initialize the solver.
HRESULT tfVertexSolverEngineLock()
Locks the engine for thread-safe engine operations.
HRESULT tfVertexSolverCompact()
Reduce internal buffers and storage.