| 115 | // read 1 to n floats prefixed with an optional predefined identifier |
| 116 | template <class T> |
| 117 | inline const char *TAcCheckedLoadFloatArray(const char *buffer, const char *end, const char *name, size_t name_length, size_t num, T *out) { |
| 118 | buffer = AcSkipToNextToken(buffer, end); |
| 119 | if (0 != name_length) { |
| 120 | if (0 != strncmp(buffer, name, name_length) || !IsSpace(buffer[name_length])) { |
| 121 | ASSIMP_LOG_ERROR("AC3D: Unexpected token. ", name, " was expected."); |
| 122 | return buffer; |
| 123 | } |
| 124 | buffer += name_length + 1; |
| 125 | } |
| 126 | for (unsigned int _i = 0; _i < num; ++_i) { |
| 127 | buffer = AcSkipToNextToken(buffer, end); |
| 128 | buffer = fast_atoreal_move(buffer, ((float *)out)[_i]); |
| 129 | } |
| 130 | |
| 131 | return buffer; |
| 132 | } |
| 133 | |
| 134 | // ------------------------------------------------------------------------------------------------ |
| 135 | // Reverses vertex indices in a face. |
no test coverage detected