本文整理汇总了C++中ParserResult::init方法的典型用法代码示例。如果您正苦于以下问题:C++ ParserResult::init方法的具体用法?C++ ParserResult::init怎么用?C++ ParserResult::init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParserResult
的用法示例。
在下文中一共展示了ParserResult::init方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: add
bool SceneGraph::add(const char *filename, bool bInitialize, void (*callbackFn)(int nLine, void *info), void *callbackFnInfo)
{
int fileFormat = GetFileFormat(filename);
Parser *parser = NULL;
ParserResult *presult = getParserResult();
presult->init();
presult->setParserResult(false);
switch (fileFormat) {
case FILE_FORMAT_VRML:
parser = new VRML97Parser();
break;
#ifdef CX3D_SUPPORT_X3D
case FILE_FORMAT_XML:
parser = new X3DParser();
break;
#endif
#ifdef CX3D_SUPPORT_OBJ
case FILE_FORMAT_OBJ:
parser = new OBJParser();
break;
#endif
}
if (parser == NULL)
return false;
SetParserResultObject(presult);
bool parserRet = parser->load(filename, callbackFn, callbackFnInfo);
presult->setParserResult(parserRet);
if (parserRet == false) {
delete parser;
return false;
}
moveParserNodes(parser);
moveParserRoutes(parser);
delete parser;
if (bInitialize)
initialize();
setBackgroundNode(findBackgroundNode(), true);
setFogNode(findFogNode(), true);
setNavigationInfoNode(findNavigationInfoNode(), true);
setViewpointNode(findViewpointNode(), true);
return true;
}