12 #ifndef __CH_Collection_h__
13 #define __CH_Collection_h__
98 virtual int64 getMemoryUsage(
bool inclusive)
const;
105 virtual int canAccess(
uint mask)
const;
125 int getChannelNames(
CH_NameList &list,
int scope=0)
const;
126 int getChannelCount(
int scoped = 0)
const;
148 virtual int rename(
const char *from_name,
const char *to_name,
149 const char *to_alias);
151 const char *to_alias);
154 int deleteChannels();
160 bool no_disabling ,
int thread);
162 fpreal *vals,
int nsamples,
164 bool use_cache ,
int thread);
173 void unresolveLocalVars(
int thread);
181 bool use_alias=
false)
const;
183 bool use_alias=
false)
const
186 getFullPath(chp, s, use_alias);
196 void *
data =
nullptr)
const;
200 void findString(
const char *word,
bool fullword,
202 void *
data =
nullptr);
203 int findString(
const char *word,
bool fullword,
204 bool usewildcards)
const;
205 int changeString(
const char *from,
const char *to,
206 bool fullword,
int thread);
212 virtual const UT_String &getName()
const = 0;
214 virtual int getUniqueId()
const;
226 virtual const void *getOwner()
const = 0;
227 virtual void *getOwner() = 0;
235 virtual bool getVariableValue(
UT_String &str,
238 virtual bool getVariableValue(
fpreal &
val,
247 int save(std::ostream &os,
int binary,
bool compiled,
250 int saveToFile(
const char *nm)
const;
252 template <
typename FPREAL_TYPE>
256 bool delete_keys =
false);
257 int loadFromFile(
const char *nm);
271 void setExpose(
bool onoff );
277 void clearAndDestroy();
282 { myVariables[0] =
table; }
285 {
return myManager->getGlobalStart(); }
287 {
return myManager->getGlobalEnd(); }
295 bool &timedep,
int thread);
298 { myVariables[3] =
table; }
304 void addedParamDependency();
305 void removeParamDependency();
316 {
return myExternal; }
318 { myExternal = yesno; }
327 static bool isValidChannelName(
const char *
s);
335 virtual void addLocalVarDependency(
int table,
int index,
351 int err = ev_GetErrNo(thread);
353 evaluationError(chp, err, thread);
357 { myVariables[2] =
table; }
364 virtual void notifyChannelRenameDependents(
const char *old_name,
365 const char *new_name);
373 myChannelAliasesTable;
379 char myParamDependent;
386 void evaluationError(
const CH_Channel *chp,
int err,
391 template <
typename FPREAL_TYPE>
CH_Manager * getManager() const
#define SETUPCLASSPACKETID(classname)
int(* CHfindCallBack)(CH_Collection *grp, CH_Channel *chp, void *)
GLuint const GLchar * name
FMT_CONSTEXPR auto begin(const C &c) -> decltype(c.begin())
GT_API const UT_StringHolder time
GLuint const GLfloat * val
OIIO_API bool rename(string_view from, string_view to, std::string &err)
void setExternal(bool yesno)
GLenum GLsizei GLenum GLenum const void * table
void updateGlobalVariables(CH_LocalVariable *table)
void addLocalVariables(CH_LocalVariable *table)
void addDynamicVariables(CH_LocalVariable *table)
const CH_Channel * getChannel(int idx) const
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
fpreal getGlobalEnd() const
GLint GLenum GLsizei GLint GLsizei const void * data
void getFullPath(const CH_Channel *chp, UT_String &p, bool use_alias=false) const
const GLuint GLenum const void * binary
GU_API GA_Offset getParent(GU_Detail *gdp, const GA_Offset &node)
GLuint const GLuint * names
CH_Channel * getChannel(int idx)
*Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
fpreal getTolerance() const
const CH_ChannelList * getChannels() const
CH_API void CHcollectionsToOPchannels(CH_CollectionList const &collections, UT_ValArray< OP_Channels * > &op_channels)
virtual OP_Channels * castToOPChannels()
SYS_FORCE_INLINE void checkEvaluationError(const CH_Channel *chp, int thread) const
GLsizei const GLchar *const * path
fpreal getGlobalStart() const
UT_ArrayStringMap< CH_Channel * > CH_ChannelMap
virtual const OP_Channels * castToOPChannels() const
ImageBuf OIIO_API channels(const ImageBuf &src, int nchannels, cspan< int > channelorder, cspan< float > channelvalues={}, cspan< std::string > newchannelnames={}, bool shuffle_channel_names=false, int nthreads=0)
GU_API GA_OffsetArray getChildren(GU_Detail *gdp, const GA_Offset &node)