add arc display for direction visualization

This commit is contained in:
interfisch 2019-06-12 14:08:41 +02:00
commit 1361451d7b
3 changed files with 70 additions and 17 deletions

View file

@ -255,7 +255,9 @@ public class Tacho extends Visualization {
public class Direction extends Visualization {
int size;
float angleoffset=0;
float angleoffset;
float minvisiblevalue;
float maxvisiblevalue;
public Direction(int px, int py, int psize,float pvmin, float pvmax, float pvlmin, float pvlmax, float pangleoffset) {
super.valueMin=pvmin;
@ -267,6 +269,24 @@ public class Direction extends Visualization {
super.value2Max=pvlmax;
this.angleoffset=pangleoffset;
this.minvisiblevalue=valueMin;
this.maxvisiblevalue=valueMax;
}
public Direction(int px, int py, int psize,float pvmin, float pvmax, float pvlmin, float pvlmax, float pangleoffset, float pminvisiblevalue, float pmaxvisiblevalue) {
super.valueMin=pvmin;
super.valueMax=pvmax;
super.posOrigin= new PVector(px,py); //center
this.size = psize; //radius from the center
super.value2Min=pvlmin;
super.value2Max=pvlmax;
this.angleoffset=pangleoffset;
this.minvisiblevalue=pminvisiblevalue;
this.maxvisiblevalue=pmaxvisiblevalue;
}
@ -276,8 +296,12 @@ public class Direction extends Visualization {
textSize(super.textsize);
stroke(super.cborder); noFill();
ellipseMode(RADIUS); //centerx, centery, width,height for ellipse
ellipse(super.posOrigin.x, super.posOrigin.y, this.size,this.size);
if (this.minvisiblevalue==super.valueMin & this.maxvisiblevalue==super.valueMax) {
ellipseMode(RADIUS); //centerx, centery, width,height for ellipse
ellipse(super.posOrigin.x, super.posOrigin.y, this.size,this.size);
}else{
arc(super.posOrigin.x, super.posOrigin.y, this.size*2,this.size*2, 0+this.angleoffset-PI, 2*PI+this.angleoffset-PI, PIE);
}
stroke(super.cmain);
float angle=map(super.getValueNormalized(),0,1,0,2*PI)+this.angleoffset;
@ -301,6 +325,8 @@ public class Direction extends Visualization {
}
public class GraphRoll extends Visualization {
PVector size;
float[] valuearray;
@ -390,4 +416,4 @@ public class GraphRoll extends Visualization {
text(super.title, super.posOrigin.x, super.posOrigin.y+super.textsize*1.5);
}
}