class XYZPixel extends SCPattern { float xm = model.xMin; float ym = model.yMin; float zm = model.zMin; float cubeWidth = 35; float xm2 = model.xMin+cubeWidth; float ym2 = model.yMin+cubeWidth; float zm2 = model.zMin+cubeWidth; XYZPixel(GLucose glucose) { super(glucose); //myP = new LXPoint(20,20,20); } void run(double deltaMs) { for(LXPoint p : model.points) { if(p.x > xm && p.x<= xm2 && p.y > ym && p.y<= xm2 && p.z<= zm2 && p.z > zm) { colors[p.index] = lx.hsb(lx.getBaseHue()+100, 100, 100); }else{ colors[p.index] = 0; } } float minIS=min(model.xMax,model.yMax,model.zMax); xm = (xm + 1 ) % minIS; ym = (ym + 1 ) % minIS; zm = (zm + 1 ) % minIS; xm2 = xm + cubeWidth; ym2 = ym2 + cubeWidth; zm2 = zm2 + cubeWidth; } } class MultipleCubes extends SCPattern { float xm = model.xMin; float ym = model.yMin+10; float zm = model.zMin+5; float xma = model.xMin; float xmb = model.xMin; float cubeWidth = 35; float minIS; MultipleCubes(GLucose glucose) { super(glucose); minIS = 200; } void drawVirtualCube(float bottomX, float bottomY, float bottomZ, float side, int cubeColor) { for(LXPoint p : model.points) { if(p.x > bottomX && p.x<= bottomX+side && p.y > bottomY && p.y<= bottomY + side && p.z > bottomZ && p.z<= bottomZ+side) { colors[p.index] = cubeColor; } } } void clear() { for(int i=0;i towerParams; int towerSize; int colorSpan; TowerParams(GLucose glucose) { super(glucose); towerParams = new ArrayList(); addParameter(hueoff); addParameter(hueSpan); towerParams.add(t1); towerParams.add(t2); towerParams.add(t3); towerParams.add(t4); towerParams.add(t5); towerParams.add(t6); towerParams.add(t7); towerParams.add(t8); towerParams.add(t9); towerParams.add(t10); towerParams.add(t11); towerParams.add(t12); towerParams.add(t13); towerParams.add(t14); towerParams.add(t15); towerParams.add(t16); for(BasicParameter p : towerParams) { addParameter(p); } towerSize = model.towers.size(); colorSpan = 255 / towerSize; } void run(double deltaMs) { clearALL(); Tower t; for(int i=0; i0.5; } public void updateXYZVals() { if(interactive()) { xv = xd.getValuef()*200; yv = yd.getValuef()*115; zv = zd.getValuef()*100; }else{ super.updateXYZVals(); copyValuesToKnobs(); } } }