| Lattice Microbes 2.5
    This is for whole cell modeling | 
Abstract base class for all the shapes in Lattice Microbes simulation builder. More...
#include <Shape.h>
| Public Types | |
| enum | ShapeType { SPHERE = 1 , HEMISPHERE = 2 , CYLINDER = 3 , CAPSULE = 4 , CUBOID = 5 , CAPSULE_SHELL = 6 , UNION = 7 , DIFFERENCE = 8 , INTERSECTION = 9 , MESH = 10 , TORUS = 11 , ELLIPSE = 12 , CONE = 13 , UNIONSET = 14 } | 
| Possible shape types that can be used in Lattice Microbes.  More... | |
| Public Member Functions | |
| Shape (ShapeType shapeType, bounding_box boundingBox, site_t type, vector at=vector(0.0, 0.0, 1.0), vector up=vector(0.0, 1.0, 0.0)) | |
| Create a Shape. | |
| virtual | ~Shape () | 
| Destroy the Shape. | |
| virtual bool | boundingBoxesIntersect (Shape *query) | 
| Checks if another shape's bounding box interstects with this shape's bounding box. | |
| virtual bool | intersects (Shape *query)=0 | 
| Check if two shapes intersect. | |
| virtual bool | contains (point query)=0 | 
| Determine if the shape contains the specified point. | |
| virtual bool | contains (Shape *query)=0 | 
| Determine if the shape contains the specified shape. | |
| virtual bounding_box | getBoundingBox () | 
| Get the bounding box. | |
| virtual site_t | getType () | 
| Get the site type associated with the shape. | |
| virtual ShapeType | getShapeType () | 
| Get the shape type. | |
| virtual double | getVolume ()=0 | 
| Get the total internal volume of the shape. | |
| virtual void | discretizeTo (lm::rdme::Lattice *lattice) | 
| Discretize the object to the specified lattice. | |
| Protected Member Functions | |
| double | integrateToPercentThreshold (double percent) | 
| double | integrateToCount (int count) | 
| virtual point | minBounds (point p1, point p2) const | 
| virtual point | maxBounds (point p1, point p2) const | 
| Protected Attributes | |
| ShapeType | shapeType | 
| bounding_box | boundingBox | 
| site_t | type | 
| vector | at | 
| vector | up | 
| matrix | rotation | 
| Friends | |
| class | LatticeBuilder | 
Abstract base class for all the shapes in Lattice Microbes simulation builder.
Possible shape types that can be used in Lattice Microbes.
| Enumerator | |
|---|---|
| SPHERE | |
| HEMISPHERE | |
| CYLINDER | |
| CAPSULE | |
| CUBOID | |
| CAPSULE_SHELL | |
| UNION | |
| DIFFERENCE | |
| INTERSECTION | |
| MESH | |
| TORUS | |
| ELLIPSE | |
| CONE | |
| UNIONSET | |
| lm::builder::Shape::Shape | ( | ShapeType | shapeType, | 
| bounding_box | boundingBox, | ||
| site_t | type, | ||
| vector | at = vector(0.0,0.0,1.0), | ||
| vector | up = vector(0.0,1.0,0.0) ) | 
Create a Shape.
| shapeType | The type of shape should be of type ShapeType | 
| boundingBox | The extents of the object used for fast collision/contains checking | 
| type | The type of site that the object represents | 
| at | A vector describing what direction the object is pointing "at"; default: (0,0,1) | 
| up | A vector describing what direction is "up" relative to "at"; default: (0,1,0) | 
| 
 | virtual | 
Destroy the Shape.
| 
 | virtual | 
Checks if another shape's bounding box interstects with this shape's bounding box.
| query | The other shape to test | 
| 
 | pure virtual | 
Determine if the shape contains the specified point.
| query | Point to test | 
Implemented in lm::builder::Capsule, lm::builder::CapsuleShell, lm::builder::Cone, lm::builder::Cuboid, lm::builder::Cylinder, lm::builder::Difference, lm::builder::Ellipse, lm::builder::Hemisphere, lm::builder::Intersection, lm::builder::Mesh, lm::builder::Sphere, lm::builder::Torus, lm::builder::Union, and lm::builder::UnionSet.
| 
 | pure virtual | 
Determine if the shape contains the specified shape.
| query | Shape to test | 
Implemented in lm::builder::Capsule, lm::builder::CapsuleShell, lm::builder::Cone, lm::builder::Cuboid, lm::builder::Cylinder, lm::builder::Difference, lm::builder::Ellipse, lm::builder::Hemisphere, lm::builder::Intersection, lm::builder::Mesh, lm::builder::Sphere, lm::builder::Torus, lm::builder::Union, and lm::builder::UnionSet.
| 
 | virtual | 
Discretize the object to the specified lattice.
| lattice | Lattice in which to discretize the shape | 
| 
 | inlinevirtual | 
Get the bounding box.
| 
 | inlinevirtual | 
Get the shape type.
| 
 | inlinevirtual | 
Get the site type associated with the shape.
| 
 | pure virtual | 
Get the total internal volume of the shape.
Implemented in lm::builder::Capsule, lm::builder::CapsuleShell, lm::builder::Cone, lm::builder::Cuboid, lm::builder::Cylinder, lm::builder::Difference, lm::builder::Ellipse, lm::builder::Hemisphere, lm::builder::Intersection, lm::builder::Mesh, lm::builder::Sphere, lm::builder::Torus, lm::builder::Union, and lm::builder::UnionSet.
| 
 | protected | 
| 
 | protected | 
| 
 | pure virtual | 
Check if two shapes intersect.
| query | The other shape to check | 
Implemented in lm::builder::Capsule, lm::builder::CapsuleShell, lm::builder::Cone, lm::builder::Cuboid, lm::builder::Cylinder, lm::builder::Difference, lm::builder::Ellipse, lm::builder::Hemisphere, lm::builder::Intersection, lm::builder::Mesh, lm::builder::Sphere, lm::builder::Torus, lm::builder::Union, and lm::builder::UnionSet.
| 
 | friend | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected |