1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- include "primitives.alh"
- Element function export_node(model_name : String, model_reference : Element):
- Element splitted
- splitted = string_split(model_name, "/")
- Integer length
- length = list_len(splitted) - 1
- Integer counter_i
- counter_i = 0
- Element current
- current = dict_read(read_root(), "__hierarchy")
- while(counter_i < length):
- if (bool_not(dict_in(current, splitted[counter_i]))):
- // Create the new node
- dict_add(current, splitted[counter_i], dict_create())
- dict_add(current[splitted[counter_i]], "__hierarchy_node", dict_create())
- // Read out newly created element
- current = current[splitted[counter_i]]
- counter_i = counter_i + 1
-
- // current now contains the place where we should add the element
- dict_overwrite(current, splitted[length], model_reference)
- return model_reference!
- Element function import_node(model_name : String):
- Element splitted
- splitted = string_split(model_name, "/")
- Integer length
- length = list_len(splitted)
- Integer counter_i
- counter_i = 0
- Element current
- current = dict_read(read_root(), "__hierarchy")
- while (counter_i < length):
- if dict_in(current, splitted[counter_i]):
- current = current[splitted[counter_i]]
- counter_i = counter_i + 1
- else:
- return read_root()!
- return current!
|