Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfThreeDFVertexData.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_TFTHREEDVERTEXDATA_H_
21#define _SOURCE_IO_TFTHREEDVERTEXDATA_H_
22
23#include <TissueForge_private.h>
24
25#include <vector>
26
27
28namespace TissueForge::io {
29
30
31 struct ThreeDFEdgeData;
32 struct ThreeDFFaceData;
33 struct ThreeDFMeshData;
34 struct ThreeDFStructure;
35
36
41 struct CAPI_EXPORT ThreeDFVertexData {
42
45
47 FVector3 position;
48
50 int id = -1;
51
53 std::vector<ThreeDFEdgeData*> edges;
54
55 ThreeDFVertexData(const FVector3 &_position, ThreeDFStructure *_structure=NULL);
56
62 std::vector<ThreeDFEdgeData*> getEdges();
63
69 std::vector<ThreeDFFaceData*> getFaces();
70
76 std::vector<ThreeDFMeshData*> getMeshes();
77
83 unsigned int getNumEdges();
84
90 unsigned int getNumFaces();
91
97 unsigned int getNumMeshes();
98
107
116
125
134
135 };
136
137};
138
139#endif // _SOURCE_IO_TFTHREEDVERTEXDATA_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
3D data file mesh data
Definition tfThreeDFMeshData.h:43
Container for relevant data found in a 3D data file.
Definition tfThreeDFStructure.h:61
ThreeDFStructure * structure
Definition tfThreeDFVertexData.h:44
FVector3 position
Definition tfThreeDFVertexData.h:47
unsigned int getNumFaces()
Get the number of parent faces.
unsigned int getNumMeshes()
Get the number of parent meshes.
bool in(ThreeDFFaceData *f)
Test whether in a face.
std::vector< ThreeDFEdgeData * > edges
Definition tfThreeDFVertexData.h:53
std::vector< ThreeDFFaceData * > getFaces()
Get all parent faces.
std::vector< ThreeDFMeshData * > getMeshes()
Get all parent meshes.
bool in(ThreeDFMeshData *m)
Test whether in a mesh.
unsigned int getNumEdges()
Get the number of parent edges.
std::vector< ThreeDFEdgeData * > getEdges()
Get all parent edges.
bool in(ThreeDFStructure *s)
Test whether in a structure.
bool in(ThreeDFEdgeData *e)
Test whether in an edge.