40#ifndef LM_BUILDER_LATTICEBUILDER_H_ 
   41#define LM_BUILDER_LATTICEBUILDER_H_ 
uint32_t particle_t
Definition ByteLatticeExtended.h:19
uint32_t site_t
Definition Lattice.h:74
double si_dist_t
Definition Types.h:63
unsigned int uint
Definition Types.h:52
uint * collisionGridSize
Definition LatticeBuilder.h:175
uint collisionGridXSize
Definition LatticeBuilder.h:179
Shape *** collisionGrid
Definition LatticeBuilder.h:174
std::vector< site_t > definedRegions
Definition LatticeBuilder.h:165
virtual void discretizeObstaclesTo(lm::rdme::Lattice *lattice, site_t obstacleSiteType, double fractionObstacleSitesOccupied)
Discretizes the obstacles to a square lattice.
Definition LatticeBuilder.cpp:613
virtual void removeSphere(point center, si_dist_t radius, site_t type)
Remove a sphere in the lattice (for obstacles)
Definition LatticeBuilder.cpp:254
uint * collisionGridOccupancy
Definition LatticeBuilder.h:176
std::vector< Shape * > objects
Definition LatticeBuilder.h:168
uint collisionGridZSize
Definition LatticeBuilder.h:179
std::map< site_t, std::vector< Shape * > > regionShapes
Definition LatticeBuilder.h:166
virtual ~LatticeBuilder()
Definition LatticeBuilder.cpp:118
si_dist_t zLen
Definition LatticeBuilder.h:162
si_dist_t collisionGridSpacing
Definition LatticeBuilder.h:177
std::vector< ParticlePlacement > particles
Definition LatticeBuilder.h:171
virtual void addRegion(Shape *shape)
Add a region to the lattice.
Definition LatticeBuilder.cpp:134
virtual void getSpatialModel(lm::io::SpatialModel *spatialModel)
Gets a spatial model of the lattice for interface with python. NOTE: this operation clears the object...
Definition LatticeBuilder.cpp:344
si_dist_t xLen
Definition LatticeBuilder.h:162
virtual void fillWithRandomSpheres(double volumeFraction, si_dist_t radius, site_t type, site_t region)
Fill a region with random spheres to a specified volume fraction.
Definition LatticeBuilder.cpp:322
RandomGenerator * rng
Definition LatticeBuilder.h:182
virtual void addParticles(particle_t particleType, site_t siteType, uint count)
Add particles of a given type.
Definition LatticeBuilder.cpp:563
virtual bool placeObject(Shape *shape)
Add an shape to the lattice.
Definition LatticeBuilder.cpp:159
LatticeBuilder(si_dist_t xLen, si_dist_t yLen, si_dist_t zLen, si_dist_t collisionGridSpacing, uint32_t seedTop, uint32_t seedBottom=0)
Create a Lattice Builder.
Definition LatticeBuilder.cpp:76
si_dist_t yLen
Definition LatticeBuilder.h:162
virtual void removeObject(Shape *s)
Remove the shape from the lattice.
Definition LatticeBuilder.cpp:225
virtual bool placeSphere(point center, si_dist_t radius, site_t type)
Place a sphere in the lattice (for obstacles)
Definition LatticeBuilder.cpp:248
uint collisionGridYSize
Definition LatticeBuilder.h:179
virtual void placeRandomSpheres(uint count, si_dist_t radius, site_t type, site_t region)
Place many spheres randomly in the lattice (for obstacles)
Definition LatticeBuilder.cpp:312
virtual uint placeRandomSphere(si_dist_t radius, site_t type, site_t region)
Place a sphere randomly in the lattice (for obstacles)
Definition LatticeBuilder.cpp:261
double recipCollisionGridSpacing
Definition LatticeBuilder.h:178
std::map< site_t, bounding_box > regionBounds
Definition LatticeBuilder.h:167
virtual void discretizeTo(lm::rdme::Lattice *lattice, site_t obstacleSiteType, double fractionObstacleSitesOccupied)
Discretizes the regions to a square lattice.
Definition LatticeBuilder.cpp:568
Abstract base class for all the shapes in Lattice Microbes simulation builder.
Definition Shape.h:305
Base class for lattice type objects.
Definition Lattice.h:132
Base class for random number generators in Lattice Microbes.
Definition RandomGenerator.h:51
Definition Capsule.cpp:47
Definition LatticeBuilder.h:56
Definition LatticeBuilder.h:60
Definition Capsule.cpp:46
particle_t particleType
Definition LatticeBuilder.h:75
ParticlePlacement(particle_t particleType, site_t siteType, uint count)
Create a ParticlePlacement placement operation.
Definition LatticeBuilder.h:82
site_t siteType
Definition LatticeBuilder.h:76
uint count
Definition LatticeBuilder.h:77
Type to store a position in space.
Definition Shape.h:67