15 #include "ShaderPipeline/ShaderPipelineCustomFunction.h"
20 #include <Inventor/nodes/SoSubNode.h>
21 #include <Inventor/fields/SoSFEnum.h>
22 #include <Inventor/fields/SoSFBool.h>
23 #include <Inventor/fields/SoSFString.h>
70 void updateFunctionName(SoField* field =
nullptr);
73 void updateFunctionBody(SoField* field =
nullptr);
76 void updateFunctionDisplay();
79 void updateParameters(SoField* field =
nullptr);
82 void updateSubstep(SoField* field =
nullptr);
85 void updateAll(SoField* field =
nullptr);
99 ParameterType parameterType;
100 std::string valueType;
103 std::string defaultValue;
106 typedef std::vector<Parameter> ParameterVector;
108 typedef std::vector<SoSFString*> StringFieldVector;
111 void parseParameterDeclarationText(ParameterVector&
target,
const std::string&
source);
116 bool parseParameterDeclarationLine(Parameter& parameter,
const std::string& line);
120 bool parseTokens(Parameter& parameter,
const StringVector& tokens);
123 bool checkTokens(
const StringVector& tokens,
size_t numberOfRequiredTokens);
126 bool isReplacementField(SoField* field);
129 void doReplacement(std::string& value);
132 StringFieldVector _replacedStringFields;
135 StringFieldVector _replacementStringFields;
std::vector< std::string > StringVector
SoView2DShaderOperation _operation
The operation configured by this node.
static void initClass()
Initialization for inventor runtime system.
SoSFString replaced1
String replacement fields.
SoSFString functionName
Function declaration fields.
SoSFString parameterDeclaration
~SoView2DShaderFunctionBase() override
SoSFBool enabled
Enable/disabled this node.
SoView2DShaderFunctionBase()
ShaderPipelineCustomFunction _function
The function configured by this node.
SoSFString functionDisplay
Resulting function display.
SoSFEnum modificationType
Insertion settings.
static void initClass()
Initialization for inventor runtime system.
void GLRender(SoGLRenderAction *action) override
Container class to specify a change operation for the shader pipeline shader.
boost::graph_traits< ml_graph_ptr >::vertex_descriptor source(graph_traits< ml_graph_ptr >::edge_descriptor e, const ml_graph_ptr)
Returns the vertex descriptor for u of the edge (u,v) represented by e.
boost::graph_traits< ml_graph_ptr >::vertex_descriptor target(graph_traits< ml_graph_ptr >::edge_descriptor e, const ml_graph_ptr)
Returns the vertex descriptor for v of the edge (u,v) represented by e.