mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-25 01:31:14 -06:00
Merged branch 'dev_native' into lm_sla_supports_auto
Added igl library files
This commit is contained in:
commit
7681d00ee5
2865 changed files with 142806 additions and 22325 deletions
49
src/igl/dfs.h
Normal file
49
src/igl/dfs.h
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#ifndef IGL_DFS_H
|
||||
#define IGL_DFS_H
|
||||
#include "igl_inline.h"
|
||||
#include <Eigen/Core>
|
||||
#include <vector>
|
||||
namespace igl
|
||||
{
|
||||
// Traverse a **directed** graph represented by an adjacency list using
|
||||
// depth first search
|
||||
//
|
||||
// Inputs:
|
||||
// A #V list of adjacency lists
|
||||
// s starting node (index into A)
|
||||
// Outputs:
|
||||
// D #V list of indices into rows of A in the order in which graph nodes
|
||||
// are discovered.
|
||||
// P #V list of indices into rows of A of predecessor in resulting
|
||||
// spanning tree {-1 indicates root/not discovered), order corresponds to
|
||||
// V **not** D.
|
||||
// C #V list of indices into rows of A in order that nodes are "closed"
|
||||
// (all descendants have been discovered)
|
||||
template <
|
||||
typename AType,
|
||||
typename DerivedD,
|
||||
typename DerivedP,
|
||||
typename DerivedC>
|
||||
IGL_INLINE void dfs(
|
||||
const std::vector<std::vector<AType> > & A,
|
||||
const size_t s,
|
||||
Eigen::PlainObjectBase<DerivedD> & D,
|
||||
Eigen::PlainObjectBase<DerivedP> & P,
|
||||
Eigen::PlainObjectBase<DerivedC> & C);
|
||||
template <
|
||||
typename AType,
|
||||
typename DType,
|
||||
typename PType,
|
||||
typename CType>
|
||||
IGL_INLINE void dfs(
|
||||
const std::vector<std::vector<AType> > & A,
|
||||
const size_t s,
|
||||
std::vector<DType> & D,
|
||||
std::vector<PType> & P,
|
||||
std::vector<CType> & C);
|
||||
|
||||
}
|
||||
#ifndef IGL_STATIC_LIBRARY
|
||||
# include "dfs.cpp"
|
||||
#endif
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue