26 #ifndef __OP_INPUTCHANGEHELPER_H__
27 #define __OP_INPUTCHANGEHELPER_H__
41 myUniquesAndCounts.setCapacity(0);
50 setDuplicateCount(which_input, -1, -1, node.
maxInputs());
52 resetChangedSourceFlags();
65 if (!checkChangedSourceFlags(node, idx, changed))
97 changed |= (src->
getCookCount() != getDuplicateCount(idx));
103 int64 mem = inclusive ?
sizeof(*this) : 0;
104 mem += myUniquesAndCounts.getMemoryUsage(
false);
111 if (idx >= 0 && idx*2+1 < myUniquesAndCounts.entries())
112 return myUniquesAndCounts(idx*2 + 1);
117 if (idx >= 0 && idx*2 < myUniquesAndCounts.entries())
118 return myUniquesAndCounts(idx*2);
124 if (idx >= 0 && idx < max_inputs)
126 exint insertionidx = idx * 2;
127 while (insertionidx + 1 >= myUniquesAndCounts.entries())
128 myUniquesAndCounts.append(-1);
129 myUniquesAndCounts(insertionidx) = uniqueid;
130 myUniquesAndCounts(insertionidx+1) =
count;
135 myUniquesAndCounts.entries(0);
144 #endif // __OP_INPUTCHANGEHELPER_H__
virtual unsigned maxInputs() const
Maximum inputs that can be connected to a node.
virtual OP_ERROR error(OP_Context &context)
OP_Node * getInputFollowingOutputs(OP_InputIdx input, DEP_MicroNode *depnode=nullptr) const
SIM_API const UT_StringHolder force