- procedure TOctreeNode.SaveToStream(st:TStream);
- var
- i:integer;
- begin
- // Polygon Anzahl speichern
- st.WriteBuffer(PolygonAnzahl,4);
- // Polygone Speichern
- for i:=0 to Polygon Anzahl-1 do
- Polygon[i].SaveToStream(st);
- // Speichern ob Unterknoten vorhanden sind
- st.WriteBuffer(HatUnterknoten,sizeof(HatUnterknoten));
- // untergeordnete Knoten speichern
- if HatUnterknoten then
- for i:=0 to 7 do
- subnodes[i].SaveToStream(st);
- end;
- function TOcttreeNode.LoadFromStream(st:TStream);
- var
- i:integer;
- begin
- // Polygon Anzahl laden
- st.readbuffer(PolygonAnzahl,4);
- // Polygone laden
- for i:=0 to PolygonAnzahl-1 do
- begin
- Polygon[i]:=TPolygon.create;
- Polygon[i].LoadStream(st);
- end;
- // Laden ob Unterknoten vorhanden sind
- st.ReadBuffer(HatUnterknoten,sizeof(HatUnterknoten));
- // untergeordnete Knoten laden
- if HatUnterknoten then
- for i:=0 to 7 do
- begin
- subnodes[i]:=TOcttreeNode.create;
- subnodes[i].LoadFromStream(st);
- end;
- end;