CJointViewerDlgBar Class Reference

#include <JointViewerDlgBar.h>

Inheritance diagram for CJointViewerDlgBar:

CRobotControlDialogBar CDynamicBarDlg MessageHandler CDynamicChildDlg CDynamicDialog CDynamicWndEx CDynamicWnd List of all members.

Public Member Functions

 CJointViewerDlgBar ()
 ~CJointViewerDlgBar ()
virtual bool handleMessage (InMessage &message)
virtual void updateUI (CCmdUI *pCmdUI)
afx_msg void OnPaint ()
afx_msg void OnSize (UINT nType, int cx, int cy)
afx_msg void OnHScroll (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
afx_msg void OnVScroll (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
afx_msg void OnContextMenu (CWnd *pWnd, CPoint point)
 DECLARE_MESSAGE_MAP ()

Public Attributes

bool bHScrollEnabled

Protected Member Functions

virtual void DoDataExchange (CDataExchange *pDX)
virtual BOOL OnInitDialog ()

Private Types

 sdHead
 sdLegFL
 sdLegHL
 sdLegFR
 sdLegHR
 sdAcceleration
 sdSwitches
 sdPaws
 sdTail
 sdPsd
 sdThermo
 sdMouth
 sdChin
 numOfSensorDataGroups
 jdHead
 jdLegFR
 jdLegFL
 jdLegHR
 jdLegHL
 jdTail
 jdMouth
 jdEars
 numOfJointDataGroups
 IDD = IDD_DIALOG_BAR_JOINT_VIEWER
enum  sensorDataGroup {
  sdHead, sdLegFL, sdLegHL, sdLegFR,
  sdLegHR, sdAcceleration, sdSwitches, sdPaws,
  sdTail, sdPsd, sdThermo, sdMouth,
  sdChin, numOfSensorDataGroups
}
enum  jointDataGroup {
  jdHead, jdLegFR, jdLegFL, jdLegHR,
  jdLegHL, jdTail, jdMouth, jdEars,
  numOfJointDataGroups
}
enum  { IDD = IDD_DIALOG_BAR_JOINT_VIEWER }

Private Member Functions

char * getSensorDataGroupName (sensorDataGroup group)
sensorDataGroup getSensorDataGroup (SensorData::sensors sensor)
double getSensorDataScaleFactor (SensorData::sensors sensor)
char * getJointDataGroupName (jointDataGroup group)
jointDataGroup getJointDataGroup (JointData::JointID joint)
double getJointDataScaleFactor (JointData::JointID joint)
void clear ()
void saveAsCSV ()
void saveFTSpectrum ()
void saveAllCSV ()
void updateHScroll ()
void calculateJointDataPeriodTime (JointData jointData, unsigned long time)

Private Attributes

bool viewSensorDataGroup [numOfSensorDataGroups]
bool viewJointDataGroup [numOfJointDataGroups]
CArray< SensorData, SensorDatasensorDataArray
CArray< unsigned long, unsigned
long > 
sensorDataTimeStampsArray
CArray< JointData, JointDatajointDataArray
CArray< unsigned long, unsigned
long > 
jointDataTimeStampsArray
unsigned long lastTime
unsigned long firstTime
unsigned long firstDisplayedTime
unsigned long lastDisplayedTime
unsigned long viewedTime
long sensorTimeOffset
int numOfSensorData
int numOfJointData
int pixelsPerSecond
CScrollBar m_vScrollBar
CScrollBar m_hScrollBar
CRect scopeRect
CRect inscriptionRect
unsigned long jointDataPeriodTime
long jointValue [3]
unsigned long lastOccurrenceOfJointValue0Time

Detailed Description

A docking window for the joint viewer

Author:
Martin Lötzsch

Definition at line 23 of file JointViewerDlgBar.h.


Member Enumeration Documentation

anonymous enum [private]

Enumerator:
IDD 

Definition at line 144 of file JointViewerDlgBar.h.

enum CJointViewerDlgBar::jointDataGroup [private]

groups of joint data ids

Enumerator:
jdHead 
jdLegFR 
jdLegFL 
jdLegHR 
jdLegHL 
jdTail 
jdMouth 
jdEars 
numOfJointDataGroups 

Definition at line 47 of file JointViewerDlgBar.h.

enum CJointViewerDlgBar::sensorDataGroup [private]

groups of sensor data ids

Enumerator:
sdHead 
sdLegFL 
sdLegHL 
sdLegFR 
sdLegHR 
sdAcceleration 
sdSwitches 
sdPaws 
sdTail 
sdPsd 
sdThermo 
sdMouth 
sdChin 
numOfSensorDataGroups 

Definition at line 27 of file JointViewerDlgBar.h.


Constructor & Destructor Documentation

CJointViewerDlgBar::CJointViewerDlgBar (  ) 

Default constructor.

Definition at line 47 of file JointViewerDlgBar.cpp.

CJointViewerDlgBar::~CJointViewerDlgBar (  ) 

Definition at line 54 of file JointViewerDlgBar.cpp.

References getJointDataGroupName(), getSensorDataGroupName(), numOfJointDataGroups, numOfSensorDataGroups, pixelsPerSecond, viewJointDataGroup, and viewSensorDataGroup.


Member Function Documentation

void CJointViewerDlgBar::calculateJointDataPeriodTime ( JointData  jointData,
unsigned long  time 
) [private]

Definition at line 1268 of file JointViewerDlgBar.cpp.

References JointData::data, and JointData::legFR1.

Referenced by handleMessage().

void CJointViewerDlgBar::clear (  )  [private]

deletes all stored data

Definition at line 638 of file JointViewerDlgBar.cpp.

References firstTime, jointDataArray, jointDataTimeStampsArray, lastDisplayedTime, lastTime, numOfJointData, numOfSensorData, sensorDataArray, sensorDataTimeStampsArray, and updateHScroll().

Referenced by handleMessage(), OnContextMenu(), and OnInitDialog().

CJointViewerDlgBar::DECLARE_MESSAGE_MAP (  ) 

Reimplemented from CDynamicBarDlg.

void CJointViewerDlgBar::DoDataExchange ( CDataExchange *  pDX  )  [protected, virtual]

Definition at line 72 of file JointViewerDlgBar.cpp.

References IDC_JOINT_VIEWER_HSCROLL, IDC_JOINT_VIEWER_VSCROLL, m_hScrollBar, and m_vScrollBar.

CJointViewerDlgBar::jointDataGroup CJointViewerDlgBar::getJointDataGroup ( JointData::JointID  joint  )  [private]

returns the group to which a joint id belongs to

Definition at line 1200 of file JointViewerDlgBar.cpp.

References JointData::earL, JointData::earR, JointData::headPan, JointData::headTilt, jdEars, jdHead, jdLegFL, jdLegFR, jdLegHL, jdLegHR, jdMouth, jdTail, JointData::legFL1, JointData::legFL2, JointData::legFL3, JointData::legFR1, JointData::legFR2, JointData::legFR3, JointData::legHL1, JointData::legHL2, JointData::legHL3, JointData::legHR1, JointData::legHR2, JointData::legHR3, JointData::mouth, JointData::neckTilt, JointData::tailPan, and JointData::tailTilt.

Referenced by OnPaint(), and saveAsCSV().

char * CJointViewerDlgBar::getJointDataGroupName ( jointDataGroup  group  )  [private]

returns the name of a joint data group

Definition at line 1143 of file JointViewerDlgBar.cpp.

References jdEars, jdHead, jdLegFL, jdLegFR, jdLegHL, jdLegHR, jdMouth, and jdTail.

Referenced by OnContextMenu(), OnInitDialog(), and ~CJointViewerDlgBar().

double CJointViewerDlgBar::getJointDataScaleFactor ( JointData::JointID  joint  )  [private]

returns a vertical scale factor for every joint

Definition at line 1254 of file JointViewerDlgBar.cpp.

References JointData::earL, JointData::earR, JointData::mouth, JointData::tailPan, and JointData::tailTilt.

Referenced by OnPaint().

CJointViewerDlgBar::sensorDataGroup CJointViewerDlgBar::getSensorDataGroup ( SensorData::sensors  sensor  )  [private]

returns the group to which a sensor data id belongs to

Definition at line 1159 of file JointViewerDlgBar.cpp.

References SensorData::accelerationX, SensorData::accelerationY, SensorData::accelerationZ, SensorData::back, SensorData::bodyPsd, SensorData::chin, SensorData::headBack, SensorData::headFront, SensorData::headPan, SensorData::headPsdFar, SensorData::headTilt, SensorData::legFL1, SensorData::legFL2, SensorData::legFL3, SensorData::legFR1, SensorData::legFR2, SensorData::legFR3, SensorData::legHL1, SensorData::legHL2, SensorData::legHL3, SensorData::legHR1, SensorData::legHR2, SensorData::legHR3, SensorData::mouth, SensorData::neckTilt, SensorData::pawFL, SensorData::pawFR, SensorData::pawHL, SensorData::pawHR, SensorData::psd, sdAcceleration, sdChin, sdHead, sdLegFL, sdLegFR, sdLegHL, sdLegHR, sdMouth, sdPaws, sdPsd, sdSwitches, sdTail, sdThermo, SensorData::tailPan, SensorData::tailTilt, and SensorData::thermo.

Referenced by OnPaint(), saveAllCSV(), and saveAsCSV().

char * CJointViewerDlgBar::getSensorDataGroupName ( sensorDataGroup  group  )  [private]

returns the name of a sensor data group

Definition at line 1122 of file JointViewerDlgBar.cpp.

References sdAcceleration, sdChin, sdHead, sdLegFL, sdLegFR, sdLegHL, sdLegHR, sdMouth, sdPaws, sdPsd, sdSwitches, sdTail, and sdThermo.

Referenced by OnContextMenu(), OnInitDialog(), and ~CJointViewerDlgBar().

double CJointViewerDlgBar::getSensorDataScaleFactor ( SensorData::sensors  sensor  )  [private]

returns a vertical scale factor for every sensor

Definition at line 1228 of file JointViewerDlgBar.cpp.

References SensorData::accelerationX, SensorData::accelerationY, SensorData::accelerationZ, SensorData::back, SensorData::chin, SensorData::headBack, SensorData::headFront, SensorData::mouth, SensorData::pawFL, SensorData::pawFR, SensorData::pawHL, SensorData::pawHR, SensorData::psd, SensorData::tailPan, SensorData::tailTilt, and SensorData::thermo.

Referenced by OnPaint().

bool CJointViewerDlgBar::handleMessage ( InMessage message  )  [virtual]

Called from a MessageQueue to distribute messages

Parameters:
message The message that can be read.
Returns:
true if the message was read (handled).

Reimplemented from CRobotControlDialogBar.

Definition at line 129 of file JointViewerDlgBar.cpp.

References InMessage::bin, calculateJointDataPeriodTime(), clear(), firstTime, SensorDataBuffer::frame, InMessage::getMessageID(), InMessage::getTimeStamp(), idJointData, idSensorData, jointDataArray, jointDataTimeStampsArray, lastDisplayedTime, lastTime, SensorDataBuffer::numOfFrames, numOfJointData, numOfSensorData, sensorDataArray, sensorDataTimeStampsArray, and updateHScroll().

void CJointViewerDlgBar::OnContextMenu ( CWnd *  pWnd,
CPoint  point 
)

Definition at line 656 of file JointViewerDlgBar.cpp.

References clear(), firstTime, getJointDataGroupName(), getSensorDataGroupName(), lastTime, numOfJointDataGroups, numOfSensorDataGroups, saveAllCSV(), saveAsCSV(), saveFTSpectrum(), VERIFY, viewJointDataGroup, and viewSensorDataGroup.

void CJointViewerDlgBar::OnHScroll ( UINT  nSBCode,
UINT  nPos,
CScrollBar *  pScrollBar 
)

Definition at line 260 of file JointViewerDlgBar.cpp.

References firstTime, int(), lastDisplayedTime, lastTime, pixelsPerSecond, and scopeRect.

BOOL CJointViewerDlgBar::OnInitDialog (  )  [protected, virtual]

Reimplemented from CDynamicDialog.

Definition at line 81 of file JointViewerDlgBar.cpp.

References CDynamicWnd::AddSzControl(), clear(), FALSE, getJointDataGroupName(), getSensorDataGroupName(), jdLegFL, jointDataPeriodTime, jointValue, lastOccurrenceOfJointValue0Time, m_hScrollBar, m_vScrollBar, CDynamicWnd::mdRepos, CDynamicWnd::mdResize, numOfJointDataGroups, numOfSensorDataGroups, CDynamicDialog::OnInitDialog(), pixelsPerSecond, sdLegFL, sensorDataArray, sensorDataTimeStampsArray, TRUE, viewJointDataGroup, and viewSensorDataGroup.

void CJointViewerDlgBar::OnPaint (  ) 

Definition at line 336 of file JointViewerDlgBar.cpp.

References data, FALSE, getJointDataGroup(), getJointDataScaleFactor(), JointData::getJointName(), getSensorDataGroup(), getSensorDataScaleFactor(), SensorData::getSensorName(), inscriptionRect, int(), jointDataArray, jointDataPeriodTime, jointDataTimeStampsArray, lastDisplayedTime, lineColors, maxJointValue, minJointValue, JointData::numOfJoint, numOfJointData, numOfLineColors, SensorData::numOfSensor_ERS7, numOfSensorData, pixelsPerSecond, scopeRect, sdHead, sdLegFL, sdLegFR, sdLegHL, sdLegHR, sdMouth, sensorDataArray, sensorDataTimeStampsArray, viewJointDataGroup, and viewSensorDataGroup.

void CJointViewerDlgBar::OnSize ( UINT  nType,
int  cx,
int  cy 
)

Reimplemented from CDynamicDialog.

Definition at line 219 of file JointViewerDlgBar.cpp.

References inscriptionRect, CDynamicDialog::OnSize(), scopeRect, and updateHScroll().

void CJointViewerDlgBar::OnVScroll ( UINT  nSBCode,
UINT  nPos,
CScrollBar *  pScrollBar 
)

Definition at line 305 of file JointViewerDlgBar.cpp.

References pixelsPerSecond, and updateHScroll().

void CJointViewerDlgBar::saveAllCSV (  )  [private]

saves all data to a CSV (comma separated values) file (seperate time lines for joints and sensors

Definition at line 980 of file JointViewerDlgBar.cpp.

References data, endl(), File::getGTDir(), JointData::getJointName(), getSensorDataGroup(), SensorData::getSensorName(), jointDataArray, jointDataTimeStampsArray, lastTime, JointData::numOfJoint, numOfJointData, SensorData::numOfSensor_ERS7, numOfSensorData, sdHead, sdLegFL, sdLegFR, sdLegHL, sdLegHR, sdMouth, sensorDataArray, and sensorDataTimeStampsArray.

Referenced by OnContextMenu().

void CJointViewerDlgBar::saveAsCSV (  )  [private]

saves the data to a CSV (comma separated values) file (merged time line)

Definition at line 782 of file JointViewerDlgBar.cpp.

References data, endl(), firstTime, File::getGTDir(), getJointDataGroup(), JointData::getJointName(), getSensorDataGroup(), SensorData::getSensorName(), jointDataArray, jointDataTimeStampsArray, lastTime, JointData::numOfJoint, numOfJointData, SensorData::numOfSensor_ERS7, numOfSensorData, sdHead, sdLegFL, sdLegFR, sdLegHL, sdLegHR, sdMouth, sensorDataArray, sensorDataTimeStampsArray, viewJointDataGroup, and viewSensorDataGroup.

Referenced by OnContextMenu().

void CJointViewerDlgBar::saveFTSpectrum (  )  [private]

saves the frequency spectrum (Fourier Transform) of the last (FourierCoefficient::lengthOfPeriod) joint datas

Todo:
make it variable

create an one dimensional array that holds the values of the function over the last period.

Use these values to calculate the (descrete) fourier transform (spectrum) of the function

Definition at line 724 of file JointViewerDlgBar.cpp.

References FourierCoefficient::calculate(), data, File::getGTDir(), jointDataArray, JointData::legFR1, and JointData::legHL3.

Referenced by OnContextMenu().

void CJointViewerDlgBar::updateHScroll (  )  [private]

updates the scroll range and position of the horizontal scroll bar

Definition at line 235 of file JointViewerDlgBar.cpp.

References bHScrollEnabled, firstTime, lastDisplayedTime, lastTime, m_hScrollBar, pixelsPerSecond, and scopeRect.

Referenced by clear(), handleMessage(), OnSize(), and OnVScroll().

void CJointViewerDlgBar::updateUI ( CCmdUI *  pCmdUI  )  [virtual]

Enables the controls in the toolbar. This function is called from the main window for all controls.

Parameters:
pCmdUI An interface to the control that allows enabling/disabling, checking etc.

Reimplemented from CRobotControlDialogBar.

Definition at line 1285 of file JointViewerDlgBar.cpp.

References bHScrollEnabled, and IDC_JOINT_VIEWER_HSCROLL.


Member Data Documentation

bool CJointViewerDlgBar::bHScrollEnabled

determines if the horizontal scroll bar should be enabled

Definition at line 87 of file JointViewerDlgBar.h.

Referenced by updateHScroll(), and updateUI().

unsigned long CJointViewerDlgBar::firstDisplayedTime [private]

the time of the first datum that is displayed in the window

Definition at line 123 of file JointViewerDlgBar.h.

unsigned long CJointViewerDlgBar::firstTime [private]

the time of the first stored element

Definition at line 120 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnContextMenu(), OnHScroll(), saveAsCSV(), and updateHScroll().

CRect CJointViewerDlgBar::inscriptionRect [private]

the rect, where the inscription is painted

Definition at line 173 of file JointViewerDlgBar.h.

Referenced by OnPaint(), and OnSize().

CArray<JointData,JointData> CJointViewerDlgBar::jointDataArray [private]

the array, where incoming joint data are stored

Definition at line 111 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnPaint(), saveAllCSV(), saveAsCSV(), and saveFTSpectrum().

unsigned long CJointViewerDlgBar::jointDataPeriodTime [private]

Definition at line 179 of file JointViewerDlgBar.h.

Referenced by OnInitDialog(), and OnPaint().

CArray<unsigned long,unsigned long> CJointViewerDlgBar::jointDataTimeStampsArray [private]

the time for every joint datum

Definition at line 114 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnPaint(), saveAllCSV(), and saveAsCSV().

long CJointViewerDlgBar::jointValue[3] [private]

Definition at line 182 of file JointViewerDlgBar.h.

Referenced by OnInitDialog().

unsigned long CJointViewerDlgBar::lastDisplayedTime [private]

the time of the last datum that is displayed in the window

Definition at line 126 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnHScroll(), OnPaint(), and updateHScroll().

unsigned long CJointViewerDlgBar::lastOccurrenceOfJointValue0Time [private]

Definition at line 185 of file JointViewerDlgBar.h.

Referenced by OnInitDialog().

unsigned long CJointViewerDlgBar::lastTime [private]

the time of the last stored element

Definition at line 117 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnContextMenu(), OnHScroll(), saveAllCSV(), saveAsCSV(), and updateHScroll().

CScrollBar CJointViewerDlgBar::m_hScrollBar [private]

Definition at line 146 of file JointViewerDlgBar.h.

Referenced by DoDataExchange(), OnInitDialog(), and updateHScroll().

CScrollBar CJointViewerDlgBar::m_vScrollBar [private]

Definition at line 145 of file JointViewerDlgBar.h.

Referenced by DoDataExchange(), and OnInitDialog().

int CJointViewerDlgBar::numOfJointData [private]

the number of stored joint data

Definition at line 138 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnPaint(), saveAllCSV(), and saveAsCSV().

int CJointViewerDlgBar::numOfSensorData [private]

the number of stored sensor data

Definition at line 135 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnPaint(), saveAllCSV(), and saveAsCSV().

int CJointViewerDlgBar::pixelsPerSecond [private]

determines the horizontal resolution of the graph

Definition at line 141 of file JointViewerDlgBar.h.

Referenced by OnHScroll(), OnInitDialog(), OnPaint(), OnVScroll(), updateHScroll(), and ~CJointViewerDlgBar().

CRect CJointViewerDlgBar::scopeRect [private]

the rect, where the scope is painted

Definition at line 170 of file JointViewerDlgBar.h.

Referenced by OnHScroll(), OnPaint(), OnSize(), and updateHScroll().

CArray<SensorData,SensorData> CJointViewerDlgBar::sensorDataArray [private]

the array, where incoming sensor data are stored

Definition at line 105 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnInitDialog(), OnPaint(), saveAllCSV(), and saveAsCSV().

CArray<unsigned long,unsigned long> CJointViewerDlgBar::sensorDataTimeStampsArray [private]

the time for every sensor datum

Definition at line 108 of file JointViewerDlgBar.h.

Referenced by clear(), handleMessage(), OnInitDialog(), OnPaint(), saveAllCSV(), and saveAsCSV().

long CJointViewerDlgBar::sensorTimeOffset [private]

offset for calculating timestamps from sensor date frame numbers

Definition at line 132 of file JointViewerDlgBar.h.

unsigned long CJointViewerDlgBar::viewedTime [private]

the time for that the values are shown

Definition at line 129 of file JointViewerDlgBar.h.

bool CJointViewerDlgBar::viewJointDataGroup[numOfJointDataGroups] [private]

determines if a joint data group is displayed

Definition at line 60 of file JointViewerDlgBar.h.

Referenced by OnContextMenu(), OnInitDialog(), OnPaint(), saveAsCSV(), and ~CJointViewerDlgBar().

bool CJointViewerDlgBar::viewSensorDataGroup[numOfSensorDataGroups] [private]

determines if sensor data of that group are displayed

Definition at line 41 of file JointViewerDlgBar.h.

Referenced by OnContextMenu(), OnInitDialog(), OnPaint(), saveAsCSV(), and ~CJointViewerDlgBar().


The documentation for this class was generated from the following files:
Generated on Thu Dec 7 01:21:58 2006 for DT2005.panorama by  doxygen 1.4.7