Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Clipper.h

Go to the documentation of this file.
00001 /*
00002     File:       Clipper.h
00003 
00004     Function:   Clips homogeneous coordinates to the display frustrum
00005                 (x, y, z) E [-1, 1] x [-1, 1] x [0, 1]
00006 
00007                 The standard display pipeline is transform, clip, project, 
00008                 2D draw. The Clipper class should be passed post-transform
00009                 homogeneous coordinates. It will in turn call ViewPoint()
00010                 with clipped coordinates. You should override ViewPoint()
00011                 to perform the homogeneous divide, map to display coords,
00012                 and do the drawing.
00013 
00014     Author:     Andrew Willmott
00015 
00016     Copyright:  (c) 1998-2000, Andrew Willmott
00017 */
00018 
00019 
00020 #ifndef __Clipper__
00021 #define __Clipper__
00022 
00023 #include "gcl/Geometry.h"
00024 
00025 typedef GCLReal BdryCoords[6];
00026 
00027 class Clipper
00028 {
00029 public:
00030     Clipper();
00031     Void            ClipPoint(const HPoint &p, Bool draw);
00033     virtual Void    ViewPoint(const HPoint &p, Bool draw) = 0;
00035 protected:
00036     HPoint          lastP;
00037     Int             lastOutcode;
00038     BdryCoords      lastBC;
00039 };
00040 
00041 #endif

Generated at Sat Aug 5 00:16:57 2000 for Graphics Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000