Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:03:50

0001 // Created on: 1993-03-31
0002 // Created by: NW,JPB,CAL
0003 // Copyright (c) 1993-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #ifndef _Graphic3d_TypeOfPrimitiveArray_HeaderFile
0018 #define _Graphic3d_TypeOfPrimitiveArray_HeaderFile
0019 
0020 //! The type of primitive array in a group in a structure.
0021 enum Graphic3d_TypeOfPrimitiveArray
0022 {
0023   Graphic3d_TOPA_UNDEFINED,                //!< undefined primitive type
0024   // main rendering types
0025   Graphic3d_TOPA_POINTS,                   //!< individual points
0026   Graphic3d_TOPA_SEGMENTS,                 //!< segments array - each 2 vertexes define 1 segment
0027   Graphic3d_TOPA_POLYLINES,                //!< line strip - each new vertex in array defines segment with previous one
0028   Graphic3d_TOPA_TRIANGLES,                //!< triangle array - each 3 vertexes define 1 triangle
0029   Graphic3d_TOPA_TRIANGLESTRIPS,           //!< triangle strip - each new vertex in array defines triangle with 2 previous vertexes
0030   Graphic3d_TOPA_TRIANGLEFANS,             //!< triangle fan - each new vertex in array define triangle with the previous vertex and the very first vertex (fan center)
0031   // rendering type with auxiliary adjacent info (can be accessed only within Geometry shader)
0032   Graphic3d_TOPA_LINES_ADJACENCY,          //!< ADVANCED - same as Graphic3d_TOPA_SEGMENTS, but each pair of vertexes defining 1 segment
0033                                            //!  is preceded by 1 extra vertex and followed by 1 extra vertex which are not actually rendered
0034   Graphic3d_TOPA_LINE_STRIP_ADJACENCY,     //!< ADVANCED - same as Graphic3d_TOPA_POLYLINES, but each sequence of vertexes defining 1 polyline
0035                                            //!  is preceded by 1 extra vertex and followed by 1 extra vertex which are not actually rendered
0036   Graphic3d_TOPA_TRIANGLES_ADJACENCY,      //!< ADVANCED - same as Graphic3d_TOPA_TRIANGLES, but each vertex defining of triangle
0037                                            //!  is followed by 1 extra adjacent vertex which is not actually rendered
0038   Graphic3d_TOPA_TRIANGLE_STRIP_ADJACENCY, //!< ADVANCED - same as Graphic3d_TOPA_TRIANGLESTRIPS, but with extra adjacent vertexes
0039   // deprecated types, unsupported by mobile hardware
0040   Graphic3d_TOPA_QUADRANGLES,              //!< DEPRECATED - triangle array should be used instead;
0041                                            //!  array of quads - each 4 vertexes define single quad
0042   Graphic3d_TOPA_QUADRANGLESTRIPS,         //!< DEPRECATED - triangle array should be used instead;
0043                                            //!  quad strip - each 2 new vertexes define a quad shared 2 more vertexes of previous quad
0044   Graphic3d_TOPA_POLYGONS                  //!< DEPRECATED - triangle array should be used instead;
0045                                            //!  array defines a polygon
0046 };
0047 
0048 #endif // _Graphic3d_TypeOfPrimitiveArray_HeaderFile