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


C++ Encoder::GetModelBuffer方法代码示例

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


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

示例1: Convert


//.........这里部分代码省略.........
					gType=Type;

					s.Format("LOD %d  Class %d  Type %d \n Parent %d",c, Class, Type, CTNumber);
					m_ConvText.SetWindowText(s);


					// TRANSFORMATION OF THE OBJECT 
					ecd =new Encoder("temp.DXL");
					IdleMode();
					cvt=CV=new Converter();
					IdleMode();
						
					// Upadtes BSP Objects
					TagCount=*(int*)FileBuffer;
					memcpy((void*)TagList,(int*)FileBuffer+1,TagCount*sizeof(*TagList));
					IdleMode();
					LODSize=hdrLOD[c].uint[4]-sizeof(int)-TagCount*sizeof(*TagList);
					memcpy(LODBuffer,(char*)FileBuffer+sizeof(int)+TagCount*sizeof(*TagList),LODSize);
					IdleMode();
					//Root=(BRoot*)BNode::RestorePointers((BYTE*)LODBuffer, 0, &TagList);

					DWORD VBClass;
					VBClass=VB_CLASS_FEATURES;
					if(Class==7) VBClass=VB_CLASS_DOMAIN_GROUND;
					if(Class==7 && Domain==2) VBClass=VB_CLASS_DOMAIN_AIR;

					GlobalBias=0.0f;
					cvt->Init();
					TheStateStack.pvtDrawObject(Root);
					cvt->Statistics();
					ecd->Initialize(cvt);
					ecd->Encode(c, VBClass, CTNumber);

					Buffer=ecd->GetModelBuffer();
					FileSize=ecd->GetModelSize();
				}

				if(AssembleIt){
					CString ModelName;
					ModelName.Format("%s\\%05d.DXM",DirName,c);
					CFileStatus Stat;
					FileSize=0;
					if(fModel.GetStatus(ModelName, Stat)){
						if(fModel.Open(ModelName, CFile::modeRead|CFile::typeBinary)){
							FileSize=(DWORD)Stat.m_size;
							Buffer=(BYTE*)malloc(FileSize);
							fModel.Read((void*)(Buffer), FileSize);
							fModel.Close();
						}
					}
				}

				// Write out the Model
				if(DBConvert){
					// Assign the Model Class
					k.Format("LOD %04d, Offset: %08x, Size %06x\n", c, FileOffset, FileSize);
					fLog.WriteString(k);
					// Single models saving
					if(FragIt){
						CString ModelName;
						ModelName.Format("%s\\%05d.DXM",DirName,c);
						fModel.Open(ModelName, CFile::modeCreate|CFile::modeWrite|CFile::typeBinary);
						fModel.Write((void*)(Buffer), FileSize);
						fModel.Close();
					} else {
						fOut.Write((void*)(Buffer), FileSize);
开发者ID:FreeFalcon,项目名称:freefalcon-contrib,代码行数:67,代码来源:DBConverter.cpp


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