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


C++ IStream::serialCheck方法代码示例

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


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

示例1: serial

// ***************************************************************************
void CAnimationSet::serial (NLMISC::IStream& f)
{
	// serial not possible if header optimisation enabled
	nlassert(!_AnimHeaderOptimisation);

	// Serial an header
	f.serialCheck ((uint32)'_LEN');
	f.serialCheck ((uint32)'MINA');
	f.serialCheck ((uint32)'TES_');

	// Serial a version
	uint	ver= f.serialVersion (1);

	// Serial the class
	f.serialContPtr (_Animation);
	f.serialContPtr (_SkeletonWeight);
	f.serialCont (_AnimationName);
	f.serialCont (_SkeletonWeightName);
	f.serialCont(_ChannelIdByName);
	f.serialCont(_AnimationIdByName);
	f.serialCont(_SkeletonWeightIdByName);
	if(ver>=1)
		f.serialCont(_ChannelName);
	else
		buildChannelNameFromMap();
}
开发者ID:Darkhunter,项目名称:Tranquillien-HCRP-Project-using-NeL,代码行数:27,代码来源:animation_set.cpp

示例2: if

// ***************************************************************************
void		CVegetableShape::serial(NLMISC::IStream &f)
{
	/*
	Version 1:
		- BestSidedPreComputeLighting
	*/
	sint	ver= f.serialVersion(1);
	f.serialCheck((uint32)'_LEN');
	f.serialCheck((uint32)'GEV_');
	f.serialCheck((uint32)'BATE');
	f.serialCheck((uint32)'__EL');

	f.serial(Lighted);
	f.serial(DoubleSided);
	f.serial(PreComputeLighting);
	f.serial(AlphaBlend);
	f.serialEnum(BendCenterMode);
	f.serial(VB);
	f.serialCont(TriangleIndices);

	if(ver>=1)
		f.serial(BestSidedPreComputeLighting);
	else if(f.isReading())
		BestSidedPreComputeLighting= false;

	// if reading
	if(f.isReading())
	{
		// prepare for instanciation
		InstanceVertices.resize(VB.getNumVertices());
	}
}
开发者ID:CCChaos,项目名称:RyzomCore,代码行数:33,代码来源:vegetable_shape.cpp

示例3: serial

// ---------------------------------------------------------------------------
void CZoneRegion::serial (NLMISC::IStream &f)
{
	f.xmlPush ("LAND");

		sint32 version = f.serialVersion (1);
		f.serialCheck ((uint32)'DNAL');

		f.xmlSerial (_MinX, "MIN_X");
		f.xmlSerial (_MinY, "MIN_Y");
		f.xmlSerial (_MaxX, "MAX_X");
		f.xmlSerial (_MaxY, "MAX_Y");

		if (version == 1)
		{
			f.serialCont (_Zones);
		}

		if (version == 0)
		{
			std::vector<SZoneUnit> vZonesTmp;
			f.serialCont (vZonesTmp);
			_Zones.resize (vZonesTmp.size());
			for (uint32 i = 0; i < vZonesTmp.size(); ++i)
				_Zones[i] = vZonesTmp[i];
		}

	f.xmlPop ();
}
开发者ID:mixxit,项目名称:solinia,代码行数:29,代码来源:zone_region.cpp

示例4: serial

// ***************************************************************************
void CShapeStream::serial(NLMISC::IStream &f) throw(NLMISC::EStream)
{
	// First, serial an header or checking if it is correct
	f.serialCheck (NELID("PAHS"));

	// Then, serial the shape
	f.serialPolyPtr (_Shape);

	// Ok, it's done
}
开发者ID:junhuac,项目名称:ryzomcore,代码行数:11,代码来源:shape.cpp

示例5:

/*
 * Serial Mapper
 */
void	CPDStringMapper::serial(NLMISC::IStream& f)
{
	f.serialCheck((uint32)'PDSM');

	uint	version = f.serialVersion(0);

	f.serialCont(_StringMap);

	if (f.isReading())
	{
		buildIdMap();
	}
}
开发者ID:Kiddinglife,项目名称:ryzom,代码行数:16,代码来源:pd_string_mapper.cpp

示例6: serial

void CPrimitiveBlock::serial (NLMISC::IStream &s)
{
	s.xmlPush ("PRIMITIVE_BLOCK");

	// Serial checks
	s.serialCheck ((uint32)'KBRP');

	// Serial the version
	(void)s.serialVersion (0);

	s.xmlPush ("PRIMITIVES");
	s.serialCont (Primitives);
	s.xmlPop ();

	s.xmlPop ();
}
开发者ID:mixxit,项目名称:solinia,代码行数:16,代码来源:primitive_block_pacs.cpp

示例7:

/*
 * Serial method
 */
void	CDatabaseState::serial(NLMISC::IStream& s)
{
	s.xmlPush("database_state");

	s.serialCheck((uint32)'DBST');
	uint	version = s.serialVersion(0);

	s.xmlPush("name");
	s.serial(Name);
	s.xmlPop();

	s.xmlPush("id");
	s.serial(Id);
	s.xmlPop();

	s.xmlPush("lastupdateid");
	s.serial(LastUpdateId);
	s.xmlPop();

	s.xmlPush("currentindex");
	s.serial(CurrentIndex);
	s.xmlPop();

	s.xmlPush("endtimestamp");
	if (s.isReading())
	{
		std::string	ts;
		s.serial(ts);
		EndTimestamp.fromString(ts.c_str());
	}
	else
	{
		std::string	ts = EndTimestamp.toString();
		s.serial(ts);
	}
	s.xmlPop();

	s.xmlPop();
}
开发者ID:Kiddinglife,项目名称:ryzom,代码行数:42,代码来源:pd_server_utils.cpp

示例8: serial

void CAnimation::serial (NLMISC::IStream& f)
{
	// cannot save if anim header compressed
	nlassert(_IdByChannelId.empty());

	// Serial a header
	f.serialCheck (NELID("_LEN"));
	f.serialCheck (NELID("MINA"));

	// Serial a version
	sint version=f.serialVersion (2);

	// Serial the name
	f.serial (_Name);

	// Serial the name/id map
	f.serialCont(_IdByName);

	// Serial the vector
	f.serialContPolyPtr (_TrackVector);

	// Serial the min end time
	if (version>=1)
	{
		f.serial (_MinEndTime);
	}

	// Serial the SSS shapes
	if (version>=2)
	{
		f.serialCont (_SSSShapes);
	}

	// TestYoyo
	//nlinfo("ANIMYOYO: Anim NumTracks: %d", _TrackVector.size());
}
开发者ID:junhuac,项目名称:ryzomcore,代码行数:36,代码来源:animation.cpp


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