当前位置: 首页>>代码示例>>C++>>正文


C++ CAnimation::serial方法代码示例

本文整理汇总了C++中CAnimation::serial方法的典型用法代码示例。如果您正苦于以下问题:C++ CAnimation::serial方法的具体用法?C++ CAnimation::serial怎么用?C++ CAnimation::serial使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CAnimation的用法示例。


在下文中一共展示了CAnimation::serial方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: exportAnim

bool CNelExport::exportAnim (const char *sPath, std::vector<INode*>& vectNode, TimeValue time, bool scene)
{
	// Result to return
	bool bRet=false;

	// Create an animation file
	CAnimation animFile;

	// For each node to export
	for (uint n=0; n<vectNode.size(); n++)
	{				
		// Get name
		std::string nodeName="";

		// Get NEL3D_APPDATA_EXPORT_ANIMATION_PREFIXE_NAME
		int prefixe = CExportNel::getScriptAppData (vectNode[n], NEL3D_APPDATA_EXPORT_ANIMATION_PREFIXE_NAME, 0);
		
		// Set the name only if it is a scene animation
		if (scene || prefixe)
		{
			// try to get the prefix from the appData if present. If not, takes it from the node name
			nodeName = CExportNel::getScriptAppData (vectNode[n], NEL3D_APPDATA_INSTANCE_NAME, "");
			if (nodeName == "") // not found ?
			{
				nodeName=CExportNel::getName (*vectNode[n]);
			}
			nodeName+=".";
		}

		// Is a root ?
		bool root = vectNode[n]->GetParentNode () == _Ip->GetRootNode();

		// Add animation
		_ExportNel->addAnimation (animFile, *vectNode[n], nodeName.c_str(), root);		
	}

	if (vectNode.size())
	{
		// Open a file
		COFile file;
		if (file.open (sPath))
		{
			try
			{
				// Serial the animation
				animFile.serial (file);

				// All is good
				bRet=true;
			}
			catch (Exception& e)
			{
				if (_ErrorInDialog)
					MessageBox (NULL, e.what(), "NeL export", MB_OK|MB_ICONEXCLAMATION);
				else
					nlwarning ("ERROR : %s", e.what ());
			}
		}
		else
		{
			if (_ErrorInDialog)
				MessageBox (NULL, "Can't open the file for writing.", "NeL export", MB_OK|MB_ICONEXCLAMATION);
			else
				nlwarning ("ERROR : Can't open the file (%s) for writing", sPath);
		}
	}
	return bRet;
}
开发者ID:mixxit,项目名称:solinia,代码行数:68,代码来源:nel_export_export.cpp


注:本文中的CAnimation::serial方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。