Wildmeshing Toolkit
test_component_wildmeshing.cpp File Reference
#include <catch2/catch_test_macros.hpp>
#include <nlohmann/json.hpp>
#include <wmtk/TetMesh.hpp>
#include <wmtk/Types.hpp>
#include <wmtk/components/input/input.hpp>
#include <wmtk/components/utils/Paths.hpp>
#include <wmtk/components/wildmeshing/wildmeshing.hpp>
#include <wmtk/io/Cache.hpp>
#include <wmtk/io/ParaviewWriter.hpp>
#include <wmtk/utils/mesh_utils.hpp>
#include <wmtk/utils/orient.hpp>
#include <wmtk/components/utils/get_attributes.hpp>
#include <wmtk/multimesh/consolidate.hpp>
#include <wmtk/utils/Logger.hpp>
#include <wmtk/Scheduler.hpp>
#include <wmtk/operations/attribute_new/SplitNewAttributeStrategy.hpp>
#include <wmtk/operations/attribute_update/AttributeTransferStrategy.hpp>
#include <wmtk/operations/AMIPSOptimizationSmoothing.hpp>
#include <wmtk/operations/AndOperationSequence.hpp>
#include <wmtk/operations/EdgeCollapse.hpp>
#include <wmtk/operations/EdgeSplit.hpp>
#include <wmtk/operations/MinOperationSequence.hpp>
#include <wmtk/operations/OptimizationSmoothing.hpp>
#include <wmtk/operations/OrOperationSequence.hpp>
#include <wmtk/operations/Rounding.hpp>
#include <wmtk/operations/composite/ProjectOperation.hpp>
#include <wmtk/operations/composite/TetEdgeSwap.hpp>
#include <wmtk/operations/composite/TetFaceSwap.hpp>
#include <wmtk/operations/composite/TriEdgeSwap.hpp>
#include <wmtk/function/LocalNeighborsSumFunction.hpp>
#include <wmtk/function/PerSimplexFunction.hpp>
#include <wmtk/function/simplex/AMIPS.hpp>
#include <wmtk/function/utils/amips.hpp>
#include <wmtk/invariants/CollapseEnergyBeforeInvariant.hpp>
#include <wmtk/invariants/EdgeValenceInvariant.hpp>
#include <wmtk/invariants/EnvelopeInvariant.hpp>
#include <wmtk/invariants/FunctionInvariant.hpp>
#include <wmtk/invariants/InteriorEdgeInvariant.hpp>
#include <wmtk/invariants/InteriorSimplexInvariant.hpp>
#include <wmtk/invariants/InteriorVertexInvariant.hpp>
#include <wmtk/invariants/MaxFunctionInvariant.hpp>
#include <wmtk/invariants/MultiMeshLinkConditionInvariant.hpp>
#include <wmtk/invariants/NoBoundaryCollapseToInteriorInvariant.hpp>
#include <wmtk/invariants/RoundedInvariant.hpp>
#include <wmtk/invariants/SeparateSubstructuresInvariant.hpp>
#include <wmtk/invariants/SimplexInversionInvariant.hpp>
#include <wmtk/invariants/Swap23EnergyBeforeInvariant.hpp>
#include <wmtk/invariants/Swap32EnergyBeforeInvariant.hpp>
#include <wmtk/invariants/Swap44EnergyBeforeInvariant.hpp>
#include <wmtk/invariants/Swap56EnergyBeforeInvariant.hpp>
#include <wmtk/invariants/TodoInvariant.hpp>
#include <fstream>

Go to the source code of this file.

Typedefs

using json = nlohmann::json
 

Functions

 TEST_CASE ("wildmeshing", "[components][wildmeshing][.]")
 
 TEST_CASE ("wildmeshing_3d", "[components][wildmeshing][.]")
 
 TEST_CASE ("wildmeshing_3d_multimesh", "[components][wildmeshing][.]")
 
void run_tetwild_test (const std::string &path, const std::string &name, std::function< std::shared_ptr< Operation >(Mesh &, std::shared_ptr< Rounding > &, MeshAttributeHandle &, MeshAttributeHandle &, std::vector< attribute::MeshAttributeHandle > &, std::shared_ptr< wmtk::operations::SingleAttributeTransferStrategy< double, Rational >> &, std::shared_ptr< wmtk::operations::SingleAttributeTransferStrategy< double, Rational >> &, std::shared_ptr< wmtk::operations::SingleAttributeTransferStrategy< char, Rational >> &)> create_op)
 
 TEST_CASE ("tetwild-split", "[components][wildmeshing][.]")
 
 TEST_CASE ("tetwild-collapse", "[components][wildmeshing][.]")
 
 TEST_CASE ("tetwild-collapse-twoway", "[components][wildmeshing][.]")
 
 TEST_CASE ("tetwild-collapse-simulated", "[components][wildmeshing][.]")
 
 TEST_CASE ("tetwild-swap", "[components][wildmeshing][.]")
 

Variables

const std::filesystem::path data_dir = WMTK_DATA_DIR
 

Typedef Documentation

◆ json

using json = nlohmann::json

Definition at line 73 of file test_component_wildmeshing.cpp.

Function Documentation

◆ run_tetwild_test()

void run_tetwild_test ( const std::string &  path,
const std::string &  name,
std::function< std::shared_ptr< Operation >(Mesh &, std::shared_ptr< Rounding > &, MeshAttributeHandle &, MeshAttributeHandle &, std::vector< attribute::MeshAttributeHandle > &, std::shared_ptr< wmtk::operations::SingleAttributeTransferStrategy< double, Rational >> &, std::shared_ptr< wmtk::operations::SingleAttributeTransferStrategy< double, Rational >> &, std::shared_ptr< wmtk::operations::SingleAttributeTransferStrategy< char, Rational >> &)>  create_op 
)

Definition at line 151 of file test_component_wildmeshing.cpp.

◆ TEST_CASE() [1/8]

TEST_CASE ( "tetwild-collapse"  ,
""  [components][wildmeshing][.] 
)

Definition at line 579 of file test_component_wildmeshing.cpp.

◆ TEST_CASE() [2/8]

TEST_CASE ( "tetwild-collapse-simulated"  ,
""  [components][wildmeshing][.] 
)

Definition at line 813 of file test_component_wildmeshing.cpp.

◆ TEST_CASE() [3/8]

TEST_CASE ( "tetwild-collapse-twoway"  ,
""  [components][wildmeshing][.] 
)

Definition at line 683 of file test_component_wildmeshing.cpp.

◆ TEST_CASE() [4/8]

TEST_CASE ( "tetwild-split"  ,
""  [components][wildmeshing][.] 
)

Definition at line 467 of file test_component_wildmeshing.cpp.

◆ TEST_CASE() [5/8]

TEST_CASE ( "tetwild-swap"  ,
""  [components][wildmeshing][.] 
)

Definition at line 956 of file test_component_wildmeshing.cpp.

◆ TEST_CASE() [6/8]

TEST_CASE ( "wildmeshing"  ,
""  [components][wildmeshing][.] 
)

Definition at line 77 of file test_component_wildmeshing.cpp.

References data_dir, and wmtk::components::input::input().

Here is the call graph for this function:

◆ TEST_CASE() [7/8]

TEST_CASE ( "wildmeshing_3d"  ,
""  [components][wildmeshing][.] 
)

Definition at line 96 of file test_component_wildmeshing.cpp.

◆ TEST_CASE() [8/8]

TEST_CASE ( "wildmeshing_3d_multimesh"  ,
""  [components][wildmeshing][.] 
)

Definition at line 124 of file test_component_wildmeshing.cpp.

Variable Documentation

◆ data_dir

const std::filesystem::path data_dir = WMTK_DATA_DIR

Definition at line 75 of file test_component_wildmeshing.cpp.

Referenced by TEST_CASE().