home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / graphtal / linedevc.h < prev    next >
C/C++ Source or Header  |  1992-10-23  |  1KB  |  51 lines

  1. /*
  2.  * LineDevice.h - class definition simple line device driver.
  3.  *
  4.  * Copyright (C) 1992, Christoph Streit (streit@iam.unibe.ch)
  5.  * All rights reserved.
  6.  *
  7.  * This software may be freely copied, modified, and redistributed
  8.  * provided that this copyright notice is preserved on all copies.
  9.  *
  10.  * You may not distribute this software, in whole or in part, as part of
  11.  * any commercial product without the express consent of the authors.
  12.  *
  13.  * There is no warranty or other guarantee of fitness of this software
  14.  * for any purpose.  It is provided solely "as is".
  15.  *
  16.  */
  17.  
  18. #ifndef LineDevice_H
  19. # define LineDevice_H
  20.  
  21. #include "DeviceDriver.h"
  22. #include "BaseWindow.h"
  23. #include "ViewTransform.h"
  24.  
  25. /*___________________________________________________________ LineDevice
  26.  *
  27.  * Simple line drawing device driver. Ignores width of lines 
  28.  * and macro definitions. Uses BaseWindow class to draw to the screen.
  29.  * LineDevice sets camera position if none is provided by the user.
  30.  */
  31.  
  32. class LineDevice : public DeviceDriver 
  33. {
  34. public:
  35.   LineDevice(BaseWindow*, Options*);
  36.   ~LineDevice();
  37.  
  38.   void begin();
  39.   void end(const BoundingBox&);
  40.   void cylinder(const Vector&, const Vector&, real);
  41.   void cone(const Vector&, real, const Vector&, real);
  42.   void polygon(Polygon*);
  43.   void sphere(const Vector&, real);
  44.  
  45. private:
  46.   BaseWindow* w;
  47. };
  48.  
  49. #endif // LineDevice_H
  50.  
  51.