9 #ifndef __PDG_EVALUATION_CONTEXT_H__
10 #define __PDG_EVALUATION_CONTEXT_H__
116 bool myParameterError;
119 bool myPreviousParent;
135 bool myPreviousParent;
152 {
return myExpressionAttribs; }
178 static
void setWorkItemCaster(
184 static
void setUsePython(
bool use_python);
199 static
void setGlobalSubItemIndex(
int index,
205 static
void setGlobalWorkItem(
210 static
void setGlobalJobWorkItem(
218 static
void setTimeDependentAttribs(
223 static
void dirtyAllAttribs();
227 static
bool saveGlobalWorkItem(std::ostream &os);
232 static
bool loadGlobalWorkItem(
UT_IStream& is);
236 static const
PDG_WorkItem* globalWorkItem(
bool sub_item);
240 static const
PDG_WorkItem* globalJobWorkItem(
bool sub_item);
253 static
bool useTimeDependentAttribs();
256 static
bool isTimeDependent(
265 static
bool activeIsParent(
int thread);
268 static
bool isLocalGenerating(
int thread);
271 static
bool isLocalRuntime(
int thread);
275 static
bool isLocalActive(
int thread);
281 static
bool isLocalCookingPDG(
int thread);
284 static
State localState(
int thread);
287 static
fpreal localEvalTime(
int thread);
290 static const
PDG_Node* localActiveNode(
int thread);
298 static
void setDict(
int thread,
PY_PyObject* locals);
304 static
void updateDict(
int thread,
307 static
void updateDict(
int thread,
310 static
void updateDict(
int thread,
315 static
void updateDict(
int thread,
320 static
void updateDict(
int thread,
325 static
void updateDict(
int thread,
330 static
void resetDict(
int thread);
368 static
bool savePyObjectAttr(
375 static
bool loadPyObjectAttr(
382 static
bool cookWorkItem(
390 static
bool literalEval(
397 static
bool hashPyObjectAttr(
403 static
void updateParameterEvaluation(
413 bool isParent() const;
422 bool hasParameterError() const;
428 bool isGenerating()
const
429 {
return (myState == eStateStatic) ||
430 (myState == eStateDynamic); }
434 {
return (myState == eStateCooking); }
438 {
return (myState == eStateDynamic) ||
439 (myState == eStateCooking) ||
440 (myState == eStateNone); }
445 {
return myState != eStateNone; }
449 {
return myIsLocalize; }
457 bool canDirty(
const PDG_Node* node)
const;
460 bool canDirty()
const;
466 if (myAttributeRecord)
467 myAttributeRecord->record(name);
485 AttribRecordScope* attributeRecord()
const;
492 void setActiveNode(
const PDG_Node* node);
504 void setLocalize(
bool localize);
507 void setAttributeRecord(AttribRecordScope* scope);
518 bool include_details,
532 void setLocalDictEntryByScript(
534 const char* py_expression);
536 void setLocalDictEntryByObject(
546 EvaluatorMap myAttributeMap;
547 AttribRecordScope* myAttributeRecord;
552 bool myDictModified : 1;
554 bool myIsLocalize : 1;
555 bool myHasParameterError : 1;
OIIO_API bool has_error()
Is there a pending global error message waiting to be retrieved?
GT_API const UT_StringHolder time
GLsizei const GLfloat * value
State
Evaluation context state.
std::size_t SYS_HashType
Define the type for hash values.
UT_Function< PY_PyObject *(const PDG_WorkItem *)> WorkItemCaster
Utility function type for converting a PDG_WorkItem* to a PY_PyObject.
**But if you need a result
EvaluationResult
Enumeration of python script evaluation results.
bool isActive() const
Returns true if the context is actively doing PDG work.
Scoped setter of local work item.
GLint GLint GLsizei GLint GLenum GLenum type
The script succeeded without any exceptions.
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
The script encountered an error or exception.
bool isCooking() const
Returns true if the context is in a cooking state.
GLuint const GLchar * name
Scoped block that records PDG attribute evaluations.
std::function< T > UT_Function
**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
bool isRuntime() const
Returns true if the context is in a runtime state.
bool isLocalize() const
Returns true if the context should force file paths to be localized.
UT_ErrorManager::Scope UT_AutoErrorManager
Alias UT_AutoErrorManager as UT_ErrorManager::Scope.
Scoped reset of the thread-local context cooking/generation state.
void recordAttribute(const UT_StringHolder &name)