#ifndef __ORDEVICE_OUTPUT_DEVICE_H__
#define __ORDEVICE_OUTPUT_DEVICE_H__
#include "ordeviceoutput_hardware.h"
#define ORDEVICEOUTPUT__CLASSNAME ORDeviceOutput
#define ORDEVICEOUTPUT__CLASSSTR "ORDeviceOutput"
class ORDeviceOutput : public FBDevice
{
public:
virtual bool FBCreate();
virtual void FBDestroy();
bool Init();
bool Done();
bool Reset();
bool Stop();
bool Start();
virtual bool AnimationNodeNotify ( FBAnimationNode* pAnimationNode, FBEvaluateInfo* pEvaluateInfo );
virtual void DeviceIONotify ( kDeviceIOs pAction, FBDeviceNotifyInfo &pDeviceNotifyInfo );
virtual bool DeviceEvaluationNotify ( kTransportMode pMode, FBEvaluateInfo* pEvaluateInfo );
virtual bool DeviceOperation ( kDeviceOperations pOperation );
virtual bool FbxStore ( FBFbxObject* pFbxObject,
kFbxObjectStore pStoreWhat );
virtual bool FbxRetrieve ( FBFbxObject* pFbxObject,
kFbxObjectStore pStoreWhat );
double GetExportRate () { return mExportRate; }
void SetExportRate (double pRate) { mExportRate = pRate; }
const char* GetExportFilename() { return mHardware.GetExportFilename(); }
void SetExportFilename (const char* pFile) { mHardware.SetExportFilename(pFile); }
int GetSerialPort () { return mHardware.GetSerialPort(); }
void SetSerialPort (int pPort) { mHardware.SetSerialPort(pPort); }
int GetSerialBaudRate () { return mHardware.GetSerialBaudRate(); }
void SetSerialBaudRate (int pRate) { mHardware.SetSerialBaudRate(pRate); }
public:
FBAnimationNode* mRootNode;
FBAnimationNode* mLightTNode;
FBAnimationNode* mLightRNode;
FBAnimationNode* mLightTFBNode;
FBAnimationNode* mLightRFBNode;
FBModelTemplate* mRootTemplate;
FBModelTemplate* mLightTemplate;
private:
double mExportRate;
ORDeviceOutputHardware mHardware;
};
#endif