Wildmeshing Toolkit
Loading...
Searching...
No Matches
Public Member Functions | List of all members
wmtk::AbstractAttributeContainer Class Referenceabstract

serving as buffers for attributes data that can be modified by operations More...

#include <AttributeCollection.hpp>

Inheritance diagram for wmtk::AbstractAttributeContainer:
wmtk::AttributeCollection< VertexAttributes > wmtk::AttributeCollection< FaceAttributes > wmtk::AttributeCollection< FeatureEdgeAttributes > wmtk::AttributeCollection< FeaturePointAttributes > wmtk::AttributeCollection< EdgeAttributes > wmtk::AttributeCollection< SurfaceMeshVertexAttribute > wmtk::AttributeCollection< SurfaceMeshEdgeAttribute > wmtk::AttributeCollection< SurfaceMeshFaceAttribute > wmtk::AttributeCollection< TetMeshVertexAttribute > wmtk::AttributeCollection< UVMeshVertexAttribute > wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FeatureAttributes > wmtk::AttributeCollection< wmtk::components::isotropic_remeshing::FaceFieldAttributes > wmtk::AttributeCollection< wmtk::components::qslim::VertexAttributes > wmtk::AttributeCollection< wmtk::components::qslim::FaceAttributes > wmtk::AttributeCollection< wmtk::components::qslim::EdgeAttributes > wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::VertexAttributes > wmtk::AttributeCollection< wmtk::components::shortest_edge_collapse::FaceAttributes > wmtk::AttributeCollection< TetAttributes > wmtk::AttributeCollection< wmtk::components::tetwild::TetWildMesh::VertexExtras > wmtk::AttributeCollection< wmtk::components::tetwild::TetFinalizeAttributes > wmtk::AttributeCollection< VertexExtra > wmtk::AttributeCollection< FaceExtra > wmtk::AttributeCollection< VertexExtra2d > wmtk::AttributeCollection< EdgeExtra2d > wmtk::AttributeCollection< FaceExtra2d > wmtk::AttributeCollection< T > wmtk::AttributeContainerGroup

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)
 

Detailed Description

serving as buffers for attributes data that can be modified by operations

Member Function Documentation

◆ append_recorded()

virtual void wmtk::AbstractAttributeContainer::append_recorded ( std::vector< size_t > &  out)
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.

◆ begin_protect()

virtual void wmtk::AbstractAttributeContainer::begin_protect ( )
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 >.

◆ end_protect()

virtual void wmtk::AbstractAttributeContainer::end_protect ( )
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 >.

◆ reset_from()

virtual void wmtk::AbstractAttributeContainer::reset_from ( size_t  first)
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.

◆ rollback()

virtual void wmtk::AbstractAttributeContainer::rollback ( )
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 >.


The documentation for this class was generated from the following file: