|
| | ConvexPolygonBounds (std::span< const double > values) noexcept(false) |
| | Constructor from a fixed size array of parameters This will throw if the vertices do not form a convex polygon.
|
| | ConvexPolygonBounds (std::span< const Vector2 > vertices) noexcept(false) |
| | Constructor from a vector of vertices, to facilitate construction.
|
| Vector2 | closestPoint (const Vector2 &lposition, const SquareMatrix2 &metric) const final |
| | Calculates the closest point on the bounds to a given local position.
|
| bool | inside (const Vector2 &lposition) const final |
| | Inside check for the bounds object.
|
| virtual bool | inside (const Vector2 &lposition, const BoundaryTolerance &boundaryTolerance) const |
| | Inside check for the bounds object given a boundary tolerance.
|
| std::vector< Vector2 > | vertices (unsigned int ignoredSegments=0u) const final |
| | Return the vertices.
|
| const RectangleBounds & | boundingBox () const final |
| | Return a rectangle bounds object that encloses this polygon.
|
| Vector2 | center () const final |
| | Calculate the center of the surface bounds in local coordinates.
|
| std::ostream & | toStream (std::ostream &sl) const final |
| | Output Method for std::ostream.
|
| BoundsType | type () const final |
| | Return the bounds type of this bounds object.
|
| std::vector< double > | values () const final |
| | Return the bound values as dynamically sized vector.
|
| SquareMatrix2 | boundToCartesianJacobian (const Vector2 &lposition) const final |
| | Computes the bound to cartesian jacobian at a given local position.
|
| SquareMatrix2 | boundToCartesianMetric (const Vector2 &lposition) const final |
| | Computes the bound to cartesian metric at a given local position.
|
| bool | isCartesian () const final |
| | Check if the bound coordinates are cartesian.
|
| virtual | ~SurfaceBounds ()=default |
| virtual double | distance (const Vector2 &lposition) const |
| | Calculates the distance to the bounds from a given local position.
|
|
| enum | BoundsType : int {
eCone = 0
, eCylinder = 1
, eDiamond = 2
, eDisc = 3
,
eEllipse = 4
, eLine = 5
, eRectangle = 6
, eTrapezoid = 7
,
eTriangle = 8
, eDiscTrapezoid = 9
, eConvexPolygon = 10
, eAnnulus = 11
,
eBoundless = 12
, eOther = 13
} |
| | This is nested to the SurfaceBounds, as also VolumeBounds will have Bounds Type. More...
|
| void | calculateCenter (std::span< const Vector2 > vertices) |
| | Calculate and cache the center point from vertices.
|
| void | makeBoundingBox (std::span< const Vector2 > vertices) |
| | Creates a rectangle bounds instance that encloses a set of vertices.
|
| static void | checkConsistency (std::span< const Vector2 > vertices) noexcept(false) |
| | Return whether this bounds class is in fact convex thorws a logic error if not.
|
template<typename coll_t>
requires std::same_as<typename coll_t::value_type, Acts::Vector2> |
| static void | convex_impl (const coll_t &vertices) noexcept(false) |
| | Calculates whether a set of vertices forms a convex polygon.
|
template<int N>
requires isValidConvexPolygonSize<N>
class Acts::ConvexPolygonBounds< N >
This is the actual implementation of the bounds.
It is templated on the number of vertices, but there is a specialization for dynamic number of vertices, where the underlying storage is then a vector.
- Template Parameters
-