Tissue Forge C 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfCMeshQuality.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_TFCMESHQUALITY_H_
26#define _WRAPS_C_VERTEX_SOLVER_TFCMESHQUALITY_H_
27
28#include <tf_port_c.h>
29
30// Handles
31
37 void *tfObj;
38};
39
40
42// MeshQuality //
44
45
56 struct tfVertexSolverMeshQualityHandle *handle,
57 tfFloatP_t vertexMergeDistCf,
58 tfFloatP_t surfaceDemoteAreaCf,
59 tfFloatP_t bodyDemoteVolumeCf,
60 tfFloatP_t _edgeSplitDistCf
61);
62
69
78 struct tfVertexSolverMeshQualityHandle *handle,
79 char **str,
80 unsigned int *numChar
81);
82
89
96CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_working(struct tfVertexSolverMeshQualityHandle *handle, bool *working);
97
105
113
120CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_getSurfaceDemoteArea(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t *val);
121
129
136CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_getBodyDemoteVolume(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t *val);
137
145
152CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_getEdgeSplitDist(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t *val);
153
160CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_setEdgeSplitDist(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t val);
161
168CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_getCollision2D(struct tfVertexSolverMeshQualityHandle *handle, bool *collision2D);
169
176CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_setCollision2D(struct tfVertexSolverMeshQualityHandle *handle, bool collision2D);
177
184CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_excludeVertex(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id);
185
192CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_excludeSurface(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id);
193
200CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_excludeBody(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id);
201
210CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_includeVertex(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id);
211
220CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_includeSurface(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id);
221
230CAPI_FUNC(HRESULT) tfVertexSolverMeshQuality_includeBody(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id);
231
232#endif // _WRAPS_C_VERTEX_SOLVER_TFCMESHQUALITY_H_
Handle to a models::vertex::MeshQuality instance.
Definition tfCMeshQuality.h:36
HRESULT tfVertexSolverMeshQuality_getCollision2D(struct tfVertexSolverMeshQualityHandle *handle, bool *collision2D)
Get whether 2D collisions are implemented.
HRESULT tfVertexSolverMeshQuality_getSurfaceDemoteArea(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t *val)
Get the area below which a surface is scheduled to become a vertex.
HRESULT tfVertexSolverMeshQuality_doQuality(struct tfVertexSolverMeshQualityHandle *handle)
Perform quality operations work.
HRESULT tfVertexSolverMeshQuality_includeSurface(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id)
Include a surface from quality operations.
HRESULT tfVertexSolverMeshQuality_setVertexMergeDistance(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t val)
Set the distance below which two vertices are scheduled for merging.
HRESULT tfVertexSolverMeshQuality_excludeSurface(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id)
Exclude a surface from quality operations.
HRESULT tfVertexSolverMeshQuality_working(struct tfVertexSolverMeshQualityHandle *handle, bool *working)
Test whether quality operations are being done.
HRESULT tfVertexSolverMeshQuality_includeVertex(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id)
Include a vertex from quality operations.
HRESULT tfVertexSolverMeshQuality_toString(struct tfVertexSolverMeshQualityHandle *handle, char **str, unsigned int *numChar)
Get a JSON string representation.
HRESULT tfVertexSolverMeshQuality_setEdgeSplitDist(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t val)
Set the distance at which two vertices are seperated when a vertex is split.
HRESULT tfVertexSolverMeshQuality_excludeVertex(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id)
Exclude a vertex from quality operations.
HRESULT tfVertexSolverMeshQuality_setCollision2D(struct tfVertexSolverMeshQualityHandle *handle, bool collision2D)
Set whether 2D collisions are implemented.
HRESULT tfVertexSolverMeshQuality_getEdgeSplitDist(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t *val)
Get the distance at which two vertices are seperated when a vertex is split.
HRESULT tfVertexSolverMeshQuality_setBodyDemoteVolume(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t val)
Set the volume below which a body is scheduled to become a vertex.
HRESULT tfVertexSolverMeshQuality_getVertexMergeDistance(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t *val)
Get the distance below which two vertices are scheduled for merging.
HRESULT tfVertexSolverMeshQuality_init(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t vertexMergeDistCf, tfFloatP_t surfaceDemoteAreaCf, tfFloatP_t bodyDemoteVolumeCf, tfFloatP_t _edgeSplitDistCf)
Initialize an instance.
HRESULT tfVertexSolverMeshQuality_excludeBody(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id)
Exclude a body from quality operations.
HRESULT tfVertexSolverMeshQuality_getBodyDemoteVolume(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t *val)
Get the volume below which a body is scheduled to become a vertex.
HRESULT tfVertexSolverMeshQuality_setSurfaceDemoteArea(struct tfVertexSolverMeshQualityHandle *handle, tfFloatP_t val)
Set the area below which a surface is scheduled to become a vertex.
HRESULT tfVertexSolverMeshQuality_includeBody(struct tfVertexSolverMeshQualityHandle *handle, const unsigned int &id)
Include a body from quality operations.
HRESULT tfVertexSolverMeshQuality_destroy(struct tfVertexSolverMeshQualityHandle *handle)
Destroy an instance.