#ifndef __ORDEVICE_TEMPLATE_DEVICE_H__
#define __ORDEVICE_TEMPLATE_DEVICE_H__
#include "ordevice_template_hardware.h"
#define ORDEVICETEMPLATE__CLASSNAME ORDevice_Template
#define ORDEVICETEMPLATE__CLASSSTR "ORDevice_Template"
class ORDevice_Template : public FBDevice
{
public:
virtual bool FBCreate();
virtual void FBDestroy();
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 );
bool Init();
bool Start();
bool Reset();
bool Stop();
bool Done();
void DeviceRecordFrame( FBDeviceNotifyInfo &pDeviceNotifyInfo );
void SetCommunicationType(
FBCommType pType) { mHardware.SetCommunicationType( pType ); }
int GetCommunicationType() { return mHardware.GetCommunicationType(); }
void SetNetworkAddress (const char* pIPAddress){ mHardware.SetNetworkAddress(pIPAddress); }
const char* GetNetworkAddress () { return mHardware.GetNetworkAddress(); }
void SetNetworkPort (int pPort) { mHardware.SetNetworkPort(pPort); }
int GetNetworkPort () { return mHardware.GetNetworkPort(); }
void SetSerialPort (int pPort) { mHardware.SetSerialPort(pPort); }
int GetSerialPort () { return mHardware.GetSerialPort(); }
void SetSerialBaudRate (int pRate) { mHardware.SetSerialBaudRate(pRate); }
int GetSerialBaudRate () { return mHardware.GetSerialBaudRate(); }
void SetStreaming (bool pStreaming) { mHardware.SetStreaming( pStreaming ); }
bool GetStreaming () { return mHardware.GetStreaming(); }
void SetFrequency ( double pFrequency ) { mHardware.SetFrequency( pFrequency ); }
double GetFrequency () { return mHardware.GetFrequency(); }
void SetAmplitude ( double pAmplitude ) { mHardware.SetAmplitude( pAmplitude ); }
double GetAmplitude () { return mHardware.GetAmplitude(); }
bool GetSetCandidate () { return mSetCandidate; }
void SetSetCandidate ( bool pState ) { mSetCandidate = pState; }
double GetSamplingRate () { return mSamplingRate; }
void SetSamplingRate ( double pRate ) { mSamplingRate = pRate; }
void SetCandidates ();
public:
FBModelTemplate* mTemplateRoot;
FBModelTemplate* mTemplateMarker;
FBAnimationNode* mNodeMarker_InT;
FBAnimationNode* mNodeMarker_InR;
private:
bool mSetCandidate;
double mSamplingRate;
ORDevice_Template_Hardware mHardware;
FBPlayerControl mPlayerControl;
};
#endif