• Skip to content
  • Skip to link menu
KDE 4.0 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

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

Protected Types

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

Protected Member Functions

void simplify0 ()
void saveTrixel (uint64 htmid)
SpatialMarkup testTrixel (uint64 nodeIndex)
SpatialMarkup testNode (uint64 id)
SpatialMarkup testNode (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2)
SpatialMarkup testTriangle (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, int vsum)
void testPartial (size_t level, uint64 id, const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, int previousPartials)
int testConstraints (size_t i, size_t j)
int testVertex (const SpatialVector &v)
int testVertex (const SpatialVector *v)
bool testHole (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2)
bool testEdge0 (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2)
bool testEdge (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2)
bool eSolve (const SpatialVector &v1, const SpatialVector &v2, size_t cIndex)
bool testBoundingCircle (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2)
bool testEdgeConstraint (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, size_t cIndex)
size_t testOtherPosNone (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2)
bool testConstraintInside (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, size_t cIndex)
bool testVectorInside (const SpatialVector &v0, const SpatialVector &v1, const SpatialVector &v2, SpatialVector &v)

Protected Attributes

HtmRange * hr
int olevel
ValueVectorSpvecCon constraints_
bool varlen_
const SpatialIndex * index_
ValueVectorSpvec corners_
SpatialConstraint boundingCircle_
size_t addlevel_
ValueVectorUint64 * plist_

Friends

class SpatialDomain
class sxSpatialDomain
class SpatialLookup
class Htmio
class SpatialConstraint

Member Typedef Documentation

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

Definition at line 224 of file RangeConvex.h.

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

Definition at line 228 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

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

Assignment.

Definition at line 47 of file RangeConvex.cpp.

void RangeConvex::add ( SpatialConstraint &  c  ) 

Add a constraint.

Definition at line 149 of file RangeConvex.cpp.

void RangeConvex::simplify (  ) 

Simplify the convex, remove redundancies.

Definition at line 425 of file RangeConvex.cpp.

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.

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.

size_t RangeConvex::numConstraints (  ) 

Return the number of constraints.

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

[] operator: give back constraint

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

Definition at line 107 of file RangeConvex.h.

int RangeConvex::getOlevel ( void   )  [inline]

Definition at line 108 of file RangeConvex.h.

void RangeConvex::simplify0 (  )  [protected]

Definition at line 215 of file RangeConvex.cpp.

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

Definition at line 573 of file RangeConvex.cpp.

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

No children...

Definition at line 617 of file RangeConvex.cpp.

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

Definition at line 760 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::testTriangle ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2,
int  vsum 
) [protected]

Definition at line 868 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.

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

Definition at line 529 of file RangeConvex.cpp.

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

Definition at line 974 of file RangeConvex.cpp.

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

Definition at line 983 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.

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

Definition at line 1036 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::eSolve ( const SpatialVector &  v1,
const SpatialVector &  v2,
size_t  cIndex 
) [protected]

Definition at line 1119 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::testEdgeConstraint ( const SpatialVector &  v0,
const SpatialVector &  v1,
const SpatialVector &  v2,
size_t  cIndex 
) [protected]

Definition at line 1202 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.

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

Definition at line 1232 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.


Friends And Related Function Documentation

friend class SpatialDomain [friend]

Definition at line 235 of file RangeConvex.h.

friend class sxSpatialDomain [friend]

Definition at line 236 of file RangeConvex.h.

friend class SpatialLookup [friend]

Definition at line 237 of file RangeConvex.h.

friend class Htmio [friend]

Definition at line 238 of file RangeConvex.h.

friend class SpatialConstraint [friend]

Definition at line 239 of file RangeConvex.h.


Member Data Documentation

HtmRange* RangeConvex::hr [protected]

Definition at line 108 of file RangeConvex.h.

int RangeConvex::olevel [protected]

Definition at line 111 of file RangeConvex.h.

ValueVectorSpvecCon RangeConvex::constraints_ [protected]

Definition at line 225 of file RangeConvex.h.

bool RangeConvex::varlen_ [protected]

Definition at line 226 of file RangeConvex.h.

const SpatialIndex* RangeConvex::index_ [protected]

Definition at line 227 of file RangeConvex.h.

ValueVectorSpvec RangeConvex::corners_ [protected]

Definition at line 229 of file RangeConvex.h.

SpatialConstraint RangeConvex::boundingCircle_ [protected]

Definition at line 230 of file RangeConvex.h.

size_t RangeConvex::addlevel_ [protected]

Definition at line 231 of file RangeConvex.h.

ValueVectorUint64* RangeConvex::plist_ [protected]

Definition at line 232 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
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  •   docs
  •   src
  • parley
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