hemocell
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
hemo::OctreeStructCell Class Reference

#include <octree.h>

Collaboration diagram for hemo::OctreeStructCell:
Collaboration graph
[legend]

Public Member Functions

 OctreeStructCell (plint divis, plint l, unsigned int lim, hemo::Array< double, 6 > bbox, std::vector< hemo::Array< plint, 3 > > triangle_list_, std::vector< HemoCellParticle > &part, const std::vector< int > cell)
 
 OctreeStructCell (plint divis, plint l, unsigned int lim, std::vector< hemo::Array< plint, 3 > > triangle_list_, std::vector< HemoCellParticle > &part, const std::vector< int > cell)
 
 ~OctreeStructCell ()
 
void constructTree (std::vector< HemoCellParticle > &part, std::vector< int > cell, std::vector< hemo::Array< plint, 3 > > triangle_list_)
 
int returnTrianglesAmount ()
 
void findCrossings (hemo::Array< plint, 3 > latticeSite, std::vector< hemo::Array< plint, 3 > > &)
 
template<template< typename U > class Descriptor>
void findInnerNodes (plb::BlockLattice3D< T, Descriptor > *fluid, std::vector< HemoCellParticle > &particles, const std::vector< int > &cell, std::vector< plb::Cell< T, Descriptor > * > &innerNodes)
 
template<template< typename U > class Descriptor>
void findInnerNodes (plb::BlockLattice3D< T, Descriptor > *fluid, std::vector< HemoCellParticle > &particles, const std::vector< int > &cell, std::set< Array< plint, 3 > > &innerNodes)
 

Private Member Functions

void sharedConstructor (plint divis, plint l, unsigned int lim, std::vector< hemo::Array< plint, 3 > > triangle_list_, std::vector< HemoCellParticle > &part, const std::vector< int > cell)
 

Private Attributes

hemo::Array< T, 6 > bBox
 
std::vector< hemo::Array< plint, 3 > > triangle_list = {}
 
OctreeStructCellnodes [8]
 
plint maxDivisions
 
plint level
 
bool finalNode = false
 
plint limit
 

Constructor & Destructor Documentation

◆ OctreeStructCell() [1/2]

hemo::OctreeStructCell::OctreeStructCell ( plint  divis,
plint  l,
unsigned int  lim,
hemo::Array< double, 6 >  bbox,
std::vector< hemo::Array< plint, 3 > >  triangle_list_,
std::vector< HemoCellParticle > &  part,
const std::vector< int >  cell 
)

◆ OctreeStructCell() [2/2]

hemo::OctreeStructCell::OctreeStructCell ( plint  divis,
plint  l,
unsigned int  lim,
std::vector< hemo::Array< plint, 3 > >  triangle_list_,
std::vector< HemoCellParticle > &  part,
const std::vector< int >  cell 
)

◆ ~OctreeStructCell()

hemo::OctreeStructCell::~OctreeStructCell ( )

Member Function Documentation

◆ constructTree()

void hemo::OctreeStructCell::constructTree ( std::vector< HemoCellParticle > &  part,
std::vector< int >  cell,
std::vector< hemo::Array< plint, 3 > >  triangle_list_ 
)

◆ findCrossings()

void hemo::OctreeStructCell::findCrossings ( hemo::Array< plint, 3 >  latticeSite,
std::vector< hemo::Array< plint, 3 > > &  output 
)

◆ findInnerNodes() [1/2]

template<template< typename U > class Descriptor>
void hemo::OctreeStructCell::findInnerNodes ( plb::BlockLattice3D< T, Descriptor > *  fluid,
std::vector< HemoCellParticle > &  particles,
const std::vector< int > &  cell,
std::set< Array< plint, 3 > > &  innerNodes 
)
inline

◆ findInnerNodes() [2/2]

template<template< typename U > class Descriptor>
void hemo::OctreeStructCell::findInnerNodes ( plb::BlockLattice3D< T, Descriptor > *  fluid,
std::vector< HemoCellParticle > &  particles,
const std::vector< int > &  cell,
std::vector< plb::Cell< T, Descriptor > * > &  innerNodes 
)
inline

◆ returnTrianglesAmount()

int hemo::OctreeStructCell::returnTrianglesAmount ( )

◆ sharedConstructor()

void hemo::OctreeStructCell::sharedConstructor ( plint  divis,
plint  l,
unsigned int  lim,
std::vector< hemo::Array< plint, 3 > >  triangle_list_,
std::vector< HemoCellParticle > &  part,
const std::vector< int >  cell 
)
private

Member Data Documentation

◆ bBox

hemo::Array<T, 6> hemo::OctreeStructCell::bBox
private

◆ finalNode

bool hemo::OctreeStructCell::finalNode = false
private

◆ level

plint hemo::OctreeStructCell::level
private

◆ limit

plint hemo::OctreeStructCell::limit
private

◆ maxDivisions

plint hemo::OctreeStructCell::maxDivisions
private

◆ nodes

OctreeStructCell* hemo::OctreeStructCell::nodes[8]
private

◆ triangle_list

std::vector<hemo::Array<plint,3> > hemo::OctreeStructCell::triangle_list = {}
private