//--------------------------------------------------
 //--------------------------------------------------
 template <> Matrix3 GetAttributeValue<Matrix3>(const XML::Node* in_node, const std::string& in_attributeName, const Matrix3& in_defaultValue)
 {
     for(rapidxml::xml_attribute<>* attribute = in_node->first_attribute(); attribute != nullptr; attribute = attribute->next_attribute())
     {
         if (GetName(attribute) == in_attributeName)
         {
             return ParseMatrix3(GetValue(attribute));
         }
     }
     
     return in_defaultValue;
 }
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 template <> Matrix3 ParseValue(const std::string& in_value)
 {
     return ParseMatrix3(in_value);
 }