11 #ifndef __CH_EVALCONTEXTFWD_H_INLUDED__
12 #define __CH_EVALCONTEXTFWD_H_INLUDED__
27 class CH_ScriptAccessManager;
53 #if defined(CH_USE_FLICKS)
64 {
return myCollection; }
66 {
return myCollection; }
68 {
return myContextOptionsStack; }
70 {
return myContextOptions; }
80 {
return myChannelName; }
82 {
return myParentContext; }
85 #if defined(CH_USE_FLICKS)
86 inline void setFlicks(
SYS_Flicks fl) { myFlicks = fl; }
92 inline void setTime(
fpreal t) { mySeconds =
t; }
105 const char *myChannelName;
115 template <> constexpr SYS_STATIC_INLINE
bool
128 {
return myContext.time(); }
130 {
return myContext.myCollection; }
132 {
return myContext.myChannel; }
134 {
return myContext.mySegment; }
136 {
return myContext.myChannelName; }
141 myContext.setTime(t);
146 myContext.setFlicks(fl);
152 myContext.myCollection = collection;
162 myContext.myChannel = NULL;
163 myContext.mySegment = NULL;
164 myContext.myChannelName = channel_name;
179 myContext.myContextOptions = options;
180 myContext.myContextOptionsStack = options_stack;
187 myContext.setTime(t);
188 myContext.myCollection = collection;
189 setChannel(chp, seg);
194 myContext.setTime(t);
195 myContext.myCollection = collection;
196 setChannel(NULL, NULL);
201 myContext.setFlicks(t);
202 myContext.myCollection = collection;
203 setChannel(chp, seg);
208 myContext.setFlicks(t);
209 myContext.myCollection = collection;
210 setChannel(NULL, NULL);
215 myContext.myCollection = collection;
216 setChannel(channel, NULL);
221 myContext.myCollection = collection;
222 setChannelName(channel_name);
227 CH_ScriptAccessManager* myAccessMgr;
231 #endif // __CH_EVALCONTEXTFWD_H_INLUDED__
CH_Collection * collection()
void setChannelName(const char *channel_name)
void set(SYS_Flicks t, CH_Collection *collection, CH_Channel *chp, CH_Segment *seg)
constexpr SYS_Flicks SYStoFlicks(double seconds)
GT_API const UT_StringHolder time
const CH_Segment * segment() const
void setFlicks(SYS_Flicks fl)
SYS_Flicks flicks() const
constexpr double SYStoSeconds(const SYS_Flicks f)
constexpr SYS_STATIC_INLINE bool SYSisPOD< CH_EvalContext >()
std::chrono::duration< std::chrono::nanoseconds::rep, std::ratio< 1, 705600000 >> flicks
void setSegment(CH_Segment *segment)
CH_EvalContext * parentContext()
void set(fpreal t, CH_Collection *collection, CH_Channel *chp, CH_Segment *seg)
const CH_Collection * collection() const
void set(fpreal t, CH_Collection *collection)
void setContextOptions(const DEP_ContextOptionsReadHandle &options, const DEP_ContextOptionsStack *options_stack)
**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
Push & restore the evaluation time (and optionally a channel collection)
void set(CH_Collection *collection, CH_Channel *channel)
const char * channelName() const
const DEP_ContextOptionsStack * contextOptionsStack() const
DEP_ContextOptionsReadHandle contextOptions() const
void setCollection(CH_Collection *collection)
void set(CH_Collection *collection, const char *channel_name)
void set(SYS_Flicks t, CH_Collection *collection)
const CH_Channel * channel() const