libigl v2.5.0
Loading...
Searching...
No Matches
igl::WindingNumberTree< Point, DerivedV, DerivedF > Class Template Reference

Space partitioning tree for computing winding number hierarchically. More...

#include <WindingNumberTree.h>

Inheritance diagram for igl::WindingNumberTree< Point, DerivedV, DerivedF >:
igl::WindingNumberAABB< Point, DerivedV, DerivedF >

Public Member Functions

 WindingNumberTree ()
 
 WindingNumberTree (const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F)
 
 WindingNumberTree (const WindingNumberTree< Point, DerivedV, DerivedF > &parent, const Eigen::MatrixBase< DerivedF > &F)
 
virtual ~WindingNumberTree ()
 
void delete_children ()
 
virtual void set_mesh (const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F)
 
void set_method (const WindingNumberMethod &m)
 
const DerivedV & getV () const
 
const MatrixXFgetF () const
 
const MatrixXFgetcap () const
 
virtual void grow ()
 
virtual bool inside (const Point &p) const
 
DerivedV::Scalar winding_number (const Point &p) const
 
DerivedV::Scalar winding_number_all (const Point &p) const
 
DerivedV::Scalar winding_number_boundary (const Point &p) const
 
void print (const char *tab="")
 
virtual DerivedV::Scalar max_abs_winding_number (const Point &p) const
 
virtual DerivedV::Scalar max_simple_abs_winding_number (const Point &p) const
 
virtual DerivedV::Scalar cached_winding_number (const WindingNumberTree &that, const Point &p) const
 

Static Public Attributes

static std::map< std::pair< const WindingNumberTree *, const WindingNumberTree * >, typename DerivedV::Scalar > cached
 
static DerivedV dummyV
 

Protected Types

typedef Eigen::Matrix< typename DerivedV::Scalar, Eigen::Dynamic, Eigen::Dynamic > MatrixXS
 
typedef Eigen::Matrix< typename DerivedF::Scalar, Eigen::Dynamic, Eigen::Dynamic > MatrixXF
 

Protected Attributes

WindingNumberMethod method
 
const WindingNumberTreeparent
 
std::list< WindingNumberTree * > children
 
DerivedV & V
 
MatrixXS SV
 
MatrixXF F
 
MatrixXF cap
 
DerivedV::Scalar radius
 
Point center
 

Detailed Description

template<typename Point, typename DerivedV, typename DerivedF>
class igl::WindingNumberTree< Point, DerivedV, DerivedF >

Space partitioning tree for computing winding number hierarchically.

Template Parameters
Pointtype for points in space, e.g. Eigen::Vector3d

Member Typedef Documentation

◆ MatrixXS

template<typename Point , typename DerivedV , typename DerivedF >
typedef Eigen::Matrix<typename DerivedV::Scalar,Eigen::Dynamic,Eigen::Dynamic> igl::WindingNumberTree< Point, DerivedV, DerivedF >::MatrixXS
protected

◆ MatrixXF

template<typename Point , typename DerivedV , typename DerivedF >
typedef Eigen::Matrix<typename DerivedF::Scalar,Eigen::Dynamic,Eigen::Dynamic> igl::WindingNumberTree< Point, DerivedV, DerivedF >::MatrixXF
protected

Constructor & Destructor Documentation

◆ WindingNumberTree() [1/3]

template<typename Point , typename DerivedV , typename DerivedF >
igl::WindingNumberTree< Point, DerivedV, DerivedF >::WindingNumberTree ( )
inline

◆ WindingNumberTree() [2/3]

template<typename Point , typename DerivedV , typename DerivedF >
igl::WindingNumberTree< Point, DerivedV, DerivedF >::WindingNumberTree ( const Eigen::MatrixBase< DerivedV > &  V,
const Eigen::MatrixBase< DerivedF > &  F 
)
inline

◆ WindingNumberTree() [3/3]

template<typename Point , typename DerivedV , typename DerivedF >
igl::WindingNumberTree< Point, DerivedV, DerivedF >::WindingNumberTree ( const WindingNumberTree< Point, DerivedV, DerivedF > &  parent,
const Eigen::MatrixBase< DerivedF > &  F 
)
inline

◆ ~WindingNumberTree()

template<typename Point , typename DerivedV , typename DerivedF >
igl::WindingNumberTree< Point, DerivedV, DerivedF >::~WindingNumberTree< Point, DerivedV, DerivedF > ( )
inlinevirtual

Member Function Documentation

◆ delete_children()

template<typename Point , typename DerivedV , typename DerivedF >
void igl::WindingNumberTree< Point, DerivedV, DerivedF >::delete_children ( )
inline

◆ set_mesh()

template<typename Point , typename DerivedV , typename DerivedF >
void igl::WindingNumberTree< Point, DerivedV, DerivedF >::set_mesh ( const Eigen::MatrixBase< DerivedV > &  V,
const Eigen::MatrixBase< DerivedF > &  F 
)
inlinevirtual

◆ set_method()

template<typename Point , typename DerivedV , typename DerivedF >
void igl::WindingNumberTree< Point, DerivedV, DerivedF >::set_method ( const WindingNumberMethod m)
inline

◆ getV()

template<typename Point , typename DerivedV , typename DerivedF >
const DerivedV & igl::WindingNumberTree< Point, DerivedV, DerivedF >::getV ( ) const
inline

◆ getF()

template<typename Point , typename DerivedV , typename DerivedF >
const igl::WindingNumberTree< Point, DerivedV, DerivedF >::MatrixXF & igl::WindingNumberTree< Point, DerivedV, DerivedF >::getF ( ) const
inline

◆ getcap()

template<typename Point , typename DerivedV , typename DerivedF >
const igl::WindingNumberTree< Point, DerivedV, DerivedF >::MatrixXF & igl::WindingNumberTree< Point, DerivedV, DerivedF >::getcap ( ) const
inline

◆ grow()

template<typename Point , typename DerivedV , typename DerivedF >
void igl::WindingNumberTree< Point, DerivedV, DerivedF >::grow ( )
inlinevirtual

◆ inside()

template<typename Point , typename DerivedV , typename DerivedF >
bool igl::WindingNumberTree< Point, DerivedV, DerivedF >::inside ( const Point &  p) const
inlinevirtual

◆ winding_number()

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV::Scalar igl::WindingNumberTree< Point, DerivedV, DerivedF >::winding_number ( const Point &  p) const
inline

◆ winding_number_all()

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV::Scalar igl::WindingNumberTree< Point, DerivedV, DerivedF >::winding_number_all ( const Point &  p) const
inline

◆ winding_number_boundary()

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV::Scalar igl::WindingNumberTree< Point, DerivedV, DerivedF >::winding_number_boundary ( const Point &  p) const
inline

◆ print()

template<typename Point , typename DerivedV , typename DerivedF >
void igl::WindingNumberTree< Point, DerivedV, DerivedF >::print ( const char *  tab = "")
inline

◆ max_abs_winding_number()

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV::Scalar igl::WindingNumberTree< Point, DerivedV, DerivedF >::max_abs_winding_number ( const Point &  p) const
inlinevirtual

◆ max_simple_abs_winding_number()

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV::Scalar igl::WindingNumberTree< Point, DerivedV, DerivedF >::max_simple_abs_winding_number ( const Point &  p) const
inlinevirtual

◆ cached_winding_number()

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV::Scalar igl::WindingNumberTree< Point, DerivedV, DerivedF >::cached_winding_number ( const WindingNumberTree< Point, DerivedV, DerivedF > &  that,
const Point &  p 
) const
inlinevirtual

Member Data Documentation

◆ cached

template<typename Point , typename DerivedV , typename DerivedF >
std::map< std::pair< const igl::WindingNumberTree< Point, DerivedV, DerivedF > *, const igl::WindingNumberTree< Point, DerivedV, DerivedF > * >, typename DerivedV::Scalar > igl::WindingNumberTree< Point, DerivedV, DerivedF >::cached
static

◆ dummyV

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV igl::WindingNumberTree< Point, DerivedV, DerivedF >::dummyV
static

◆ method

template<typename Point , typename DerivedV , typename DerivedF >
WindingNumberMethod igl::WindingNumberTree< Point, DerivedV, DerivedF >::method
protected

◆ parent

template<typename Point , typename DerivedV , typename DerivedF >
const WindingNumberTree* igl::WindingNumberTree< Point, DerivedV, DerivedF >::parent
protected

◆ children

template<typename Point , typename DerivedV , typename DerivedF >
std::list<WindingNumberTree * > igl::WindingNumberTree< Point, DerivedV, DerivedF >::children
protected

◆ V

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV& igl::WindingNumberTree< Point, DerivedV, DerivedF >::V
protected

◆ SV

template<typename Point , typename DerivedV , typename DerivedF >
MatrixXS igl::WindingNumberTree< Point, DerivedV, DerivedF >::SV
protected

◆ F

template<typename Point , typename DerivedV , typename DerivedF >
MatrixXF igl::WindingNumberTree< Point, DerivedV, DerivedF >::F
protected

◆ cap

template<typename Point , typename DerivedV , typename DerivedF >
MatrixXF igl::WindingNumberTree< Point, DerivedV, DerivedF >::cap
protected

◆ radius

template<typename Point , typename DerivedV , typename DerivedF >
DerivedV::Scalar igl::WindingNumberTree< Point, DerivedV, DerivedF >::radius
protected

◆ center

template<typename Point , typename DerivedV , typename DerivedF >
Point igl::WindingNumberTree< Point, DerivedV, DerivedF >::center
protected

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