Wildmeshing Toolkit
Loading...
Searching...
No Matches
EnvelopeInvariant.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Invariant.hpp
"
4
5
6
#include <memory>
7
#include <
wmtk/attribute/MeshAttributeHandle.hpp
>
8
#include <
wmtk/utils/Rational.hpp
>
9
10
namespace
fastEnvelope
{
11
class
FastEnvelope;
12
}
13
namespace
SimpleBVH
{
14
class
BVH;
15
}
16
17
namespace
wmtk::invariants
{
18
19
class
EnvelopeInvariant
:
public
Invariant
20
{
21
public
:
22
EnvelopeInvariant
(
23
const
attribute::MeshAttributeHandle
& envelope_mesh_coordinate,
24
double
envelope_size,
25
const
attribute::MeshAttributeHandle
& coordinate);
26
27
bool
after
(
28
const
std::vector<Tuple>& top_dimension_tuples_before,
29
const
std::vector<Tuple>& top_dimension_tuples_after)
const override
;
30
31
private
:
32
std::shared_ptr<fastEnvelope::FastEnvelope>
m_envelope
=
nullptr
;
33
std::shared_ptr<SimpleBVH::BVH>
m_bvh
=
nullptr
;
34
const
attribute::MeshAttributeHandle
m_coordinate_handle
;
35
36
const
double
m_envelope_size
;
37
};
38
}
// namespace wmtk::invariants
Invariant.hpp
MeshAttributeHandle.hpp
Rational.hpp
wmtk::attribute::MeshAttributeHandle
Definition
MeshAttributeHandle.hpp:28
wmtk::invariants::EnvelopeInvariant
Definition
EnvelopeInvariant.hpp:20
wmtk::invariants::EnvelopeInvariant::m_envelope
std::shared_ptr< fastEnvelope::FastEnvelope > m_envelope
Definition
EnvelopeInvariant.hpp:32
wmtk::invariants::EnvelopeInvariant::after
bool after(const std::vector< Tuple > &top_dimension_tuples_before, const std::vector< Tuple > &top_dimension_tuples_after) const override
Definition
EnvelopeInvariant.cpp:169
wmtk::invariants::EnvelopeInvariant::m_envelope_size
const double m_envelope_size
Definition
EnvelopeInvariant.hpp:36
wmtk::invariants::EnvelopeInvariant::m_bvh
std::shared_ptr< SimpleBVH::BVH > m_bvh
Definition
EnvelopeInvariant.hpp:33
wmtk::invariants::EnvelopeInvariant::m_coordinate_handle
const attribute::MeshAttributeHandle m_coordinate_handle
Definition
EnvelopeInvariant.hpp:34
wmtk::invariants::Invariant
Definition
Invariant.hpp:12
SimpleBVH
Definition
EnvelopeInvariant.hpp:13
fastEnvelope
Definition
EnvelopeInvariant.hpp:10
wmtk::invariants
Definition
CollapseEnergyBeforeInvariant.cpp:11
src
wmtk
invariants
EnvelopeInvariant.hpp
Generated by
1.9.8