![]() |
PeriDEM 0.2.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
|
#include <geomObjects.h>
Public Member Functions | |
| Hexagon () | |
| Constructor. | |
| Hexagon (double r, 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 | |
TODO implement methods robustly | |
| 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_r |
| Distance between center and the farthest vertex of hexagon. | |
| util::Point | d_a |
| Axis: defined as the vector pointing from center to the first vertex. | |
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 Hexagon.
Definition at line 1027 of file geomObjects.h.
|
inline |
Constructor.
Definition at line 1033 of file geomObjects.h.
|
inline |
Constructor.
| r | Radius (distance between center and one of the vertices) |
| x | Center point |
| a | Axis vector that will be rotated and scaled by r to obtain coordinates of vertices of hexagon |
| description | Description of object (e.g., further classification or any tag) |
Definition at line 1048 of file geomObjects.h.
References d_a, d_r, d_vertices, 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 647 of file geomObjects.cpp.
|
overridevirtual |
Computes the bounding box of object.
Reimplemented from util::geometry::GeomObject.
Definition at line 629 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 634 of file geomObjects.cpp.
|
overridevirtual |
Computes the center of object.
Reimplemented from util::geometry::GeomObject.
Definition at line 625 of file geomObjects.cpp.
|
overridevirtual |
Checks if box intersects this object.
| box | Box |
Reimplemented from util::geometry::GeomObject.
Definition at line 722 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 689 of file geomObjects.cpp.
|
overridevirtual |
Computes the radius of biggest circle/sphere completely within the object.
Reimplemented from util::geometry::GeomObject.
Definition at line 642 of file geomObjects.cpp.
|
overridevirtual |
Checks if box is completely inside.
| box | Box |
Reimplemented from util::geometry::GeomObject.
Definition at line 694 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 652 of file geomObjects.cpp.
|
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 715 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 667 of file geomObjects.cpp.
References util::isPointInsideBox().
|
overridevirtual |
cons
cons
Reimplemented from util::geometry::GeomObject.
Definition at line 676 of file geomObjects.cpp.
|
overridevirtual |
Checks if box is outside of the object.
| box | Box |
Reimplemented from util::geometry::GeomObject.
Definition at line 704 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 663 of file geomObjects.cpp.
|
inlineoverridevirtual |
Prints the information about the object.
Reimplemented from util::geometry::GeomObject.
Definition at line 1184 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 1177 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 733 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 619 of file geomObjects.cpp.
| util::Point util::geometry::Hexagon::d_a |
Axis: defined as the vector pointing from center to the first vertex.
+ +
+ o +
x v1
+ +
Axis is a vector from x to v1
Definition at line 1208 of file geomObjects.h.
Referenced by Hexagon().
| double util::geometry::Hexagon::d_r |
Distance between center and the farthest vertex of hexagon.
Definition at line 1193 of file geomObjects.h.
Referenced by Hexagon().
| std::vector<util::Point> util::geometry::Hexagon::d_vertices |
| util::Point util::geometry::Hexagon::d_x |