Android-cuttlefish cvd tool
|
#include <utils.h>
Public Member Functions | |
ConvexObject () | |
constexpr | ConvexObject (std::initializer_list< PxPoint > l) |
ConvexObject (const ConvexObject &other)=default | |
ConvexObject (ConvexObject &&other)=default | |
ConvexObject & | operator= (const ConvexObject &other)=default |
ConvexObject & | operator= (ConvexObject &&other)=default |
constexpr size_t | size () const |
constexpr const PxPoint * | begin () const |
constexpr const PxPoint * | end () const |
template<size_t result_cap> | |
optional< ConvexObject< result_cap > > | intersect (const PxPoint &A, const PxPoint &B) const |
template<size_t result_cap, size_t arg_cap> | |
optional< ConvexObject< result_cap > > | intersect (const ConvexObject< arg_cap > &other) const |
template<size_t result_cap> | |
optional< ConvexObject< result_cap > > | intersect (const PxPoint *begin, const PxPoint *end) const |
pxs | area () const |
void | push_back (const PxPoint &p) |
Protected Attributes | |
PxPoint | points_ [capacity] |
size_t | fill_ |
Friends | |
template<size_t other_cap> | |
class | ConvexObject |
A ConvexObject is given by a list of 2D vertexes. Each vertex must lie on the positive half-plane of the line denoted by its two predecessors. A point is considered inside of the convex object if it is on the positive half-plane of all lines given by any two subsequent vertexes.
ConvexObjects have fixed size given by the capacity template argument. The geometric object that they describe may have any number of vertexes between 3 and capacity.
|
inline |
|
inlineexplicitconstexpr |
|
default |
|
default |
|
inline |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inline |
|
inline |
|
default |
|
default |
|
inline |
|
inlineconstexpr |
|
protected |
|
protected |