17 #ifndef __OP3D_SelectionCache__
18 #define __OP3D_SelectionCache__
43 void clear(
bool clear_local,
bool clear_external);
48 int node_id,
int detail_index = 0,
49 bool external =
false);
55 int node_id,
int detail_index,
59 void remove(
int node_id,
int detail_index);
63 int64 getSelectionMemoryUsage()
const;
67 int64 reduceSelectionMemoryUsage(
int64 amount);
86 Key(
int node_id,
int detail_index)
87 : myNodeId(node_id), myDetailIndex(detail_index)
93 return myNodeId == key.myNodeId && myDetailIndex == key.myDetailIndex;
103 SYShashCombine(hash_value, key.myDetailIndex);
107 #endif // __OP3D_SelectionCache__
Key(int node_id, int detail_index)
bool operator==(const OP3D_SelectionCache::Key &key) const
UT_SharedPtr< OP3D_SelectionCache > OP3D_SelectionCacheHandle
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
SYS_FORCE_INLINE size_t hash_value(const OP3D_SelectionCache::Key &key)
A cache for user component selections.
UT_SharedPtr< OP3D_GUSelectionSet > OP3D_GUSelectionSetHandle
UT_SharedPtr< OP3D_GUSelectionSet > OP3D_GUSelectionSetHandle