Wildmeshing Toolkit
wmtk::components::AABBWrapper Class Reference

Public Member Functions

 AABBWrapper (const std::vector< Eigen::Vector3d > &vertices, const std::vector< Eigen::Vector3i > &faces, double envelope_size, double sampling_dist, bool use_sampling)
 
bool is_out (const std::array< Vector3, 3 > &triangle) const
 
bool is_out_envelope (const SimpleBVH::VectorMax3d &p, int &prev_facet) const
 
bool is_out_using_sampling (const std::array< Vector3, 3 > &vs) const
 
void project_to_sf (Vector3 &p) const
 

Private Attributes

std::shared_ptr< fastEnvelope::FastEnvelope > m_envelope = nullptr
 
std::shared_ptr< SimpleBVH::BVH > m_bvh = nullptr
 
const double m_envelope_size2
 
const double m_sampling_dist
 
const bool m_use_sampling
 
std::vector< std::array< SimpleBVH::VectorMax3d, 3 > > m_facets
 

Detailed Description

Definition at line 72 of file tetwild_simplification.cpp.

Constructor & Destructor Documentation

◆ AABBWrapper()

wmtk::components::AABBWrapper::AABBWrapper ( const std::vector< Eigen::Vector3d > &  vertices,
const std::vector< Eigen::Vector3i > &  faces,
double  envelope_size,
double  sampling_dist,
bool  use_sampling 
)
inline

Definition at line 75 of file tetwild_simplification.cpp.

References wmtk::simplex::faces(), m_bvh, m_envelope, m_facets, wmtk::simplex::SimplexCollection::size(), and wmtk::simplex::vertices().

Here is the call graph for this function:

Member Function Documentation

◆ is_out()

bool wmtk::components::AABBWrapper::is_out ( const std::array< Vector3, 3 > &  triangle) const
inline

Definition at line 99 of file tetwild_simplification.cpp.

References is_out_using_sampling(), m_envelope, and m_use_sampling.

Referenced by wmtk::components::is_out_envelope().

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

◆ is_out_envelope()

bool wmtk::components::AABBWrapper::is_out_envelope ( const SimpleBVH::VectorMax3d &  p,
int &  prev_facet 
) const
inline

Definition at line 107 of file tetwild_simplification.cpp.

References m_bvh, and m_envelope_size2.

Referenced by is_out_using_sampling().

Here is the caller graph for this function:

◆ is_out_using_sampling()

bool wmtk::components::AABBWrapper::is_out_using_sampling ( const std::array< Vector3, 3 > &  vs) const
inline

Definition at line 125 of file tetwild_simplification.cpp.

References is_out_envelope(), m_sampling_dist, and wmtk::components::mod3().

Referenced by is_out().

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

◆ project_to_sf()

void wmtk::components::AABBWrapper::project_to_sf ( Vector3 p) const
inline

Definition at line 236 of file tetwild_simplification.cpp.

References m_bvh.

Member Data Documentation

◆ m_bvh

std::shared_ptr<SimpleBVH::BVH> wmtk::components::AABBWrapper::m_bvh = nullptr
private

Definition at line 249 of file tetwild_simplification.cpp.

Referenced by AABBWrapper(), is_out_envelope(), and project_to_sf().

◆ m_envelope

std::shared_ptr<fastEnvelope::FastEnvelope> wmtk::components::AABBWrapper::m_envelope = nullptr
private

Definition at line 248 of file tetwild_simplification.cpp.

Referenced by AABBWrapper(), and is_out().

◆ m_envelope_size2

const double wmtk::components::AABBWrapper::m_envelope_size2
private

Definition at line 250 of file tetwild_simplification.cpp.

Referenced by is_out_envelope().

◆ m_facets

std::vector<std::array<SimpleBVH::VectorMax3d, 3> > wmtk::components::AABBWrapper::m_facets
private

Definition at line 253 of file tetwild_simplification.cpp.

Referenced by AABBWrapper().

◆ m_sampling_dist

const double wmtk::components::AABBWrapper::m_sampling_dist
private

Definition at line 251 of file tetwild_simplification.cpp.

Referenced by is_out_using_sampling().

◆ m_use_sampling

const bool wmtk::components::AABBWrapper::m_use_sampling
private

Definition at line 252 of file tetwild_simplification.cpp.

Referenced by is_out().


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