HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_AttributeMerge.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_AttributeMerge.h ( GT Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GT_AttributeMerge__
12 #define __GT_AttributeMerge__
13 
14 #include "GT_API.h"
15 #include "GT_AttributeMap.h"
16 
17 /// @brief Keep track of merging of attribute maps
18 ///
19 /// Attribute maps/lists can be merged to create a new attribute map. This
20 /// class keeps track of which attributes fromt the two source maps get merged
21 /// into the merged map.
22 ///
23 /// @c m1 (the first map) is given priority for duplicates. That is, if an
24 /// attribute exists in both @c m1 and @c m2, only the attribute from @c m1
25 /// will appear in the resulting map.
27 {
28 public:
30  const GT_AttributeMapHandle &m2);
32 
33  /// Get the GT_AttributeMap representing the merged map
34  const GT_AttributeMapHandle &getMap() const { return myMap; }
35 
36  /// Get the destination index for the source index
37  int getDestIndex(int source_index, int source_map) const;
38 private:
40  int *myIndexMap;
41  int mySize[2];
42 };
43 
44 #endif
Keep track of merging of attribute maps.
#define GT_API
Definition: GT_API.h:13
const GT_AttributeMapHandle & getMap() const
Get the GT_AttributeMap representing the merged map.