|  | PeriDEM 0.2.0
    PeriDEM -- Peridynamics-based high-fidelity model for granular media | 
#include <geomObjects.h>
| Public Member Functions | |
| Drum2D () | |
| Constructor. | |
| Drum2D (double r, double w, util::Point x=util::Point(0., 0., 0.), util::Point a=util::Point(1., 0., 0.), std::string description="") | |
| Constructor. | |
| double | volume () const override | 
| Computes the volume (area in 2d, length in 1d) of object. | |
| util::Point | center () const override | 
| Computes the center of object. | |
| std::pair< util::Point, util::Point > | box () const override | 
| Computes the bounding box of object. | |
| std::pair< util::Point, util::Point > | box (const double &tol) const override | 
| Computes the bounding box of object. | |
| double | inscribedRadius () const override | 
| Computes the radius of biggest circle/sphere completely within the object. | |
| double | boundingRadius () const override | 
| Computes the radius of smallest circle/sphere such that object can be fit into it. | |
| std::string | printStr (int nt, int lvl) const override | 
| Returns the string containing printable information about the object. | |
| void | print (int nt, int lvl) const override | 
| Prints the information about the object. | |
| void | print () const override | 
| Prints the information about the object. | |
| Interaction with point | |
| bool | isInside (const util::Point &x) const override | 
| Checks if point is inside this object. | |
| bool | isOutside (const util::Point &x) const override | 
| Checks if point is outside of this object. | |
| bool | isNear (const util::Point &x, const double &tol) const override | 
| Checks if point is within given distance of this object. | |
| bool | isNearBoundary (const util::Point &x, const double &tol, const bool &within) const override | 
| cons | |
| bool | doesIntersect (const util::Point &x) const override | 
| Checks if point lies exactly on the boundary. | |
| Interaction with box | |
| bool | isInside (const std::pair< util::Point, util::Point > &box) const override | 
| Checks if box is completely inside. | |
| bool | isOutside (const std::pair< util::Point, util::Point > &box) const override | 
| Checks if box is outside of the object. | |
| bool | isNear (const std::pair< util::Point, util::Point > &box, const double &tol) const override | 
| Checks if box is within given distance of this object. | |
| bool | doesIntersect (const std::pair< util::Point, util::Point > &box) const override | 
| Checks if box intersects this object. | |
|  Public Member Functions inherited from util::geometry::GeomObject | |
| GeomObject (std::string name="", std::string description="") | |
| Constructor. | |
| Data Fields | |
| std::vector< util::Point > | d_vertices | 
| Vertices. | |
| util::Point | d_x | 
| Center. | |
| double | d_w | 
| Half width of neck. | |
| double | d_r | 
| Distance between center and the farthest vertex. | |
| util::Point | d_a | 
| Axis: defined as the vector pointing from center to the first vertex v3 v2. | |
|  Data Fields inherited from util::geometry::GeomObject | |
| const std::string | d_name | 
| name of object | |
| const std::string | d_description | 
| Further description of object. | |
| std::vector< std::string > | d_tags | 
| Tags/attributes about the object. | |
Defines Drum2D.
        v3   o-------------------o   v2
             \                   /
              \                 /
               \               /
          v4    o      +      o v1
               /       c       \
              /                 \
             /                   \
       v5   o---------------------o  v6
w = distance between c and v1 = half-width of neck r = distance between c and v2 theta = pi/3 = angle between c-v2 and c-v1 a = axis = unit vector from c to v1
Definition at line 1230 of file geomObjects.h.
| 
 | inline | 
Constructor.
Definition at line 1236 of file geomObjects.h.
| 
 | inline | 
Constructor.
| r | Distance between center and farthest vertex of drum2d structure | 
| w | Half of the distance between two vertices in the neck (half width of neck) | 
| x | Center point | 
| a | Axis vector that will be rotated and scaled by r to get the farthest four vertices of structure | 
| description | Description of object (e.g., further classification or any tag) | 
Definition at line 1254 of file geomObjects.h.
References d_a, d_r, d_vertices, d_w, d_x, and util::rotate().
| 
 | overridevirtual | 
Computes the radius of smallest circle/sphere such that object can be fit into it.
Reimplemented from util::geometry::GeomObject.
Definition at line 786 of file geomObjects.cpp.
| 
 | overridevirtual | 
Computes the bounding box of object.
Reimplemented from util::geometry::GeomObject.
Definition at line 768 of file geomObjects.cpp.
| 
 | overridevirtual | 
Computes the bounding box of object.
| tol | Tolerance/padding used in creating bounding box | 
Reimplemented from util::geometry::GeomObject.
Definition at line 773 of file geomObjects.cpp.
| 
 | overridevirtual | 
Computes the center of object.
Reimplemented from util::geometry::GeomObject.
Definition at line 764 of file geomObjects.cpp.
| 
 | overridevirtual | 
Checks if box intersects this object.
| box | Box | 
Reimplemented from util::geometry::GeomObject.
Definition at line 876 of file geomObjects.cpp.
References util::getCornerPoints().
| 
 | overridevirtual | 
Checks if point lies exactly on the boundary.
| x | Point | 
Reimplemented from util::geometry::GeomObject.
Definition at line 843 of file geomObjects.cpp.
| 
 | overridevirtual | 
Computes the radius of biggest circle/sphere completely within the object.
Reimplemented from util::geometry::GeomObject.
Definition at line 781 of file geomObjects.cpp.
| 
 | overridevirtual | 
Checks if box is completely inside.
| box | Box | 
Reimplemented from util::geometry::GeomObject.
Definition at line 848 of file geomObjects.cpp.
References util::getCornerPoints().
| 
 | overridevirtual | 
Checks if point is inside this object.
| x | Point | 
Reimplemented from util::geometry::GeomObject.
Definition at line 791 of file geomObjects.cpp.
References util::rotate().
| 
 | overridevirtual | 
Checks if box is within given distance of this object.
| box | Box | 
| tol | Tolerance used in checking the nearness | 
Reimplemented from util::geometry::GeomObject.
Definition at line 869 of file geomObjects.cpp.
References util::areBoxesNear().
| 
 | overridevirtual | 
Checks if point is within given distance of this object.
| x | Point | 
| tol | Tolerance used in checking the nearness | 
Reimplemented from util::geometry::GeomObject.
Definition at line 821 of file geomObjects.cpp.
References util::isPointInsideBox().
| 
 | overridevirtual | 
cons
cons
Reimplemented from util::geometry::GeomObject.
Definition at line 830 of file geomObjects.cpp.
| 
 | overridevirtual | 
Checks if box is outside of the object.
| box | Box | 
Reimplemented from util::geometry::GeomObject.
Definition at line 858 of file geomObjects.cpp.
References util::getCornerPoints().
| 
 | overridevirtual | 
Checks if point is outside of this object.
| x | Point | 
Reimplemented from util::geometry::GeomObject.
Definition at line 817 of file geomObjects.cpp.
| 
 | inlineoverridevirtual | 
Prints the information about the object.
Reimplemented from util::geometry::GeomObject.
Definition at line 1405 of file geomObjects.h.
References print().
Referenced by print().
| 
 | inlineoverridevirtual | 
Prints the information about the object.
| nt | Number of tabs to append before printing | 
| lvl | Information level (higher means more information) | 
Reimplemented from util::geometry::GeomObject.
Definition at line 1398 of file geomObjects.h.
References printStr().
| 
 | overridevirtual | 
Returns the string containing printable information about the object.
| nt | Number of tabs to append before printing | 
| lvl | Information level (higher means more information) | 
Reimplemented from util::geometry::GeomObject.
Definition at line 887 of file geomObjects.cpp.
References util::io::getTabS(), and util::io::printStr().
Referenced by print().
| 
 | overridevirtual | 
Computes the volume (area in 2d, length in 1d) of object.
Reimplemented from util::geometry::GeomObject.
Definition at line 759 of file geomObjects.cpp.
| util::Point util::geometry::Drum2D::d_a | 
Axis: defined as the vector pointing from center to the first vertex v3 v2.
                 +         o           +
                v4         x            v1
          +                                +
          v5                               v6
Axis is a unit vector from x to v1
Definition at line 1433 of file geomObjects.h.
Referenced by Drum2D().
| double util::geometry::Drum2D::d_r | 
Distance between center and the farthest vertex.
Definition at line 1417 of file geomObjects.h.
Referenced by Drum2D().
| std::vector<util::Point> util::geometry::Drum2D::d_vertices | 
| double util::geometry::Drum2D::d_w | 
| util::Point util::geometry::Drum2D::d_x |