9 #ifndef __PDG_NODE_OPTIONS_H__
10 #define __PDG_NODE_OPTIONS_H__
36 : myServiceBlockCookType(
38 , myRequiresGeneratedInputs(false)
39 , myRequiresCookedInputs(false)
40 , myRequiresEndBlock(false)
41 , myRequiresSceneFile(false)
42 , myRequiresInputData(false)
43 , myIsCompressWorkItemData(true)
44 , myIsAlwaysRegenerate(false)
45 , myIsDirtyOnRegenerate(false)
46 , myIsDirtyOnIncomplete(false)
47 , myIsClearFailures(false)
48 , myAllowDuplicateOutputs(false)
49 , myUsesSharedServers(false)
50 , myUsesDynamicBatching(false)
57 {
return myStateFilter; }
61 {
return (myStateFilter.size() > 0); }
65 {
return (myStateFilter.find(state) >= 0); }
74 {
return myDescription; }
78 {
return myDescription.isstring() &&
79 !myDescription.isEmpty(); }
83 {
return myServiceBlockCookType; }
88 {
return myRequiresGeneratedInputs; }
94 {
return myRequiresCookedInputs; }
98 {
return myRequiresEndBlock; }
103 {
return myRequiresSceneFile; }
108 {
return myRequiresInputData; }
113 {
return myIsCompressWorkItemData; }
118 {
return myIsAlwaysRegenerate; }
123 {
return myIsDirtyOnRegenerate; }
128 {
return myIsDirtyOnIncomplete; }
133 {
return myIsClearFailures; }
138 {
return myAllowDuplicateOutputs; }
142 {
return myUsesSharedServers; }
146 {
return myUsesDynamicBatching; }
150 {
return myIsValid; }
154 { myStateFilter =
filter; }
158 { myDescription = desc; }
163 { myServiceBlockCookType = cook_type; }
168 { myRequiresGeneratedInputs = requires_all; }
173 { myRequiresCookedInputs = requires_cooked; }
178 { myRequiresEndBlock = requires_block; }
182 { myRequiresSceneFile = requires_scene; }
188 { myRequiresInputData = requires_data; }
193 { myIsCompressWorkItemData = compress; }
200 { myIsAlwaysRegenerate = always_regenerate; }
205 { myIsDirtyOnRegenerate = dirty_node; }
210 { myIsDirtyOnIncomplete = dirty_node; }
215 { myIsClearFailures = clear_failures; }
220 { myAllowDuplicateOutputs = allow_dupes; }
225 { myUsesSharedServers = uses_servers; }
230 { myUsesDynamicBatching = uses_batching; }
234 { myIsValid = is_valid; }
239 {
return myServiceName; }
243 {
return myServiceName.isstring() &&
244 !myServiceName.isEmpty(); }
248 { myServiceName =
name; }
261 myOutputAttribs.myOrigins[
name] = origin;
270 myInputAttribs.myOrigins[
name] = origin;
280 myPortOrigins[
name] = origin;
285 { myOutputAttribs.myDefaultOrigin = origin; }
287 { myInputAttribs.myDefaultOrigin = origin; }
292 {
return myOutputAttribs; }
296 {
return myInputAttribs; }
301 {
return myPortOrigins; }
312 StateFilter myStateFilter;
318 bool myRequiresGeneratedInputs;
319 bool myRequiresCookedInputs;
320 bool myRequiresEndBlock;
321 bool myRequiresSceneFile;
322 bool myRequiresInputData;
324 bool myIsCompressWorkItemData;
326 bool myIsAlwaysRegenerate;
327 bool myIsDirtyOnRegenerate;
328 bool myIsDirtyOnIncomplete;
329 bool myIsClearFailures;
331 bool myAllowDuplicateOutputs;
333 bool myUsesSharedServers;
334 bool myUsesDynamicBatching;
bool usesSharedServers() const
Returns true if this node creates work items that use shared servers.
bool hasServiceName() const
Returns true if a service name has been set.
const PDG_AttributeInfo::Config & inputAttribs() const
void setOutputAttrib(const UT_StringHolder &name, int origin)
const UT_StringHolder & description() const
void setServiceBlockCookType(PDG_ServiceBlockCookType cook_type)
Sets the service block cook type for this node.
bool isCompressWorkItemData() const
bool requiresGeneratedInputs() const
const UT_ArrayStringMap< int > & portOrigins() const
Returns the evaluation origin overrides for ports on this instance.
void setRequiresCookedInputs(bool requires_cooked)
void setInputAttrib(const UT_StringHolder &name, int origin)
bool isEmpty() const
Same as !isstring()
static bool validName(const UT_StringHolder &str, bool allow_internal=false)
bool isDirtyOnIncomplete() const
void setInputAttribDefault(int origin)
bool requiresInputData() const
bool hasDescription() const
Returns true if a description has been set.
void setAllowDuplicateOutputs(bool allow_dupes)
bool isClearFailures() const
bool isAlwaysRegenerate() const
PDG_ServiceBlockCookType
Enumeration of service block cook modes.
bool allowDuplicateOutputs() const
void setDirtyOnRegenerate(bool dirty_node)
bool isValid() const
Returns true if the node options are valid.
void setRequiresInputData(bool requires_data)
bool filterState(PDG_WorkItemState state) const
Returns true if the state filter contains the specified state.
void setOutputAttribDefault(int origin)
Sets the default origin for the attribute type.
bool requiresSceneFile() const
void setIsValid(bool is_valid)
Sets the valid flag.
const StateFilter & stateFilter() const
bool usesDynamicBatching() const
Returns true if thise node creates work items that use dynamic batching.
GLuint const GLchar * name
PDG_WorkItemState
Enum of possible work item states.
void setDirtyOnIncomplete(bool dirty_node)
PDG_ServiceBlockCookType serviceBlockCookType() const
Returns the service block cook type for this node.
void setDescription(const UT_StringHolder &desc)
Sets the UI description for the node.
bool requiresEndBlock() const
Returns true if this node requires an end block to cook correctly.
void setClearFailures(bool clear_failures)
void setRequiresEndBlock(bool requires_block)
void setIsCompressWorkItemData(bool compress)
const PDG_AttributeInfo::Config & outputAttribs() const
Returns the current output attribute origin map.
void setRequiresSceneFile(bool requires_scene)
Indicates whether or not this node requires the current scene file.
void setRequiresGeneratedInputs(bool requires_all)
void setPortOrigin(const UT_StringHolder &name, int origin)
bool hasStateFilter() const
Returns true if the node has at least one state in its state filter.
void setServiceName(const UT_StringHolder &name)
Sets the service name.
void setUsesDynamicBatching(bool uses_batching)
void setUsesSharedServers(bool uses_servers)
void setIsAlwaysRegenerate(bool always_regenerate)
bool isDirtyOnRegenerate() const
SYS_FORCE_INLINE bool isstring() const
bool requiresCookedInputs() const
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
void setStateFilter(const StateFilter &filter)
Sets the state filter.
const UT_StringHolder & serviceName() const