Wie kann man Referenz zu einem Dreieck löschen wenn Klasse Triangle nur get-Methode hat ?
Auch bei Triangulation braucht man so eine Methode wie setOppositeTriangle (in Triangle-Klasse) um die Verbindung zwischen Dreiecken zu herstellen oder ?
Gruß
hat sich erledigt, das macht man per Edge ??
P4 - triangle löschen
-
- Erstie
- Beiträge: 19
- Registriert: 4. Okt 2010 00:46
- Kontaktdaten:
Re: P4 - triangle löschen
Genau, die Referenzen gehören immer zu einer Edge. Und über diese können sie dann (mit setT1 und setT2) bearbeitet werden.
Zudem ist es in einem Triangle auch möglich, mit setEdges neue Kanten zu setzen.
Zudem ist es in einem Triangle auch möglich, mit setEdges neue Kanten zu setzen.
Ophasen-Leitung Winter 2014/15, Sommer 2015, Sommer 2016 & Winter 2016/17
TGdI Tutor WiSe 14/15, 13/14 und 12/13
GdI II Betreuung Praktika SoSe 13
CMS Tutor SoSe 13
TGdI Tutor WiSe 14/15, 13/14 und 12/13
GdI II Betreuung Praktika SoSe 13
CMS Tutor SoSe 13
Re: P4 - triangle löschen
Laut der Aufgabe reicht es ja nur die referenzen von edges auf triangles zu nullen die gelöscht werden sollen. Das mache ich, raus kommt dann aber:
edges before: 6
[Edge((1.0, 1.0) - (4.0, 1.0) T1: 1183978228 T2: null), Edge((1.0, 1.0) - (2.0, 3.0) T1: 1183978228 T2: 688881353), Edge((1.0, 1.0) - (2.0, 5.0) T1: 688881353 T2: null), Edge((2.0, 3.0) - (2.0, 5.0) T1: 688881353 T2: 944558894), Edge((4.0, 1.0) - (2.0, 5.0) T1: 944558894 T2: null), Edge((2.0, 3.0) - (4.0, 1.0) T1: 1183978228 T2: 944558894)]
edges afterwards: 3
[Edge((1.0, 1.0) - (4.0, 1.0) T1: 1183978228 T2: null), Edge((1.0, 1.0) - (2.0, 3.0) T1: null T2: null), Edge((2.0, 3.0) - (4.0, 1.0) T1: null T2: null)]
Es verschwinden also edges die ich eigtl nicht anfasse und edges bei denen ich die triangles nulle bleiben?
edges before: 6
[Edge((1.0, 1.0) - (4.0, 1.0) T1: 1183978228 T2: null), Edge((1.0, 1.0) - (2.0, 3.0) T1: 1183978228 T2: 688881353), Edge((1.0, 1.0) - (2.0, 5.0) T1: 688881353 T2: null), Edge((2.0, 3.0) - (2.0, 5.0) T1: 688881353 T2: 944558894), Edge((4.0, 1.0) - (2.0, 5.0) T1: 944558894 T2: null), Edge((2.0, 3.0) - (4.0, 1.0) T1: 1183978228 T2: 944558894)]
edges afterwards: 3
[Edge((1.0, 1.0) - (4.0, 1.0) T1: 1183978228 T2: null), Edge((1.0, 1.0) - (2.0, 3.0) T1: null T2: null), Edge((2.0, 3.0) - (4.0, 1.0) T1: null T2: null)]
Es verschwinden also edges die ich eigtl nicht anfasse und edges bei denen ich die triangles nulle bleiben?
Re: P4 - triangle löschen
Ich glaube du löscht falsche Referenzen. Dadurch sind die benachbarten Dreiecke nicht mehr erreichbar, es bleibt nur das Startdreieck (3 Kanten), auch wenn dort die Kanten fehlerhafte Referenzen (keine Referenz auf das beinhaltende Dreieck) enthalten.
Edges, die zu den benachbarten Dreiecken gehören, sind natürlich nicht mehr in der Liste, weil ja kein Pfad zu ihnen gefunden werden kann. Das gilt auch dann, wenn die Edges nicht geändert wurden.
Da du aber über root eine Referenz auf dieses Dreieck hast und dieses Dreieck ja eine Liste mit Kanten enthält, bleiben (genau) diese trotzdem in der Liste.
Edges, die zu den benachbarten Dreiecken gehören, sind natürlich nicht mehr in der Liste, weil ja kein Pfad zu ihnen gefunden werden kann. Das gilt auch dann, wenn die Edges nicht geändert wurden.
Da du aber über root eine Referenz auf dieses Dreieck hast und dieses Dreieck ja eine Liste mit Kanten enthält, bleiben (genau) diese trotzdem in der Liste.
Ophasen-Leitung Winter 2014/15, Sommer 2015, Sommer 2016 & Winter 2016/17
TGdI Tutor WiSe 14/15, 13/14 und 12/13
GdI II Betreuung Praktika SoSe 13
CMS Tutor SoSe 13
TGdI Tutor WiSe 14/15, 13/14 und 12/13
GdI II Betreuung Praktika SoSe 13
CMS Tutor SoSe 13
Re: P4 - triangle löschen
Ich habe das Selbe Problem im Moment (und ich bin bin 1000%ig sicher die korrekten Referenzen zu löschen). Hast Du Deinen Fehler gefunden? Vielleicht mache ich ja den Selben Fehler...Schnell hat geschrieben:Es verschwinden also edges die ich eigtl nicht anfasse und edges bei denen ich die triangles nulle bleiben?