|
Wildmeshing Toolkit
|
serving as buffers for attributes data that can be modified by operations More...
#include <AttributeCollection.hpp>
Public Member Functions | |
| virtual void | move (size_t from, size_t to) |
| virtual void | resize (size_t)=0 |
| virtual void | reset_from (size_t first)=0 |
| virtual void | clear ()=0 |
| virtual void | rollback ()=0 |
| virtual void | begin_protect ()=0 |
| virtual void | end_protect ()=0 |
| virtual void | append_recorded (std::vector< size_t > &out) |
serving as buffers for attributes data that can be modified by operations
|
inlinevirtual |
Appends to out the index of every entry this thread has recorded since begin_protect(): every entry the operation reached through non-const access, which rollback() would write back. Lets a caller check that an operation stayed within the simplices it owns.
Reimplemented in wmtk::AttributeCollection< T >, wmtk::AttributeCollection< EdgeAttributes >, wmtk::AttributeCollection< EdgeExtra2d >, wmtk::AttributeCollection< FaceAttributes >, wmtk::AttributeCollection< FaceExtra >, wmtk::AttributeCollection< FaceExtra2d >, wmtk::AttributeCollection< FeatureEdgeAttributes >, wmtk::AttributeCollection< FeaturePointAttributes >, wmtk::AttributeCollection< SurfaceMeshEdgeAttribute >, wmtk::AttributeCollection< SurfaceMeshFaceAttribute >, wmtk::AttributeCollection< SurfaceMeshVertexAttribute >, wmtk::AttributeCollection< TetAttributes >, wmtk::AttributeCollection< TetMeshVertexAttribute >, wmtk::AttributeCollection< UVMeshVertexAttribute >, wmtk::AttributeCollection< VertexAttributes >, wmtk::AttributeCollection< VertexExtra >, wmtk::AttributeCollection< VertexExtra2d >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FaceFieldAttributes >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FeatureAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::EdgeAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::tetwild::TetFinalizeAttributes >, wmtk::AttributeCollection< wmtk::components::tetwild::TetWildMesh::VertexExtras >, and wmtk::AttributeContainerGroup.
|
pure virtual |
Implemented in wmtk::AttributeCollection< T >, wmtk::AttributeCollection< EdgeAttributes >, wmtk::AttributeCollection< EdgeExtra2d >, wmtk::AttributeCollection< FaceAttributes >, wmtk::AttributeCollection< FaceExtra >, wmtk::AttributeCollection< FaceExtra2d >, wmtk::AttributeCollection< FeatureEdgeAttributes >, wmtk::AttributeCollection< FeaturePointAttributes >, wmtk::AttributeCollection< SurfaceMeshEdgeAttribute >, wmtk::AttributeCollection< SurfaceMeshFaceAttribute >, wmtk::AttributeCollection< SurfaceMeshVertexAttribute >, wmtk::AttributeCollection< TetAttributes >, wmtk::AttributeCollection< TetMeshVertexAttribute >, wmtk::AttributeCollection< UVMeshVertexAttribute >, wmtk::AttributeCollection< VertexAttributes >, wmtk::AttributeCollection< VertexExtra >, wmtk::AttributeCollection< VertexExtra2d >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FaceFieldAttributes >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FeatureAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::EdgeAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::tetwild::TetFinalizeAttributes >, and wmtk::AttributeCollection< wmtk::components::tetwild::TetWildMesh::VertexExtras >.
|
pure virtual |
Implemented in wmtk::AttributeCollection< T >, wmtk::AttributeCollection< EdgeAttributes >, wmtk::AttributeCollection< EdgeExtra2d >, wmtk::AttributeCollection< FaceAttributes >, wmtk::AttributeCollection< FaceExtra >, wmtk::AttributeCollection< FaceExtra2d >, wmtk::AttributeCollection< FeatureEdgeAttributes >, wmtk::AttributeCollection< FeaturePointAttributes >, wmtk::AttributeCollection< SurfaceMeshEdgeAttribute >, wmtk::AttributeCollection< SurfaceMeshFaceAttribute >, wmtk::AttributeCollection< SurfaceMeshVertexAttribute >, wmtk::AttributeCollection< TetAttributes >, wmtk::AttributeCollection< TetMeshVertexAttribute >, wmtk::AttributeCollection< UVMeshVertexAttribute >, wmtk::AttributeCollection< VertexAttributes >, wmtk::AttributeCollection< VertexExtra >, wmtk::AttributeCollection< VertexExtra2d >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FaceFieldAttributes >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FeatureAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::EdgeAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::tetwild::TetFinalizeAttributes >, and wmtk::AttributeCollection< wmtk::components::tetwild::TetWildMesh::VertexExtras >.
|
pure virtual |
Resets every entry from first to the end of the storage to a default-constructed value. consolidate_mesh() calls it on the spare region past the compacted live range: move() leaves its source intact, so without this those slots would still hold the records compacted out of them, and the next operation handed one would inherit a dead simplex's attributes.
Implemented in wmtk::AttributeCollection< T >, wmtk::AttributeCollection< EdgeAttributes >, wmtk::AttributeCollection< EdgeExtra2d >, wmtk::AttributeCollection< FaceAttributes >, wmtk::AttributeCollection< FaceExtra >, wmtk::AttributeCollection< FaceExtra2d >, wmtk::AttributeCollection< FeatureEdgeAttributes >, wmtk::AttributeCollection< FeaturePointAttributes >, wmtk::AttributeCollection< SurfaceMeshEdgeAttribute >, wmtk::AttributeCollection< SurfaceMeshFaceAttribute >, wmtk::AttributeCollection< SurfaceMeshVertexAttribute >, wmtk::AttributeCollection< TetAttributes >, wmtk::AttributeCollection< TetMeshVertexAttribute >, wmtk::AttributeCollection< UVMeshVertexAttribute >, wmtk::AttributeCollection< VertexAttributes >, wmtk::AttributeCollection< VertexExtra >, wmtk::AttributeCollection< VertexExtra2d >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FaceFieldAttributes >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FeatureAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::EdgeAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::tetwild::TetFinalizeAttributes >, wmtk::AttributeCollection< wmtk::components::tetwild::TetWildMesh::VertexExtras >, and wmtk::AttributeContainerGroup.
|
pure virtual |
Implemented in wmtk::AttributeCollection< T >, wmtk::AttributeCollection< EdgeAttributes >, wmtk::AttributeCollection< EdgeExtra2d >, wmtk::AttributeCollection< FaceAttributes >, wmtk::AttributeCollection< FaceExtra >, wmtk::AttributeCollection< FaceExtra2d >, wmtk::AttributeCollection< FeatureEdgeAttributes >, wmtk::AttributeCollection< FeaturePointAttributes >, wmtk::AttributeCollection< SurfaceMeshEdgeAttribute >, wmtk::AttributeCollection< SurfaceMeshFaceAttribute >, wmtk::AttributeCollection< SurfaceMeshVertexAttribute >, wmtk::AttributeCollection< TetAttributes >, wmtk::AttributeCollection< TetMeshVertexAttribute >, wmtk::AttributeCollection< UVMeshVertexAttribute >, wmtk::AttributeCollection< VertexAttributes >, wmtk::AttributeCollection< VertexExtra >, wmtk::AttributeCollection< VertexExtra2d >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FaceFieldAttributes >, wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FeatureAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::EdgeAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::qslim::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::FaceAttributes >, wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::VertexAttributes >, wmtk::AttributeCollection< wmtk::components::tetwild::TetFinalizeAttributes >, and wmtk::AttributeCollection< wmtk::components::tetwild::TetWildMesh::VertexExtras >.