tubelib2/design.txt

145 lines
4.5 KiB
Plaintext

View to the north
dir1/dir2: axis dir:
6
A 1
| / 0
+--|-----+ A 1
/ o /| | /
+--------+ | |/
4 <----| |o----> 2 4 <-------+-------> 3
| o | | /|
| / | + / |
| / |/ 2 V
+-/------+ 5
/ |
3 |
V
5
+------+
| |
+------+ +---+------+---+ +------+
|XXXXXX| | | | | | |
|XXXXXX| | | | | | |
+------+ +---+------+---+ +------+
| |
+------+
dir1/dir2 1/3 2/4 5/6
axis/rot 3/0 5/1 1/0
+------+ +---+------+ +------+ +------+---+
|XXXXXX| | | | | | | | |
|XXXXXX| | | | | | | | |
+------+ +---+------+ +------+ +------+---+
| | | | | | | |
+------+ +------+ +------+ +------+
dir1/dir2 3/5 4/5 1/5 2/5
axis/rot 0/0 3/3 2/0 0/3
+------+ +------+ +------+ +------+
| | | | | | | |
+------+ +---+------+ +------+ +------+---+
|XXXXXX| | | | | | | | |
|XXXXXX| | | | | | | | |
+------+ +---+------+ +------+ +------+---+
axis/rot 3/6 4/6 1/6 2/6
dir1/dir2 5/0 3/1 2/2 4/3
+------+---+ +---+------+ +------+---+ +---+------+
| | | | | | |XXXXXX| | | |XXXXXX|
| | | | | | |XXXXXX| | | |XXXXXX|
+------+---+ +---+------+ +------+---+ +---+------+
dir1/dir2 1/2 1/4 2/3 3/4
axis/rot 2/3 3/2 1/3 1/1
####################################################
after_place_node()
update_after_place_node()
get_meta()
repair_tube_line()
get_pos()
update_secondary_node()
after_place_tube()
update_after_place_tube()
del_meta()
repair_tube_line()
add_meta()
update_secondary_node()
after_dig_node()
update_after_dig_node()
get_meta()
repair_tube_line()
get_pos()
add_meta()
update_secondary_node()
after_dig_tube()
update_after_dig_tube()
get_meta()
repair_tube_line()
get_pos()
add_meta()
update_secondary_node()
get_connected_node_pos()
get_meta()
repair_tube_line()
get_pos()
tool_repair_tubes()
determine_dirs()
repair_tube_line()
add_meta()
update_secondary_node()
tool_remove_tube()
remove_tube()
repair_tube_line()
get_pos()
add_meta()
update_secondary_node()
#####################################################################
primary_node()
secondary_node()
get_primary_dir()
get_pos()
del_meta()
get_meta()
add_meta()
repair_tube_line()
update_secondary_node()
update_after_place_node()
update_after_dig_node()
update_after_place_tube()
update_after_dig_tube()
#####################################################################
Neuer Ansatz
============
+------+ +------+
|peer->| |<-peer|
| |<--------------->| |
|dir-> | | <-dir|
+------+ +------+
Beim Setzen eines Nodes x werden immer die Meta-Daten in f1 und f2 aktualisiert
sowie die Secundary Update-Funktion von S1 und S2 aufgerufen.
[S1][f1]----[n1] x [n2]----[f2][S2]