本文整理汇总了C++中SEStream类的典型用法代码示例。如果您正苦于以下问题:C++ SEStream类的具体用法?C++ SEStream怎么用?C++ SEStream使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SEStream类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Link
//----------------------------------------------------------------------------
void SESound::Link(SEStream& rStream, SEStream::SELink* pLink)
{
SESpatial::Link(rStream, pLink);
SEObject* pLinkID = pLink->GetLinkID();
ModelBound = (SEBoundingVolume*)rStream.GetFromMap(pLinkID);
pLinkID = pLink->GetLinkID();
SBuffer = (SESoundBuffer*)rStream.GetFromMap(pLinkID);
}
示例2: Link
//----------------------------------------------------------------------------
void SEParticles::Link(SEStream& rStream, SEStream::SELink* pLink)
{
SETriMesh::Link(rStream, pLink);
SEObject* pLinkID = pLink->GetLinkID();
Locations = (SEVector3fArray*)rStream.GetFromMap(pLinkID);
pLinkID = pLink->GetLinkID();
Sizes = (SEFloatArray*)rStream.GetFromMap(pLinkID);
}
示例3: Save
//----------------------------------------------------------------------------
void SECamera::Save(SEStream& rStream) const
{
SE_BEGIN_DEBUG_STREAM_SAVE;
SEObject::Save(rStream);
// native data
rStream.Write(m_Location);
rStream.Write(m_RVector);
rStream.Write(m_UVector);
rStream.Write(m_DVector);
rStream.Write(m_Frustum[VF_DMIN]);
rStream.Write(m_Frustum[VF_DMAX]);
rStream.Write(m_Frustum[VF_UMIN]);
rStream.Write(m_Frustum[VF_UMAX]);
rStream.Write(m_Frustum[VF_RMIN]);
rStream.Write(m_Frustum[VF_RMAX]);
rStream.Write(m_fPortL);
rStream.Write(m_fPortR);
rStream.Write(m_fPortT);
rStream.Write(m_fPortB);
rStream.Write(m_fPortN);
rStream.Write(m_fPortF);
SE_END_DEBUG_STREAM_SAVE(SECamera);
}
示例4: Load
//----------------------------------------------------------------------------
// streaming
//----------------------------------------------------------------------------
void SECamera::Load(SEStream& rStream, SEStream::SELink* pLink)
{
SE_BEGIN_DEBUG_STREAM_LOAD;
SEObject::Load(rStream, pLink);
// native data
rStream.Read(m_Location);
rStream.Read(m_RVector);
rStream.Read(m_UVector);
rStream.Read(m_DVector);
rStream.Read(m_Frustum[VF_DMIN]);
rStream.Read(m_Frustum[VF_DMAX]);
rStream.Read(m_Frustum[VF_UMIN]);
rStream.Read(m_Frustum[VF_UMAX]);
rStream.Read(m_Frustum[VF_RMIN]);
rStream.Read(m_Frustum[VF_RMAX]);
rStream.Read(m_fPortL);
rStream.Read(m_fPortR);
rStream.Read(m_fPortT);
rStream.Read(m_fPortB);
rStream.Read(m_fPortN);
rStream.Read(m_fPortF);
SE_END_DEBUG_STREAM_LOAD(SECamera);
}
示例5: Save
//----------------------------------------------------------------------------
void SEPolyline::Save(SEStream& rStream) const
{
SE_BEGIN_DEBUG_STREAM_SAVE;
SEGeometry::Save(rStream);
// native data
rStream.Write(m_iActiveCount);
rStream.Write(m_bClosed);
rStream.Write(m_bContiguous);
SE_END_DEBUG_STREAM_SAVE(SEPolyline);
}
示例6: Load
//----------------------------------------------------------------------------
void SEObject::Load(SEStream& rStream, SEStream::SELink* pLink)
{
SE_BEGIN_DEBUG_STREAM_LOAD;
// 获取save时存入的object内存指针,稍后用于link阶段
SEObject* pLinkID;
rStream.Read(pLinkID);
rStream.InsertInMap(pLinkID, pLink);
// 获取name
rStream.Read(m_Name);
SE_END_DEBUG_STREAM_LOAD(SEObject);
}
示例7: Save
//----------------------------------------------------------------------------
void SEMultitextureEffect::Save(SEStream& rStream) const
{
SE_BEGIN_DEBUG_STREAM_SAVE;
SEShaderEffect::Save(rStream);
// native data
rStream.Write(m_iTextureCount);
for( int i = 0; i < m_iTextureCount; i++ )
{
rStream.Write(m_aImageName[i]);
}
SE_END_DEBUG_STREAM_SAVE(SEMultitextureEffect);
}
示例8: Load
//----------------------------------------------------------------------------
// streaming
//----------------------------------------------------------------------------
void SEPolyline::Load(SEStream& rStream, SEStream::SELink* pLink)
{
SE_BEGIN_DEBUG_STREAM_LOAD;
SEGeometry::Load(rStream,pLink);
// native data
rStream.Read(m_iActiveCount);
rStream.Read(m_bClosed);
rStream.Read(m_bContiguous);
SetGeometryType();
SE_END_DEBUG_STREAM_LOAD(SEPolyline);
}
示例9: Save
//----------------------------------------------------------------------------
void SEObject::Save(SEStream& rStream) const
{
SE_BEGIN_DEBUG_STREAM_SAVE;
// RTTI name用于load时的工厂函数表查找
rStream.Write(std::string(GetType().GetName()));
// 该内存地址用于load/link时的object unique ID
rStream.Write((SEObject*)this);
// 写入name
rStream.Write(m_Name);
SE_END_DEBUG_STREAM_SAVE(SEObject);
}
示例10: Register
//----------------------------------------------------------------------------
bool SEObject::Register(SEStream& rStream) const
{
SEObject* pThis = (SEObject*)this;
// 该object是否已插入到hash表,确保唯一性
if( rStream.InsertInMap(pThis, 0) )
{
// 所有object按照深度优先的顺序,在遍历场景树时被收集,
// 该object不能重复被收集
rStream.InsertInOrdered(pThis);
return true;
}
return false;
}
示例11: Load
//----------------------------------------------------------------------------
// streaming
//----------------------------------------------------------------------------
void SEListener::Load(SEStream& rStream, SEStream::SELink* pLink)
{
SE_BEGIN_DEBUG_STREAM_LOAD;
SEObject::Load(rStream, pLink);
// native data
rStream.Read(m_Location);
rStream.Read(m_RVector);
rStream.Read(m_UVector);
rStream.Read(m_DVector);
rStream.Read(m_fMasterGain);
SE_END_DEBUG_STREAM_LOAD(SEListener);
}
示例12: Save
//----------------------------------------------------------------------------
void SEListener::Save(SEStream& rStream) const
{
SE_BEGIN_DEBUG_STREAM_SAVE;
SEObject::Save(rStream);
// native data
rStream.Write(m_Location);
rStream.Write(m_RVector);
rStream.Write(m_UVector);
rStream.Write(m_DVector);
rStream.Write(m_fMasterGain);
SE_END_DEBUG_STREAM_SAVE(SEListener);
}
示例13: Load
//----------------------------------------------------------------------------
// streaming
//----------------------------------------------------------------------------
void SEMultitextureEffect::Load(SEStream& rStream, SEStream::SELink* pLink)
{
SE_BEGIN_DEBUG_STREAM_LOAD;
SEShaderEffect::Load(rStream, pLink);
// native data
rStream.Read(m_iTextureCount);
SetTextureCount(m_iTextureCount);
for( int i = 0; i < m_iTextureCount; i++ )
{
rStream.Read(m_aImageName[i]);
}
SE_END_DEBUG_STREAM_LOAD(SEMultitextureEffect);
}
示例14: Save
//----------------------------------------------------------------------------
void SESoundBuffer::Save(SEStream& rStream) const
{
SE_BEGIN_DEBUG_STREAM_SAVE;
SEObject::Save(rStream);
// link data
int iWCount = (int)m_Waves.size();
rStream.Write(iWCount);
for( int i = 0; i < iWCount; i++ )
{
rStream.Write(m_Waves[i]);
}
SE_END_DEBUG_STREAM_SAVE(SESoundBuffer);
}
示例15: Save
//----------------------------------------------------------------------------
void SEParticles::Save(SEStream& rStream) const
{
SE_BEGIN_DEBUG_STREAM_SAVE;
SETriMesh::Save(rStream);
// native data
rStream.Write(SizeAdjust);
rStream.Write(m_iActiveCount);
// link data
rStream.Write(Locations);
rStream.Write(Sizes);
SE_END_DEBUG_STREAM_SAVE(SEParticles);
}