24#ifndef _SOURCE_IO_TFTHREEDFSTRUCTURE_H_
25#define _SOURCE_IO_TFTHREEDFSTRUCTURE_H_
29#include "tfThreeDFVertexData.h"
30#include "tfThreeDFEdgeData.h"
31#include "tfThreeDFFaceData.h"
32#include "tfThreeDFMeshData.h"
34#include <unordered_map>
41 std::vector<ThreeDFVertexData*> vertices;
42 std::vector<ThreeDFEdgeData*> edges;
43 std::vector<ThreeDFFaceData*> faces;
44 std::vector<ThreeDFMeshData*> meshes;
Tissue Forge I/O.
Definition tfThreeDFAngleMeshGenerator.h:28
Definition tfThreeDFStructure.h:40
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
HRESULT clear()
Clear all data of the structure.
std::vector< ThreeDFEdgeData * > getEdges()
Get all constituent edges.
void remove(ThreeDFEdgeData *e)
Remove a edge and all constituent data.
unsigned int getNumVertices()
Get the number of constituent vertices.
void add(ThreeDFMeshData *m)
Add a mesh and all constituent data.
FloatP_t vRadiusDef
Definition tfThreeDFStructure.h:70
unsigned int getNumMeshes()
Get the number of constituent meshes.
ThreeDFComponentContainer inventory
Definition tfThreeDFStructure.h:64
bool has(ThreeDFVertexData *v)
Test whether a vertex is a constituent.
HRESULT rotateAt(const FMatrix3 &rotMat, const FVector3 &rotPt)
Rotate the structure about a point.
HRESULT translate(const FVector3 &displacement)
Translate the structure by a displacement.
void remove(ThreeDFMeshData *m)
Remove a mesh and all constituent data.
unsigned int getNumEdges()
Get the number of constituent edges.
void add(ThreeDFEdgeData *e)
Add an edge and all constituent data.
HRESULT scaleFrom(const FVector3 &scales, const FVector3 &scalePt)
Scale the structure about a point.
HRESULT toFile(const std::string &format, const std::string &filePath)
Write to file.
void add(ThreeDFVertexData *v)
Add a vertex.
bool has(ThreeDFEdgeData *e)
Test whether an edge is a constituent.
ThreeDFComponentContainer queueRemove
Definition tfThreeDFStructure.h:67
void remove(ThreeDFVertexData *v)
Remove a vertex.
void remove(ThreeDFFaceData *f)
Remove a face and all constituent data.
bool has(ThreeDFMeshData *m)
Test whether a mesh is a constituent.
unsigned int getNumFaces()
Get the number of constituent faces.
std::vector< ThreeDFVertexData * > getVertices()
Get all constituent vertices.
HRESULT rotate(const FMatrix3 &rotMat)
Rotate the structure about its centroid.
HRESULT scaleFrom(const FloatP_t &scale, const FVector3 &scalePt)
Scale the structure uniformly about a point.
HRESULT fromFile(const std::string &filePath)
Load from file.
HRESULT scale(const FloatP_t &scale)
Scale the structure uniformly about its centroid.
std::vector< ThreeDFFaceData * > getFaces()
Get all constituent faces.
HRESULT extend(const ThreeDFStructure &s)
Extend a structure.
bool has(ThreeDFFaceData *f)
Test whether a face is a constituent.
void add(ThreeDFFaceData *f)
Add a face and all constituent data.
HRESULT translateTo(const FVector3 &position)
Translate the structure to a position.
HRESULT flush()
Flush stucture. All scheduled processes are executed.
HRESULT scale(const FVector3 &scales)
Scale the structure about its centroid.
FVector3 getCentroid()
Get the centroid of the structure.
std::vector< ThreeDFMeshData * > getMeshes()
Get all constituent meshes.
3D data file vertex data
Definition tfThreeDFVertexData.h:41
int32_t HRESULT
Definition tf_port.h:255