add arc display for direction visualization
This commit is contained in:
parent
68c6cf81d6
commit
1361451d7b
|
@ -255,7 +255,9 @@ public class Tacho extends Visualization {
|
||||||
|
|
||||||
public class Direction extends Visualization {
|
public class Direction extends Visualization {
|
||||||
int size;
|
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) {
|
public Direction(int px, int py, int psize,float pvmin, float pvmax, float pvlmin, float pvlmax, float pangleoffset) {
|
||||||
super.valueMin=pvmin;
|
super.valueMin=pvmin;
|
||||||
|
@ -267,6 +269,24 @@ public class Direction extends Visualization {
|
||||||
super.value2Max=pvlmax;
|
super.value2Max=pvlmax;
|
||||||
|
|
||||||
this.angleoffset=pangleoffset;
|
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);
|
textSize(super.textsize);
|
||||||
|
|
||||||
stroke(super.cborder); noFill();
|
stroke(super.cborder); noFill();
|
||||||
|
if (this.minvisiblevalue==super.valueMin & this.maxvisiblevalue==super.valueMax) {
|
||||||
ellipseMode(RADIUS); //centerx, centery, width,height for ellipse
|
ellipseMode(RADIUS); //centerx, centery, width,height for ellipse
|
||||||
ellipse(super.posOrigin.x, super.posOrigin.y, this.size,this.size);
|
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);
|
stroke(super.cmain);
|
||||||
float angle=map(super.getValueNormalized(),0,1,0,2*PI)+this.angleoffset;
|
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 {
|
public class GraphRoll extends Visualization {
|
||||||
PVector size;
|
PVector size;
|
||||||
float[] valuearray;
|
float[] valuearray;
|
||||||
|
|
|
@ -255,7 +255,9 @@ public class Tacho extends Visualization {
|
||||||
|
|
||||||
public class Direction extends Visualization {
|
public class Direction extends Visualization {
|
||||||
int size;
|
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) {
|
public Direction(int px, int py, int psize,float pvmin, float pvmax, float pvlmin, float pvlmax, float pangleoffset) {
|
||||||
super.valueMin=pvmin;
|
super.valueMin=pvmin;
|
||||||
|
@ -267,6 +269,24 @@ public class Direction extends Visualization {
|
||||||
super.value2Max=pvlmax;
|
super.value2Max=pvlmax;
|
||||||
|
|
||||||
this.angleoffset=pangleoffset;
|
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);
|
textSize(super.textsize);
|
||||||
|
|
||||||
stroke(super.cborder); noFill();
|
stroke(super.cborder); noFill();
|
||||||
|
if (this.minvisiblevalue==super.valueMin & this.maxvisiblevalue==super.valueMax) {
|
||||||
ellipseMode(RADIUS); //centerx, centery, width,height for ellipse
|
ellipseMode(RADIUS); //centerx, centery, width,height for ellipse
|
||||||
ellipse(super.posOrigin.x, super.posOrigin.y, this.size,this.size);
|
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);
|
stroke(super.cmain);
|
||||||
float angle=map(super.getValueNormalized(),0,1,0,2*PI)+this.angleoffset;
|
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 {
|
public class GraphRoll extends Visualization {
|
||||||
PVector size;
|
PVector size;
|
||||||
float[] valuearray;
|
float[] valuearray;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
float rawvalue=50;
|
float rawvalue=0;
|
||||||
float xoff = 0.0;
|
float xoff = 0.0;
|
||||||
float xoff2 = 25532.32;
|
float xoff2 = 0;
|
||||||
|
|
||||||
|
|
||||||
Visualization vis;
|
Visualization vis;
|
||||||
|
@ -12,8 +12,9 @@ void setup() {
|
||||||
//vis = new BarV(150,150,10,100,0,100);
|
//vis = new BarV(150,150,10,100,0,100);
|
||||||
//vis = new BarH(150,150,100,10,0,100);
|
//vis = new BarH(150,150,100,10,0,100);
|
||||||
//vis = new Tacho(150,150,100,0,100);
|
//vis = new Tacho(150,150,100,0,100);
|
||||||
//vis = new Direction(150,150,100,0,100,0,1,PI/2);
|
//vis = new Direction(150,150,100,-127/30*360,127/30*360,0,2000,PI/2+PI);
|
||||||
vis = new GraphRoll(150,150,200,100,0,100, 1);
|
vis = new Direction(150,150,100,-127/30*360,127/30*360,0,2000,PI/2+PI, 0,2*PI); //uses arc
|
||||||
|
//vis = new GraphRoll(150,150,200,100,0,100, 1);
|
||||||
|
|
||||||
vis.setShowMinMax(false);
|
vis.setShowMinMax(false);
|
||||||
vis.setTitle("Testwert");
|
vis.setTitle("Testwert");
|
||||||
|
@ -21,16 +22,16 @@ void setup() {
|
||||||
|
|
||||||
void draw() {
|
void draw() {
|
||||||
background(255);
|
background(255);
|
||||||
//rawvalue +=random(-10,10);
|
rawvalue +=random(-10,10);
|
||||||
//rawvalue = constrain(rawvalue, 0,100);
|
rawvalue = constrain(rawvalue, -127,100);
|
||||||
xoff += 0.01;
|
//xoff += 0.01;
|
||||||
xoff2 += 0.004;
|
xoff2 += 0.004;
|
||||||
rawvalue=noise(xoff) * 100;
|
//rawvalue=noise(xoff) * 100;
|
||||||
|
|
||||||
vis.setValue(rawvalue);
|
vis.setValue(rawvalue);
|
||||||
|
|
||||||
//for direction with length
|
//for direction with length
|
||||||
//vis.setValue2(noise(xoff2));
|
vis.setValue2(noise(xoff2)*2000);
|
||||||
|
|
||||||
|
|
||||||
vis.drawVis();
|
vis.drawVis();
|
||||||
|
|
Loading…
Reference in New Issue