diff options
| author | Tim Redfern <tim@eclectronics.org> | 2012-06-30 09:58:06 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2012-06-30 09:58:06 +0100 |
| commit | 4525c22d902e1eff47d6a8a64d022d885ac3a76a (patch) | |
| tree | 4601b215e8590030e5644848df9db6f7d0a46a12 /src | |
| parent | afed229f7f70d51313239394f6e1079fa6086da3 (diff) | |
version 1.0
Diffstat (limited to 'src')
| -rw-r--r-- | src/obtsDevice.cpp | 97 | ||||
| -rw-r--r-- | src/testApp.cpp | 8 |
2 files changed, 57 insertions, 48 deletions
diff --git a/src/obtsDevice.cpp b/src/obtsDevice.cpp index 7138475..630af69 100644 --- a/src/obtsDevice.cpp +++ b/src/obtsDevice.cpp @@ -108,7 +108,7 @@ float obtsDevice::timeCoord(float t){ //function to map time to the z dimension
//timescale is the number of pixels per second
//return t*timeScale;
- return log10(t+1)*(ofGetHeight()/5);
+ return log10(t+1)*(ofGetHeight()/4);
}
void obtsDevice::draw(float t)
@@ -131,54 +131,57 @@ void obtsDevice::draw(float t) //colour based on IMSI, excitation and movement
//sms and calls coloured based on the phone that made them.
- float rf=sin((coords.y/(ofGetWidth()*0.9))*TWO_PI);
- ofSetColor(colour); //*rf);
- float endPos;
- for (vector<timeseg>::iterator i=connectionHistory.begin();i!=connectionHistory.end();i++){
- float startPos=-timeCoord(now-(*i).startTime);
- endPos=(*i).endTime>0.0f?-timeCoord(now-(*i).endTime):0.0f;
- ofLine(cos(coords.x)*coords.y,sin(coords.x)*coords.y,startPos,cos(coords.x)*coords.y,sin(coords.x)*coords.y,endPos);
- //printf("%f drawing %f,%f,%f to %f,%f,%f\n",ofGetElapsedTimef(),cos(coords.x)*coords.y,sin(coords.x)*coords.y,startPos,cos(coords.x)*coords.y,sin(coords.x)*coords.y,endPos);
- }
-
- for (vector<tsms>::iterator i=smsHistory.begin();i!=smsHistory.end();i++){
- float timepos=-timeCoord(now-(*i).time);
- ofLine(cos(coords.x)*coords.y,sin(coords.x)*coords.y,timepos,cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,timepos);
- }
+ if (connectionHistory.size()) {
- ofEnableAlphaBlending();
-
- for (vector<tcall>::iterator i=callHistory.begin();i!=callHistory.end();i++){
- float stimepos=-timeCoord(now-(*i).startTime);
- float etimepos=((*i).endTime>0.0f?-timeCoord(now-(*i).endTime):0.0f);
- float ctimepos=(*i).connected?-timeCoord(now-(*i).connectedTime):0.0f;
- if ((*i).connectedTime>(*i).startTime||!(*i).connected) { //draw ringing section
- ofSetColor(colour.r,colour.g,colour.b,0x2f);
- glBegin(GL_QUADS);
- glVertex3f(cos(coords.x)*coords.y,sin(coords.x)*coords.y,stimepos);
- glVertex3f(cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,stimepos);
- glVertex3f(cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,ctimepos);
- glVertex3f(cos(coords.x)*coords.y,sin(coords.x)*coords.y,ctimepos);
- glEnd();
+ float rf=sin((coords.y/(ofGetWidth()*0.9))*TWO_PI);
+ ofSetColor(colour); //*rf);
+ float endPos;
+ for (vector<timeseg>::iterator i=connectionHistory.begin();i!=connectionHistory.end();i++){
+ float startPos=-timeCoord(now-(*i).startTime);
+ endPos=(*i).endTime>0.0f?-timeCoord(now-(*i).endTime):0.0f;
+ ofLine(cos(coords.x)*coords.y,sin(coords.x)*coords.y,startPos,cos(coords.x)*coords.y,sin(coords.x)*coords.y,endPos);
+ //printf("%f drawing %f,%f,%f to %f,%f,%f\n",ofGetElapsedTimef(),cos(coords.x)*coords.y,sin(coords.x)*coords.y,startPos,cos(coords.x)*coords.y,sin(coords.x)*coords.y,endPos);
+ }
+
+ for (vector<tsms>::iterator i=smsHistory.begin();i!=smsHistory.end();i++){
+ float timepos=-timeCoord(now-(*i).time);
+ ofLine(cos(coords.x)*coords.y,sin(coords.x)*coords.y,timepos,cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,timepos);
}
- if ((*i).connected) { //draw connected section
- ofSetColor(colour.r,colour.g,colour.b,0x4f);
- glBegin(GL_QUADS);
- glVertex3f(cos(coords.x)*coords.y,sin(coords.x)*coords.y,ctimepos);
- glVertex3f(cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,ctimepos);
- glVertex3f(cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,etimepos);
- glVertex3f(cos(coords.x)*coords.y,sin(coords.x)*coords.y,etimepos);
- glEnd();
+
+ ofEnableAlphaBlending();
+
+ for (vector<tcall>::iterator i=callHistory.begin();i!=callHistory.end();i++){
+ float stimepos=-timeCoord(now-(*i).startTime);
+ float etimepos=((*i).endTime>0.0f?-timeCoord(now-(*i).endTime):0.0f);
+ float ctimepos=(*i).endTime<.01f&&!(*i).connected?0.0f:-timeCoord(now-(*i).connectedTime);
+ if (((*i).connectedTime>(*i).startTime)||((!(*i).connected)&&((*i).endTime<.01f))) { //draw ringing section
+ ofSetColor(colour.r,colour.g,colour.b,0x2f);
+ glBegin(GL_QUADS);
+ glVertex3f(cos(coords.x)*coords.y,sin(coords.x)*coords.y,stimepos);
+ glVertex3f(cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,stimepos);
+ glVertex3f(cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,ctimepos);
+ glVertex3f(cos(coords.x)*coords.y,sin(coords.x)*coords.y,ctimepos);
+ glEnd();
+ }
+ if ((*i).connectedTime>0.0f) { //draw connected section
+ ofSetColor(colour.r,colour.g,colour.b,0x4f);
+ glBegin(GL_QUADS);
+ glVertex3f(cos(coords.x)*coords.y,sin(coords.x)*coords.y,ctimepos);
+ glVertex3f(cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,ctimepos);
+ glVertex3f(cos((*i).recipient->coords.x)*(*i).recipient->coords.y,sin((*i).recipient->coords.x)*(*i).recipient->coords.y,etimepos);
+ glVertex3f(cos(coords.x)*coords.y,sin(coords.x)*coords.y,etimepos);
+ glEnd();
+ }
}
+
+ ofDisableAlphaBlending();
+
+ int greylev=0x7f+((int)(128.0f*exciteLevel));
+ //printf("%s %i\n",number.c_str(),greylev);
+ ofSetColor(greylev,greylev,greylev,0xff);
+ ofSetDrawBitmapMode(OF_BITMAPMODE_MODEL_BILLBOARD);
+ ofDrawBitmapString(number,cos(coords.x)*coords.y,sin(coords.x)*coords.y,endPos);
+ ofSetDrawBitmapMode(OF_BITMAPMODE_SIMPLE);
+ exciteLevel=pow(exciteLevel,1+(timeSeg*decay));
}
-
- ofDisableAlphaBlending();
-
- int greylev=0x7f+((int)(128.0f*exciteLevel));
- //printf("%s %i\n",number.c_str(),greylev);
- ofSetColor(greylev,greylev,greylev,0xff);
- ofSetDrawBitmapMode(OF_BITMAPMODE_MODEL_BILLBOARD);
- ofDrawBitmapString(number,cos(coords.x)*coords.y,sin(coords.x)*coords.y,endPos);
- ofSetDrawBitmapMode(OF_BITMAPMODE_SIMPLE);
- exciteLevel=pow(exciteLevel,1+(timeSeg*decay));
}
diff --git a/src/testApp.cpp b/src/testApp.cpp index 9de5fab..7b28acd 100644 --- a/src/testApp.cpp +++ b/src/testApp.cpp @@ -215,13 +215,16 @@ void testApp::update(){ float r=ofRandom(windowWidth/3)+(windowWidth/6); devices[number]=obtsDevice(imsi,imei,number,icons,ofVec2f(a,r)); } - devices[number].excite(); //whenever an event concerns a device it brightens + + if(tokens[3].find("retreived")==string::npos) devices[number].excite(); //whenever an event concerns a device it brightens + if(tokens[3].find("joined network")!=string::npos) devices[number].connect(); if(tokens[3].find("leaving network")!=string::npos) devices[number].disconnect(); if(tokens[3].find("queued")!=string::npos) { string t_number=split(tokens[3],' ')[4]; printf(">>> SMS from %s to %s (%i)\n",number.c_str(),t_number.c_str(),devices.count(t_number)); if (devices.count(t_number)) { + devices[t_number].connect(); //just in case it hasnt been recognised devices[number].sms(&devices[t_number]); } } @@ -229,6 +232,7 @@ void testApp::update(){ string t_number=split(tokens[3],' ')[3]; printf(">>> call from %s to %s\n",number.c_str(),t_number.c_str()); if (devices.count(t_number)) { + devices[t_number].connect(); //just in case it hasnt been recognised devices[number].call(&devices[t_number]); } else devices[number].call(&devices["default"]); @@ -237,6 +241,7 @@ void testApp::update(){ string t_number=split(tokens[3],' ')[4]; printf(">>> ringing from %s to %s\n",number.c_str(),t_number.c_str()); if (devices.count(t_number)) { + devices[t_number].connect(); //just in case it hasnt been recognised devices[number].ringing(&devices[t_number]); } } @@ -244,6 +249,7 @@ void testApp::update(){ string t_number=split(tokens[3],' ')[3]; printf(">>> call connected from %s to %s\n",number.c_str(),t_number.c_str()); if (devices.count(t_number)) { + devices[t_number].connect(); //just in case it hasnt been recognised devices[number].connectCall(); } } |
