Hi Stefan,

On Tuesday, 2011-11-29 18:17:44 +0100, Stefan Knorr (Astron) wrote:

> comments, but the original author seems to have used symbols to
> illustrate his explanations. The meaning of the symbols, however, has
> seemingly been completely lost (using search and replace they all seem
> to come up as the same character).

Ah the joy of text encodings and editors shredding them..

I managed to get hold of an intact revision before ooo/DEV300_m101 was
merged and converted it from *gasp* cp437 to utf-8, attached are the
relevant sections.

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3  9E96 2F1A D073 293C 05FD
---%<---snip---%<--- ---%<---snap---%<---


                } else if (nMainCase==2) {
                        // Fall 2:
                        bForceMeeting=sal_True;
                        if (bHor1) { // beide waagerecht
                /* 9 Moeglichkeiten:                   ∙ ∙ ∙                    
*/
                /*   2.1 Gegenueber, Ueberschneidung   ├ ┤ ∙                    
*/
                /*       nur auf der Y-Achse           ∙ ∙ ∙                    
*/
                /*   2.2, 2.3 Gegenueber, vertikal versetzt. ├ ∙ ∙   ∙ ∙ ∙      
*/
                /*            Ueberschneidung weder auf der  ∙ ┤ ∙   ∙ ┤ ∙      
*/
                /*            X- noch auf der Y-Achse        ∙ ∙ ∙   ├ ∙ ∙      
*/
                /*   2.4, 2.5 Untereinander,   ∙ ├ ∙   ∙ ∙ ∙                    
*/
                /*            Ueberschneidung  ∙ ┤ ∙   ∙ ┤ ∙                    
*/
                /*            nur auf X-Achse  ∙ ∙ ∙   ∙ ├ ∙                    
*/
                /*   2.6, 2.7 Gegeneinander, vertikal versetzt. ∙ ∙ ├   ∙ ∙ ∙   
*/
                /*            Ueberschneidung weder auf der     ∙ ┤ ∙   ∙ ┤ ∙   
*/
                /*            X- noch auf der Y-Achse.          ∙ ∙ ∙   ∙ ∙ ├   
*/
                /*   2.8 Gegeneinander.       ∙ ∙ ∙                             
*/
                /*       Ueberschneidung nur  ∙ ┤ ├                             
*/
                /*       auf der Y-Achse.     ∙ ∙ ∙                             
*/
                /*   2.9 Die BewareRects der Objekte ueberschneiden             
*/
                /*       sich auf X- und Y-Achse.                               
*/
                /* Die Faelle gelten entsprechend umgesetzt auch fuer           
*/
                /* senkrechte Linienaustritte.                                  
*/
                /* Die Faelle 2.1-2.7 werden mit dem Default-Meeting 
ausreichend*/
                /* gut behandelt. Spezielle MeetingPoints werden hier also nur  
*/
                /* fuer 2.8 und 2.9 bestimmt.                                   
*/

                                // Normalisierung. aR1 soll der nach rechts und
                                // aR2 der nach links austretende sein.


---%<---snip---%<--- ---%<---snap---%<---


                } else if (nMainCase==3) { // Fall 3: Einer waagerecht und der 
andere senkrecht. Sehr viele Fallunterscheidungen
            /* Kleine Legende: ∙ · ∙ · ∙ -> Ohne Ueberschneidung, maximal 
Beruehrung.                   */
            /*                 · · · · · -> Ueberschneidung                     
                        */
            /*                 ∙ · ├ · ∙ -> Selbe Hoehe                         
                        */
            /*                 · · · · · -> Ueberschneidung                     
                        */
            /*                 ∙ · ∙ · ∙ -> Ohne Ueberschneidung, maximal 
Beruehrung.                   */
            /* Linienaustritte links ┤, rechts ├, oben ┴ und unten ┬.           
                        */
            /* Insgesamt sind 96 Konstellationen moeglich, wobei einige nicht 
einmal                    */
            /* eindeutig einem Fall und damit einer Behandlungsmethode 
zugeordnet werden                */
            /* koennen.                                                         
                        */
            /* 3.1: Hierzu moegen alle Konstellationen zaehlen, die durch den   
                        */
            /*      Default-MeetingPoint zufriedenstellend abgedeckt sind 
(20+12).                      */
            /*   ┬ ┬ ┬ · ┴    ┴ · ┬ ┬ ┬   Diese 12  ∙ · ∙ ┬ ∙    ∙ · ∙ · ∙    ∙ 
┬ ∙ · ∙    ∙ · ∙ · ∙    */
            /*   · · · · ┴    ┴ · · · ·   Konstel.  · · · · ·    · · · · ┬    · 
· · · ·    ┬ · · · ·    */
            /*   ∙ · ├ · ∙    ∙ · ┤ · ∙   jedoch    ∙ · ├ · ┴    ∙ · ├ · ┬    ┴ 
· ┤ · ∙    ┬ · ┤ · ∙    */
            /*   · · · · ┬    ┬ · · · ·   nur zum   · · · · ┴    · · · · ·    ┴ 
· · · ·    · · · · ·    */
            /*   ┴ ┴ ┴ · ┬    ┬ · ┴ ┴ ┴   Teil:     ∙ · ∙ ┴ ∙    ∙ · ∙ · ∙    ∙ 
┴ ∙ · ∙    ∙ · ∙ · ∙    */
            /*   Letztere 16 Faelle scheiden aus, sobald sich die Objekte offen 
                        */
            /*   gegenueberstehen (siehe Fall 3.2).                             
                        */
            /* 3.2: Die Objekte stehen sich offen gegenueber und somit ist eine 
                        */
            /*      Verbindung mit lediglich 2 Linien moeglich (4+20).          
                        */
            /*      Dieser Fall hat 1. Prioritaet.                              
                        */
            /*   ∙ · ∙ · ┬   ┬ · ∙ · ∙   Diese 20  ∙ · ∙ ┬ ∙   ∙ ┬ ∙ · ∙   ∙ · 
∙ · ∙   ∙ · ∙ · ∙        */
            /*   · · · · ·   · · · · ·   Konstel.  · · · ┬ ┬   ┬ ┬ · · ·   · · 
· · ·   · · · · ·        */
            /*   ∙ · ├ · ∙   ∙ · ┤ · ∙   jedoch    ∙ · ├ ┴ ┴   ┴ ┴ ┤ · ∙   ∙ · 
├ ┬ ┬   ┬ ┬ ┤ · ∙        */
            /*   · · · · ·   · · · · ·   nur zum   · · · ┴ ┴   ┴ ┴ · · ·   · · 
· · ·   · · · · ·        */
            /*   ∙ · ∙ · ┴   ┴ · ∙ · ∙   Teil:     ∙ · ∙ ┴ ∙   ∙ ┴ ∙ · ∙   ∙ · 
∙ · ∙   ∙ · ∙ · ∙        */
            /* 3.3: Die Linienaustritte zeigen vom anderen Objekt weg bzw. 
hinter                       */
            /*      dessen Ruecken vorbei (52+4).                               
                        */
            /*   ┴ ┴ ┴ ┴ ∙   ∙ ┴ ┴ ┴ ┴   ∙ · · · ∙   ∙ · ∙ · ∙   Diese 4   ∙ · 
∙ · ∙   ∙ · ∙ · ∙        */
            /*   ┴ ┴ ┴ ┴ ·   · ┴ ┴ ┴ ┴   ┬ ┬ ┬ · ·   · · ┬ ┬ ┬   Konstel.  · · 
· ┬ ·   · ┬ · · ·        */
            /*   ┴ ┴ ├ · ∙   ∙ · ┤ ┴ ┴   ┬ ┬ ├ · ∙   ∙ · ┤ ┬ ┬   jedoch    ∙ · 
├ · ∙   ∙ · ┤ · ∙        */
            /*   ┴ ┴ ┴ · ·   · · ┴ ┴ ┴   ┬ ┬ ┬ ┬ ·   · ┬ ┬ ┬ ┬   nur zum   · · 
· ┴ ·   · ┴ · · ·        */
            /*   ∙ · ∙ · ∙   ∙ · ∙ · ∙   ┬ ┬ ┬ ┬ ∙   ∙ ┬ ┬ ┬ ┬   Teil:     ∙ · 
∙ · ∙   ∙ · ∙ · ∙        */


---%<---snip---%<--- ---%<---snap---%<---


/*
Nach einer einfachen Rechnung koennte es max. 64 unterschiedliche Verlaeufe mit
5 Linien, 32 mit 4 Linien, 16 mit 3, 8 mit 2 Linien und 4 mit 1 Linie geben=124.
Normalisiert auf 1. Austrittswinkel nach rechts bleiben dann noch 31.
Dann noch eine vertikale Spiegelung wegnormalisiert bleiben noch 16
characteristische Verlaufszuege mit 1-5 Linien:
Mit 1 Linie (Typ 'I'):  --
Mit 2 Linien (Typ 'L'): -┘
Mit 3 Linien (Typ 'U'):  -┐  (Typ 'Z'):  ┌-
                                                 -┘             -┘
Mit 4 Linien: 1 ist nicht plausibel, 3 ist=2 (90deg Drehung). Verbleibt 2,4
         ┌-┘  ┌┐  └┐  ┌┐                               ┌┐  ┌-┐
        -┘   -┘   -┘  -┘                              -┘    -┘
Mit 5 Linien: nicht plausibel sind 1,2,4,5. 7 ist identisch mit 3 
(Richtungsumkehr)
                          Bleibt also 3,6 und 8.              '4'  'S'  'C'
           ┐    ┌             -┐   ┌-  ┌-┐                  ┌-
         ┌-┘  ┌-┘  ┌-┐   ┌-┐   └┐  └┐ -┘ │ ┌-┐         ┌-┐  └┐  ┌-┐
        -┘   -┘   -┘ ┘  -┘ └-  -┘  -┘  --┘ └ ┘        -┘ ┘  -┘  └ ┘
Insgesamt sind also 9 Grundtypen zu unterscheiden die den 400 Konstellationen
aus Objektposition und Austrittswinkeln zuzuordnen sind.
4 der 9 Grundtypen haben eine 'Mittellinie'. Die Anzahl der zu Objektabstaende
je Objekt variiert von 0-3:
         Mi   O1   O2   Anmerkung
'I':  n   0    0
'L':  n   0    0
'U':  n  0-1  0-1
'Z':  j   0    0
4.1:  j   0    1    = U+1 bzw. 1+U
4.2:  n  0-2  0-2   = Z+1
'4':  j   0    2    = Z+2
'S':  j   1    1    = 1+Z+1
'C':  n  0-3  0-3   = 1+U+1
*/


---%<---snip---%<--- ---%<---snap---%<---

Attachment: pgpFuvMtWiPst.pgp
Description: PGP signature

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to