home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Zone / VRZONE.ISO / mac / ZIP / MISC3D / AVRIL11.ZIP / EXAMPLE6.C < prev    next >
C/C++ Source or Header  |  1994-09-05  |  1KB  |  36 lines

  1. /* EXAMPLE6 -- using the configuration file to simplify setup */
  2.  
  3. /* Written by Bernie Roehl, August 1994 */
  4.  
  5. #include "avril.h"
  6.  
  7. static void object_manipulator(void)
  8.     {
  9.     extern vrl_Object *active_object;  /* defined in input.c */
  10.     vrl_Device *dev = vrl_TaskGetData();
  11.     vrl_Object *viewer = vrl_CameraGetObject(vrl_WorldGetCamera());
  12.     vrl_Vector v;
  13.     if (dev->buttons)
  14.         {
  15.         vrl_ObjectRotReset(active_object);
  16.         vrl_ObjectVectorMove(active_object, vrl_VectorNULL);
  17.         }
  18.     vrl_ObjectRotate(active_object, vrl_DeviceGetValue(dev, YROT), Y, VRL_COORD_OBJREL, viewer);
  19.     vrl_ObjectRotate(active_object, vrl_DeviceGetValue(dev, XROT), X, VRL_COORD_OBJREL, viewer);
  20.     vrl_ObjectRotate(active_object, vrl_DeviceGetValue(dev, ZROT), Z, VRL_COORD_OBJREL, viewer);
  21.     vrl_VectorCreate(v, vrl_DeviceGetValue(dev, X), vrl_DeviceGetValue(dev, Y), vrl_DeviceGetValue(dev, Z));
  22.     vrl_ObjectTranslate(active_object, v, VRL_COORD_OBJREL, viewer);
  23.     vrl_SystemRequestRefresh();
  24.     }
  25.  
  26. void main(int argc, char *argv[])
  27.     {
  28.     vrl_Device *dev;
  29.     vrl_ConfigStartup("example6.cfg");
  30.     vrl_SystemCommandLine(argc, argv);
  31.     dev = vrl_DeviceFind("manipulator");
  32.     if (dev)
  33.         vrl_TaskCreate(object_manipulator, dev, 0);
  34.     vrl_SystemRun();
  35.     }
  36.