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

tessmono.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/tessmono.h,v 1.1 2004/02/02 16:39:15 navaraf Exp $
00040 */
00041 
00042 #ifndef __tessmono_h_
00043 #define __tessmono_h_
00044 
00045 /* __gl_meshTessellateMonoRegion( face ) tessellates a monotone region
00046  * (what else would it do??)  The region must consist of a single
00047  * loop of half-edges (see mesh.h) oriented CCW.  "Monotone" in this
00048  * case means that any vertical line intersects the interior of the
00049  * region in a single interval.
00050  *
00051  * Tessellation consists of adding interior edges (actually pairs of
00052  * half-edges), to split the region into non-overlapping triangles.
00053  *
00054  * __gl_meshTessellateInterior( mesh ) tessellates each region of
00055  * the mesh which is marked "inside" the polygon.  Each such region
00056  * must be monotone.
00057  *
00058  * __gl_meshDiscardExterior( mesh ) zaps (ie. sets to NULL) all faces
00059  * which are not marked "inside" the polygon.  Since further mesh operations
00060  * on NULL faces are not allowed, the main purpose is to clean up the
00061  * mesh so that exterior loops are not represented in the data structure.
00062  *
00063  * __gl_meshSetWindingNumber( mesh, value, keepOnlyBoundary ) resets the
00064  * winding numbers on all edges so that regions marked "inside" the
00065  * polygon have a winding number of "value", and regions outside
00066  * have a winding number of 0.
00067  *
00068  * If keepOnlyBoundary is TRUE, it also deletes all edges which do not
00069  * separate an interior region from an exterior one.
00070  */
00071 
00072 int __gl_meshTessellateMonoRegion( GLUface *face );
00073 int __gl_meshTessellateInterior( GLUmesh *mesh );
00074 void __gl_meshDiscardExterior( GLUmesh *mesh );
00075 int __gl_meshSetWindingNumber( GLUmesh *mesh, int value,
00076                     GLboolean keepOnlyBoundary );
00077 
00078 #endif

Generated on Sat May 26 2012 04:22:21 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.