Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfThreeDFFaceData.h
1/*******************************************************************************
2 * This file is part of Tissue Forge.
3 * Copyright (c) 2022-2024 T.J. Sego
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
20#ifndef _SOURCE_IO_TFTHREEDFACEDATA_H_
21#define _SOURCE_IO_TFTHREEDFACEDATA_H_
22
23#include <TissueForge_private.h>
24
25#include <vector>
26
27
28namespace TissueForge::io {
29
30
31 struct ThreeDFVertexData;
32 struct ThreeDFEdgeData;
33 struct ThreeDFMeshData;
34 struct ThreeDFStructure;
35
36
41 struct CAPI_EXPORT ThreeDFFaceData {
42
44 ThreeDFStructure *structure = NULL;
45
48
50 int id = -1;
51
53 std::vector<ThreeDFEdgeData*> edges;
54
56 std::vector<ThreeDFMeshData*> meshes;
57
63 std::vector<ThreeDFVertexData*> getVertices();
64
70 std::vector<ThreeDFEdgeData*> getEdges();
71
77 std::vector<ThreeDFMeshData*> getMeshes();
78
84 unsigned int getNumVertices();
85
91 unsigned int getNumEdges();
92
98 unsigned int getNumMeshes();
99
108
117
126
135
136 };
137
138};
139
140#endif // _SOURCE_IO_TFTHREEDFACEDATA_H_
Tissue Forge I/O.
Definition tfThreeDFAngleMeshGenerator.h:28
3D data file edge data
Definition tfThreeDFEdgeData.h:41
3D data file face data
Definition tfThreeDFFaceData.h:41
bool has(ThreeDFEdgeData *e)
Test whether an edge is a constituent.
unsigned int getNumVertices()
Get the number of constituent vertices.
bool in(ThreeDFStructure *s)
Test whether in a structure.
unsigned int getNumEdges()
Get the number of constituent edges.
std::vector< ThreeDFEdgeData * > getEdges()
Get all constituent edges.
std::vector< ThreeDFMeshData * > meshes
Definition tfThreeDFFaceData.h:56
FVector3 normal
Definition tfThreeDFFaceData.h:47
std::vector< ThreeDFMeshData * > getMeshes()
Get all parent meshes.
std::vector< ThreeDFVertexData * > getVertices()
Get all constituent vertices.
unsigned int getNumMeshes()
Get the number of parent meshes.
bool has(ThreeDFVertexData *v)
Test whether a vertex is a constituent.
std::vector< ThreeDFEdgeData * > edges
Definition tfThreeDFFaceData.h:53
bool in(ThreeDFMeshData *m)
Test whether in a mesh.
3D data file mesh data
Definition tfThreeDFMeshData.h:43
Container for relevant data found in a 3D data file.
Definition tfThreeDFStructure.h:61
3D data file vertex data
Definition tfThreeDFVertexData.h:41