library.alc 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. include "primitives.alh"
  2. Element function export_node(model_name : String, model_reference : Element):
  3. Element splitted
  4. splitted = string_split(model_name, "/")
  5. Integer length
  6. length = list_len(splitted) - 1
  7. Integer counter_i
  8. counter_i = 0
  9. Element current
  10. current = dict_read(read_root(), "__hierarchy")
  11. while(counter_i < length):
  12. if (bool_not(dict_in(current, list_read(splitted, counter_i)))):
  13. // Create it first
  14. dict_add(current, splitted[counter_i], create_node())
  15. current = current[list_read(splitted, counter_i)]
  16. counter_i = counter_i + 1
  17. // current now contains the place where we should add the element
  18. dict_add(current, list_read(splitted, length), model_reference)
  19. return model_reference!
  20. Element function import_node(model_name : String):
  21. Element splitted
  22. splitted = string_split(model_name, "/")
  23. Integer length
  24. length = list_len(splitted)
  25. Integer counter_i
  26. counter_i = 0
  27. Element current
  28. current = dict_read(read_root(), "__hierarchy")
  29. while (counter_i < length):
  30. if dict_in(current, splitted[counter_i]):
  31. current = current[splitted[counter_i]]
  32. counter_i = counter_i + 1
  33. else:
  34. return read_root()!
  35. return current!