Code refactor: nodify Cycles camera and fix some mistakes in XML node read.
Differential Revision: https://developer.blender.org/D2016
This commit is contained in:
@@ -117,8 +117,9 @@ void xml_read_node(XMLReader& reader, Node *node, pugi::xml_node xml_node)
|
||||
|
||||
array<int> value;
|
||||
value.resize(tokens.size());
|
||||
for(size_t i = 0; i < value.size(); i++)
|
||||
for(size_t i = 0; i < value.size(); i++) {
|
||||
value[i] = (int)atoi(attr.value());
|
||||
}
|
||||
node->set(socket, value);
|
||||
break;
|
||||
}
|
||||
@@ -127,7 +128,7 @@ void xml_read_node(XMLReader& reader, Node *node, pugi::xml_node xml_node)
|
||||
case SocketType::POINT:
|
||||
case SocketType::NORMAL:
|
||||
{
|
||||
array<float> value;
|
||||
array<float3> value;
|
||||
xml_read_float_array<3>(value, attr);
|
||||
if(value.size() == 1) {
|
||||
node->set(socket, value[0]);
|
||||
@@ -161,11 +162,21 @@ void xml_read_node(XMLReader& reader, Node *node, pugi::xml_node xml_node)
|
||||
break;
|
||||
}
|
||||
case SocketType::STRING:
|
||||
case SocketType::ENUM:
|
||||
{
|
||||
node->set(socket, attr.value());
|
||||
break;
|
||||
}
|
||||
case SocketType::ENUM:
|
||||
{
|
||||
ustring value(attr.value());
|
||||
if(socket.enum_values->exists(value)) {
|
||||
node->set(socket, value);
|
||||
}
|
||||
else {
|
||||
fprintf(stderr, "Unknown value \"%s\" for attribute \"%s\".\n", value.c_str(), socket.name.c_str());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SocketType::STRING_ARRAY:
|
||||
{
|
||||
vector<string> tokens;
|
||||
@@ -173,8 +184,9 @@ void xml_read_node(XMLReader& reader, Node *node, pugi::xml_node xml_node)
|
||||
|
||||
array<ustring> value;
|
||||
value.resize(tokens.size());
|
||||
for(size_t i = 0; i < value.size(); i++)
|
||||
for(size_t i = 0; i < value.size(); i++) {
|
||||
value[i] = ustring(tokens[i]);
|
||||
}
|
||||
node->set(socket, value);
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user