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

sampleMonoPoly.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 ** $Date: 2007-10-19 23:21:45 +0000 (Fri, 19 Oct 2007) $ $Revision: 1.1 $
00035 */
00036 /*
00037 ** $Header: /cygdrive/c/RCVS/CVS/ReactOS/reactos/lib/glu32/libnurbs/nurbtess/sampleMonoPoly.h,v 1.1 2004/02/02 16:39:15 navaraf Exp $
00038 */
00039 
00040 #ifndef _SAMPLEMONOPOLY_H
00041 #define _SAMPLEMONOPOLY_H
00042 
00043 #include "monoTriangulation.h"
00044 #include "gridWrap.h"
00045 #include "rectBlock.h"
00046 
00047 
00048 void  triangulateXYMono(Int n_upper, Real upperVerts[][2],
00049                Int n_lower, Real lowerVerts[][2],
00050                primStream* pStream);
00051 
00052 void stripOfFanLeft(vertexArray* leftChain,
00053              Int largeIndex,
00054              Int smallIndex,
00055              gridWrap* grid,
00056              Int vlineIndex,
00057              Int ulineSmallIndex,
00058              Int ulineLargeIndex,
00059              primStream* pStream,
00060             Int gridLineUp
00061              );
00062 void sampleLeftOneGridStep(vertexArray* leftChain,
00063           Int beginLeftIndex,
00064           Int endLeftIndex,
00065           gridBoundaryChain* leftGridChain,
00066           Int leftGridChainStartIndex,
00067           primStream* pStream
00068           );
00069 
00070 void sampleLeftSingleTrimEdgeRegion(Real upperVert[2], Real lowerVert[2],
00071                     gridBoundaryChain* gridChain,
00072                     Int beginIndex,
00073                     Int endIndex,
00074                     primStream* pStream);
00075 
00076 void sampleLeftStripRec(vertexArray* leftChain,
00077              Int topLeftIndex,
00078              Int botLeftIndex,
00079              gridBoundaryChain* leftGridChain,
00080              Int leftGridChainStartIndex,
00081              Int leftGridChainEndIndex,
00082             primStream* pStream
00083              );
00084 
00085 void sampleLeftStrip(vertexArray* leftChain,
00086              Int topLeftIndex,
00087              Int botLeftIndex,
00088              gridBoundaryChain* leftGridChain,
00089              Int leftGridChainStartIndex,
00090              Int leftGridChainEndIndex,
00091              primStream* pStream
00092              );
00093 
00094 void findLeftGridIndices(directedLine* topEdge, Int firstGridIndex, Int lastGridIndex, gridWrap* grid,  Int* ret_indices, Int* ret_inner);
00095 
00096 void findRightGridIndices(directedLine* topEdge, Int firstGridIndex, Int lastGridIndex, gridWrap* grid,  Int* ret_indices, Int* ret_inner);
00097 
00098 void sampleMonoPoly(directedLine* polygon, gridWrap* grid, Int ulinear, Int vlinear, primStream *pStream, rectBlockArray* rbArray);
00099 
00100 void sampleMonoPolyRec(
00101                Real* topVertex,
00102                Real* botVertex,
00103                vertexArray* leftChain,
00104                Int leftStartIndex,
00105                vertexArray* rightChain,
00106                Int rightStartIndex,
00107                gridBoundaryChain* leftGridChain,
00108                gridBoundaryChain* rightGridChain,
00109                Int gridStartIndex,
00110                primStream* pStream,
00111                rectBlockArray* rbArray
00112                );
00113 
00114 void sampleLeftStripRecF(vertexArray* leftChain,
00115              Int topLeftIndex,
00116              Int botLeftIndex,
00117              gridBoundaryChain* leftGridChain,
00118              Int leftGridChainStartIndex,
00119              Int leftGridChainEndIndex,
00120             primStream* pStream
00121              );
00122 
00123 void findUpCorners(Real *topVertex,
00124            vertexArray *leftChain,
00125            Int leftChainStartIndex, Int leftChainEndIndex,
00126            vertexArray *rightChain,
00127            Int rightChainStartIndex, Int rightChainEndIndex,
00128            Real v,
00129            Real uleft,
00130            Real uright,
00131            Int& ret_leftCornerWhere,
00132            Int& ret_leftCornerIndex,
00133            Int& ret_rightCornerWhere,
00134            Int& ret_rightCornerIndex
00135            );
00136 void findDownCorners(Real *botVertex,
00137            vertexArray *leftChain, Int leftChainStartIndex, Int leftChainEndIndex,
00138            vertexArray *rightChain, Int rightChainStartIndex, Int rightChainEndIndex,
00139            Real v,
00140            Real uleft,
00141            Real uright,
00142            Int& ret_leftCornerWhere,
00143            Int& ret_leftCornerIndex,
00144            Int& ret_rightCornerWhere,
00145            Int& ret_rightCornerIndex
00146            );
00147 void findNeck(vertexArray *leftChain, Int botLeftIndex,
00148           vertexArray *rightChain, Int botRightIndex,
00149           Int& leftLastIndex, /*left point of the neck*/
00150           Int& rightLastIndex /*right point of the neck*/
00151           );
00152 
00153 Int findNeckF(vertexArray *leftChain, Int botLeftIndex,
00154            vertexArray *rightChain, Int botRightIndex,
00155            gridBoundaryChain* leftGridChain,
00156            gridBoundaryChain* rightGridChain,
00157            Int gridStartIndex,
00158            Int& neckLeft,
00159            Int& neckRight);
00160 
00161 void findTopAndBot(directedLine* polygon,
00162            directedLine*& topV,
00163            directedLine*& botV);
00164 void findGridChains(directedLine* top, directedLine* bot,
00165             gridWrap* grid,
00166             gridBoundaryChain*& leftGridChain,
00167             gridBoundaryChain*& rightGridChain);
00168 void toVertexArrays(directedLine* topV, directedLine* botV, vertexArray& leftChain, vertexArray& rightChain);
00169 
00170 void drawCorners(
00171          Real* topV, Real* botV,
00172          vertexArray* leftChain,
00173          vertexArray* rightChain,
00174          gridBoundaryChain* leftGridChain,
00175          gridBoundaryChain* rightGridChain,
00176          Int gridIndex1,
00177          Int gridIndex2,
00178          Int leftCornerWhere,
00179          Int leftCornerIndex,
00180          Int rightCornerWhere,
00181          Int rightCornerIndex,
00182          Int bot_leftCornerWhere,
00183          Int bot_leftCornerIndex,
00184          Int bot_rightCornerWhere,
00185          Int bot_rightCornerIndex);
00186 
00187 Int checkMiddle(vertexArray* chain, Int begin, Int end,
00188         Real vup, Real vbelow);
00189 
00190 #endif
00191 

Generated on Fri May 25 2012 04:21:57 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.