//---------------------------------------------------------------------------- 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); }
//---------------------------------------------------------------------------- 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); }
//---------------------------------------------------------------------------- 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); }
//---------------------------------------------------------------------------- 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); }
//---------------------------------------------------------------------------- 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); }
//---------------------------------------------------------------------------- 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); }
//---------------------------------------------------------------------------- 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); }
//---------------------------------------------------------------------------- void SEBoxBV::Save(SEStream& rStream) const { SE_BEGIN_DEBUG_STREAM_SAVE; SEBoundingVolume::Save(rStream); // native data rStream.Write(m_Box.Center); rStream.Write(m_Box.Axis[0]); rStream.Write(m_Box.Axis[1]); rStream.Write(m_Box.Axis[2]); rStream.Write(m_Box.Extent[0]); rStream.Write(m_Box.Extent[1]); rStream.Write(m_Box.Extent[2]); SE_END_DEBUG_STREAM_SAVE(SEBoxBV); }
//---------------------------------------------------------------------------- void SEDescriptorItem::Save(SEStream& rStream) const { SE_BEGIN_DEBUG_STREAM_SAVE; SEObject::Save(rStream); // native data rStream.Write(IsArray); rStream.Write(m_InstanceName); int iCount = (int)m_TypeNames.size(); rStream.Write(iCount); for( int i = 0; i < iCount; i++ ) { rStream.Write(m_TypeNames[i]); } SE_END_DEBUG_STREAM_SAVE(SEDescriptorItem); }
//---------------------------------------------------------------------------- void SESphereBV::Save(SEStream& rStream) const { SE_BEGIN_DEBUG_STREAM_SAVE; SEBoundingVolume::Save(rStream); // native data rStream.Write(m_Sphere.Center); rStream.Write(m_Sphere.Radius); SE_END_DEBUG_STREAM_SAVE(SESphereBV); }
//---------------------------------------------------------------------------- void SERenderStateBlock::Save(SEStream& rStream) const { SE_BEGIN_DEBUG_STREAM_SAVE; SEObject::Save(rStream); // link data for( int i = 0; i < SEGlobalState::MAX_STATE_TYPE; i++ ) { rStream.Write(States[i]); } SE_END_DEBUG_STREAM_SAVE(SERenderStateBlock); }
//---------------------------------------------------------------------------- void SESound::Save(SEStream& rStream) const { SE_BEGIN_DEBUG_STREAM_SAVE; SESpatial::Save(rStream); // native data rStream.Write(Pitch); rStream.Write(Gain); rStream.Write(RollOffRate); rStream.Write(Looping); // link data rStream.Write(ModelBound); rStream.Write(SBuffer); SE_END_DEBUG_STREAM_SAVE(SESound); }
//---------------------------------------------------------------------------- void SEController::Save(SEStream& rStream) const { SE_BEGIN_DEBUG_STREAM_SAVE; SEObject::Save(rStream); // native data rStream.Write((int)Repeat); rStream.Write(MinTime); rStream.Write(MaxTime); rStream.Write(Phase); rStream.Write(Frequency); rStream.Write(Active); // link data rStream.Write(m_pObject); SE_END_DEBUG_STREAM_SAVE(SEController); }