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(
408 static
void resetParameterEvaluation(
int thraed);
416 bool isParent() const;
425 bool hasParameterError() const;
431 bool isGenerating()
const
432 {
return (myState == eStateStatic) ||
433 (myState == eStateDynamic); }
437 {
return (myState == eStateCooking); }
441 {
return (myState == eStateDynamic) ||
442 (myState == eStateCooking) ||
443 (myState == eStateNone); }
448 {
return myState != eStateNone; }
452 {
return myIsLocalize; }
460 bool canDirty(
const PDG_Node* node)
const;
463 bool canDirty()
const;
469 if (myAttributeRecord)
470 myAttributeRecord->record(name);
488 AttribRecordScope* attributeRecord()
const;
495 void setActiveNode(
const PDG_Node* node);
507 void setLocalize(
bool localize);
510 void setAttributeRecord(AttribRecordScope* scope);
521 bool include_details,
535 void setLocalDictEntryByScript(
537 const char* py_expression);
539 void setLocalDictEntryByObject(
549 EvaluatorMap myAttributeMap;
550 AttribRecordScope* myAttributeRecord;
555 bool myDictModified : 1;
557 bool myIsLocalize : 1;
558 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
section HDK_USDHydraEventScripts USD a python event script is run This gives the render delegate the opportunity to perform any required external initialization or other renderer specific action that may be required The script is found by searching the HOUDINI_SCRIPT_PATH for a file named scene DelegateName_Events py Within this file should be two functions
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)