logo

prolebra_0.9B2_CulebraInterfaceLibrary

package creeper_Behavior_P3_2_3D_SET3;
import processing.core.PApplet;
import controlP5.*;

public class Culebra_Interface extends PApplet {

    int w, h;
    PApplet parent;
    ControlP5 cp5;
    int abc = 100;
    public Knob Blend, MBaseSpeed, MSpeed, MaxRep,MaxAtt,Att,Rep,MaxConn,ConnDist;
    public RadioButton behavior, spawn, dimension;
    public CheckBox checkFlockBox, checkPerlinBox;

    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);
        
        b0.setColorActive(color(0, 255, 0));
        b0.setColorBackground(color(255, 0, 0));
        float[] spawn_default = new float[3];
        spawn_default[0] = 0.0f;
        spawn_default[1] = 1.0f;
        spawn_default[2] = 0.0f;
        spawn = cp5.addRadioButton("spawnType").setPosition(10, 40).setSize(20, 9).addItem("ALIGNED_LEFT", 0)
                .addItem("SCATTERED", 1).addItem("SCATTERED GROUND", 2).setArrayValue(spawn_default);

        Button b01 = cp5.addButton("BEHAVIOR CONTROLS").plugTo(parent).setPosition(120, 10).setSize(100, 20);
        b01.setColorActive(color(0, 255, 0));
        b01.setColorBackground(color(255, 0, 0));
        float[] beh_default = new float[5];
        beh_default[0] = 1.0f;
        beh_default[1] = 0.0f;
        beh_default[2] = 0.0f;
        beh_default[3] = 0.0f;
        beh_default[4] = 0.0f;
        behavior = cp5.addRadioButton("behaviorType").setPosition(120, 40).setSize(20, 9).addItem("FLOCKING", 0)
                .addItem("PERLIN", 1).addItem("HYBRID", 2).addItem("MODIFIEDPERLIN", 3).addItem("DUAL", 4)
                .setArrayValue(beh_default);

        Button b02 = cp5.addButton("DIMENSION CONTROLS").plugTo(parent).setPosition(230, 10).setSize(100, 20);
        b02.setColorActive(color(0, 255, 0));
        b02.setColorBackground(color(255, 0, 0));
        
        Button b03 = cp5.addButton("BOUNDS").plugTo(parent).setPosition(340, 10).setSize(275, 20);
        b03.setColorActive(color(0, 255, 0));
        b03.setColorBackground(color(255, 0, 0));
        
        Slider s20 = cp5.addSlider("BoundsWidth").plugTo(parent).setRange(100, 5000).setPosition(340, 40)
                .setValue(1000.00f).setDecimalPrecision(2).setSize(200, 10);
        Slider s21 = cp5.addSlider("BoundsDepth").plugTo(parent).setRange(100, 5000).setPosition(340, 60)
                .setValue(1000.00f).setDecimalPrecision(2).setSize(200, 10);
        Slider s22 = cp5.addSlider("BoundsHeight").plugTo(parent).setRange(100, 5000).setPosition(340, 80)
                .setValue(1000.00f).setDecimalPrecision(2).setSize(200, 10);
    
        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, 95).setValue(1.5f)
                .setDecimalPrecision(1).setSize(200, 10);
    
        Button b = cp5.addButton("FLOCKING CONTROLS").plugTo(parent).setPosition(10, 110).setSize(270, 20);
        b.setColorActive(color(0, 255, 0));
        b.setColorBackground(color(255, 0, 0));
        
        Button bz = cp5.addButton("TAILCHASERS CONTROLS").plugTo(parent).setPosition(290, 110).setSize(320, 20);
        bz.setColorActive(color(0, 255, 0));
        bz.setColorBackground(color(255, 0, 0));
        
        cp5.addToggle("Connect").plugTo(parent).setPosition(10, 135).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        cp5.addToggle("F_Bounds").plugTo(parent).setPosition(70, 135).setSize(50, 10).setValue(true)
                .setMode(ControlP5.SWITCH);
        cp5.addToggle("Bounce_Rebirth").plugTo(parent).setPosition(130, 135).setSize(50, 10).setValue(true)
                .setMode(ControlP5.SWITCH);

        cp5.addToggle("Tail_Chaser").plugTo(parent).setPosition(200, 135).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);

        Slider s3 = cp5.addSlider("SearchRadius").plugTo(parent).setRange(0, 500).setPosition(10, 165).setValue(30.0f)
                .setDecimalPrecision(2).setSize(200, 10);
        Slider s4 = cp5.addSlider("AlignValue").plugTo(parent).setRange(0.00f, 1.00f).setPosition(10, 185)
                .setValue(0.045f).setDecimalPrecision(3).setSize(200, 10);
        Slider s5 = cp5.addSlider("SeparateValue").plugTo(parent).setRange(0.00f, 1.00f).setPosition(10, 205)
                .setValue(0.09f).setDecimalPrecision(3).setSize(200, 10);
        Slider s6 = cp5.addSlider("CohesionValue").plugTo(parent).setRange(0.00f, 1.00f).setPosition(10, 225)
                .setValue(0.25f).setDecimalPrecision(3).setSize(200, 10);
        
        Slider s7B = cp5.addSlider("Trail_ViewAngle").plugTo(parent).setRange(0.00f, 360.00f).setPosition(290, 165)
                .setValue(60.0f).setDecimalPrecision(3).setSize(200, 10);
        Slider s8B = cp5.addSlider("Follow_Coh_Range").plugTo(parent).setRange(0.00f, 500.00f).setPosition(290, 185)
                .setValue(20.0f).setDecimalPrecision(3).setSize(200, 10);
        Slider s9B = cp5.addSlider("Follow_Coh_Mag").plugTo(parent).setRange(0.00f, 1.00f).setPosition(290, 205)
                .setValue(0.5f).setDecimalPrecision(3).setSize(200, 10);
        Slider s10B = cp5.addSlider("Follow_Sep_Range").plugTo(parent).setRange(0.00f, 500.00f).setPosition(290, 225)
                .setValue(5.00f).setDecimalPrecision(3).setSize(200, 10);
        Slider s11B = cp5.addSlider("Follow_Sep_Mag").plugTo(parent).setRange(0.00f, 1.00f).setPosition(290, 245)
                .setValue(1.00f).setDecimalPrecision(3).setSize(200, 10);
        MaxRep = cp5.addKnob("Max_Rep", 0.0f, 10.0f, 10.0f, 290, 260, 40);
        MaxAtt = cp5.addKnob("Max_Att", 0.0f, 1.0f, 0.05f, 340, 260, 40);
        Rep = cp5.addKnob("Repulsion", 0.0f, 10.0f, 5.0f, 390, 260, 40);
        Att = cp5.addKnob("Attraction", 0.0f, 10.0f, 1.0f, 440, 260, 40);
        cp5.addToggle("Enable_Influence").plugTo(parent).setPosition(290, 135).setSize(50, 10).setValue(false)
        .setMode(ControlP5.SWITCH);
        ConnDist = cp5.addKnob("ConnDist", 0.0f, 500.0f, 30.0f, 490, 260, 40);
        MaxConn = cp5.addKnob("MaxConn", 0.0f, 300.0f, 20.0f, 540, 260, 40);

        Button b4 = cp5.addButton("PERLIN CONTROLS").plugTo(parent).setPosition(10, 320).setSize(270, 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, 375).setValue(0.0f)
                .setDecimalPrecision(2).setSize(200, 10);
        Slider ps4 = cp5.addSlider("Strength").plugTo(parent).setRange(0.00f, 100.00f).setPosition(10, 395)
                .setValue(7.00f).setDecimalPrecision(3).setSize(200, 10);
        Slider ps5 = cp5.addSlider("Scale").plugTo(parent).setRange(0.00f, 1000.00f).setPosition(10, 415)
                .setValue(800.00f).setDecimalPrecision(3).setSize(200, 10);
        Slider ps6 = cp5.addSlider("Mod_Mult").plugTo(parent).setRange(0.00f, 100.00f).setPosition(10, 435)
                .setValue(10.00f).setDecimalPrecision(3).setSize(200, 10);
        cp5.addToggle("Bounds").plugTo(parent).setPosition(10, 345).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        cp5.addToggle("Mod_Type_0").plugTo(parent).setPosition(70, 345).setSize(50, 10).setValue(true)
                .setMode(ControlP5.SWITCH);
        cp5.addToggle("Mod_Type_1").plugTo(parent).setPosition(130, 345).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        cp5.addToggle("Mod_Type_2").plugTo(parent).setPosition(190, 345).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        
        Button b5 = cp5.addButton("VIZ CONTROLS").plugTo(parent).setPosition(10, 450).setSize(270, 20);
        b5.setColorActive(color(0, 255, 0));
        b5.setColorBackground(color(255, 0, 0));
        cp5.addToggle("ApplySweetColor").plugTo(parent).setPosition(10, 475).setSize(50, 10).setValue(true)
                .setMode(ControlP5.SWITCH);
        Slider s7 = cp5.addSlider("HeadWidth").plugTo(parent).setRange(0.00f, 8.0f).setPosition(10, 505).setValue(1.0f)
                .setDecimalPrecision(2).setSize(200, 10);
        Slider s8 = cp5.addSlider("StrokeWidth").plugTo(parent).setRange(0.00f, 10).setPosition(10, 525).setValue(3.0f)
                .setDecimalPrecision(2).setSize(200, 10);
        Slider s9 = cp5.addSlider("Transparency").plugTo(parent).setRange(0.00f, 255).setPosition(10, 545)
                .setValue(255.0f).setDecimalPrecision(2).setSize(200, 10);
        Slider s10 = cp5.addSlider("Count").plugTo(parent).setRange(0.00f, 50000).setPosition(10, 565).setValue(500)
                .setDecimalPrecision(0).setSize(200, 10);

        Slider s12 = cp5.addSlider("TrailResolution").plugTo(parent).setRange(1.00f, 50.00f).setPosition(10, 585)
                .setValue(1.00f).setDecimalPrecision(1).setSize(200, 10);
        
        Button b6 = cp5.addButton("HYBRID CONTROLS").plugTo(parent).setPosition(10, 600).setSize(270, 20);
        b6.setColorActive(color(0, 255, 0));
        b6.setColorBackground(color(255, 0, 0));
        Blend = cp5.addKnob("Blend", 0.0f, 1.0f, 0.5f, 10, 630, 40);
        MBaseSpeed = cp5.addKnob("Init Speed", 0.0f, 10.0f, 1.0f, 70, 630, 40);
        MSpeed = cp5.addKnob("MaxSpeed", 0.0f, 15.0f, 2.0f, 130, 630, 40);
        cp5.addToggle("Mod_Perlin").plugTo(parent).setPosition(190, 630).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        Button m0a = cp5.addButton("MAP BEHAVIORS").plugTo(parent).setPosition(10, 690).setSize(270, 20);
        m0a.setColorActive(color(0, 255, 0));
        m0a.setColorBackground(color(255, 0, 0));
        cp5.addToggle("ApplyMap").plugTo(parent).setPosition(10, 720).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        cp5.addToggle("ShowMap").plugTo(parent).setPosition(70, 720).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        cp5.addToggle("Boundary").plugTo(parent).setPosition(130, 720).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        cp5.addToggle("Bounce_Spawn").plugTo(parent).setPosition(190, 720).setSize(50, 10).setValue(false)
                .setMode(ControlP5.SWITCH);
        Button m0 = cp5.addButton("FLOCKING MAP BEHAVIOR").plugTo(parent).setPosition(10, 750).setSize(250, 20);
        this.checkFlockBox = cp5.addCheckBox("checkBox").setPosition(10, 780).setColorForeground(color(120))
                .setColorActive(color(255)).setColorLabel(color(255)).setSize(20, 10).setItemsPerRow(3)
                .setSpacingColumn(60).setSpacingRow(20).addItem("Align", 0.0f).addItem("Separate", 0.0f)
                .addItem("Cohesion", 0.0f);
        Button m01 = cp5.addButton("NOISE MAP BEHAVIOR").plugTo(parent).setPosition(10, 800).setSize(250, 20);

        this.checkPerlinBox = cp5.addCheckBox("checkBoxPerlin").setPosition(10, 830).setColorForeground(color(120))
                .setColorActive(color(255)).setColorLabel(color(255)).setSize(20, 10).setItemsPerRow(3)
                .setSpacingColumn(60).setSpacingRow(20).addItem("StrengthVal", 0.0f).addItem("ScaleVal", 0.0f)
                .addItem("MultiplierVal", 0.0f);
        Button resetIt = cp5.addButton("RESET").plugTo(parent).setPosition(10, 850).setSize(250, 40);
        resetIt.setColorActive(color(0,255,0));
        resetIt.setColorBackground(color(255,255,0));
        resetIt.setColorLabel(color(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));
        s21.setColorActive(color(255, 0, 0));
        s22.setColorActive(color(255, 0, 0));
        ps3.setColorActive(color(255, 0, 0));
        ps4.setColorActive(color(255, 0, 0));
        ps5.setColorActive(color(255, 0, 0));
        ps6.setColorActive(color(255, 0, 0));
    }
    public void draw() {
        background(0);
    }
}
Update
  • Share