![]() |
PeriDEM 0.3.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
|
Infinite plane: free space is the half-space in the normal direction. More...
#include <geomObjects.h>
Public Member Functions | |
| Plane () | |
| Plane (util::Point n, util::Point p, std::string description="") | |
| Plane (const Plane &other) | |
| Plane & | operator= (const Plane &other) |
| void | transform (const util::Point &translation, const double &scale, const double &angle, const util::Point &axis, const util::Point *rotationPoint) override |
Similarity about pivot \(\mathbf p\) (default: old center d_x), then rigid displacement \(\mathbf t\) = translation: \(\mathbf y = \mathbf p + s\,\mathbf R(\mathbf x-\mathbf p) + \mathbf t\). When \(\theta=0\) and \(s=1\), \(\mathbf y = \mathbf x + \mathbf t\) for every point and the center. | |
| 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. | |
| 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 &) const override |
| Checks if point is within given distance of this object. | |
| bool | doesIntersect (const util::Point &x) const override |
| Checks if point lies exactly on the boundary. | |
| bool | wallContactQuery (const util::Point &x, WallContactHit &hit) const override |
Closest-point / signed-gap query for analytical wall contact. Default: unsupported (returns false, clears hit). | |
| 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. | |
Public Member Functions inherited from geom::GeomObject | |
| GeomObject (std::string name="", std::string description="") | |
| Constructor. | |
| virtual bool | isInside (const std::pair< util::Point, util::Point > &box) const |
| Checks if box is completely inside. | |
| virtual bool | isOutside (const std::pair< util::Point, util::Point > &box) const |
| Checks if box is outside of the object. | |
| virtual bool | isNear (const std::pair< util::Point, util::Point > &box, const double &tol) const |
| Checks if box is within given distance of this object. | |
| virtual bool | doesIntersect (const std::pair< util::Point, util::Point > &box) const |
| Checks if box intersects this object. | |
Data Fields | |
| util::Point | d_n |
| outward (free-space) normal, stored unit-length when possible | |
| util::Point | d_p |
| a point on the plane | |
Data Fields inherited from geom::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. | |
Infinite plane: free space is the half-space in the normal direction.
Factory params: nx,ny,nz, px,py,pz (unit/non-unit normal + point on plane).
Definition at line 428 of file geomObjects.h.
|
inline |
Definition at line 433 of file geomObjects.h.
|
inline |
Definition at line 438 of file geomObjects.h.
References d_n, and util::Point::length().
|
inline |
Definition at line 445 of file geomObjects.h.
References geom::GeomObject::d_tags.
|
inlineoverridevirtual |
Computes the radius of smallest circle/sphere such that object can be fit into it.
Reimplemented from geom::GeomObject.
Definition at line 483 of file geomObjects.h.
|
inlineoverridevirtual |
Computes the bounding box of object.
Reimplemented from geom::GeomObject.
Definition at line 476 of file geomObjects.h.
References d_p.
|
inlineoverridevirtual |
Computes the bounding box of object.
| tol | Tolerance/padding used in creating bounding box |
Reimplemented from geom::GeomObject.
Definition at line 479 of file geomObjects.h.
References d_p.
|
inlineoverridevirtual |
Computes the center of object.
Reimplemented from geom::GeomObject.
Definition at line 475 of file geomObjects.h.
References d_p.
|
inlineoverridevirtual |
Checks if point lies exactly on the boundary.
| x | Point |
Reimplemented from geom::GeomObject.
Definition at line 498 of file geomObjects.h.
References isNear().
|
inlineoverridevirtual |
Computes the radius of biggest circle/sphere completely within the object.
Reimplemented from geom::GeomObject.
Definition at line 482 of file geomObjects.h.
|
inlineoverridevirtual |
Checks if point is inside this object.
| x | Point |
Reimplemented from geom::GeomObject.
Definition at line 485 of file geomObjects.h.
Referenced by isOutside().
|
inlineoverridevirtual |
Checks if point is within given distance of this object.
| x | Point |
| tol | Tolerance used in checking the nearness |
Reimplemented from geom::GeomObject.
Definition at line 491 of file geomObjects.h.
Referenced by doesIntersect(), and isNearBoundary().
|
inlineoverridevirtual |
Checks if point is within given distance of this object.
| x | Point |
| tol | Tolerance used in checking the nearness |
| within | Check if the point is within (inside) the object |
Reimplemented from geom::GeomObject.
Definition at line 494 of file geomObjects.h.
References isNear().
|
inlineoverridevirtual |
Checks if point is outside of this object.
| x | Point |
Reimplemented from geom::GeomObject.
Definition at line 488 of file geomObjects.h.
References isInside().
Definition at line 452 of file geomObjects.h.
References d_n, d_p, and geom::GeomObject::d_tags.
|
inlineoverridevirtual |
Prints the information about the object.
Reimplemented from geom::GeomObject.
Definition at line 516 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 geom::GeomObject.
Definition at line 513 of file geomObjects.h.
References printStr().
|
inlineoverridevirtual |
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 geom::GeomObject.
Definition at line 505 of file geomObjects.h.
References d_n, d_p, util::io::getTabS(), and util::Point::printStr().
Referenced by print().
|
inlineoverridevirtual |
Similarity about pivot \(\mathbf p\) (default: old center d_x), then rigid displacement \(\mathbf t\) = translation: \(\mathbf y = \mathbf p + s\,\mathbf R(\mathbf x-\mathbf p) + \mathbf t\). When \(\theta=0\) and \(s=1\), \(\mathbf y = \mathbf x + \mathbf t\) for every point and the center.
| translation | Rigid translation vector \(\mathbf t\) (added after rotate+scale about \(\mathbf p\)) |
| scale | Uniform scale factor |
| angle | Rotation angle (radians) |
| axis | Axis of rotation |
| rotationPoint | If non-null, use as \(\mathbf p\); if null, use old d_x as pivot. |
Reimplemented from geom::GeomObject.
Definition at line 461 of file geomObjects.h.
References d_n, d_p, util::Point::length(), geom::mapSimilarity(), and util::rotate().
|
inlineoverridevirtual |
Computes the volume (area in 2d, length in 1d) of object.
Reimplemented from geom::GeomObject.
Definition at line 474 of file geomObjects.h.
|
overridevirtual |
Closest-point / signed-gap query for analytical wall contact. Default: unsupported (returns false, clears hit).
Reimplemented from geom::GeomObject.
Definition at line 46 of file geomObjects.cpp.
References geom::WallContactHit::active, geom::WallContactHit::closest, d_n, d_p, util::Point::length(), geom::WallContactHit::outward_n, and geom::WallContactHit::signed_gap.
Referenced by main().
| util::Point geom::Plane::d_n |
outward (free-space) normal, stored unit-length when possible
Definition at line 430 of file geomObjects.h.
Referenced by isInside(), isNear(), operator=(), Plane(), printStr(), transform(), and wallContactQuery().
| util::Point geom::Plane::d_p |
a point on the plane
Definition at line 431 of file geomObjects.h.
Referenced by box(), box(), center(), isInside(), isNear(), operator=(), printStr(), transform(), and wallContactQuery().