/tutorial/vision/opengl/example6.e

http://github.com/tybor/Liberty · Specman e · 73 lines · 54 code · 19 blank · 0 comment · 1 complexity · 1dd649fa90d2d58c3f2b84608b099f04 MD5 · raw file

  1. class EXAMPLE6
  2. inherit
  3. GRAPHIC
  4. insert
  5. ARGUMENTS
  6. creation
  7. make
  8. feature{ANY}
  9. world: INTERACTIVE_WORLD
  10. win: TOPLEVEL_WINDOW
  11. angle: REAL
  12. make is
  13. local
  14. universal_world_loader: UNIVERSAL_WORLD_LOADER[LOADABLE_GL_OBJECT]
  15. universal_object_loader: UNIVERSAL_OBJECT_LOADER[LOADABLE_GL_OBJECT]
  16. universal_texture_loader: UNIVERSAL_TEXTURE_LOADER
  17. xml_world_loader: XML_WORLD_LOADER[LOADABLE_GL_OBJECT]
  18. xml_object_loader: XML_OBJECT_LOADER[LOADABLE_GL_OBJECT]
  19. bmp_texture_loader: BMP_TEXTURE_LOADER
  20. do
  21. if argument_count < 1 then
  22. io.put_string("[
  23. Usage: ./a.out <file name>
  24. Example: ./a.out world.xml
  25. ./a.out world2.xml
  26. ]")
  27. else
  28. create win.default_create
  29. win.set_title("Example 6")
  30. win.set_background_color(white_color)
  31. win.map
  32. create universal_world_loader.make
  33. create universal_object_loader.make
  34. create universal_texture_loader.make
  35. universal_world_loader.add_lookup_directory("data/world")
  36. universal_object_loader.add_lookup_directory("data/object")
  37. universal_texture_loader.add_lookup_directory("data/texture")
  38. create xml_world_loader.make
  39. create xml_object_loader.make
  40. create bmp_texture_loader.make
  41. universal_world_loader.add_loader("xml", xml_world_loader)
  42. universal_object_loader.add_loader("xml", xml_object_loader)
  43. universal_texture_loader.add_loader("bmp", bmp_texture_loader)
  44. create world.make_interactive(win, agent finish_program)
  45. universal_world_loader.load_world(world, argument(1), universal_object_loader, universal_texture_loader)
  46. win.when_close_requested(agent finish_program)
  47. vision.start
  48. end
  49. end
  50. finish_program is
  51. do
  52. vision.loop_stack.break
  53. end
  54. end