9 #ifndef __PDG_ATTRIBUTE_INFO_H__
10 #define __PDG_ATTRIBUTE_INFO_H__
33 eOriginGenerate = 0x1,
35 eOriginExpected = 0x4,
37 eOriginGenerateExpected = eOriginGenerate | eOriginExpected,
44 Config() : myDefaultOrigin(eOriginNone) {}
47 {
return myOrigins.contains(name); }
72 void addOutputAttribs(
const Config& attrib_config);
75 void addInputAttribs(
const Config& attrib_config);
80 bool dynamic_generator);
83 void processExpressionAttribs(
89 bool checkNeedsDynamic(
90 bool require_inputs)
const;
95 {
return myOutputAttributes; }
101 return myOutputAttributes.contains(name);
106 {
return myInputAttributes; }
112 return myInputAttributes.contains(name);
118 {
return myUpstreamAttributes; }
124 return myUpstreamAttributes.contains(name);
128 static bool fromJSON(
134 Config myOutputAttributes;
136 Config myUpstreamAttributes;
138 bool myHasDynamicInputs;
bool contains(const UT_StringHolder &name) const
const Config & upstreamAttributes() const
UT_ArrayStringMap< int > myAttributeCounts
UT_JSONValueArray stores a list of UT_JSONValue objects.
UT_StringMap< UT_StringSet > myChannelAttributes
UT_ArrayStringMap< int > myOrigins
bool hasUpstreamAttribute(const UT_StringHolder &name) const
Utility that returns true if the specified upstream attribute exists.
AttribOrigin
Whether the attributes is create/used in the generate/cook stage.
const Config & inputAttributes() const
Returns the attributes referenced or use during the current cook.
bool hasInputAttribute(const UT_StringHolder &name) const
Utility that returns true if the specified input attribute exists.
bool hasOutputAttribute(const UT_StringHolder &name) const
Utility that returns true if the specified output attribute exists.
GLuint const GLchar * name
const Config & outputAttributes() const