HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_PrimitiveTypes.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GT_PrimitiveTypes.h ( GT Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GT_PrimitiveTypes__
12 #define __GT_PrimitiveTypes__
13 
14 #include "GT_API.h"
15 
16 typedef enum {
18 
19  // A collection of primitives
20  GT_PRIM_COLLECT, // GT_PrimCollect
21 
22  // A detail collection (GU_Detail)
24 
25  // Simple GEO primitives
28  GT_GEO_PACKED, // Packed prim
29  GT_GEO_PRIMLIST, // List of GEO primitives
30 
31  // Meshes of simple GEO primitives
33 
34  // Simple primitives
35  GT_PRIM_CURVE, // Single open polygon or cubic curve
36  GT_PRIM_POLYGON, // Single closed polygon
37  GT_PRIM_PATCH, // Single linear or cubic patch primitive
38  GT_PRIM_NUPATCH, // A NURBS Patch
39 
40  // Meshes of simple primitives
41  GT_PRIM_CURVE_MESH, // Soup of linear or cubic curves
42  GT_PRIM_POLYGON_MESH, // Polygon soup
43  GT_PRIM_PATCH_MESH, // Mesh of patch primitives
44  GT_PRIM_SUBDIVISION_MESH, // Polygon soup as subdivision surface
45  GT_PRIM_SUBDIVISION_CURVES, // Curves as subdivision curves
46  GT_PRIM_TRIANGLE_STRIP, // Triangle strip (specialized patch mesh)
47  GT_PRIM_TRIANGLE_FAN, // Triangle fan (specialized polygon mesh)
48 
49  // NURBS primitives
50  GT_PRIM_NURBS_CURVE, // Single NURBS curve
51  GT_PRIM_NURBS_SURFACE, // NURBS surface
52 
53  // Meshes of NURBS primitives
54  GT_PRIM_NURBS_CURVE_MESH, // Soup of NURBS curves
55 
56  // Quadric primitives
57  GT_PRIM_CIRCLE, // Primitive circle
58  GT_PRIM_SPHERE, // Primitive sphere
59  GT_PRIM_TUBE, // Primitive tube
60  GT_PRIM_HYPERBOLOID, // Primitive hyperboloid
61 
62  // Point-based primitives
63  GT_PRIM_POINT_MESH, // Point set
64  GT_PRIM_PARTICLE, // Particle primitive
65 
66  // Metaballs
67  GT_PRIM_METAEXPR, // Metaball expression
68 
69  // Volume primitives
70  GT_PRIM_VOXEL_VOLUME, // Simple volume primitive
71  GT_PRIM_VDB_VOLUME, // VDB volume primitive
72  GT_PRIM_TET_MESH, // Tetrahedrons
73  GT_PRIM_HEX_MESH, // Hexahedrons
74 
75  // Bezier patch (not a Bezier surface)
77 
78  // Quadric meshes (collections of quadrics)
83 
84  GT_PRIM_CAPTURE_REGIONS, // Capture region pills
85 
86  GT_PRIM_INSTANCE, // Instance primitive
87  GT_PRIM_FRAGMENTS, // Fragments primitive
88  GT_PRIM_AGENTS, // Collection of Agents
89  GT_PRIM_AGENT_SHAPE, // Instances of an agent shape
90 
91  GT_PRIM_ALEMBIC_ARCHIVE, // Collection of shapes and instances
92  GT_PRIM_ALEMBIC_SHAPE, // Single alembic geometry shape
93  GT_PRIM_ALEMBIC_SHAPE_MESH, // Multiple alembic shapes combined into one
94  GT_PRIM_ALEMBIC_INSTANCE, // Instanced alembic geometry shape
95 
96  GT_PRIM_PACKED_DISK, // Packed disk primitive (single or sequence)
97 
98  GT_PRIM_CHANNEL, // Channel Primitive
99 
100  GT_PRIM_CHARACTER_SCENE, // Character scene primitive
101 
104 
105 static inline bool GTvalidPrimitive(int id)
106  {
107  return id > GT_PRIM_UNDEFINED &&
108  id < GT_MAX_PRIM_TYPES;
109  }
110 
111 extern GT_API const char *GTprimitiveType(int type);
112 extern GT_API GT_PrimitiveType GTprimitiveType(const char *name);
113 
114 #endif
#define GT_API
Definition: GT_API.h:13
GLuint const GLchar * name
Definition: glcorearb.h:786
GT_PrimitiveType
GT_API const char * GTprimitiveType(int type)
type
Definition: core.h:1059