• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kstars

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
RangeConvex Class Reference

#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 (uint64 id)
 
SpatialMarkup testNode (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2)
 
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_
 

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 intrersect 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::RangeConvex ( )

Default Constructor.

Definition at line 26 of file RangeConvex.cpp.

RangeConvex::RangeConvex ( const SpatialVector *  v1,
const SpatialVector *  v2,
const SpatialVector *  v3 
)

Constructor from a triangle.

Definition at line 37 of file RangeConvex.cpp.

RangeConvex::RangeConvex ( const SpatialVector *  v1,
const SpatialVector *  v2,
const SpatialVector *  v3,
const SpatialVector *  v4 
)

Constructor from a rectangle.

Definition at line 66 of file RangeConvex.cpp.

Member Function Documentation

void RangeConvex::add ( SpatialConstraint &  c)

Add a constraint.

Definition at line 115 of file RangeConvex.cpp.

bool RangeConvex::eSolve ( const SpatialVector &  v1,
const SpatialVector &  v2,
size_t  cIndex 
)
protected

Definition at line 1018 of file RangeConvex.cpp.

void RangeConvex::intersect ( const SpatialIndex *  index,
HtmRange *  hr 
)

Intersect with index.

Result is given in a list of nodes.

Definition at line 513 of file RangeConvex.cpp.

void RangeConvex::saveTrixel ( uint64  htmid)
inlineprotected

Definition at line 531 of file RangeConvex.cpp.

void RangeConvex::setOlevel ( int  level)
inline

Definition at line 84 of file RangeConvex.h.

void RangeConvex::simplify ( )

Simplify the convex, remove redundancies.

Definition at line 384 of file RangeConvex.cpp.

void RangeConvex::simplify0 ( )
protected

Definition at line 181 of file RangeConvex.cpp.

bool RangeConvex::testBoundingCircle ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2 
)
protected

Definition at line 1060 of file RangeConvex.cpp.

bool RangeConvex::testConstraintInside ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2,
size_t  cIndex 
)
protected

Definition at line 1131 of file RangeConvex.cpp.

int RangeConvex::testConstraints ( size_t  i,
size_t  j 
)
protected

Definition at line 488 of file RangeConvex.cpp.

bool RangeConvex::testEdge ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2 
)
protected

Definition at line 999 of file RangeConvex.cpp.

bool RangeConvex::testEdge0 ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2 
)
protected

Definition at line 935 of file RangeConvex.cpp.

bool RangeConvex::testEdgeConstraint ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2,
size_t  cIndex 
)
protected

Definition at line 1101 of file RangeConvex.cpp.

bool RangeConvex::testHole ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2 
)
protected

Definition at line 897 of file RangeConvex.cpp.

SpatialMarkup RangeConvex::testNode ( uint64  id)
protected

Definition at line 713 of file RangeConvex.cpp.

SpatialMarkup RangeConvex::testNode ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2 
)
protected

Definition at line 744 of file RangeConvex.cpp.

size_t RangeConvex::testOtherPosNone ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2 
)
protected

Definition at line 1116 of file RangeConvex.cpp.

void RangeConvex::testPartial ( size_t  level,
uint64  id,
const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2,
int  previousPartials 
)
protected

Definition at line 656 of file RangeConvex.cpp.

SpatialMarkup RangeConvex::testTriangle ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2,
int  vsum 
)
protected

Definition at line 767 of file RangeConvex.cpp.

SpatialMarkup RangeConvex::testTrixel ( uint64  nodeIndex)
protected

No children...

Definition at line 571 of file RangeConvex.cpp.

bool RangeConvex::testVectorInside ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2,
SpatialVector &  v 
)
protected

Definition at line 1142 of file RangeConvex.cpp.

int RangeConvex::testVertex ( const SpatialVector &  v)
protected

Definition at line 873 of file RangeConvex.cpp.

int RangeConvex::testVertex ( const SpatialVector *  v)
protected

Definition at line 882 of file RangeConvex.cpp.

Member Data Documentation

size_t RangeConvex::addlevel_
protected

Definition at line 199 of file RangeConvex.h.

SpatialConstraint RangeConvex::boundingCircle_
protected

Definition at line 198 of file RangeConvex.h.

std::vector<SpatialConstraint> RangeConvex::constraints_
protected

Definition at line 195 of file RangeConvex.h.

std::vector<SpatialVector> RangeConvex::corners_
protected

Definition at line 197 of file RangeConvex.h.

HtmRange* RangeConvex::hr
protected

Definition at line 84 of file RangeConvex.h.

const SpatialIndex* RangeConvex::index_
protected

Definition at line 196 of file RangeConvex.h.

int RangeConvex::olevel
protected

Definition at line 88 of file RangeConvex.h.

ValueVectorUint64* RangeConvex::plist_
protected

Definition at line 200 of file RangeConvex.h.

Sign RangeConvex::sign_
protected

Definition at line 89 of file RangeConvex.h.


The documentation for this class was generated from the following files:
  • RangeConvex.h
  • RangeConvex.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:23 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kstars

Skip menu "kstars"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal