hemocell
Loading...
Searching...
No Matches
hemo::OctreeStructCell Class Reference

#include <octree.h>

Collaboration diagram for hemo::OctreeStructCell:

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