HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VISF_PrimitiveType.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: VISF_PrimitiveType.h (VIS Library, C++)
7  *
8  * COMMENTS:
9  * A simple class encapsulating the GT/GEO combination of
10  * primitive types used for a primitive hook.
11  */
12 
13 #ifndef __VISF_PrimitiveType__
14 #define __VISF_PrimitiveType__
15 
16 #include "VISF_API.h"
17 
18 #include <GT/GT_PrimitiveTypes.h>
19 #include <GA/GA_PrimitiveTypeId.h>
20 #include <SYS/SYS_Types.h>
21 
23 {
28 
29  bool operator==(const VISF_PrimitiveType &other) const;
30  bool isValid() const;
31  bool isMatch(GT_PrimitiveType gt_type) const;
32  bool isMatch(GA_PrimitiveTypeId geo_type) const;
33  bool isMatch(GT_PrimitiveType gt_type,
34  GA_PrimitiveTypeId geo_type) const;
35  bool isGTType() const;
36  bool isGEOType() const;
37 
39  int myGEOType;
40 };
41 
42 
43 inline size_t hash_value(const VISF_PrimitiveType &vt)
44 {
45  return (int64(vt.myGTType) << 32) | int64(vt.myGEOType);
46 }
47 
48 #endif
bool isGTType() const
bool isValid() const
bool operator==(const VISF_PrimitiveType &other) const
size_t hash_value(const VISF_PrimitiveType &vt)
long long int64
Definition: SYS_Types.h:116
bool isGEOType() const
GT_PrimitiveType
bool isMatch(GT_PrimitiveType gt_type) const
GT_PrimitiveType myGTType