Assimp  v3.1.1 (June 2014)
MD5Parser.cpp File Reference

Implementation of the MD5 parser class. More...

Macros

#define AI_MD5_PARSE_STRING(out)
 
#define AI_MD5_READ_TRIPLE(vec)
 
#define AI_MD5_SKIP_SPACES()
 

Detailed Description

Implementation of the MD5 parser class.

Macro Definition Documentation

◆ AI_MD5_PARSE_STRING

#define AI_MD5_PARSE_STRING (   out)
Value:
bool bQuota = (*sz == '\"'); \
const char* szStart = sz; \
while (!IsSpaceOrNewLine(*sz))++sz; \
const char* szEnd = sz; \
if (bQuota) { \
szStart++; \
if ('\"' != *(szEnd-=1)) { \
MD5Parser::ReportWarning("Expected closing quotation marks in string", \
elem.iLineNumber); \
continue; \
} \
} \
out.length = (size_t)(szEnd - szStart); \
::memcpy(out.data,szStart,out.length); \
out.data[out.length] = '\0';

◆ AI_MD5_READ_TRIPLE

#define AI_MD5_READ_TRIPLE (   vec)
Value:
if ('(' != *sz++) \
MD5Parser::ReportWarning("Unexpected token: ( was expected",elem.iLineNumber); \
AI_MD5_SKIP_SPACES(); \
sz = fast_atoreal_move<float>(sz,(float&)vec.x); \
AI_MD5_SKIP_SPACES(); \
sz = fast_atoreal_move<float>(sz,(float&)vec.y); \
AI_MD5_SKIP_SPACES(); \
sz = fast_atoreal_move<float>(sz,(float&)vec.z); \
AI_MD5_SKIP_SPACES(); \
if (')' != *sz++) \
MD5Parser::ReportWarning("Unexpected token: ) was expected",elem.iLineNumber);

◆ AI_MD5_SKIP_SPACES

#define AI_MD5_SKIP_SPACES ( )
Value:
if(!SkipSpaces(&sz)) \
MD5Parser::ReportWarning("Unexpected end of line",elem.iLineNumber);
AI_MD5_SKIP_SPACES
#define AI_MD5_SKIP_SPACES()
Definition: MD5Parser.cpp:195
Assimp::SkipSpaces
AI_FORCE_INLINE bool SkipSpaces(const char_t *in, const char_t **out)
Definition: ParsingUtils.h:115
out
FILE * out
Definition: WriteDumb.cpp:62
Assimp::IsSpaceOrNewLine
AI_FORCE_INLINE bool IsSpaceOrNewLine(char_t in)
Definition: ParsingUtils.h:108