[Dune] Re: IntersectionIterator...

Peter Bastian Peter.Bastian at iwr.uni-heidelberg.de
Wed Mar 29 07:56:42 CEST 2006


> Idee:
> 1) Der IntersectionIterator liefert die Level-Nachbarn und,
>    falls inside ein Leaf ist, zusaetzlich die Leaf-Nachbarn.
> 2) Fuer die Unterscheidung werden zwei neue
>    Methoden: isLevelNeighbor und isLeafNeighbor aufgenommen. Die
>    bisherige isNeighbor Methode wird Depricated gemacht.
> Auf diese Art ist eigentlich alles abfragbar was wir so brauchen.
> 

Ist mir heute morgen eingefallen: eigentlich ist die Auftrennung der 
isNeighbor Methode in die beiden neuen Methoden überflüssig, da einem 
die outside entity ohnehin sagt ob sie ein leaf ist und auf welchem 
level sie ist. Damit ist all die Information bereits durch die 
bestehende Schnittstelle verfügbar und wir müssen nur die Semantik 
ändern, d.h. der IntersectionIterator hält bei genau den Elementen an 
wie unten beschrieben. Der Vorteil wäre, dass man noch weniger ändern 
muss und dass keine redundante Information ausgegeben wird.

Also:
Ich wäre dafür die isNeighbor Methode zu behalten, wie bisher liefert 
sie true, wenn unter outside eine Entity zugreifbar ist. Es werden aber, 
wie vorgschlagen, die leaf und level Nachbarn besucht.

Was meint ihr?

Peter

> 
> PS: an Robert und Peter: stimmt das alles so?
> 
> Bsp: nich konformes Gitter
> ------------------------------
> |            |       |       |
> |            |   2   |   3   |
> |            |       |       |
> -      1     -----------------
> |            |       |       |
> |            |   4   |   5   |
> |            |       |       |
> ------------------------------
> 
> Auf 1 erhalte ich zunaechst den Vater von (2,3,4,5) mit
>   isLevel = true und isLeaf = false
> Dann erhalte ich 2 und 4 mit
>   isLevel = false und isLeaf = true
> 
> Auf 2 erhalte ich 3,4 mit
>   isLeval = true und isLeaf = true
> Dann erhalte ich noch 1 mit
>   isLevel = false und isLeaf = true
> 
> Bsp: Bisektions-Gitter
> 
> Makro        ----------
>              |       /|\
>              |  0   / | \
>              |     /  |  \
>              |    /   |   \
>              |   /  1 | 2  \
>              |  /     |     \
>              | /      |      \
>              |/----------------
> Verfeinerung ----------
>              | \  4  /|\
>              |  \   / | \
>              |   \ /  |  \
>              | 3  / 6 |   \
>              |   / \  | 2  \
>              |  /   \ |     \
>              | /  5  \|      \
>              |/----------------
> IntersectionIterator auf 6:
>  2:   mit isLeafNeighbor = true und isLevelNeighbor = false
>  5,4: mit isLeafNeighbor = true und isLevelNeighbor = true
> IntersectionIterator auf 2:
>  1:  mit isLeafNeighbor = false und isLeafNeighbor = true
>  6:  mit isLeafNeighbor = true und isleafNeighbor = false
> 
> 
> 
> 

-- 
------------------------------------------------------------------
Peter Bastian, IWR,Uni Heidelberg, INF 348,R 020, 69120 Heidelberg
email: Peter.Bastian at iwr.uni-heidelberg.de   Tel: +49 6221 54 4984
WWW: http://www.iwr.uni-heidelberg.de/~Peter.Bastian Fax: ... 8860





More information about the Dune mailing list