kstars
Go to the documentation of this file.
24 #define IV(x) tree_.nodes_[index].v_[(x)]
25 #define IW(x) tree_.nodes_[index].w_[(x)]
26 #define LAYER tree_.layers_[layerindex_]
38 tree_(tree), layerindex_(layerindex) {
40 edges_ =
new Edge [
LAYER.nEdge_ + 1];
41 lTab_ =
new Edge* [
LAYER.nVert_ * 6];
44 for(
size_t i = 0; i <
LAYER.nVert_ * 6; i++)
70 index = (size_t)
LAYER.firstIndex_;
71 for(
size_t i=0; i <
LAYER.nNode_; i++,index++){
72 c = newEdge(c,index,0);
73 c = newEdge(c,index,1);
74 c = newEdge(c,index,2);
86 SpatialEdge::newEdge(
size_t emindex,
size_t index,
int k)
91 em = &edges_[emindex];
110 if(em->start_ > em->end_) {
112 em->start_ = em->end_;
119 if( (en=edgeMatch(em)) != NULL){
128 IW(k) = getMidPoint(em);
140 SpatialEdge::insertLookup(
Edge *em)
142 int j = 6 * em->start_;
147 for(i=0; i<6; i++, j++)
148 if ( lTab_[j] == NULL ) {
158 SpatialEdge::edgeMatch(
Edge *em)
160 int i = 6 * em->start_;
162 while ( lTab_[i] != NULL ) {
163 if(em->end_ == lTab_[i]->end_ )
return lTab_[i];
173 SpatialEdge::getMidPoint(
Edge *em)
175 tree_.vertices_[
index_] = tree_.vertices_[em->start_] +
176 tree_.vertices_[em->end_];
177 tree_.vertices_[
index_].normalize();
The Spatial Index is a quad tree of spherical triangles.
const SpatialIndex * index_
SpatialEdge(SpatialIndex &tree, size_t layerindex)
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:21 by
doxygen 1.8.7 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.