HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GA_GroupTypeTraits.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: GA_GroupTypeTraits.h ( GA Library, C++)
7  *
8  * COMMENTS: Type traits class for groups.
9  */
10 
11 #ifndef __GA_GroupTypeTraits__
12 #define __GA_GroupTypeTraits__
13 
14 #include "GA_Types.h"
15 
16 class GA_BreakpointGroup;
17 class GA_Breakpoint;
18 class GA_EdgeGroup;
19 class GA_PointGroup;
20 class GA_PrimitiveGroup;
21 class GA_VertexGroup;
22 
23 template<typename T, bool B> class GA_EdgeT;
25 
26 
27 /// Type traits base class for group type traits.
28 template<typename T>
30 {
31  /// Returns the base element type that the group expects.
32  typedef void elementType;
33  static inline GA_GroupType groupType() { return GA_GROUP_INVALID; }
34 };
35 
36 template<>
38 {
40  static inline GA_GroupType groupType() { return GA_GROUP_BREAKPOINT; }
41 };
42 
43 template<>
45 {
46  typedef GA_Edge elementType;
47  static inline GA_GroupType groupType() { return GA_GROUP_EDGE; }
48 };
49 
50 template<>
52 {
54  static inline GA_GroupType groupType() { return GA_GROUP_POINT; }
55 };
56 
57 template<>
59 {
61  static inline GA_GroupType groupType() { return GA_GROUP_PRIMITIVE; }
62 };
63 
64 template<>
66 {
68  static inline GA_GroupType groupType() { return GA_GROUP_VERTEX; }
69 };
70 
71 #endif // __GA_GroupTypeTraits__
void elementType
Returns the base element type that the group expects.
GA_Size GA_Offset
Definition: GA_Types.h:617
Type traits base class for group type traits.
GA_GroupType
An ordinal enum for the different types of groups in GA.
Definition: GA_Types.h:138
static GA_GroupType groupType()