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