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

kstars

RangeConvex Class Reference

#include <RangeConvex.h>

Inheritance diagram for RangeConvex:

Inheritance graph
[legend]

List of all members.


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.


Public Member Functions

void add (SpatialConstraint &)
int getOlevel (void)
void intersect (const SpatialIndex *index, ValueVectorUint64 *idList)
void intersect (const SpatialIndex *index, HtmRange *hr, bool varlen)
size_t numConstraints ()
RangeConvex & operator= (const RangeConvex &)
SpatialConstraint & operator[] (size_t i)
 RangeConvex (const RangeConvex &)
 RangeConvex (const SpatialVector *v1, const SpatialVector *v2, const SpatialVector *v3, const SpatialVector *v4)
 RangeConvex (const SpatialVector *v1, const SpatialVector *v2, const SpatialVector *v3)
 RangeConvex ()
void setOlevel (int level)
void simplify ()

Protected Types

typedef std::vector
< SpatialVector > 
ValueVectorSpvec
typedef std::vector
< SpatialConstraint > 
ValueVectorSpvecCon

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_
ValueVectorSpvecCon constraints_
ValueVectorSpvec corners_
HtmRange * hr
const SpatialIndex * index_
int olevel
ValueVectorUint64 * plist_
bool varlen_

Member Typedef Documentation

typedef std::vector<SpatialVector> RangeConvex::ValueVectorSpvec [protected]

Definition at line 228 of file RangeConvex.h.

typedef std::vector<SpatialConstraint> RangeConvex::ValueVectorSpvecCon [protected]

Definition at line 224 of file RangeConvex.h.


Constructor & Destructor Documentation

RangeConvex::RangeConvex (  ) 

Default Constructor.

Definition at line 27 of file RangeConvex.cpp.

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

Constructor from a triangle.

Definition at line 70 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 99 of file RangeConvex.cpp.

RangeConvex::RangeConvex ( const RangeConvex &  c  ) 

Copy constructor.

Definition at line 32 of file RangeConvex.cpp.


Member Function Documentation

void RangeConvex::add ( SpatialConstraint &  c  ) 

Add a constraint.

Definition at line 149 of file RangeConvex.cpp.

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

Definition at line 1119 of file RangeConvex.cpp.

int RangeConvex::getOlevel ( void   )  [inline]

Definition at line 108 of file RangeConvex.h.

void RangeConvex::intersect ( const SpatialIndex *  index,
ValueVectorUint64 *  idList 
)

Intersect with index.

Now only a single list of IDs is returned. The IDs need not be level.

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

Intersect with index.

result is given in a list of nodes.

Definition at line 554 of file RangeConvex.cpp.

size_t RangeConvex::numConstraints (  ) 

Return the number of constraints.

RangeConvex & RangeConvex::operator= ( const RangeConvex &  c  ) 

Assignment.

Definition at line 47 of file RangeConvex.cpp.

SpatialConstraint& RangeConvex::operator[] ( size_t  i  ) 

[] operator: give back constraint

void RangeConvex::saveTrixel ( uint64  htmid  )  [inline, protected]

Definition at line 573 of file RangeConvex.cpp.

void RangeConvex::setOlevel ( int  level  )  [inline]

Definition at line 107 of file RangeConvex.h.

void RangeConvex::simplify (  ) 

Simplify the convex, remove redundancies.

Definition at line 425 of file RangeConvex.cpp.

void RangeConvex::simplify0 (  )  [protected]

Definition at line 215 of file RangeConvex.cpp.

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

Definition at line 1161 of file RangeConvex.cpp.

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

Definition at line 1232 of file RangeConvex.cpp.

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

Definition at line 529 of file RangeConvex.cpp.

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

Definition at line 1100 of file RangeConvex.cpp.

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

Definition at line 1036 of file RangeConvex.cpp.

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

Definition at line 1202 of file RangeConvex.cpp.

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

Definition at line 998 of file RangeConvex.cpp.

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

Definition at line 822 of file RangeConvex.cpp.

SpatialMarkup RangeConvex::testNode ( uint64  id  )  [protected]

Definition at line 760 of file RangeConvex.cpp.

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

Definition at line 1217 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 703 of file RangeConvex.cpp.

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

Definition at line 868 of file RangeConvex.cpp.

SpatialMarkup RangeConvex::testTrixel ( uint64  nodeIndex  )  [protected]

No children...

Definition at line 617 of file RangeConvex.cpp.

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

Definition at line 1243 of file RangeConvex.cpp.

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

Definition at line 983 of file RangeConvex.cpp.

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

Definition at line 974 of file RangeConvex.cpp.


Member Data Documentation

size_t RangeConvex::addlevel_ [protected]

Definition at line 231 of file RangeConvex.h.

SpatialConstraint RangeConvex::boundingCircle_ [protected]

Definition at line 230 of file RangeConvex.h.

ValueVectorSpvecCon RangeConvex::constraints_ [protected]

Definition at line 225 of file RangeConvex.h.

ValueVectorSpvec RangeConvex::corners_ [protected]

Definition at line 229 of file RangeConvex.h.

HtmRange* RangeConvex::hr [protected]

Definition at line 108 of file RangeConvex.h.

const SpatialIndex* RangeConvex::index_ [protected]

Definition at line 227 of file RangeConvex.h.

int RangeConvex::olevel [protected]

Definition at line 111 of file RangeConvex.h.

ValueVectorUint64* RangeConvex::plist_ [protected]

Definition at line 232 of file RangeConvex.h.

bool RangeConvex::varlen_ [protected]

Definition at line 226 of file RangeConvex.h.


The documentation for this class was generated from the following files:
  • RangeConvex.h
  • RangeConvex.cpp

kstars

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

kdeedu

Skip menu "kdeedu"
  • kalzium
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  •   docs
  •   src
  • parley
  •   stepcore
Generated for kdeedu by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal