PolyFEM
Loading...
Searching...
No Matches
polyfem::mesh::TetOperationCache Class Reference

#include <OperationCache.hpp>

Public Types

using VertexAttributes = WildTetRemesher::VertexAttributes
 
using EdgeAttributes = WildTetRemesher::EdgeAttributes
 
using FaceAttributes = WildTetRemesher::BoundaryAttributes
 
using TetAttributes = WildTetRemesher::ElementAttributes
 
using Tuple = wmtk::TetMesh::Tuple
 

Public Member Functions

const std::pair< size_t, VertexAttributes > & v0 () const
 
const std::pair< size_t, VertexAttributes > & v1 () const
 
const std::optional< std::pair< size_t, VertexAttributes > > & v2 () const
 
const Remesher::EdgeMap< EdgeAttributes > & edges () const
 
const Remesher::FaceMap< FaceAttributes > & faces () const
 
const Remesher::TetMap< TetAttributes > & tets () const
 
bool is_boundary_op () const
 

Static Public Member Functions

static std::shared_ptr< TetOperationCachesplit_edge (WildTetRemesher &m, const Tuple &t)
 
static std::shared_ptr< TetOperationCacheswap_32 (WildTetRemesher &m, const Tuple &t)
 
static std::shared_ptr< TetOperationCachecollapse_edge (WildTetRemesher &m, const Tuple &t)
 

Public Attributes

double local_energy = std::numeric_limits<double>::quiet_NaN()
 
CollapseEdgeTo collapse_to = CollapseEdgeTo::ILLEGAL
 

Protected Attributes

std::pair< size_t, VertexAttributesm_v0
 
std::pair< size_t, VertexAttributesm_v1
 
std::optional< std::pair< size_t, VertexAttributes > > m_v2
 
Remesher::EdgeMap< EdgeAttributesm_edges
 
Remesher::FaceMap< FaceAttributesm_faces
 
Remesher::TetMap< TetAttributesm_tets
 
bool m_is_boundary_op = false
 

Detailed Description

Definition at line 39 of file OperationCache.hpp.

Member Typedef Documentation

◆ EdgeAttributes

using polyfem::mesh::TetOperationCache::EdgeAttributes = WildTetRemesher::EdgeAttributes

Definition at line 43 of file OperationCache.hpp.

◆ FaceAttributes

using polyfem::mesh::TetOperationCache::FaceAttributes = WildTetRemesher::BoundaryAttributes

Definition at line 44 of file OperationCache.hpp.

◆ TetAttributes

using polyfem::mesh::TetOperationCache::TetAttributes = WildTetRemesher::ElementAttributes

Definition at line 45 of file OperationCache.hpp.

◆ Tuple

using polyfem::mesh::TetOperationCache::Tuple = wmtk::TetMesh::Tuple

Definition at line 46 of file OperationCache.hpp.

◆ VertexAttributes

using polyfem::mesh::TetOperationCache::VertexAttributes = WildTetRemesher::VertexAttributes

Definition at line 42 of file OperationCache.hpp.

Member Function Documentation

◆ collapse_edge()

std::shared_ptr< TetOperationCache > polyfem::mesh::TetOperationCache::collapse_edge ( WildTetRemesher m,
const Tuple t 
)
static

Definition at line 153 of file OperationCache.cpp.

References cache, polyfem::mesh::WildRemesher< WMTKMesh >::element_attrs, polyfem::mesh::WildRemesher< WMTKMesh >::is_boundary_edge(), tets(), and polyfem::mesh::WildRemesher< WMTKMesh >::vertex_attrs.

Here is the call graph for this function:

◆ edges()

const Remesher::EdgeMap< EdgeAttributes > & polyfem::mesh::TetOperationCache::edges ( ) const
inline

Definition at line 57 of file OperationCache.hpp.

References m_edges.

◆ faces()

const Remesher::FaceMap< FaceAttributes > & polyfem::mesh::TetOperationCache::faces ( ) const
inline

Definition at line 58 of file OperationCache.hpp.

References m_faces.

◆ is_boundary_op()

bool polyfem::mesh::TetOperationCache::is_boundary_op ( ) const
inline

Definition at line 60 of file OperationCache.hpp.

References m_is_boundary_op.

◆ split_edge()

std::shared_ptr< TetOperationCache > polyfem::mesh::TetOperationCache::split_edge ( WildTetRemesher m,
const Tuple t 
)
static

Definition at line 128 of file OperationCache.cpp.

References cache, polyfem::mesh::WildRemesher< WMTKMesh >::element_attrs, polyfem::mesh::WildRemesher< WMTKMesh >::is_boundary_edge(), tets(), and polyfem::mesh::WildRemesher< WMTKMesh >::vertex_attrs.

Here is the call graph for this function:

◆ swap_32()

static std::shared_ptr< TetOperationCache > polyfem::mesh::TetOperationCache::swap_32 ( WildTetRemesher m,
const Tuple t 
)
inlinestatic

Definition at line 49 of file OperationCache.hpp.

References polyfem::log_and_throw_error().

Referenced by polyfem::mesh::WildRemesher< WMTKMesh >::cache_swap_edge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tets()

const Remesher::TetMap< TetAttributes > & polyfem::mesh::TetOperationCache::tets ( ) const
inline

Definition at line 59 of file OperationCache.hpp.

References m_tets.

Referenced by collapse_edge(), and split_edge().

Here is the caller graph for this function:

◆ v0()

const std::pair< size_t, VertexAttributes > & polyfem::mesh::TetOperationCache::v0 ( ) const
inline

Definition at line 54 of file OperationCache.hpp.

References m_v0.

◆ v1()

const std::pair< size_t, VertexAttributes > & polyfem::mesh::TetOperationCache::v1 ( ) const
inline

Definition at line 55 of file OperationCache.hpp.

References m_v1.

◆ v2()

const std::optional< std::pair< size_t, VertexAttributes > > & polyfem::mesh::TetOperationCache::v2 ( ) const
inline

Definition at line 56 of file OperationCache.hpp.

References m_v2.

Member Data Documentation

◆ collapse_to

CollapseEdgeTo polyfem::mesh::TetOperationCache::collapse_to = CollapseEdgeTo::ILLEGAL

Definition at line 63 of file OperationCache.hpp.

◆ local_energy

double polyfem::mesh::TetOperationCache::local_energy = std::numeric_limits<double>::quiet_NaN()

Definition at line 62 of file OperationCache.hpp.

◆ m_edges

Remesher::EdgeMap<EdgeAttributes> polyfem::mesh::TetOperationCache::m_edges
protected

Definition at line 69 of file OperationCache.hpp.

Referenced by edges().

◆ m_faces

Remesher::FaceMap<FaceAttributes> polyfem::mesh::TetOperationCache::m_faces
protected

Definition at line 70 of file OperationCache.hpp.

Referenced by faces().

◆ m_is_boundary_op

bool polyfem::mesh::TetOperationCache::m_is_boundary_op = false
protected

Definition at line 72 of file OperationCache.hpp.

Referenced by is_boundary_op().

◆ m_tets

Remesher::TetMap<TetAttributes> polyfem::mesh::TetOperationCache::m_tets
protected

Definition at line 71 of file OperationCache.hpp.

Referenced by tets().

◆ m_v0

std::pair<size_t, VertexAttributes> polyfem::mesh::TetOperationCache::m_v0
protected

Definition at line 66 of file OperationCache.hpp.

Referenced by v0().

◆ m_v1

std::pair<size_t, VertexAttributes> polyfem::mesh::TetOperationCache::m_v1
protected

Definition at line 67 of file OperationCache.hpp.

Referenced by v1().

◆ m_v2

std::optional<std::pair<size_t, VertexAttributes> > polyfem::mesh::TetOperationCache::m_v2
protected

Definition at line 68 of file OperationCache.hpp.

Referenced by v2().


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