1. ------------ 
  2. -- Actors -- 
  3. ------------ 
  4.  
  5. -- Change log: 
  6. -- GM 18 - May - 2008 : Changed from Ego to Actors : object - oriented, 
  7. --   no more ego - centric, esp. : globals removed, wrapping Actor type .. . 
  8.  
  9. with Game_Control, GLOBE_3D; 
  10.  
  11. package Actors is 
  12.  
  13.    ------------------ 
  14.    -- Translations -- 
  15.    ------------------ 
  16.  
  17.    procedure Translation (actor          : in out GLOBE_3D.Camera; 
  18.                           gc             :        Game_Control.Command_set; 
  19.                           gx, gy         :        GLOBE_3D.Real; 
  20.                           unitary_change :        GLOBE_3D.Real; 
  21.                           deceleration   :        GLOBE_3D.Real; 
  22.                           time_step      :        GLOBE_3D.Real); 
  23.  
  24.    generic 
  25.       with procedure Limiting (step : in out GLOBE_3D.Vector_3D); 
  26.  
  27.    procedure Limited_Translation (actor          : in out GLOBE_3D.Camera; 
  28.                                   gc             :        Game_Control.Command_set; 
  29.                                   gx, gy         :        GLOBE_3D.Real; 
  30.                                   unitary_change :        GLOBE_3D.Real; 
  31.                                   deceleration   :        GLOBE_3D.Real; 
  32.                                   time_step      :        GLOBE_3D.Real); 
  33.  
  34.    --------------- 
  35.    -- Rotations -- 
  36.    --------------- 
  37.  
  38.    procedure Rotation (actor          : in out GLOBE_3D.Camera; 
  39.                        gc             :        Game_Control.Command_set; 
  40.                        gx, gy         :        GLOBE_3D.Real; 
  41.                        unitary_change :        GLOBE_3D.Real; 
  42.                        deceleration   :        GLOBE_3D.Real; 
  43.                        time_step      :        GLOBE_3D.Real); 
  44.  
  45.    -- Version with a vector of angles in radians 
  46.    procedure Abstract_rotation (gc             :        Game_Control.Command_set; 
  47.                                 gx, gy         :        GLOBE_3D.Real; 
  48.                                 unitary_change :        GLOBE_3D.Real; 
  49.                                 deceleration   :        GLOBE_3D.Real; 
  50.                                 vector         : in out GLOBE_3D.Vector_3D; 
  51.                                 time_step      :        GLOBE_3D.Real; 
  52.                                 rotation_speed : in out GLOBE_3D.Vector_3D); 
  53.  
  54.    -- Version with a rotation matrix 
  55.    procedure Abstract_rotation (gc             :        Game_Control.Command_set; 
  56.                                 gx, gy         :        GLOBE_3D.Real; 
  57.                                 unitary_change :        GLOBE_3D.Real; 
  58.                                 deceleration   :        GLOBE_3D.Real; 
  59.                                 rot_matrix     : in out GLOBE_3D.Matrix_33; 
  60.                                 time_step      :        GLOBE_3D.Real; 
  61.                                 rotation_speed : in out GLOBE_3D.Vector_3D); 
  62.  
  63. end Actors;