public class Culebra_Interface extends PApplet { int w, h; PApplet parent; ControlP5 cp5; int abc = 100; public Culebra_Interface (PApplet _parent, int theWidth, int theHeight) { super(); parent = _parent; w=theWidth; h=theHeight; PApplet.runSketch(new String[]{this.getClass().getName()}, this); } public void settings() { size(w, h); } public void setup() { surface.setLocation(10,10); cp5 = new ControlP5(this); cp5.setColorForeground(color(0, 255, 0)); cp5.setColorValueLabel(color(255, 255, 255)); cp5.setBackground(color(0, 0, 0)); cp5.setColorActive(color(0, 255, 0)); cp5.setColorBackground(color(50, 50, 50)); Button b0 = cp5.addButton("SPAWN CONTROLS").plugTo(parent).setPosition(10, 10).setSize(100, 20); float[] spawn_default = new float[2]; spawn_default[0] = 1.0f; spawn_default[1] = 0.0f; spawn = cp5.addRadioButton("spawnType").setPosition(10, 40).setSize(20, 9).addItem("ALIGNED_LEFT", 0).addItem("SCATTERED", 1).setArrayValue(spawn_default); Button b01 = cp5.addButton("BEHAVIOR CONTROLS").plugTo(parent).setPosition(120, 10).setSize(100, 20); float[] beh_default = new float[4]; beh_default[0] = 1.0f; beh_default[1] = 0.0f; beh_default[2] = 0.0f; beh_default[3] = 0.0f; behavior = cp5.addRadioButton("behaviorType").setPosition(120, 40).setSize(20, 9).addItem("FLOCKING", 0).addItem("PERLIN", 1).addItem("HYBRID", 2).addItem("NONE", 3).setArrayValue(beh_default); Button b02 = cp5.addButton("DIMENSION CONTROLS").plugTo(parent).setPosition(230, 10).setSize(100, 20); float[] dim_default = new float[2]; dim_default[0] = 1.0f; dim_default[1] = 0.0f; dimension = cp5.addRadioButton("dimension").setPosition(230, 40).setSize(20, 9).addItem("2D", 0).addItem("3D", 1).setArrayValue(dim_default); Slider s2 = cp5.addSlider("Velocity").plugTo(parent).setRange(0, 50).setPosition(10, 90).setValue(5.0).setDecimalPrecision(1).setSize(200, 20); Button b = cp5.addButton("FLOCKING CONTROLS").plugTo(parent).setPosition(10, 120).setSize(250, 20); b.setColorActive(color(0, 255, 0)); b.setColorBackground(color(255, 0, 0)); cp5.addToggle("Connect").plugTo(parent).setPosition(10, 180).setSize(50, 20).setValue(false).setMode(ControlP5.SWITCH); Slider s3 = cp5.addSlider("SearchRadius").plugTo(parent).setRange(0, 500).setPosition(10, 150).setValue(30.0).setDecimalPrecision(2).setSize(200, 20); Button b3 = cp5.addButton(" ").plugTo(parent).setPosition(10, 220).setSize(250, 2); Slider s4 = cp5.addSlider("AlignValue").plugTo(parent).setRange(0.00, 1.00).setPosition(10, 230).setValue(0.045).setDecimalPrecision(3).setSize(200, 20); Slider s5 = cp5.addSlider("SeparateValue").plugTo(parent).setRange(0.00, 1.00).setPosition(10, 260).setValue(0.09).setDecimalPrecision(3).setSize(200, 20); Slider s6 = cp5.addSlider("CohesionValue").plugTo(parent).setRange(0.00, 1.00).setPosition(10, 290).setValue(0.25).setDecimalPrecision(3).setSize(200, 20); Button b4 = cp5.addButton("PERLIN CONTROLS").plugTo(parent).setPosition(10, 320).setSize(250, 20); b4.setColorActive(color(0, 255, 0)); b4.setColorBackground(color(255, 0, 0)); Slider ps3 = cp5.addSlider("Multiplier").plugTo(parent).setRange(0, 10).setPosition(10, 350).setValue(0.0).setDecimalPrecision(2).setSize(200, 20); Button pb2 = cp5.addButton(" ").plugTo(parent).setPosition(10, 380).setSize(470, 2); Slider ps4 = cp5.addSlider("Strength").plugTo(parent).setRange(0.00, 100.00).setPosition(10, 390).setValue(7.00).setDecimalPrecision(3).setSize(200, 20); Slider ps5 = cp5.addSlider("Scale").plugTo(parent).setRange(0.00, 1000.00).setPosition(10, 420).setValue(800.00).setDecimalPrecision(3).setSize(200, 20); cp5.addToggle("Bounds").plugTo(parent).setPosition(10, 450).setSize(50, 10).setValue(false).setMode(ControlP5.SWITCH); Button b5 = cp5.addButton("VIZ CONTROLS").plugTo(parent).setPosition(10, 480).setSize(250, 20); b5.setColorActive(color(0, 255, 0)); b5.setColorBackground(color(255, 0, 0)); cp5.addToggle("ApplySweetColor").plugTo(parent).setPosition(10, 510).setSize(50, 10).setValue(true).setMode(ControlP5.SWITCH); Slider s7 = cp5.addSlider("HeadWidth").plugTo(parent).setRange(0.00, 8.0).setPosition(10, 540).setValue(1.0).setDecimalPrecision(2).setSize(200, 20); Slider s8 = cp5.addSlider("StrokeWidth").plugTo(parent).setRange(0.00, 10).setPosition(10, 570).setValue(3.0).setDecimalPrecision(2).setSize(200, 20); Slider s9 = cp5.addSlider("Transparency").plugTo(parent).setRange(0.00, 255).setPosition(10, 600).setValue(255.0).setDecimalPrecision(2).setSize(200, 20); Slider s10 = cp5.addSlider("Count").plugTo(parent).setRange(0.00, 50000).setPosition(10, 630).setValue(500).setDecimalPrecision(0).setSize(200, 20); Slider s12 = cp5.addSlider("TrailResolution").plugTo(parent).setRange(1.00, 50.00).setPosition(10, 660).setValue(6.00).setDecimalPrecision(1).setSize(200, 20); Button b6 = cp5.addButton("HYBRID CONTROLS").plugTo(parent).setPosition(10, 690).setSize(250, 20); b6.setColorActive(color(0, 255, 0)); b6.setColorBackground(color(255, 0, 0)); Blend = cp5.addKnob("Blend", 0.0, 1.0, 0.5, 10, 720, 50); MBaseSpeed = cp5.addKnob("Init Speed", 0.0, 10.0, 1.0, 70, 720, 50); MSpeed = cp5.addKnob("MaxSpeed", 0.0, 15.0, 3.0, 130, 720, 50); cp5.addButton("RESET").plugTo(parent).setPosition(10, 790).setSize(250, 20); cp5.addToggle("ApplyMap").plugTo(parent).setPosition(10, 820).setSize(50, 20).setValue(false).setMode(ControlP5.SWITCH); cp5.addToggle("ShowMap").plugTo(parent).setPosition(70, 820).setSize(50, 20).setValue(false).setMode(ControlP5.SWITCH); Button m0 = cp5.addButton("FLOCKING MAP BEHAVIOR").plugTo(parent).setPosition(10, 860).setSize(250, 20); m0.setColorActive(color(0, 255, 0)); m0.setColorBackground(color(255, 0, 0)); checkFlockBox = cp5.addCheckBox("checkBox") .setPosition(10, 890) .setColorForeground(color(120)) .setColorActive(color(255)) .setColorLabel(color(255)) .setSize(20, 10) .setItemsPerRow(3) .setSpacingColumn(60) .setSpacingRow(20) .addItem("Align", 0.0) .addItem("Separate", 0.0) .addItem("Cohesion", 0.0) ; Button m01 = cp5.addButton("NOISE MAP BEHAVIOR").plugTo(parent).setPosition(10, 910).setSize(250, 20); m01.setColorActive(color(0, 255, 0)); m01.setColorBackground(color(255, 0, 0)); checkPerlinBox = cp5.addCheckBox("checkBoxPerlin") .setPosition(10, 940) .setColorForeground(color(120)) .setColorActive(color(255)) .setColorLabel(color(255)) .setSize(20, 10) .setItemsPerRow(3) .setSpacingColumn(60) .setSpacingRow(20) .addItem("StrengthVal", 0.0) .addItem("ScaleVal", 0.0) .addItem("MultiplierVal", 0.0) ; s2.setColorActive(color(255, 0, 0)); s3.setColorActive(color(255, 0, 0)); s4.setColorActive(color(255, 0, 0)); s5.setColorActive(color(255, 0, 0)); s6.setColorActive(color(255, 0, 0)); s7.setColorActive(color(255, 0, 0)); s8.setColorActive(color(255, 0, 0)); s9.setColorActive(color(255, 0, 0)); s10.setColorActive(color(255, 0, 0)); s12.setColorActive(color(255, 0, 0)); ps3.setColorActive(color(255, 0, 0)); pb2.setColorActive(color(255, 0, 0)); ps4.setColorActive(color(255, 0, 0)); ps5.setColorActive(color(255, 0, 0)); } public void draw() { background(0); } } Update