24 #ifndef __PRM_ChoiceList__
25 #define __PRM_ChoiceList__
101 this)->choiceItemsPtr()); }
107 void getChoiceNames(
const PRM_Name *&thechoicenames,
111 bool block_errors =
false)
const;
113 void getChoiceItems(
const PRM_Item *&thechoiceitems,
117 bool block_errors =
false)
const;
122 void *
data =
nullptr,
124 const PRM_Parm *parm =
nullptr)
const;
128 bool isDynamic()
const;
133 {
return myChoiceGenerator; }
139 return myStaticChoiceSize;
141 return getSizeSlow(parm);
149 return (inclusive ?
sizeof(*
this) : 0)
150 + myScript.getMemoryUsage(
false);
154 void updateStaticChoiceSize();
157 void getChoiceNamesFromScript(
160 bool block_errors)
const;
161 void getChoiceNamesFromHscriptScript(
164 void getChoiceNamesFromPythonScript(
167 int getSizeSlow(
const PRM_Parm *parm)
const;
173 int myStaticChoiceSize;
PRM_ChoiceItemGenFunc myChoiceItemGenerator
PRM_Name * choiceNamesPtr()
PRM_Item const * choiceItemsPtr() const
**But if you need a result
PRM_ChoiceGenFunc getChoiceGenerator() const
void(* PRM_ChoiceGenFunc)(void *thedata, PRM_Name *thechoicenames, int thelistsize, const PRM_SpareData *thespareptr, const PRM_Parm *theparm)
int64 getMemoryUsage(bool inclusive) const
PRM_ChoiceListType getType() const
PRM_Item * choiceItemsPtr()
void(* PRM_ChoiceItemGenFunc)(void *thedata, PRM_Item *thechoiceitems, int thelistsize, const PRM_SpareData *thespareptr, const PRM_Parm *theparm)
PRM_ChoiceGenFunc myChoiceGenerator
int getSize(const PRM_Parm *parm) const