Wildmeshing Toolkit
wmtk::simplex::Simplex Class Reference

#include <Simplex.hpp>

Collaboration diagram for wmtk::simplex::Simplex:
[legend]

Public Member Functions

 Simplex (const PrimitiveType &ptype, const Tuple &t)
 
 Simplex ()=default
 
 Simplex (const Mesh &m, const PrimitiveType &ptype, const Tuple &t)
 
 Simplex (const Simplex &)=default
 
 Simplex (Simplex &&)=default
 
Simplexoperator= (const Simplex &)=default
 
Simplexoperator= (Simplex &&)=default
 
PrimitiveType primitive_type () const
 
int64_t dimension () const
 
const Tupletuple () const
 

Static Public Member Functions

static Simplex vertex (const Mesh &m, const Tuple &t)
 
static Simplex edge (const Mesh &m, const Tuple &t)
 
static Simplex face (const Mesh &m, const Tuple &t)
 
static Simplex tetrahedron (const Mesh &m, const Tuple &t)
 
static Simplex vertex (const Tuple &t)
 
static Simplex edge (const Tuple &t)
 
static Simplex face (const Tuple &t)
 
static Simplex tetrahedron (const Tuple &t)
 

Private Attributes

PrimitiveType m_primitive_type
 
Tuple m_tuple
 

Friends

class wmtk::Mesh
 
class multimesh::MultiMeshManager
 
template<typename Derived >
class wmtk::MeshCRTP
 
template<typename T , typename MeshType , int Dim>
class attribute::Accessor
 
class NavigatableSimplex
 

Detailed Description

Definition at line 21 of file Simplex.hpp.

Constructor & Destructor Documentation

◆ Simplex() [1/5]

wmtk::simplex::Simplex::Simplex ( const PrimitiveType ptype,
const Tuple t 
)
inline

Definition at line 36 of file Simplex.hpp.

◆ Simplex() [2/5]

wmtk::simplex::Simplex::Simplex ( )
default

Referenced by edge(), face(), tetrahedron(), and vertex().

Here is the caller graph for this function:

◆ Simplex() [3/5]

wmtk::simplex::Simplex::Simplex ( const Mesh m,
const PrimitiveType ptype,
const Tuple t 
)

Definition at line 7 of file Simplex.cpp.

◆ Simplex() [4/5]

wmtk::simplex::Simplex::Simplex ( const Simplex )
default

◆ Simplex() [5/5]

wmtk::simplex::Simplex::Simplex ( Simplex &&  )
default

Member Function Documentation

◆ dimension()

int64_t wmtk::simplex::Simplex::dimension ( ) const
inline

Definition at line 52 of file Simplex.hpp.

References wmtk::get_primitive_type_id(), and m_primitive_type.

Here is the call graph for this function:

◆ edge() [1/2]

◆ edge() [2/2]

static Simplex wmtk::simplex::Simplex::edge ( const Tuple t)
inlinestatic

Definition at line 74 of file Simplex.hpp.

References wmtk::Edge, and Simplex().

Here is the call graph for this function:

◆ face() [1/2]

static Simplex wmtk::simplex::Simplex::face ( const Mesh m,
const Tuple t 
)
inlinestatic

Definition at line 63 of file Simplex.hpp.

References Simplex(), and wmtk::Triangle.

Referenced by wmtk::invariants::ValenceImprovementInvariant::before(), wmtk::components::TagIntersection::compute_intersection(), wmtk::components::internal::edge_insertion(), wmtk::operations::composite::TetEdgeSwap::execute(), wmtk::invariants::MinIncidentValenceInvariant::is_greater_min_valence(), wmtk::simplex::link(), wmtk::simplex::link_single_dimension(), wmtk::simplex::open_star(), and wmtk::TetMesh::TetMeshOperationExecutor::split_edge().

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

◆ face() [2/2]

static Simplex wmtk::simplex::Simplex::face ( const Tuple t)
inlinestatic

Definition at line 75 of file Simplex.hpp.

References Simplex(), and wmtk::Triangle.

Here is the call graph for this function:

◆ operator=() [1/2]

Simplex& wmtk::simplex::Simplex::operator= ( const Simplex )
default

◆ operator=() [2/2]

Simplex& wmtk::simplex::Simplex::operator= ( Simplex &&  )
default

◆ primitive_type()

PrimitiveType wmtk::simplex::Simplex::primitive_type ( ) const
inline

Definition at line 51 of file Simplex.hpp.

References m_primitive_type.

Referenced by wmtk::simplex::TopDimensionCofacesIterable::Iterator::add_neighbors_to_queue(), wmtk::invariants::TetMeshSubstructureTopologyPreservingInvariant::before(), wmtk::invariants::TriMeshSubstructureTopologyPreservingInvariant::before(), wmtk::invariants::SeparateSubstructuresInvariant::before(), wmtk::invariants::uvEdgeInvariant::before(), wmtk::invariants::EdgeValenceInvariant::before(), wmtk::EnergyFilterInvariant::before(), wmtk::invariants::FrozenOppVertexInvariant::before(), wmtk::invariants::InvariantCollection::before(), wmtk::invariants::MinIncidentValenceInvariant::before(), wmtk::invariants::MultiMeshLinkConditionInvariant::before(), wmtk::MultiMeshMapValidInvariant::before(), wmtk::invariants::NoBoundaryCollapseToInteriorInvariant::before(), wmtk::invariants::NoChildMeshAttachingInvariant::before(), wmtk::TodoInvariant::before(), wmtk::TodoLargerInvariant::before(), wmtk::TodoSmallerInvariant::before(), wmtk::invariants::ValenceImprovementInvariant::before(), wmtk::simplex::boundary(), wmtk::simplex::boundary_tuples(), wmtk::simplex::internal::boundary_with_preserved_face_simplices(), wmtk::simplex::internal::boundary_with_preserved_face_tuples(), wmtk::multimesh::MultiMeshManager::can_map(), wmtk::multimesh::MultiMeshManager::can_map_child(), wmtk::simplex::cofaces_single_dimension_tuples(), wmtk::simplex::CofacesSingleDimensionIterable::CofacesSingleDimensionIterable(), wmtk::simplex::ClosedStarIterable::Iterator::depth(), wmtk::simplex::CofacesSingleDimensionIterable::Iterator::depth(), wmtk::simplex::LinkIterable::Iterator::depth(), wmtk::simplex::LinkSingleDimensionIterable::Iterator::depth(), wmtk::simplex::OpenStarIterable::Iterator::depth(), wmtk::simplex::TopDimensionCofacesIterable::Iterator::depth(), wmtk::simplex::edges(), wmtk::simplex::utils::SimplexComparisons::equal(), wmtk::function::TriangleAMIPS::eval(), wmtk::operations::AttributesUpdate::execute(), wmtk::operations::Rounding::execute(), wmtk::simplex::faces(), wmtk::simplex::faces_single_dimension(), wmtk::simplex::faces_single_dimension_tuples(), wmtk::multimesh::MultiMeshManager::find_valid_tuple_from_split(), wmtk::function::AMIPS::get_gradient(), wmtk::function::LocalNeighborsSumFunction::get_gradient(), wmtk::function::AMIPS::get_hessian(), wmtk::function::LocalNeighborsSumFunction::get_hessian(), wmtk::Mesh::get_id_simplex(), wmtk::operations::AttributeTransferStrategyBase::get_parent_simplices(), wmtk::function::utils::get_simplex_attributes(), wmtk::function::AMIPS::get_value(), wmtk::function::LocalNeighborsSumFunction::get_value(), wmtk::attribute::Accessor< T, MeshType, Dim >::index(), wmtk::multimesh::BoundaryChecker::is_boundary(), wmtk::Mesh::is_boundary(), wmtk::components::TagAttribute::is_tagged(), wmtk::Mesh::is_valid(), wmtk::simplex::ClosedStarIterable::Iterator::Iterator(), wmtk::simplex::CofacesInSimplexIterable::Iterator::Iterator(), wmtk::simplex::LinkIterable::Iterator::Iterator(), wmtk::simplex::LinkSingleDimensionIterable::Iterator::Iterator(), wmtk::simplex::utils::SimplexComparisons::less(), wmtk::simplex::link(), wmtk::simplex::link_single_dimension(), wmtk::multimesh::MultiMeshManager::lub_map(), wmtk::multimesh::MultiMeshManager::lub_map_tuples(), wmtk::multimesh::MultiMeshManager::map(), wmtk::multimesh::MultiMeshManager::map_down_relative_tuples(), wmtk::multimesh::MultiMeshManager::map_to_child(), wmtk::multimesh::MultiMeshManager::map_to_child_tuples(), wmtk::multimesh::MultiMeshManager::map_to_parent(), wmtk::multimesh::MultiMeshManager::map_to_root(), wmtk::multimesh::MultiMeshManager::map_tuples(), wmtk::multimesh::MultiMeshManager::map_up_to_tuples(), wmtk::simplex::ClosedStarIterable::Iterator::navigate_to_link(), wmtk::simplex::LinkIterable::Iterator::navigate_to_link(), wmtk::simplex::LinkSingleDimensionIterable::Iterator::navigate_to_link(), wmtk::simplex::neighbors_single_dimension_tuples(), wmtk::simplex::open_star(), wmtk::operations::Operation::operator()(), wmtk::simplex::CofacesInSimplexIterable::Iterator::operator++(), wmtk::simplex::LinkIterable::Iterator::operator++(), wmtk::simplex::OpenStarIterable::Iterator::operator++(), wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::run(), wmtk::components::TagAttribute::set_tag(), wmtk::simplex::ClosedStarIterable::Iterator::step_depth_3(), wmtk::simplex::OpenStarIterable::Iterator::step_depth_3(), wmtk::simplex::ClosedStarIterable::Iterator::step_tet_mesh(), wmtk::simplex::ClosedStarIterable::Iterator::step_tri_mesh(), wmtk::simplex::top_dimension_cofaces_tuples(), and wmtk::simplex::vertices().

◆ tetrahedron() [1/2]

static Simplex wmtk::simplex::Simplex::tetrahedron ( const Mesh m,
const Tuple t 
)
inlinestatic

Definition at line 68 of file Simplex.hpp.

References Simplex(), and wmtk::Tetrahedron.

Referenced by wmtk::components::TagIntersection::compute_intersection(), wmtk::simplex::open_star(), and wmtk::TetMesh::TetMeshOperationExecutor::split_edge().

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

◆ tetrahedron() [2/2]

static Simplex wmtk::simplex::Simplex::tetrahedron ( const Tuple t)
inlinestatic

Definition at line 76 of file Simplex.hpp.

References Simplex(), and wmtk::Tetrahedron.

Here is the call graph for this function:

◆ tuple()

const Tuple& wmtk::simplex::Simplex::tuple ( ) const
inline

Definition at line 53 of file Simplex.hpp.

References m_tuple.

Referenced by wmtk::invariants::TetMeshSubstructureTopologyPreservingInvariant::before(), wmtk::invariants::TriMeshSubstructureTopologyPreservingInvariant::before(), wmtk::invariants::CollapseEnergyBeforeInvariant::before(), wmtk::invariants::CollapseEnergyBeforeInvariantDouble::before(), wmtk::invariants::CollapseSoftEnergyBeforeInvariant::before(), wmtk::invariants::FusionEdgeInvariant::before(), wmtk::invariants::SeparateSubstructuresInvariant::before(), wmtk::invariants::uvEdgeInvariant::before(), wmtk::operations::Operation::before(), wmtk::invariants::MaxFunctionInvariant::before(), wmtk::invariants::EdgeValenceInvariant::before(), wmtk::EnergyFilterInvariant::before(), wmtk::invariants::FrozenVertexInvariant::before(), wmtk::invariants::FrozenOppVertexInvariant::before(), wmtk::invariants::InteriorSimplexInvariant::before(), wmtk::MaxEdgeLengthInvariant::before(), wmtk::invariants::MinEdgeLengthInvariant::before(), wmtk::invariants::MinIncidentValenceInvariant::before(), wmtk::MultiMeshEdgeTopologyInvariant::before(), wmtk::invariants::NoBoundaryCollapseToInteriorInvariant::before(), wmtk::invariants::NoChildMeshAttachingInvariant::before(), wmtk::RoundedInvariant::before(), wmtk::Swap23EnergyBeforeInvariant::before(), wmtk::Swap2dEdgeLengthInvariant::before(), wmtk::Swap2dUnroundedVertexInvariant::before(), wmtk::Swap32EnergyBeforeInvariant::before(), wmtk::Swap32EnergyBeforeInvariantDouble::before(), wmtk::Swap44EnergyBeforeInvariant::before(), wmtk::Swap44EnergyBeforeInvariantDouble::before(), wmtk::Swap56EnergyBeforeInvariant::before(), wmtk::Swap56EnergyBeforeInvariantDouble::before(), wmtk::invariants::ValenceImprovementInvariant::before(), wmtk::simplex::ClosedStarIterable::begin(), wmtk::simplex::CofacesSingleDimensionIterable::begin(), wmtk::simplex::LinkIterable::begin(), wmtk::simplex::LinkSingleDimensionIterable::begin(), wmtk::simplex::OpenStarIterable::begin(), wmtk::simplex::TopDimensionCofacesIterable::begin(), wmtk::simplex::CofacesInSimplexIterable::begin(), wmtk::simplex::boundary_tuples(), wmtk::simplex::internal::boundary_with_preserved_face_simplices(), wmtk::simplex::internal::boundary_with_preserved_face_tuples(), wmtk::simplex::closed_star(), wmtk::simplex::cofaces_single_dimension_tuples(), wmtk::simplex::edges(), wmtk::operations::AMIPSOptimizationSmoothing::execute(), wmtk::operations::AMIPSOptimizationSmoothingPeriodic::execute(), wmtk::operations::AttributesUpdate::execute(), wmtk::operations::composite::TetCellSplit::execute(), wmtk::operations::composite::TetFaceSwap::execute(), wmtk::operations::composite::TriFaceSplit::execute(), wmtk::operations::OptimizationSmoothing::execute(), wmtk::operations::Rounding::execute(), wmtk::operations::TetWildTangentialLaplacianSmoothing::execute(), wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::execute_from_root(), wmtk::simplex::faces(), wmtk::multimesh::MultiMeshManager::find_valid_tuple_from_split(), wmtk::function::PerSimplexAutodiffFunction::get_coordinates(), wmtk::Mesh::get_id_simplex(), wmtk::function::AMIPS::get_raw_coordinates(), wmtk::function::utils::get_simplex_attributes(), wmtk::function::EdgeValenceEnergy::get_value(), wmtk::attribute::Accessor< T, MeshType, Dim >::index(), wmtk::Mesh::is_boundary(), wmtk::components::TagAttribute::is_tagged(), wmtk::Mesh::is_valid(), wmtk::multimesh::MultiMeshManager::lub_map_tuples(), wmtk::multimesh::MultiMeshManager::map_down_relative_tuples(), wmtk::multimesh::MultiMeshManager::map_to_parent(), wmtk::multimesh::MultiMeshManager::map_to_parent_tuple(), wmtk::multimesh::MultiMeshManager::map_to_root_tuple(), wmtk::multimesh::MultiMeshManager::map_up_to_tuples(), wmtk::simplex::neighbors_single_dimension_tuples(), wmtk::operations::utils::MultiMeshEdgeCollapseFunctor::operator()(), wmtk::operations::utils::MultiMeshEdgeSplitFunctor::operator()(), wmtk::operations::VertexLaplacianSmooth::operator()(), wmtk::operations::VertexTangentialLaplacianSmooth::operator()(), wmtk::simplex::CofacesInSimplexIterable::Iterator::operator++(), wmtk::simplex::RawSimplex::RawSimplex(), wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::run(), wmtk::components::TagAttribute::set_tag(), wmtk::simplex::TopDimensionCofacesIterable::Iterator::step_depth_2(), wmtk::simplex::top_dimension_cofaces_tuples(), wmtk::operations::EdgeCollapse::unmodified_primitives(), wmtk::multimesh::MultiMeshManager::update_map_tuple_hashes(), and wmtk::simplex::vertices().

◆ vertex() [1/2]

static Simplex wmtk::simplex::Simplex::vertex ( const Mesh m,
const Tuple t 
)
inlinestatic

Definition at line 56 of file Simplex.hpp.

References Simplex(), and wmtk::Vertex.

Referenced by wmtk::components::internal::adjust_sizing_field(), wmtk::components::adjust_sizing_field(), wmtk::invariants::CollapseEnergyBeforeInvariant::before(), wmtk::invariants::CollapseEnergyBeforeInvariantDouble::before(), wmtk::invariants::CollapseSoftEnergyBeforeInvariant::before(), wmtk::invariants::FusionEdgeInvariant::before(), wmtk::invariants::SeparateSubstructuresInvariant::before(), wmtk::invariants::uvEdgeInvariant::before(), wmtk::invariants::FrozenVertexInvariant::before(), wmtk::invariants::FrozenOppVertexInvariant::before(), wmtk::invariants::NoChildMeshAttachingInvariant::before(), wmtk::invariants::ValenceImprovementInvariant::before(), wmtk::TetMesh::TetMeshOperationExecutor::collapse_edge(), wmtk::components::TagIntersection::compute_intersection(), wmtk::mesh_utils::compute_vertex_normal(), wmtk::operations::composite::TetCellSplit::execute(), wmtk::operations::composite::TetEdgeSwap::execute(), wmtk::operations::composite::TriFaceSplit::execute(), wmtk::TriMesh::TriMeshOperationExecutor::get_incident_face_data(), wmtk::function::EdgeValenceEnergy::get_value(), wmtk::TetMesh::is_boundary_vertex(), wmtk::invariants::MinIncidentValenceInvariant::is_greater_min_valence(), wmtk::simplex::link(), wmtk::simplex::link_condition_closed_tetmesh(), wmtk::simplex::link_condition_closed_trimesh(), wmtk::simplex::link_single_dimension(), wmtk::operations::utils::multi_mesh_edge_collapse_with_modified_simplices(), wmtk::Scheduler::run_operation_on_all_coloring(), wmtk::components::internal::set_operation_energy_filter(), wmtk::components::set_operation_energy_filter(), wmtk::components::internal::set_operation_energy_filter_after_sizing_field(), wmtk::components::set_operation_energy_filter_after_sizing_field(), wmtk::TetMesh::TetMeshOperationExecutor::split_edge(), TEST_CASE(), wmtk::components::triangle_insertion::triangle_insertion(), wmtk::operations::EdgeCollapse::unmodified_primitives(), and wmtk::components::internal::wildmeshing2d().

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

◆ vertex() [2/2]

static Simplex wmtk::simplex::Simplex::vertex ( const Tuple t)
inlinestatic

Definition at line 73 of file Simplex.hpp.

References Simplex(), and wmtk::Vertex.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ attribute::Accessor

template<typename T , typename MeshType , int Dim>
friend class attribute::Accessor
friend

Definition at line 28 of file Simplex.hpp.

◆ multimesh::MultiMeshManager

friend class multimesh::MultiMeshManager
friend

Definition at line 24 of file Simplex.hpp.

◆ NavigatableSimplex

friend class NavigatableSimplex
friend

Definition at line 30 of file Simplex.hpp.

◆ wmtk::Mesh

friend class wmtk::Mesh
friend

Definition at line 23 of file Simplex.hpp.

◆ wmtk::MeshCRTP

template<typename Derived >
friend class wmtk::MeshCRTP
friend

Definition at line 26 of file Simplex.hpp.

Member Data Documentation

◆ m_primitive_type

PrimitiveType wmtk::simplex::Simplex::m_primitive_type
private

Definition at line 31 of file Simplex.hpp.

Referenced by dimension(), and primitive_type().

◆ m_tuple

Tuple wmtk::simplex::Simplex::m_tuple
private

Definition at line 32 of file Simplex.hpp.

Referenced by tuple().


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