library.alc 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. include "primitives.alh"
  2. Element function export_node(model_name_ex : String, model_reference : Element):
  3. Element splitted_ex
  4. splitted_ex = string_split(model_name_ex, "/")
  5. Integer length_ex
  6. length_ex = integer_subtraction(list_len(splitted_ex), 1)
  7. Integer counter_i_ex
  8. counter_i_ex = 0
  9. Element current_ex
  10. current_ex = dict_read(read_root(), "__hierarchy")
  11. while(integer_lt(counter_i_ex, length_ex)):
  12. if (bool_not(dict_in(current_ex, list_read(splitted_ex, counter_i_ex)))):
  13. // Create it first
  14. dict_add(current_ex, list_read(splitted_ex, counter_i_ex), create_node())
  15. current_ex = dict_read(current_ex, list_read(splitted_ex, counter_i_ex))
  16. counter_i_ex = integer_addition(counter_i_ex, 1)
  17. // current now contains the place where we should add the element
  18. dict_add(current_ex, list_read(splitted_ex, length_ex), model_reference)
  19. return model_reference
  20. Element function import_node(model_name_im : String):
  21. Element splitted_im
  22. splitted_im = string_split(model_name_im, "/")
  23. Integer length_im
  24. length_im = list_len(splitted_im)
  25. Integer counter_i_im
  26. counter_i_im = 0
  27. Element current_im
  28. current_im = dict_read(read_root(), "__hierarchy")
  29. while (integer_lt(counter_i_im, length_im)):
  30. current_im = dict_read(current_im, list_read(splitted_im, counter_i_im))
  31. counter_i_im = integer_addition(counter_i_im, 1)
  32. return current_im