also revert those 2 files

This commit is contained in:
Erwin Coumans
2017-06-05 14:19:28 -07:00
parent b5962ab148
commit 91735acc7c
2 changed files with 40 additions and 59 deletions

View File

@@ -13,11 +13,7 @@ struct DataSource
float m_lastValue; float m_lastValue;
bool m_hasLastValue; bool m_hasLastValue;
DataSource() DataSource()
:m_red(0), :m_hasLastValue(false)
m_green(0),
m_blue(0),
m_lastValue(0),
m_hasLastValue(false)
{ {
} }
}; };
@@ -32,12 +28,10 @@ struct TimeSeriesInternalData
int m_height; int m_height;
float m_pixelsPerUnit; float m_pixelsPerUnit;
float m_center; float m_zero;
int m_timeTicks; int m_timeTicks;
int m_ticksPerSecond; int m_ticksPerSecond;
float m_yMax; float m_yScale;
float m_yMin;
float m_yZero;
int m_bar; int m_bar;
unsigned char m_backgroundRed; unsigned char m_backgroundRed;
@@ -56,17 +50,13 @@ struct TimeSeriesInternalData
} }
TimeSeriesInternalData(int width, int height) TimeSeriesInternalData(int width, int height)
:m_canvasInterface(NULL), :m_width(width),
m_canvasIndex(0),
m_width(width),
m_height(height), m_height(height),
m_pixelsPerUnit(-100), m_pixelsPerUnit(-100),
m_center(height/2.0), m_zero(height/2.0),
m_timeTicks(0), m_timeTicks(0),
m_ticksPerSecond(100), m_ticksPerSecond(100),
m_yMax(1), m_yScale(1),
m_yMin(0),
m_yZero(0.5f),
m_bar(0), m_bar(0),
m_backgroundRed(255), m_backgroundRed(255),
m_backgroundGreen(255), m_backgroundGreen(255),
@@ -115,18 +105,13 @@ void TimeSeriesCanvas::addDataSource(const char* dataSourceLabel, unsigned char
} }
void TimeSeriesCanvas::setupTimeSeries(float yScale, int ticksPerSecond, int startTime, bool clearCanvas) void TimeSeriesCanvas::setupTimeSeries(float yScale, int ticksPerSecond, int startTime, bool clearCanvas)
{
setupTimeSeries(-yScale, yScale, ticksPerSecond, startTime, clearCanvas);
}
void TimeSeriesCanvas::setupTimeSeries(float yMin, float yMax, int ticksPerSecond, int startTime, bool clearCanvas)
{ {
if (0==m_internalData->m_canvasInterface) if (0==m_internalData->m_canvasInterface)
return; return;
m_internalData->m_pixelsPerUnit = -(m_internalData->m_height/3.f)/(0.5f*(yMax-yMin)); m_internalData->m_pixelsPerUnit = -(m_internalData->m_height/3.f)/yScale;
m_internalData->m_ticksPerSecond = ticksPerSecond; m_internalData->m_ticksPerSecond = ticksPerSecond;
m_internalData->m_yMin = yMin; m_internalData->m_yScale = yScale;
m_internalData->m_yMax = yMax;
m_internalData->m_dataSources.clear(); m_internalData->m_dataSources.clear();
if (clearCanvas) if (clearCanvas)
@@ -145,22 +130,18 @@ void TimeSeriesCanvas::setupTimeSeries(float yMin, float yMax, int ticksPerSecon
} }
} }
float centerPixelCoord = m_internalData->m_center; float zeroPixelCoord = m_internalData->m_zero;
float pixelsPerUnit = m_internalData->m_pixelsPerUnit; float pixelsPerUnit = m_internalData->m_pixelsPerUnit;
m_internalData->m_yZero = centerPixelCoord - pixelsPerUnit*0.5f*(yMax+yMin); float yPos = zeroPixelCoord+pixelsPerUnit*yScale;
float yNeg = zeroPixelCoord+pixelsPerUnit*-yScale;
float yPos = centerPixelCoord+pixelsPerUnit*0.5f*(yMax-yMin);
float yNeg = centerPixelCoord+pixelsPerUnit*-0.5f*(yMax-yMin);
if(yMin < 0 && yMax > 0){ grapicalPrintf("0", sTimeSeriesFontData, 2,zeroPixelCoord,m_internalData->m_textColorRed,m_internalData->m_textColorGreen,m_internalData->m_textColorBlue,m_internalData->m_textColorAlpha);
grapicalPrintf("0", sTimeSeriesFontData, 2,m_internalData->m_yZero,m_internalData->m_textColorRed,m_internalData->m_textColorGreen,m_internalData->m_textColorBlue,m_internalData->m_textColorAlpha);
}
char label[1024]; char label[1024];
sprintf(label,"%2.1f", yMax); sprintf(label,"%2.1f", yScale);
grapicalPrintf(label, sTimeSeriesFontData, 2,yPos,m_internalData->m_textColorRed,m_internalData->m_textColorGreen,m_internalData->m_textColorBlue,m_internalData->m_textColorAlpha); grapicalPrintf(label, sTimeSeriesFontData, 2,yPos,m_internalData->m_textColorRed,m_internalData->m_textColorGreen,m_internalData->m_textColorBlue,m_internalData->m_textColorAlpha);
sprintf(label,"%2.1f", yMin); sprintf(label,"%2.1f", -yScale);
grapicalPrintf(label, sTimeSeriesFontData, 2,yNeg,m_internalData->m_textColorRed,m_internalData->m_textColorGreen,m_internalData->m_textColorBlue,m_internalData->m_textColorAlpha); grapicalPrintf(label, sTimeSeriesFontData, 2,yNeg,m_internalData->m_textColorRed,m_internalData->m_textColorGreen,m_internalData->m_textColorBlue,m_internalData->m_textColorAlpha);
m_internalData->m_canvasInterface->refreshImageData(m_internalData->m_canvasIndex); m_internalData->m_canvasInterface->refreshImageData(m_internalData->m_canvasIndex);
@@ -228,7 +209,7 @@ void TimeSeriesCanvas::shift1PixelToLeft()
int resetVal = 10; int resetVal = 10;
int countdown = resetVal; int countdown = resetVal;
//shift picture one pixel to the left //shift pixture one pixel to the left
for (int j=50;j<m_internalData->m_height-48;j++) for (int j=50;j<m_internalData->m_height-48;j++)
{ {
for (int i=40;i<this->m_internalData->m_width;i++) for (int i=40;i<this->m_internalData->m_width;i++)
@@ -257,34 +238,35 @@ void TimeSeriesCanvas::shift1PixelToLeft()
} }
} }
{
int resetVal = 2;
static int countdown = resetVal;
if (!countdown--)
{ {
countdown=resetVal; int resetVal = 2;
m_internalData->m_canvasInterface->setPixel(m_internalData->m_canvasIndex,m_internalData->m_width-1,m_internalData->m_yZero,0,0,0,255); static int countdown = resetVal;
if (!countdown--)
{
countdown=resetVal;
m_internalData->m_canvasInterface->setPixel(m_internalData->m_canvasIndex,m_internalData->m_width-1,m_internalData->m_zero,0,0,0,255);
}
} }
}
{
int resetVal = 10;
static int countdown = resetVal;
if (!countdown--)
{ {
countdown=resetVal; int resetVal = 10;
float centerPixelCoord = m_internalData->m_center; static int countdown = resetVal;
float pixelsPerUnit = m_internalData->m_pixelsPerUnit; if (!countdown--)
{
countdown=resetVal;
float zeroPixelCoord = m_internalData->m_zero;
float pixelsPerUnit = m_internalData->m_pixelsPerUnit;
float yPos = centerPixelCoord+pixelsPerUnit*0.5f*(m_internalData->m_yMax-m_internalData->m_yMin); float yPos = zeroPixelCoord+pixelsPerUnit*m_internalData->m_yScale;
float yNeg = centerPixelCoord+pixelsPerUnit*-0.5f*(m_internalData->m_yMax-m_internalData->m_yMin); float yNeg = zeroPixelCoord+pixelsPerUnit*-m_internalData->m_yScale;
m_internalData->m_canvasInterface->setPixel(m_internalData->m_canvasIndex,m_internalData->m_width-1, m_internalData->m_canvasInterface->setPixel(m_internalData->m_canvasIndex,m_internalData->m_width-1,
yPos,0,0,0,255); yPos,0,0,0,255);
m_internalData->m_canvasInterface->setPixel(m_internalData->m_canvasIndex,m_internalData->m_width-1, m_internalData->m_canvasInterface->setPixel(m_internalData->m_canvasIndex,m_internalData->m_width-1,
yNeg,0,0,0,255); yNeg,0,0,0,255);
}
} }
}
@@ -294,7 +276,7 @@ void TimeSeriesCanvas::shift1PixelToLeft()
char buf[1024]; char buf[1024];
float time = m_internalData->getTime(); float time = m_internalData->getTime();
sprintf(buf,"%2.0f",time); sprintf(buf,"%2.0f",time);
grapicalPrintf(buf, sTimeSeriesFontData, m_internalData->m_width-25,m_internalData->m_center+3,0,0,0,255); grapicalPrintf(buf, sTimeSeriesFontData, m_internalData->m_width-25,m_internalData->m_zero+3,0,0,0,255);
m_internalData->m_bar=m_internalData->m_ticksPerSecond; m_internalData->m_bar=m_internalData->m_ticksPerSecond;
@@ -312,7 +294,7 @@ void TimeSeriesCanvas::insertDataAtCurrentTime(float orgV, int dataSourceIndex,
btAssert(dataSourceIndex < m_internalData->m_dataSources.size()); btAssert(dataSourceIndex < m_internalData->m_dataSources.size());
float zero = m_internalData->m_yZero; float zero = m_internalData->m_zero;
float amp = m_internalData->m_pixelsPerUnit; float amp = m_internalData->m_pixelsPerUnit;
//insert some new value(s) in the right-most column //insert some new value(s) in the right-most column
{ {

View File

@@ -13,7 +13,6 @@ public:
virtual ~TimeSeriesCanvas(); virtual ~TimeSeriesCanvas();
void setupTimeSeries(float yScale, int ticksPerSecond, int startTime, bool clearCanvas=true); void setupTimeSeries(float yScale, int ticksPerSecond, int startTime, bool clearCanvas=true);
void setupTimeSeries(float yMin, float yMax, int ticksPerSecond, int startTime, bool clearCanvas=true);
void addDataSource(const char* dataSourceLabel, unsigned char red,unsigned char green,unsigned char blue); void addDataSource(const char* dataSourceLabel, unsigned char red,unsigned char green,unsigned char blue);
void insertDataAtCurrentTime(float value, int dataSourceIndex, bool connectToPrevious); void insertDataAtCurrentTime(float value, int dataSourceIndex, bool connectToPrevious);
float getCurrentTime() const; float getCurrentTime() const;
@@ -23,4 +22,4 @@ public:
}; };
#endif//TIME_SERIES_CANVAS_H #endif//TIME_SERIES_CANVAS_H