Exemple #1
0
//----------------------------------------------------------------------------
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);
}
Exemple #4
0
//----------------------------------------------------------------------------
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);
}
Exemple #8
0
//----------------------------------------------------------------------------
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);
}
Exemple #10
0
//----------------------------------------------------------------------------
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);
}
Exemple #12
0
//----------------------------------------------------------------------------
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);
}