Public Member Functions | |
StdMeshMaterialParserCtx (StdMeshMatManager &manager, const char *mat_script, const char *filename, StdMeshMaterialLoader &loader) | |
void | SkipWhitespace () |
Token | Peek (StdStrBuf &name) |
Token | Advance (StdStrBuf &name) |
Token | AdvanceNonEOF (StdStrBuf &name) |
Token | AdvanceRequired (StdStrBuf &name, Token expect) |
Token | AdvanceRequired (StdStrBuf &name, Token expect1, Token expect2) |
int | AdvanceInt () |
bool | AdvanceIntOptional (int &value) |
float | AdvanceFloat () |
bool | AdvanceFloatOptional (float &value) |
void | AdvanceColor (bool with_alpha, float Color[4]) |
bool | AdvanceBoolean () |
template<typename EnumType > | |
EnumType | AdvanceEnum (const Enumerator< EnumType > *enumerators) |
template<int Num, typename EnumType > | |
void | AdvanceEnums (const Enumerator< EnumType > *enumerators, EnumType enums[Num]) |
template<int Num, typename EnumType > | |
void | AdvanceEnums (const Enumerator< EnumType > *enumerators, const EnumeratorShortcut< Num, EnumType > *shortcuts, EnumType enums[Num]) |
void | Error (const StdStrBuf &message) |
void | ErrorUnexpectedIdentifier (const StdStrBuf &identifier) |
void | WarningNotSupported (const char *identifier) |
Public Attributes | |
unsigned int | Line |
const char * | Script |
StdMeshMatManager & | Manager |
StdCopyStrBuf | FileName |
StdMeshMaterialLoader & | Loader |
Definition at line 199 of file StdMeshMaterial.cpp.
StdMeshMaterialParserCtx::StdMeshMaterialParserCtx | ( | StdMeshMatManager & | manager, |
const char * | mat_script, | ||
const char * | filename, | ||
StdMeshMaterialLoader & | loader | ||
) |
Definition at line 242 of file StdMeshMaterial.cpp.
Definition at line 289 of file StdMeshMaterial.cpp.
References StdStrBuf::Clear(), StdStrBuf::Copy(), Script, SkipWhitespace(), TOKEN_BRACE_CLOSE, TOKEN_BRACE_OPEN, TOKEN_COLON, TOKEN_EOF, and TOKEN_IDTF.
Referenced by AdvanceNonEOF(), StdMeshMatManager::Parse(), and Peek().
bool StdMeshMaterialParserCtx::AdvanceBoolean | ( | ) |
Definition at line 413 of file StdMeshMaterial.cpp.
References AdvanceRequired(), Error(), and TOKEN_IDTF.
Referenced by StdMeshMaterialPass::Load(), and StdMeshMaterial::Load().
void StdMeshMaterialParserCtx::AdvanceColor | ( | bool | with_alpha, |
float | Color[4] | ||
) |
Definition at line 405 of file StdMeshMaterial.cpp.
References AdvanceFloat(), and AdvanceFloatOptional().
Referenced by StdMeshMaterialTextureUnit::Load(), and StdMeshMaterialPass::Load().
EnumType StdMeshMaterialParserCtx::AdvanceEnum | ( | const Enumerator< EnumType > * | enumerators | ) |
Definition at line 424 of file StdMeshMaterial.cpp.
References AdvanceRequired(), ErrorUnexpectedIdentifier(), and TOKEN_IDTF.
Referenced by AdvanceEnums(), StdMeshMaterialTextureUnit::Load(), and StdMeshMaterialPass::Load().
void StdMeshMaterialParserCtx::AdvanceEnums | ( | const Enumerator< EnumType > * | enumerators, |
const EnumeratorShortcut< Num, EnumType > * | shortcuts, | ||
EnumType | enums[Num] | ||
) |
Definition at line 445 of file StdMeshMaterial.cpp.
References AdvanceEnum(), AdvanceRequired(), ErrorUnexpectedIdentifier(), Peek(), and TOKEN_IDTF.
void StdMeshMaterialParserCtx::AdvanceEnums | ( | const Enumerator< EnumType > * | enumerators, |
EnumType | enums[Num] | ||
) |
Definition at line 438 of file StdMeshMaterial.cpp.
References AdvanceEnum().
Referenced by StdMeshMaterialTextureUnit::Load(), and StdMeshMaterialPass::Load().
float StdMeshMaterialParserCtx::AdvanceFloat | ( | ) |
Definition at line 375 of file StdMeshMaterial.cpp.
References AdvanceRequired(), Error(), StdStrBuf::getData(), and TOKEN_IDTF.
Referenced by AdvanceColor(), AdvanceFloatOptional(), StdMeshMaterialTextureUnit::Load(), and StdMeshMaterialPass::Load().
bool StdMeshMaterialParserCtx::AdvanceFloatOptional | ( | float & | value | ) |
Definition at line 391 of file StdMeshMaterial.cpp.
References AdvanceFloat(), Peek(), and TOKEN_IDTF.
Referenced by AdvanceColor(), StdMeshMaterialTextureUnit::Load(), and StdMeshMaterialPass::Load().
int StdMeshMaterialParserCtx::AdvanceInt | ( | ) |
Definition at line 344 of file StdMeshMaterial.cpp.
References AdvanceRequired(), Error(), StdStrBuf::getData(), and TOKEN_IDTF.
Referenced by AdvanceIntOptional().
bool StdMeshMaterialParserCtx::AdvanceIntOptional | ( | int & | value | ) |
Definition at line 361 of file StdMeshMaterial.cpp.
References AdvanceInt(), Peek(), and TOKEN_IDTF.
Referenced by StdMeshMaterialTextureUnit::Load().
Definition at line 320 of file StdMeshMaterial.cpp.
References Advance(), Error(), and TOKEN_EOF.
Referenced by AdvanceRequired(), StdMeshMaterialShaderParameters::Load(), StdMeshMaterialTextureUnit::Load(), StdMeshMaterialPass::Load(), StdMeshMaterialTechnique::Load(), StdMeshMaterial::Load(), and LoadShader().
Definition at line 327 of file StdMeshMaterial.cpp.
References AdvanceNonEOF(), and Error().
Referenced by AdvanceBoolean(), AdvanceEnum(), AdvanceEnums(), AdvanceFloat(), AdvanceInt(), StdMeshMaterialShaderParameters::Load(), StdMeshMaterialTextureUnit::Load(), StdMeshMaterialPass::Load(), StdMeshMaterialSubLoader::Load(), LoadShader(), and StdMeshMatManager::Parse().
Definition at line 335 of file StdMeshMaterial.cpp.
References AdvanceNonEOF(), and Error().
void StdMeshMaterialParserCtx::Error | ( | const StdStrBuf & | message | ) |
Definition at line 503 of file StdMeshMaterial.cpp.
References FileName, StdStrBuf::getData(), and Line.
Referenced by AdvanceBoolean(), AdvanceFloat(), AdvanceInt(), AdvanceNonEOF(), AdvanceRequired(), ErrorUnexpectedIdentifier(), StdMeshMaterialShaderParameters::Load(), StdMeshMaterialTextureUnit::Load(), StdMeshMaterialPass::Load(), StdMeshMaterialTechnique::Load(), StdMeshMaterial::Load(), LoadShader(), StdMeshMaterialTextureUnit::LoadTexture(), and StdMeshMatManager::Parse().
void StdMeshMaterialParserCtx::ErrorUnexpectedIdentifier | ( | const StdStrBuf & | identifier | ) |
Definition at line 508 of file StdMeshMaterial.cpp.
References Error().
Referenced by AdvanceEnum(), AdvanceEnums(), StdMeshMaterialShaderParameters::Load(), StdMeshMaterialTextureUnit::Load(), StdMeshMaterialPass::Load(), StdMeshMaterialTechnique::Load(), StdMeshMaterial::Load(), LoadShader(), and StdMeshMatManager::Parse().
Definition at line 279 of file StdMeshMaterial.cpp.
References Advance(), Script, and SkipWhitespace().
Referenced by AdvanceEnums(), AdvanceFloatOptional(), and AdvanceIntOptional().
void StdMeshMaterialParserCtx::SkipWhitespace | ( | ) |
Definition at line 247 of file StdMeshMaterial.cpp.
Referenced by Advance(), and Peek().
void StdMeshMaterialParserCtx::WarningNotSupported | ( | const char * | identifier | ) |
Definition at line 513 of file StdMeshMaterial.cpp.
References DebugLogF(), FileName, StdStrBuf::getData(), and Line.
Referenced by StdMeshMaterialPass::Load().
StdCopyStrBuf StdMeshMaterialParserCtx::FileName |
Definition at line 228 of file StdMeshMaterial.cpp.
Referenced by Error(), StdMeshMatManager::Parse(), and WarningNotSupported().
unsigned int StdMeshMaterialParserCtx::Line |
Definition at line 224 of file StdMeshMaterial.cpp.
Referenced by Error(), StdMeshMaterialSubLoader::Load(), StdMeshMatManager::Parse(), SkipWhitespace(), and WarningNotSupported().
StdMeshMaterialLoader& StdMeshMaterialParserCtx::Loader |
Definition at line 229 of file StdMeshMaterial.cpp.
Referenced by LoadShader(), and StdMeshMaterialTextureUnit::LoadTexture().
StdMeshMatManager& StdMeshMaterialParserCtx::Manager |
Definition at line 227 of file StdMeshMaterial.cpp.
Referenced by LoadShader().
const char* StdMeshMaterialParserCtx::Script |
Definition at line 225 of file StdMeshMaterial.cpp.
Referenced by Advance(), StdMeshMaterialSubLoader::Load(), Peek(), and SkipWhitespace().