55 lines
1.7 KiB
C++
55 lines
1.7 KiB
C++
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Crytek Engine Source File.
|
|
// Copyright (C), Crytek Studios, 2002.
|
|
// -------------------------------------------------------------------------
|
|
// File name: animcameranode.h
|
|
// Version: v1.00
|
|
// Created: 16/8/2002 by Lennert.
|
|
// Compilers: Visual Studio.NET
|
|
// Description:
|
|
// -------------------------------------------------------------------------
|
|
// History:
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __animcameranode_h__
|
|
#define __animcameranode_h__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "entitynode.h"
|
|
|
|
/** Camera node controls camera entity.
|
|
*/
|
|
class CAnimCameraNode : public CAnimEntityNode
|
|
{
|
|
private:
|
|
IMovieSystem *m_pMovie;
|
|
// Field of view in DEGREES! To Display it nicely for user.
|
|
float m_fFOV;
|
|
public:
|
|
CAnimCameraNode(IMovieSystem *sys );
|
|
virtual ~CAnimCameraNode();
|
|
virtual EAnimNodeType GetType() const { return ANODE_CAMERA; }
|
|
virtual void Animate( SAnimContext &ec );
|
|
virtual void CreateDefaultTracks();
|
|
virtual void Reset();
|
|
float GetFOV() { return m_fFOV; }
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
int GetParamCount() const;
|
|
bool GetParamInfo( int nIndex, SParamInfo &info ) const;
|
|
bool GetParamInfoFromId( int paramId, SParamInfo &info ) const;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
bool SetParamValue( float time,AnimParamType param,float value );
|
|
bool GetParamValue( float time,AnimParamType param,float &value );
|
|
|
|
IAnimTrack* CreateTrack(AnimParamType nParamType);
|
|
void Serialize( XmlNodeRef &xmlNode,bool bLoading );
|
|
};
|
|
|
|
#endif // __animcameranode_h__
|