Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfSpace_cell.h File Reference
#include "tf_platform.h"
#include <mdcore_config.h>
#include <pthread.h>
#include <random>
#include <iostream>
Include dependency graph for tfSpace_cell.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TissueForge::space_cell
 the space_cell structure More...
 

Namespaces

namespace  TissueForge
 Include Python header, disable linking to pythonX_d.lib on Windows in debug mode.
 

Macros

#define cell_default_size   256
 
#define cell_incr   10
 
#define cell_partalign   64
 

Typedefs

typedef struct TissueForge::space_cell TissueForge::space_cell
 the space_cell structure
 

Enumerations

enum  TissueForge::CellFlags {
  cell_flag_none = 0 , cell_flag_ghost = 1 << 0 , cell_flag_wait = 1 << 1 , cell_flag_waited = 1 << 2 ,
  cell_flag_marked = 1 << 3 , cell_flag_large = 1 << 4 , cell_active_top = 1 << 5 , cell_active_bottom = 1 << 6 ,
  cell_active_left = 1 << 7 , cell_active_right = 1 << 8 , cell_active_front = 1 << 9 , cell_active_back = 1 << 10 ,
  cell_periodic_top = 1 << 11 , cell_periodic_bottom = 1 << 12 , cell_periodic_left = 1 << 13 , cell_periodic_right = 1 << 14 ,
  cell_periodic_front = 1 << 15 , cell_periodic_back = 1 << 16 , cell_periodic_x = cell_periodic_left | cell_periodic_right , cell_periodic_y = cell_periodic_front | cell_periodic_back ,
  cell_periodic_z = cell_periodic_top | cell_periodic_bottom , cell_active_x = cell_active_left | cell_active_right , cell_active_y = cell_active_front | cell_active_back , cell_active_z = cell_active_top | cell_active_bottom ,
  cell_active_any
}
 

Functions

HRESULT TissueForge::space_cell_init (struct space_cell *c, int *loc, FPTYPE *origin, FPTYPE *dim)
 Initialize the given cell.
 
struct ParticleTissueForge::space_cell_add (struct space_cell *c, struct Particle *p, struct Particle **partlist)
 Add a particle to a cell.
 
HRESULT TissueForge::space_cell_remove (struct space_cell *c, struct Particle *p, struct Particle **partlist)
 Remove a particle from a cell.
 
struct ParticleTissueForge::space_cell_add_incomming (struct space_cell *c, struct Particle *p)
 Add a particle to the incomming array of a cell.
 
int TissueForge::space_cell_add_incomming_multiple (struct space_cell *c, struct Particle *p, int count)
 Add one or more particles to the incomming array of a cell.
 
HRESULT TissueForge::space_cell_welcome (struct space_cell *c, struct Particle **partlist)
 Move particles from the incomming buffer to the cell.
 
HRESULT TissueForge::space_cell_load (struct space_cell *c, struct Particle *parts, int nr_parts, struct Particle **partlist, struct space_cell **celllist)
 Load a block of particles to the cell.
 
FPTYPE TissueForge::space_cell_gaussian (int cell_id)
 
HRESULT TissueForge::space_cell_flush (struct space_cell *c, struct Particle **partlist, struct space_cell **celllist)
 Flush all the parts from a #cell.
 
std::ostream & operator<< (std::ostream &os, const TissueForge::space_cell *)
 

Variables

const char TissueForge::cell_sortlistID [27]
 
const FPTYPE TissueForge::cell_shift [13 *3]
 
const char TissueForge::cell_flip [27]
 

Macro Definition Documentation

◆ cell_partalign

#define cell_partalign   64

Alignment when allocating parts.