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]