/tutorial/vision/opengl/pyramid.e

http://github.com/tybor/Liberty · Specman e · 37 lines · 29 code · 7 blank · 1 comment · 0 complexity · 7d40b2f205db1ceabd941c1aa55bcd0a MD5 · raw file

  1. class PYRAMID
  2. inherit
  3. GL_OBJECT
  4. creation
  5. make_at_origin, make_with_position
  6. feature{ANY}
  7. build is
  8. do
  9. create vertices.make(5)
  10. vertices.put(create {VERTEX}.make_with_color_object(0, 1, 0, full_red), 0)
  11. vertices.put(create {VERTEX}.make_with_color_object(-1, -1, -1, full_green), 1)
  12. vertices.put(create {VERTEX}.make_with_color_object(1, -1, -1, full_blue), 2)
  13. vertices.put(create {VERTEX}.make_with_color_object(1, -1, 1, full_magenta), 3)
  14. vertices.put(create {VERTEX}.make_with_color_object(-1, -1, 1, full_cyan), 4)
  15. -- Vertices must be given in counter-clockwise order when look toward the facet
  16. facets.add_last(create {FACET}.make(vertices.item(0), vertices.item(2), vertices.item(1)))
  17. facets.add_last(create {FACET}.make(vertices.item(0), vertices.item(3), vertices.item(2)))
  18. facets.add_last(create {FACET}.make(vertices.item(0), vertices.item(4), vertices.item(3)))
  19. facets.add_last(create {FACET}.make(vertices.item(0), vertices.item(1), vertices.item(4)))
  20. facets.add_last(create {FACET}.make(vertices.item(4), vertices.item(1), vertices.item(3)))
  21. facets.add_last(create {FACET}.make(vertices.item(1), vertices.item(2), vertices.item(3)))
  22. end
  23. turn(ang_x, ang_y : REAL) is
  24. do
  25. set_pitch(ang_x)
  26. set_heading(ang_y)
  27. end
  28. feature {}
  29. vertices: FAST_ARRAY[VERTEX]
  30. end