52class ALEMBIC_EXPORT IMaterialSchema
60 typedef IMaterialSchema this_type;
71 const std::string &iName,
75 : Abc::
ISchema<MaterialSchemaInfo>( iParent, iName, iArg0, iArg1 )
87 : Abc::
ISchema<MaterialSchemaInfo>( iProp, iArg0, iArg1 )
100 void getTargetNames( std::vector<std::string> & iTargetNames );
106 void getShaderTypesForTarget(
const std::string & iTargetName,
107 std::vector<std::string> & oShaderTypeNames );
111 bool getShader(
const std::string & iTarget,
112 const std::string & iShaderType,
113 std::string & oResult );
119 const std::string & iTarget,
const std::string & iShaderType );
123 class ALEMBIC_EXPORT NetworkNode
130 const std::string & iNodeName );
134 std::string getName();
136 bool getTarget( std::string & oResult );
137 bool getNodeType( std::string & oResult );
141 size_t getNumConnections();
142 bool getConnection(
size_t iIndex,
143 std::string & oInputName,
144 std::string & oConnectedNodeName,
145 std::string & oConnectedOutputName );
147 bool getConnection(
const std::string & iInputName,
148 std::string & oConnectedNodeName,
149 std::string & oConnectedOutputName );
154 bool m_connectionsChecked;
155 std::vector< std::string > m_connections;
156 std::map< std::string, std::string > m_connectionsMap;
158 void splitConnectionValue(
const std::string & v,
163 size_t getNumNetworkNodes();
164 void getNetworkNodeNames( std::vector<std::string> & oNames );
167 NetworkNode getNetworkNode(
const std::string & iNodeName );
169 void getNetworkTerminalTargetNames(
170 std::vector<std::string> & oTargetNames );
172 void getNetworkTerminalShaderTypesForTarget(
173 const std::string & iTargetName,
174 std::vector<std::string> & oShaderTypeNames );
176 bool getNetworkTerminal(
const std::string & iTarget,
177 const std::string & iShaderType,
178 std::string & oNodeName,
179 std::string & oOutputName );
181 size_t getNumNetworkInterfaceParameterMappings();
182 bool getNetworkInterfaceParameterMapping(
size_t iIndex,
183 std::string & oInterfaceParamName,
184 std::string & oMapToNodeName,
185 std::string & oMapToParamName );
187 void getNetworkInterfaceParameterMappingNames(
188 std::vector<std::string> & oNames );
190 bool getNetworkInterfaceParameterMapping(
191 const std::string & iInterfaceParamName,
192 std::string & oMapToNodeName,
193 std::string & oMapToParamName );
203 std::map<std::string, std::string> m_shaderNames;
204 std::map<std::string, std::string> m_terminals;
205 std::map<std::string, std::string> m_interfaceMap;
206 std::vector<std::string> m_interface;