//--------------------------------------------------------------------------- // Copyright (c) Jim Wright 2004 // // JimMarkovRobot.h // This is the working class of this application. // This is the class where I'm learning about Markov Chains // //--------------------------------------------------------------------------- #pragma once #include "stdafx.h" #include "jimpoint.h" #include "jimline.h" #include "jimpage.h" typedef map SensorDataMap; typedef SensorDataMap::iterator SDMIter; typedef vector SensorDataMapVector; typedef vector WallVector; class CJimMarkovRobot : public CJimPage { private: CJimPoint m_location; double m_theta; WallVector m_walls; SensorDataMap m_walldata; CJimPage m_PercentPage; SensorDataMapVector m_sensorProb; public: CJimMarkovRobot(void); ~CJimMarkovRobot(void); CJimMarkovRobot(int locx,int locy,int width, int height); void AddWall(CJimLine* Wall); void RunWallData(void); void DrawPage(CDC* hDC); void SetLocation(CJimPoint loc); void ShowWallData(CDC* hDC); void SetTheta(CDC* hDC, double theta); double GetSensorData(double angle); double GetTheta(void); void RunMarkovSensor(CDC* hDC,double sesnorreading,COLORREF color); void RunMarkovEncoder(CDC* hDC,double encoderReading,COLORREF color); };