ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

sweep.h
Go to the documentation of this file.
00001 /*
00002 ** License Applicability. Except to the extent portions of this file are
00003 ** made subject to an alternative license as permitted in the SGI Free
00004 ** Software License B, Version 1.1 (the "License"), the contents of this
00005 ** file are subject only to the provisions of the License. You may not use
00006 ** this file except in compliance with the License. You may obtain a copy
00007 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
00008 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
00009 **
00010 ** http://oss.sgi.com/projects/FreeB
00011 **
00012 ** Note that, as provided in the License, the Software is distributed on an
00013 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
00014 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
00015 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
00016 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
00017 **
00018 ** Original Code. The Original Code is: OpenGL Sample Implementation,
00019 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
00020 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
00021 ** Copyright in any portions created by third parties is as indicated
00022 ** elsewhere herein. All Rights Reserved.
00023 **
00024 ** Additional Notice Provisions: The application programming interfaces
00025 ** established by SGI in conjunction with the Original Code are The
00026 ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
00027 ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
00028 ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
00029 ** Window System(R) (Version 1.3), released October 19, 1998. This software
00030 ** was created using the OpenGL(R) version 1.2.1 Sample Implementation
00031 ** published by SGI, but has not been independently verified as being
00032 ** compliant with the OpenGL(R) version 1.2.1 Specification.
00033 **
00034 */
00035 /*
00036 ** Author: Eric Veach, July 1994.
00037 **
00038 ** $Date: 2007-10-19 23:21:45 +0000 (Fri, 19 Oct 2007) $ $Revision: 1.1 $
00039 ** $Header: /cygdrive/c/RCVS/CVS/ReactOS/reactos/lib/glu32/libtess/sweep.h,v 1.1 2004/02/02 16:39:15 navaraf Exp $
00040 */
00041 
00042 #ifndef __sweep_h_
00043 #define __sweep_h_
00044 
00045 #include "mesh.h"
00046 
00047 /* __gl_computeInterior( tess ) computes the planar arrangement specified
00048  * by the given contours, and further subdivides this arrangement
00049  * into regions.  Each region is marked "inside" if it belongs
00050  * to the polygon, according to the rule given by tess->windingRule.
00051  * Each interior region is guaranteed be monotone.
00052  */
00053 int __gl_computeInterior( GLUtesselator *tess );
00054 
00055 
00056 /* The following is here *only* for access by debugging routines */
00057 
00058 #include "dict.h"
00059 
00060 /* For each pair of adjacent edges crossing the sweep line, there is
00061  * an ActiveRegion to represent the region between them.  The active
00062  * regions are kept in sorted order in a dynamic dictionary.  As the
00063  * sweep line crosses each vertex, we update the affected regions.
00064  */
00065 
00066 struct ActiveRegion {
00067   GLUhalfEdge   *eUp;       /* upper edge, directed right to left */
00068   DictNode  *nodeUp;    /* dictionary node corresponding to eUp */
00069   int       windingNumber;  /* used to determine which regions are
00070                                  * inside the polygon */
00071   GLboolean inside;     /* is this region inside the polygon? */
00072   GLboolean sentinel;   /* marks fake edges at t = +/-infinity */
00073   GLboolean dirty;      /* marks regions where the upper or lower
00074                                  * edge has changed, but we haven't checked
00075                                  * whether they intersect yet */
00076   GLboolean fixUpperEdge;   /* marks temporary edges introduced when
00077                                  * we process a "right vertex" (one without
00078                                  * any edges leaving to the right) */
00079 };
00080 
00081 #define RegionBelow(r)  ((ActiveRegion *) dictKey(dictPred((r)->nodeUp)))
00082 #define RegionAbove(r)  ((ActiveRegion *) dictKey(dictSucc((r)->nodeUp)))
00083 
00084 #endif

Generated on Sun May 27 2012 04:23:50 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.