diff options
Diffstat (limited to 'intern/cycles/graph')
-rw-r--r-- | intern/cycles/graph/node_type.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/graph/node_xml.cpp | 23 |
2 files changed, 12 insertions, 13 deletions
diff --git a/intern/cycles/graph/node_type.cpp b/intern/cycles/graph/node_type.cpp index a3a8fa5f382..37aae211e93 100644 --- a/intern/cycles/graph/node_type.cpp +++ b/intern/cycles/graph/node_type.cpp @@ -77,7 +77,7 @@ size_t SocketType::max_size() void *SocketType::zero_default_value() { - static Transform zero_transform = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; + static Transform zero_transform = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}; return &zero_transform; } diff --git a/intern/cycles/graph/node_xml.cpp b/intern/cycles/graph/node_xml.cpp index d26b3b2c2c8..f4599e22d40 100644 --- a/intern/cycles/graph/node_xml.cpp +++ b/intern/cycles/graph/node_xml.cpp @@ -196,7 +196,7 @@ void xml_read_node(XMLReader& reader, Node *node, xml_node xml_node) case SocketType::TRANSFORM: { array<Transform> value; - xml_read_float_array<16>(value, attr); + xml_read_float_array<12>(value, attr); if(value.size() == 1) { node->set(socket, value[0]); } @@ -205,7 +205,7 @@ void xml_read_node(XMLReader& reader, Node *node, xml_node xml_node) case SocketType::TRANSFORM_ARRAY: { array<Transform> value; - xml_read_float_array<16>(value, attr); + xml_read_float_array<12>(value, attr); node->set(socket, value); break; } @@ -400,12 +400,10 @@ xml_node xml_write_node(Node *node, xml_node xml_root) { Transform tfm = node->get_transform(socket); std::stringstream ss; - for(int i = 0; i < 4; i++) { - ss << string_printf("%g %g %g %g", (double)tfm[i][0], (double)tfm[i][1], (double)tfm[i][2], (double)tfm[i][3]); - if(i != 3) { - ss << " "; - } + for(int i = 0; i < 3; i++) { + ss << string_printf("%g %g %g %g ", (double)tfm[i][0], (double)tfm[i][1], (double)tfm[i][2], (double)tfm[i][3]); } + ss << string_printf("%g %g %g %g", 0.0, 0.0, 0.0, 1.0); attr = ss.str().c_str(); break; } @@ -416,11 +414,12 @@ xml_node xml_write_node(Node *node, xml_node xml_root) for(size_t j = 0; j < value.size(); j++) { const Transform& tfm = value[j]; - for(int i = 0; i < 4; i++) { - ss << string_printf("%g %g %g %g", (double)tfm[i][0], (double)tfm[i][1], (double)tfm[i][2], (double)tfm[i][3]); - if(j != value.size() - 1 || i != 3) { - ss << " "; - } + for(int i = 0; i < 3; i++) { + ss << string_printf("%g %g %g %g ", (double)tfm[i][0], (double)tfm[i][1], (double)tfm[i][2], (double)tfm[i][3]); + } + ss << string_printf("%g %g %g %g", 0.0, 0.0, 0.0, 1.0); + if(j != value.size() - 1) { + ss << " "; } } attr = ss.str().c_str(); |