45 lines
2.3 KiB
C++
45 lines
2.3 KiB
C++
#include "StdAfx.h"
|
||
#include "CameraData.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new new(_NORMAL_BLOCK,__FILE__,__LINE__)
|
||
#endif
|
||
|
||
CCameraData::CCameraData(void)
|
||
{
|
||
}
|
||
|
||
CCameraData::~CCameraData(void)
|
||
{
|
||
}
|
||
|
||
void CCameraData::LoadResource( CStream *pStream )
|
||
{
|
||
pStream->Read( &m_Header, sizeof( SCameraFileHeader ) );
|
||
pStream->Seek( CAMERA_HEADER_RESERVED, SEEK_CUR );
|
||
if( strstr( m_Header.szHeaderString, CAMERA_FILE_STRING ) == NULL ) return;
|
||
m_vecFOV.resize( m_Header.nFOVKeyCount );
|
||
m_vecPosition.resize( m_Header.nPositionKeyCount );
|
||
m_vecRotation.resize( m_Header.nRotationKeyCount );
|
||
if( m_Header.nFOVKeyCount )
|
||
{
|
||
pStream->Read( &m_vecFOV[ 0 ], m_Header.nFOVKeyCount * sizeof( SCameraFOVKey ) );
|
||
}
|
||
if( m_Header.nPositionKeyCount )
|
||
{
|
||
pStream->Read( &m_vecPosition[ 0 ], m_Header.nPositionKeyCount * sizeof( SCameraPositionKey ) );
|
||
}
|
||
if( m_Header.nRotationKeyCount )
|
||
{
|
||
pStream->Read( &m_vecRotation[ 0 ], m_Header.nRotationKeyCount * sizeof( SCameraRotationKey ) );
|
||
}
|
||
}
|
||
|
||
|
||
void CCameraData::Clear( void )
|
||
{
|
||
ZeroMemory( &m_Header, sizeof(SCameraFileHeader) );
|
||
m_vecFOV.clear();
|
||
m_vecPosition.clear();
|
||
m_vecRotation.clear();
|
||
}
|