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

A Shape that represents a Union between two shapes. More...

#include <Union.h>

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

Public Member Functions

 Union (Shape *s1, Shape *s2, site_t type)
 Create a Union.
virtual ~Union ()
 Destroy the Sphere.
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 double getVolume (bool reintegrate=false)
 Get the volume bounded by the sphere.
virtual double getVolume ()
 Get the total internal volume of the 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

Shapeshape1
Shapeshape2
bool hasBeenIntegrated
double storedVolume
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 Shape that represents a Union between two shapes.

Constructor & Destructor Documentation

◆ Union()

lm::builder::Union::Union ( Shape * s1,
Shape * s2,
site_t type )

Create a Union.

Parameters
s1The first shape to Union
s2The second shape to Union
typeThe type of the sites within the union
Here is the call graph for this function:

◆ ~Union()

lm::builder::Union::~Union ( )
virtual

Destroy the Sphere.

Member Function Documentation

◆ contains() [1/2]

bool lm::builder::Union::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::Union::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:

◆ getVolume() [1/2]

virtual double lm::builder::Union::getVolume ( )
inlinevirtual

Get the total internal volume of the shape.

Implements lm::builder::Shape.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVolume() [2/2]

double lm::builder::Union::getVolume ( bool reintegrate = false)
virtual

Get the volume bounded by the sphere.

Here is the call graph for this function:

◆ intersects()

bool lm::builder::Union::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

◆ hasBeenIntegrated

bool lm::builder::Union::hasBeenIntegrated
protected

◆ shape1

Shape* lm::builder::Union::shape1
protected

◆ shape2

Shape* lm::builder::Union::shape2
protected

◆ storedVolume

double lm::builder::Union::storedVolume
protected

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