![]() |
Home · All Namespaces · All Classes · Functions · Coding Style · Plugins · File Structure |
Classes | |
class | HalfSpace |
A HalfSpace is defined by a direction and an aperture. More... | |
class | Polygon |
A polygon is defined by a set of connected points. More... | |
class | ConvexS |
A Convex is defined by several HalfSpaces defining a convex region. More... | |
class | ConvexPolygon |
A special case of ConvexS for which all HalfSpace have a aperture of PI/2. More... | |
class | Disk |
A Disk is defined by a single HalfSpace. More... | |
class | Difference |
Functions | |
template<class T> | |
bool | intersect (const Vec3d &v, const T &o) |
template<class T> | |
bool | intersect (const T &o, const Vec3d &v) |
template<class T> | |
bool | intersect (const Polygon &p, const T &o) |
bool | intersect (const ConvexPolygon &cp1, const ConvexPolygon &cp2) |
bool | intersect (const ConvexS &cp1, const ConvexPolygon &cp2) |
template<class S1, class S2, class S> | |
bool | intersect (const Difference< S1, S2 > &d, const S &s) |
template<class S1, class S2> | |
bool | intersect (const Difference< S1, S2 > &d, const Vec3d &v) |
template<class S1, class S2, class S> | |
bool | contains (const Difference< S1, S2 > &d, const S &s) |
bool | contains (const HalfSpace &h, const Vec3d &v) |
bool | contains (const HalfSpace &h, const Polygon &poly) |
bool | contains (const ConvexPolygon &c, const Vec3d &v) |
bool | contains (const ConvexPolygon &cp1, const ConvexPolygon &cp2) |
bool | intersect (const HalfSpace &h, const ConvexPolygon &cp) |
bool | intersect (const ConvexPolygon &c, const HalfSpace &h) |
bool | planeIntersect2 (const HalfSpace &h1, const HalfSpace &h2, Vec3d &p1, Vec3d &p2) |
We also define two functions, contains(x, y) and intersect(x, y) = intersect(y, x) which is defined for most of the pair of geometrical shapes.
bool StelGeom::intersect | ( | const HalfSpace & | h, | |
const ConvexPolygon & | cp | |||
) | [inline] |
We rewrite the intersect for Disk/ConvexPolygon This method checks that the minimum distance between the Disk center and each side of the ConvexPolygon is smaller than the disk radius.
bool StelGeom::intersect | ( | const ConvexS & | cp1, | |
const ConvexPolygon & | cp2 | |||
) | [inline] |
We rewrite the intersect for ConvexPolygon.
bool StelGeom::intersect | ( | const ConvexPolygon & | cp1, | |
const ConvexPolygon & | cp2 | |||
) | [inline] |
We rewrite the intersect for ConvexPolygon.
bool StelGeom::planeIntersect2 | ( | const HalfSpace & | h1, | |
const HalfSpace & | h2, | |||
Vec3d & | p1, | |||
Vec3d & | p2 | |||
) |
Compute the intersection of 2 halfspaces on the sphere (usually on 2 points) and return it in p1 and p2.
If the 2 HalfSpace don't interesect or intersect only at 1 point, false is returned and p1 and p2 are undefined