Lattice Microbes 2.5
This is for whole cell modeling
Loading...
Searching...
No Matches
lm::builder::Cuboid Class Reference

A cube-like Shape. More...

#include <Cuboid.h>

Inheritance diagram for lm::builder::Cuboid:
[legend]
Collaboration diagram for lm::builder::Cuboid:
[legend]

Public Member Functions

 Cuboid (point p1, point p2, site_t type)
 Create a Cuboid that is axis aligned.
 Cuboid (point center, si_dist_t w, si_dist_t h, si_dist_t d, site_t type, vector at=vector(1.0, 0.0, 0.0), vector up=vector(0.0, 1.0, 0.0))
 Create a Cuboid based on two orientations, and a width, height, depth.
virtual ~Cuboid ()
 Destroy the Cuboid.
virtual bool intersects (Shape *query)
 Check if two shapes intersect.
virtual bool contains (point query)
 Determine if the shape contains the specified point.
virtual bool contains (Shape *query)
 Determine if the shape contains the specified shape.
virtual point getP1 ()
 Get the lower point.
virtual point getP2 ()
 Get the upper point.
virtual double getVolume ()
 Get the volume bounded by the cuboid shape.
Public Member Functions inherited from 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.
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 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 void discretizeTo (lm::rdme::Lattice *lattice)
 Discretize the object to the specified lattice.

Protected Attributes

point p1
point p2
point cen
si_dist_t width
si_dist_t height
si_dist_t depth
Protected Attributes inherited from lm::builder::Shape
ShapeType shapeType
bounding_box boundingBox
site_t type
vector at
vector up
matrix rotation

Additional Inherited Members

Public Types inherited from lm::builder::Shape
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...
Protected Member Functions inherited from lm::builder::Shape
double integrateToPercentThreshold (double percent)
double integrateToCount (int count)
virtual point minBounds (point p1, point p2) const
virtual point maxBounds (point p1, point p2) const

Detailed Description

A cube-like Shape.

Constructor & Destructor Documentation

◆ Cuboid() [1/2]

lm::builder::Cuboid::Cuboid ( point p1,
point p2,
site_t type )

Create a Cuboid that is axis aligned.

Parameters
p1Point of the lower corner
p2Point of the upper corner
typeThe type of the sites within the cuboid
Here is the call graph for this function:

◆ Cuboid() [2/2]

lm::builder::Cuboid::Cuboid ( point center,
si_dist_t w,
si_dist_t h,
si_dist_t d,
site_t type,
vector at = vector(1.0,0.0,0.0),
vector up = vector(0.0,1.0,0.0) )

Create a Cuboid based on two orientations, and a width, height, depth.

center The definition of the center of the cuboid

Parameters
wWidth (along x axis when unrotated)
hHeight (along y axis when unrotated)
dDepth (along z axis when unrotated)
atA vector representing where the cuboid is pointing (default along x axis)
atA vector representing where the cuboid up is (default along y axis)
Here is the call graph for this function:

◆ ~Cuboid()

lm::builder::Cuboid::~Cuboid ( )
virtual

Destroy the Cuboid.

Member Function Documentation

◆ contains() [1/2]

bool lm::builder::Cuboid::contains ( point query)
virtual

Determine if the shape contains the specified point.

Parameters
queryPoint to test
Returns
true/false

Implements lm::builder::Shape.

◆ contains() [2/2]

bool lm::builder::Cuboid::contains ( Shape * query)
virtual

Determine if the shape contains the specified shape.

Parameters
queryShape to test
Returns
true/false

Implements lm::builder::Shape.

Here is the call graph for this function:

◆ getP1()

virtual point lm::builder::Cuboid::getP1 ( )
inlinevirtual

Get the lower point.

Here is the caller graph for this function:

◆ getP2()

virtual point lm::builder::Cuboid::getP2 ( )
inlinevirtual

Get the upper point.

Here is the caller graph for this function:

◆ getVolume()

double lm::builder::Cuboid::getVolume ( )
virtual

Get the volume bounded by the cuboid shape.

Implements lm::builder::Shape.

◆ intersects()

bool lm::builder::Cuboid::intersects ( Shape * query)
virtual

Check if two shapes intersect.

Parameters
queryThe other shape to check
Returns
true/false

Implements lm::builder::Shape.

Here is the call graph for this function:

Member Data Documentation

◆ cen

point lm::builder::Cuboid::cen
protected

◆ depth

si_dist_t lm::builder::Cuboid::depth
protected

◆ height

si_dist_t lm::builder::Cuboid::height
protected

◆ p1

point lm::builder::Cuboid::p1
protected

◆ p2

point lm::builder::Cuboid::p2
protected

◆ width

si_dist_t lm::builder::Cuboid::width
protected

The documentation for this class was generated from the following files:
  • /data2/LM_zls_github/Lattice-Microbes/src/builder/Cuboid.h
  • /data2/LM_zls_github/Lattice-Microbes/src/builder/Cuboid.cpp