RangeConvex
#include <RangeConvex.h>
Public Member Functions | |
RangeConvex () | |
RangeConvex (const SpatialVector *v1, const SpatialVector *v2, const SpatialVector *v3) | |
RangeConvex (const SpatialVector *v1, const SpatialVector *v2, const SpatialVector *v3, const SpatialVector *v4) | |
void | add (SpatialConstraint &) |
void | intersect (const SpatialIndex *index, HtmRange *hr) |
void | setOlevel (int level) |
void | simplify () |
Protected Member Functions | |
bool | eSolve (const SpatialVector &v1, const SpatialVector &v2, size_t cIndex) |
void | saveTrixel (uint64 htmid) |
void | simplify0 () |
bool | testBoundingCircle (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2) |
bool | testConstraintInside (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, size_t cIndex) |
int | testConstraints (size_t i, size_t j) |
bool | testEdge (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2) |
bool | testEdge0 (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2) |
bool | testEdgeConstraint (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, size_t cIndex) |
bool | testHole (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2) |
SpatialMarkup | testNode (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2) |
SpatialMarkup | testNode (uint64 id) |
size_t | testOtherPosNone (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2) |
void | testPartial (size_t level, uint64 id, const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, int previousPartials) |
SpatialMarkup | testTriangle (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, int vsum) |
SpatialMarkup | testTrixel (uint64 nodeIndex) |
bool | testVectorInside (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, SpatialVector &v) |
int | testVertex (const SpatialVector &v) |
int | testVertex (const SpatialVector *v) |
Protected Attributes | |
size_t | addlevel_ |
SpatialConstraint | boundingCircle_ |
std::vector< SpatialConstraint > | constraints_ |
std::vector< SpatialVector > | corners_ |
HtmRange * | hr |
const SpatialIndex * | index_ |
int | olevel |
ValueVectorUint64 * | plist_ |
Sign | sign_ { zERO } |
Detailed Description
A spatial convex is composed of spatial constraints.
It does not necessarily define a continuous area on the sphere since it is a 3D-convex of planar intersections which may intersect with the unit sphere at disjoint locations. Especially 'negative' constraints tend to tear 'holes' into the convex area.
Definition at line 59 of file RangeConvex.h.
Constructor & Destructor Documentation
◆ RangeConvex() [1/3]
RangeConvex::RangeConvex | ( | ) |
Default Constructor.
Definition at line 25 of file RangeConvex.cpp.
◆ RangeConvex() [2/3]
RangeConvex::RangeConvex | ( | const SpatialVector * | v1, |
const SpatialVector * | v2, | ||
const SpatialVector * | v3 | ||
) |
Constructor from a triangle.
Definition at line 37 of file RangeConvex.cpp.
◆ RangeConvex() [3/3]
RangeConvex::RangeConvex | ( | const SpatialVector * | v1, |
const SpatialVector * | v2, | ||
const SpatialVector * | v3, | ||
const SpatialVector * | v4 | ||
) |
Constructor from a rectangle.
Definition at line 68 of file RangeConvex.cpp.
Member Function Documentation
◆ add()
void RangeConvex::add | ( | SpatialConstraint & | c | ) |
Add a constraint.
Definition at line 117 of file RangeConvex.cpp.
◆ intersect()
void RangeConvex::intersect | ( | const SpatialIndex * | index, |
HtmRange * | hr | ||
) |
Intersect with index.
Result is given in a list of nodes.
Definition at line 566 of file RangeConvex.cpp.
◆ simplify()
void RangeConvex::simplify | ( | ) |
Simplify the convex, remove redundancies.
Definition at line 422 of file RangeConvex.cpp.
◆ testTrixel()
|
protected |
No children...
Definition at line 629 of file RangeConvex.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:57:39 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.