|
Wildmeshing Toolkit
|
The tets around every operation that changed a tet mesh's tracked surface, which, with the surface history, is what a map of the volume needs: every other operation leaves each region where it is in space. More...
#include <VolumeHistory.hpp>
Public Member Functions | |
| void | save (const std::string &path) const |
| std::vector< uint8_t > | to_bytes () const |
Static Public Member Functions | |
| static VolumeHistory | load (const std::string &path) |
| static VolumeHistory | from_bytes (const std::vector< uint8_t > &bytes) |
Public Attributes | |
| std::vector< std::vector< int64_t > > | regions |
| The regions, each the set of tags of its tets, sorted. | |
| std::map< int64_t, std::string > | tag_names |
| std::vector< VolumeEdit > | edits |
| In the order of the surface edits they made. | |
| uint64_t | surface_edit_offset = 0 |
| std::optional< SurfaceKey > | surface |
The tets around every operation that changed a tet mesh's tracked surface, which, with the surface history, is what a map of the volume needs: every other operation leaves each region where it is in space.
| void wmtk::history::VolumeHistory::save | ( | const std::string & | path | ) | const |
To and from a volume history file (read_history, write_history), and its bytes in memory: what a memory call returns as report["volume_history"]. Loading checks every edit and throws on damaged bytes; to_bytes() refuses an edit a recorder would not make.
| std::optional<SurfaceKey> wmtk::history::VolumeHistory::surface |
That surface history's key, which a volume map checks the one it is given against; unset for a history put together in memory, which is not checked.
| uint64_t wmtk::history::VolumeHistory::surface_edit_offset = 0 |
The surface history file these edits index into, and the offset of the recorder's first edit in it (the input's own edits come first there).
| std::map<int64_t, std::string> wmtk::history::VolumeHistory::tag_names |
The application's labels of the tags, where it has them: how the tet mesh files it writes name their groups (simwild: a physical group per tag, labelled as io::collect_tags labels them, and the untagged tets "ambient" unless a tag is).