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.
◆ eSolve()
|
protected |
Definition at line 1111 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.
◆ saveTrixel()
|
inlineprotected |
Definition at line 586 of file RangeConvex.cpp.
◆ setOlevel()
|
inline |
Definition at line 80 of file RangeConvex.h.
◆ simplify()
void RangeConvex::simplify | ( | ) |
Simplify the convex, remove redundancies.
Definition at line 422 of file RangeConvex.cpp.
◆ simplify0()
|
protected |
Definition at line 187 of file RangeConvex.cpp.
◆ testBoundingCircle()
|
protected |
Definition at line 1161 of file RangeConvex.cpp.
◆ testConstraintInside()
|
protected |
Definition at line 1231 of file RangeConvex.cpp.
◆ testConstraints()
|
protected |
Definition at line 546 of file RangeConvex.cpp.
◆ testEdge()
|
protected |
Definition at line 1090 of file RangeConvex.cpp.
◆ testEdge0()
|
protected |
Definition at line 1017 of file RangeConvex.cpp.
◆ testEdgeConstraint()
|
protected |
Definition at line 1200 of file RangeConvex.cpp.
◆ testHole()
|
protected |
Definition at line 981 of file RangeConvex.cpp.
◆ testNode() [1/2]
|
protected |
Definition at line 814 of file RangeConvex.cpp.
◆ testNode() [2/2]
|
protected |
Definition at line 785 of file RangeConvex.cpp.
◆ testOtherPosNone()
|
protected |
Definition at line 1216 of file RangeConvex.cpp.
◆ testPartial()
|
protected |
Definition at line 720 of file RangeConvex.cpp.
◆ testTriangle()
|
protected |
Definition at line 834 of file RangeConvex.cpp.
◆ testTrixel()
|
protected |
No children...
Definition at line 629 of file RangeConvex.cpp.
◆ testVectorInside()
|
protected |
Definition at line 1240 of file RangeConvex.cpp.
◆ testVertex() [1/2]
|
protected |
Definition at line 959 of file RangeConvex.cpp.
◆ testVertex() [2/2]
|
protected |
Definition at line 967 of file RangeConvex.cpp.
Member Data Documentation
◆ addlevel_
|
protected |
Definition at line 168 of file RangeConvex.h.
◆ boundingCircle_
|
protected |
Definition at line 167 of file RangeConvex.h.
◆ constraints_
|
protected |
Definition at line 164 of file RangeConvex.h.
◆ corners_
|
protected |
Definition at line 166 of file RangeConvex.h.
◆ hr
|
protected |
Definition at line 83 of file RangeConvex.h.
◆ index_
|
protected |
Definition at line 165 of file RangeConvex.h.
◆ olevel
|
protected |
Definition at line 84 of file RangeConvex.h.
◆ plist_
|
protected |
Definition at line 169 of file RangeConvex.h.
◆ sign_
|
protected |
Definition at line 85 of file RangeConvex.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:16:43 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.