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

mesher.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  * mesher.h
00037  *
00038  * $Date: 2006-03-12 00:07:02 +0000 (Sun, 12 Mar 2006) $ $Revision: 1.1 $
00039  * $Header: /cygdrive/c/RCVS/CVS/ReactOS/reactos/lib/glu32/libnurbs/internals/mesher.h,v 1.1 2004/02/02 16:39:12 navaraf Exp $
00040  */
00041 
00042 #ifndef __glumesher_h_
00043 #define __glumesher_h_
00044 
00045 #include "hull.h"
00046 
00047 class TrimRegion;
00048 class Backend;
00049 class Pool;
00050 // struct GridTrimVertex;
00051 
00052 
00053 class Mesher : virtual public TrimRegion, public Hull {
00054 public:
00055                 Mesher( Backend & );
00056             ~Mesher( void );
00057     void        init( unsigned int );
00058     void        mesh( void );
00059 
00060 private:
00061     static const float  ZERO;
00062     Backend&        backend;
00063 
00064     Pool        p;
00065     unsigned int    stacksize;
00066     GridTrimVertex **   vdata;
00067     GridTrimVertex *    last[2];
00068     int         itop;
00069     int         lastedge;
00070 
00071     inline void     openMesh( void );
00072     inline void     swapMesh( void );
00073     inline void     closeMesh( void );
00074     inline int      isCcw( int );
00075     inline int      isCw( int );
00076     inline void     clearStack( void );
00077     inline void     push( GridTrimVertex * );
00078     inline void     pop( long );
00079     inline void     move( int, int );
00080     inline int      equal( int, int );
00081     inline void     copy( int, int );
00082     inline void     output( int );
00083     void        addUpper( void );
00084     void        addLower( void );
00085     void        addLast( void );
00086     void        finishUpper( GridTrimVertex * );
00087     void        finishLower( GridTrimVertex * );
00088 };
00089 #endif /* __glumesher_h_ */

Generated on Sun May 27 2012 04:23:40 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.