OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
ObjectManager.h
Go to the documentation of this file.
1#pragma once
2
3class Application;
4class MeshWriter;
7
8class EntityBase;
9class EntityMeshTet;
10
11#include <vector>
12#include <map>
13#include <string>
14
15#include "OldTreeIcon.h"
16
17namespace gmsh
18{
19 typedef std::vector<std::pair<int, int> > vectorpair;
20}
21
23{
24public:
25 ObjectManager(Application *app) : application(app) {};
27
28 void storeMeshElementsForEntity(EntityBase *entity, gmsh::vectorpair &meshElements);
29 gmsh::vectorpair &getMeshElementsForEntity(EntityBase *entity);
30
31 bool hasAnyVolumes(void) { return !volumeTagToFacesMap.empty(); }
32
33 void writeMeshEntities(MeshWriter *meshWriter, FaceAnnotationsManager *faceAnnotationsManager, ProgressLogger *progressLogger, EntityMeshTet *mesh,
34 const std::string& materialsFolder, ot::UID materialsFolderID);
35
36private:
37 void storeVolumeFaces(EntityBase *entity, gmsh::vectorpair &meshElements);
38
39 Application *application;
40 std::map<std::string, gmsh::vectorpair> entityNameToMeshElementsMap;
41 std::map<std::string, EntityBase *> nameToEntityMap;
42 std::map<int, gmsh::vectorpair> volumeTagToFacesMap;
43 std::string backgroundMeshEntityName;
44};
Definition Application.h:25
Definition FaceAnnotationsManager.h:25
Definition MeshWriter.h:30
Definition ObjectManager.h:23
void writeMeshEntities(MeshWriter *meshWriter, FaceAnnotationsManager *faceAnnotationsManager, ProgressLogger *progressLogger, EntityMeshTet *mesh, const std::string &materialsFolder, ot::UID materialsFolderID)
Definition ObjectManager.cpp:67
~ObjectManager()
Definition ObjectManager.h:26
bool hasAnyVolumes(void)
Definition ObjectManager.h:31
void storeMeshElementsForEntity(EntityBase *entity, gmsh::vectorpair &meshElements)
Definition ObjectManager.cpp:12
gmsh::vectorpair & getMeshElementsForEntity(EntityBase *entity)
Definition ObjectManager.cpp:20
ObjectManager(Application *app)
Definition ObjectManager.h:25
Definition ProgressLogger.h:11
The app namespace contains several functions that may be used to start processes.
Definition FaceAnnotationsManager.h:20
std::vector< std::pair< int, int > > vectorpair
Definition FaceAnnotationsManager.h:21
unsigned long UID
Unique identifier (32 bit unsigned integer)
Definition CoreTypes.h:27