![]() |
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
1.5.5