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

#include <OperationCache.hpp>

Public Types

using VertexAttributes = WildTriRemesher::VertexAttributes
 
using EdgeAttributes = WildTriRemesher::BoundaryAttributes
 
using FaceAttributes = WildTriRemesher::ElementAttributes
 
using Tuple = wmtk::TriMesh::Tuple
 

Public Member Functions

const std::pair< size_t, VertexAttributes > & v0 () const
 
const std::pair< size_t, VertexAttributes > & v1 () const
 
const Remesher::EdgeMap< EdgeAttributes > & edges () const
 
const std::vector< FaceAttributes > & faces () const
 
bool is_boundary_op () const
 

Static Public Member Functions

static std::shared_ptr< TriOperationCachesplit_edge (WildTriRemesher &m, const Tuple &t)
 Construct a local mesh as an n-ring around a vertex.
 
static std::shared_ptr< TriOperationCacheswap_edge (WildTriRemesher &m, const Tuple &t)
 
static std::shared_ptr< TriOperationCachecollapse_edge (WildTriRemesher &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
 
Remesher::EdgeMap< EdgeAttributesm_edges
 
std::vector< FaceAttributesm_faces
 
bool m_is_boundary_op = false
 

Detailed Description

Definition at line 9 of file OperationCache.hpp.

Member Typedef Documentation

◆ EdgeAttributes

using polyfem::mesh::TriOperationCache::EdgeAttributes = WildTriRemesher::BoundaryAttributes

Definition at line 13 of file OperationCache.hpp.

◆ FaceAttributes

using polyfem::mesh::TriOperationCache::FaceAttributes = WildTriRemesher::ElementAttributes

Definition at line 14 of file OperationCache.hpp.

◆ Tuple

using polyfem::mesh::TriOperationCache::Tuple = wmtk::TriMesh::Tuple

Definition at line 15 of file OperationCache.hpp.

◆ VertexAttributes

using polyfem::mesh::TriOperationCache::VertexAttributes = WildTriRemesher::VertexAttributes

Definition at line 12 of file OperationCache.hpp.

Member Function Documentation

◆ collapse_edge()

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

Definition at line 74 of file OperationCache.cpp.

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

Here is the call graph for this function:

◆ edges()

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

Definition at line 24 of file OperationCache.hpp.

References m_edges.

◆ faces()

const std::vector< FaceAttributes > & polyfem::mesh::TriOperationCache::faces ( ) const
inline

Definition at line 25 of file OperationCache.hpp.

References m_faces.

◆ is_boundary_op()

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

Definition at line 26 of file OperationCache.hpp.

References m_is_boundary_op.

◆ split_edge()

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

Construct a local mesh as an n-ring around a vertex.

Definition at line 49 of file OperationCache.cpp.

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

Here is the call graph for this function:

◆ swap_edge()

std::shared_ptr< TriOperationCache > polyfem::mesh::TriOperationCache::swap_edge ( WildTriRemesher m,
const Tuple t 
)
static

Definition at line 105 of file OperationCache.cpp.

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

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:

◆ v0()

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

Definition at line 22 of file OperationCache.hpp.

References m_v0.

◆ v1()

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

Definition at line 23 of file OperationCache.hpp.

References m_v1.

Member Data Documentation

◆ collapse_to

CollapseEdgeTo polyfem::mesh::TriOperationCache::collapse_to = CollapseEdgeTo::ILLEGAL

Definition at line 29 of file OperationCache.hpp.

◆ local_energy

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

Definition at line 28 of file OperationCache.hpp.

◆ m_edges

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

Definition at line 34 of file OperationCache.hpp.

Referenced by edges().

◆ m_faces

std::vector<FaceAttributes> polyfem::mesh::TriOperationCache::m_faces
protected

Definition at line 35 of file OperationCache.hpp.

Referenced by faces().

◆ m_is_boundary_op

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

Definition at line 36 of file OperationCache.hpp.

Referenced by is_boundary_op().

◆ m_v0

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

Definition at line 32 of file OperationCache.hpp.

Referenced by v0().

◆ m_v1

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

Definition at line 33 of file OperationCache.hpp.

Referenced by v1().


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