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 public:
29  const GT_AttributeMapHandle &m2);
31 
32  /// Get the GT_AttributeMap representing the merged map
33  const GT_AttributeMapHandle &getMap() const { return myMap; }
34 
35  /// Get the destination index for the source index
36  int getDestIndex(int source_index, int source_map) const;
37 private:
39  int *myIndexMap;
40  int mySize[2];
41 };
42 
43 #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.