Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * GUI For Grasshopper
- *
- * Script for connecting a Processing GUI with a shelving creation system in Grasshopper.
- * RMIT, Semester 2 2015
- *
- * Dean Hewson, 2015
- * deanhewson.com.au
- */
- import netP5.*;
- import oscP5.*;
- import controlP5.*;
- ControlP5 cp5;
- OscP5 oscP5;
- NetAddress myBroadcastLocation;
- int width = 1200;
- int height = 750; // Ensure these are the same as the size declaration (size doesn't take variables)
- int SliderWidth = 150;
- int SliderHeight = 30;
- int ButtonWidth = 40;
- int ButtonHeight = 20;
- int ToggleWidth = 80;
- int ToggleHeight = 40;
- int SmallHorizontalGap = 50;
- int SmallVerticalGap = 80;
- int BigHorizontalGap = 110;
- int BigVerticalGap = 80;
- int AccordionWidth = 800;
- Accordion accordion;
- boolean SideorFrontToggle = true;
- float FurnSwitch;
- int FurnSwitchValue = 0;
- Textarea furnswitchlabel;
- float FurnObjectSwitch;
- int FurnObjectSwitchValue = 0;
- float NextPointSwitch;
- int NextPointSwitchValue = 0;
- float RecResetSwitch;
- int RecResetSwitchValue = 0;
- float WardrobeRecBake;
- int WardrobeRecBakeValue = 0;
- float ShelfRecBake;
- int ShelfRecBakeValue = 0;
- float DeskRecBake;
- int DeskRecBakeValue = 0;
- Slider HorizontalPoint;
- float HorizontalPointValue;
- Slider VerticalPoint;
- float VerticalPointValue;
- float ResetLegLines;
- int ResetLegLinesValue = 0;
- boolean CreateOuterFrame = false;
- float BakeOuterFrame;
- int BakeOuterFrameValue = 0;
- boolean WTopShelfToggle = false;
- boolean WBottomShelfToggle = false;
- Slider WTopShelfHeight;
- float WTopShelfHeightValue;
- Slider WBottomShelfHeight;
- float WBottomShelfHeightValue;
- float WMaterialSelection;
- int WMaterialSelectionValue = 0;
- float BakeWardrobe;
- int BakeWardrobeValue = 0;
- float SMaterialSelection;
- int SMaterialSelectionValue = 0;
- boolean ShelfLeftPanel = false;
- boolean ShelfRightPanel = false;
- Slider NumberOfShelves;
- float NumberOfShelvesValue;
- Slider ShelfThickness;
- float ShelfThicknessValue;
- float ShelfType;
- int ShelfTypeValue = 0;
- float RemovePanelOptions;
- int RemovePanelOptionsValue = 0;
- Slider RemovePanelOptionsSlider;
- float RemovePanelOptionsSliderValue;
- boolean ShelvesInOrOut = false;
- Slider ShelvesInOrOutRunner;
- float ShelvesInOrOutRunnerValue;
- Slider ShelvesRunnerDistance;
- float ShelvesRunnerDistanceValue;
- Slider ShelvesCornerRadius;
- float ShelvesCornerRadiusValue;
- float ShelvesMaterialOptions;
- int ShelvesMaterialOptionsValue = 0;
- float ShelvesBake;
- int ShelvesBakeValue = 0;
- float BackingStyle;
- int BackingStyleValue = 0;
- Slider BackingEdgeDistance;
- float BackingEdgeDistanceValue;
- Slider NumberofCirclesX;
- float NumberofCirclesXValue;
- Slider NumberofCirclesY;
- float NumberofCirclesYValue;
- Slider CircleHoleSize;
- float CircleHoleSizeValue;
- boolean CircleBackBake = false;
- Slider NumberOfSlats;
- float NumberOfSlatsValue;
- Slider SlatWidth;
- float SlatWidthValue;
- Slider SlatAngle;
- float SlatAngleValue;
- boolean SlatBackBake = false;
- float BackingMaterial;
- int BackingMaterialValue = 0;
- float BackingFinalBake;
- int BackingFinalBakeValue = 0;
- int blue = color(40, 50 ,240);
- int grey = color(120, 120, 120);
- int green = color(50, 255, 68);
- int lightgrey = color(230, 230, 230);
- int text = 80;
- void setup() {
- // Setting up fonts
- size(1200, 750);
- cp5 = new ControlP5(this);
- // change the default font to Verdana
- PFont pfont = createFont("Arial",20,true); // use true/false for smooth/no-smooth
- ControlFont font = new ControlFont(pfont,241);
- // change the original colors
- cp5.setColorForeground(0xff65FF9C);
- cp5.setColorBackground(0xff476652);
- cp5.setColorActive(0xff1CFF69);
- oscP5 = new OscP5(this, 6882);
- myBroadcastLocation = new NetAddress("localhost", 6884);
- //Setting up the Accordion
- Group g1 = cp5.addGroup("WardrobeGroup")
- .setBackgroundColor(color(200, 200, 200))
- .setBackgroundHeight(380)
- .setCaptionLabel("Wardrobe Options")
- ;
- Group g2 = cp5.addGroup("ShelfGroup")
- .setBackgroundColor(color(220, 220, 220))
- .setBackgroundHeight(400)
- .setCaptionLabel("Shelving Options")
- ;
- Group g3 = cp5.addGroup("BackingGroup")
- .setBackgroundColor(color(200, 200, 200))
- .setBackgroundHeight(400)
- .setCaptionLabel("Backing Options")
- ;
- Group g4 = cp5.addGroup("RectangleGroup")
- .setBackgroundColor(color(lightgrey))
- .setBackgroundHeight(200)
- .setPosition(270,20)
- .setSize(880 , 250)
- .setCaptionLabel("Create Rectangles for Wardrobes, Shelves or Desks")
- ;
- Group g5 = cp5.addGroup("Core Switch Options")
- .setBackgroundColor(color(lightgrey))
- .setBackgroundHeight(250)
- .setPosition(20 , 20)
- .setSize(230 , 250)
- .setCaptionLabel("Set the main toggles")
- ;
- // add g1, g2, and g3 to the accordion.
- accordion = cp5.addAccordion("acc")
- .setPosition(20,290)
- .setWidth(AccordionWidth)
- .addItem(g1)
- .addItem(g2)
- .addItem(g3)
- ;
- //Side or Front Toggle
- cp5.addToggle("SideorFrontToggle")
- .setPosition(20,25)
- .setSize(ToggleWidth,ToggleHeight)
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .setCaptionLabel("")
- .moveTo(g5)
- ;
- cp5.addTextarea("SideorFrontText")
- .setPosition(30+ToggleWidth,28)
- .setSize(130,90)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Work on the Side or Front")
- .setFont(createFont("arial",14))
- .moveTo(g5)
- ;
- // Button for changing the type of furniture being edited
- cp5.addButton("FurnSwitch")
- .setPosition(20,SmallVerticalGap+10)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g5)
- ;
- cp5.addTextarea("SwitchFurnitureType")
- .setPosition(20+ButtonWidth*1.2,SmallVerticalGap+10)
- .setSize(150,60)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Switch the Type of Furniture")
- .setFont(createFont("arial",14))
- .moveTo(g5)
- ;
- // Button for changing which piece of furniture of that type you're editing
- cp5.addButton("FurnObjectSwitch")
- .setPosition(20,SmallVerticalGap*2)
- .setCaptionLabel("")
- .setSize(ButtonWidth, ButtonWidth)
- .moveTo(g5)
- ;
- cp5.addTextarea("SwitchObject")
- .setPosition(20+ButtonWidth*1.2,SmallVerticalGap*2)
- .setSize(150,60)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Switch Between Objects of That Type")
- .setFont(createFont("arial",14))
- .moveTo(g5)
- ;
- // Horizontal Slider
- cp5.addSlider("HorizontalPoint")
- .setPosition(20, SliderHeight*1.5)
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,1)
- .setValue(0)
- .moveTo(g4)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("HoriPoint")
- .setPosition(20, 20)
- .setSize(250,30)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Move Selection Point Horizontally")
- .setFont(createFont("arial",14))
- .moveTo(g4)
- ;
- // Vertical Slider
- cp5.addSlider("VerticalPoint")
- .setPosition(20, SliderHeight*3)
- .setSize(SliderHeight,SliderWidth)
- .setRange(0,1)
- .setValue(0)
- .setCaptionLabel("")
- .moveTo(g4)
- ;
- cp5.addTextarea("VertiPoint")
- .setPosition(30+SliderHeight, SliderHeight*3)
- .setSize(150,60)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Move Selection Point Vertically")
- .setFont(createFont("arial",14))
- .moveTo(g4)
- ;
- // Button for moving to the next point of the framing rectange
- cp5.addButton("NextPointSwitch")
- .setPosition(40+SliderHeight, ((SliderHeight*3)+60))
- .setSize(ButtonWidth-10, ButtonWidth-10)
- .setCaptionLabel("")
- .setGroup(g4)
- ;
- cp5.addTextarea("Next Switch Text")
- .setPosition(40+SliderHeight+ButtonWidth, ((SliderHeight*3)+62))
- .setSize(150,60)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Move on to the Next Point to Create")
- .setFont(createFont("arial",12))
- .moveTo(g4)
- ;
- // Button for moving to the next point of the framing rectange
- cp5.addButton("RecResetSwitch")
- .setPosition(40+SliderHeight, ((SliderHeight*3)+110))
- .setSize(ButtonWidth-10, ButtonWidth-10)
- .setCaptionLabel("")
- .setGroup(g4)
- ;
- cp5.addTextarea("Next Switch")
- .setPosition(40+SliderHeight+ButtonWidth, ((SliderHeight*3)+112))
- .setSize(150,60)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Reset Rectangle Points and Start Again")
- .setFont(createFont("arial",12))
- .moveTo(g4)
- ;
- // Button for backing wardrobe rectangle
- cp5.addButton("WardrobeRecBake")
- .setPosition(SliderWidth+BigHorizontalGap+ButtonWidth, SliderHeight*2)
- .setSize(ButtonWidth, ButtonWidth)
- .moveTo(g4)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("WardrobeBakeText")
- .setPosition(SliderWidth+BigHorizontalGap+10+ButtonWidth*2, 5+SliderHeight*2)
- .setSize(250,40)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Make the Rectangle a Wardrobe")
- .setFont(createFont("arial",16))
- .moveTo(g4)
- ;
- // Button for baking shelf rectangle
- cp5.addButton("ShelfRecBake")
- .setPosition(SliderWidth+BigHorizontalGap+ButtonWidth, SliderHeight*2+ButtonWidth+20)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g4)
- ;
- cp5.addTextarea("ShelfBakeText")
- .setPosition(SliderWidth+BigHorizontalGap+10+ButtonWidth*2, SliderHeight*2+ButtonWidth+25)
- .setSize(240,40)
- .setLineHeight(16)
- .setColor(color(text))
- .setText("Make the Rectangle a Shelf")
- .setFont(createFont("arial",16))
- .moveTo(g4)
- ;
- /* // Button for baking desk rectangle
- cp5.addButton("DeskRecBake")
- .setPosition(SliderWidth+BigHorizontalGap*2, SliderHeight+SmallVerticalGap*2)
- .setSize(ButtonWidth, ButtonWidth)
- .moveTo(g4)
- ;
- */
- // Reset Leg Lines
- cp5.addButton("ResetLegLines")
- .setPosition(SliderWidth+BigHorizontalGap*4+30, SliderHeight)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g4)
- ;
- cp5.addTextarea("ResetLegsText")
- .setPosition(SliderWidth+BigHorizontalGap*4+40+ButtonWidth, SliderHeight+7)
- .setSize(200,40)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Reset Created Leg Lines")
- .setFont(createFont("arial",14))
- .moveTo(g4)
- ;
- // Create Frame
- cp5.addToggle("CreateOuterFrame")
- .setPosition(SliderWidth+BigHorizontalGap*4+30, SliderHeight+SmallVerticalGap)
- .setSize(ToggleWidth, ToggleHeight)
- .setCaptionLabel("")
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .moveTo(g4)
- ;
- cp5.addTextarea("CreateFrameText")
- .setPosition(SliderWidth+BigHorizontalGap*4+40+ToggleWidth, SmallVerticalGap+SliderHeight+2)
- .setSize(200,50)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Create the Outer Shelf Framing")
- .setFont(createFont("arial",14))
- .moveTo(g4)
- ;
- // Bake Leg Frame
- cp5.addButton("BakeOuterFrame")
- .setPosition(SliderWidth+BigHorizontalGap*4+30, SliderHeight+SmallVerticalGap*2)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g4)
- ;
- cp5.addTextarea("BakeFrameText")
- .setPosition(SliderWidth+BigHorizontalGap*4+40+ButtonWidth, SmallVerticalGap*2+SliderHeight+2)
- .setSize(200,50)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Bake the Outer Shelf Framing")
- .setFont(createFont("arial",14))
- .moveTo(g4)
- ;
- //Wardrobe Top Shelf Toggle
- cp5.addToggle("WTopShelfToggle")
- .setPosition(SmallHorizontalGap, SmallVerticalGap)
- .setSize(ToggleWidth,ToggleHeight)
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .setCaptionLabel("")
- .moveTo(g1)
- ;
- cp5.addTextarea("WTopToggleText")
- .setPosition(SmallHorizontalGap+ToggleWidth+20, SmallVerticalGap)
- .setSize(130,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Do You Want a Top Shelf?")
- .setFont(createFont("arial",14))
- .moveTo(g1)
- ;
- //Wardrobe Bottom Shelf Toggle
- cp5.addToggle("WBottomShelfToggle")
- .setPosition(SmallHorizontalGap, SmallVerticalGap*3)
- .setSize(ToggleWidth,ToggleHeight)
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .setCaptionLabel("")
- .moveTo(g1)
- ;
- cp5.addTextarea("WBottomToggleText")
- .setPosition(SmallHorizontalGap+ToggleWidth+20, SmallVerticalGap*3)
- .setSize(130,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Do You Want a Bottom Shelf?")
- .setFont(createFont("arial",14))
- .moveTo(g1)
- ;
- //Wardrobe Top Shelf Height
- cp5.addSlider("WTopShelfHeight")
- .setPosition(SmallHorizontalGap*5.5, 25)
- .setSize(SliderHeight,SliderWidth)
- .setRange(3,10)
- .setValue(9)
- .setCaptionLabel("")
- .moveTo(g1)
- ;
- cp5.addTextarea("WTopHeightText")
- .setPosition(SmallHorizontalGap*5.5+SliderHeight+20, SmallVerticalGap)
- .setSize(130,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("How High Do You Want That Shelf?")
- .setFont(createFont("arial",14))
- .moveTo(g1)
- ;
- //Wardrobe Bottom Shelf Height
- cp5.addSlider("WBottomShelfHeight")
- .setPosition(SmallHorizontalGap*5.5, SliderWidth+25+20)
- .setSize(SliderHeight,SliderWidth)
- .setRange(3,10)
- .setValue(9)
- .setCaptionLabel("")
- .moveTo(g1)
- ;
- cp5.addTextarea("WBottomHeightText")
- .setPosition(SmallHorizontalGap*5.5+SliderHeight+20, SmallVerticalGap*3)
- .setSize(130,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("How High Do You Want That Shelf?")
- .setFont(createFont("arial",14))
- .moveTo(g1)
- ;
- // WardrobeMaterialSelection
- cp5.addButton("WMaterialSelection")
- .setPosition(SmallHorizontalGap*11 , SmallVerticalGap*1.5)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g1)
- ;
- cp5.addTextarea("WMatSelectText")
- .setPosition(SmallHorizontalGap*11+ButtonWidth+10 , SmallVerticalGap*1.5)
- .setSize(130,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Change the Wardrobe Material")
- .setFont(createFont("arial",14))
- .moveTo(g1)
- ;
- // Bake Wardrobe (-backing)
- cp5.addButton("BakeWardrobe")
- .setPosition(SmallHorizontalGap*11 , SmallVerticalGap*3)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g1)
- ;
- cp5.addTextarea("WBakeText")
- .setPosition(SmallHorizontalGap*11+ButtonWidth+10 , SmallVerticalGap*3)
- .setSize(130,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Bake the Wardrobe")
- .setFont(createFont("arial",14))
- .moveTo(g1)
- ;
- // Shelf Material Selection
- cp5.addButton("SMaterialSelection")
- .setPosition(20 , 80+ToggleHeight*6)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("ShelfOuterMaterialSwitch")
- .setPosition(30+ButtonWidth, 80+ToggleHeight*6)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Shelf Outer Material Switch")
- .setFont(createFont("arial",12))
- .moveTo(g2)
- ;
- //Shelf Left Panel Toggle
- cp5.addToggle("ShelfLeftPanel")
- .setPosition(20, 20)
- .setSize(ToggleWidth,ToggleHeight)
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("ShelfLeftText")
- .setPosition(20 + ToggleWidth + 10 , 20)
- .setSize(130,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Do You Want a Left Outer Panel?")
- .setFont(createFont("arial",14))
- .moveTo(g2)
- ;
- cp5.addToggle("ShelfRightPanel")
- .setPosition(20 , 20+ToggleHeight+20)
- .setSize(ToggleWidth,ToggleHeight)
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("ShelfRightText")
- .setPosition(20 + ToggleWidth + 10 , 20+ToggleHeight+20)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Do You Want a Right Outer Panel?")
- .setFont(createFont("arial",14))
- .moveTo(g2)
- ;
- // Number of Shelves
- cp5.addSlider("NumberOfShelves")
- .setPosition(20, 60+ToggleHeight*2)
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,9)
- .setValue(2)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("Number of Shelves Text")
- .setPosition(20 + SliderWidth + 10 , 65+ToggleHeight*2)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Number of Shelves")
- .setFont(createFont("arial",14))
- .moveTo(g2)
- ;
- // Shelf thickness
- cp5.addSlider("ShelfThickness")
- .setPosition(20, 80+ToggleHeight*3)
- .setSize(SliderWidth,SliderHeight)
- .setRange(2,35)
- .setValue(10)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("ShelfthicknessText")
- .setPosition(20 + SliderWidth + 10 , 85+ToggleHeight*3)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Shelf Thickness")
- .setFont(createFont("arial",14))
- .moveTo(g2)
- ;
- // Which Shelf Type?
- cp5.addButton("ShelfType")
- .setPosition(SmallHorizontalGap*9 , 20)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("ShelfTypeText")
- .setPosition(SmallHorizontalGap*9+ButtonWidth+10 , 25)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Switch Shelf Type")
- .setFont(createFont("arial",14))
- .moveTo(g2)
- ;
- // Remove Panel Options
- cp5.addButton("RemovePanelOptions")
- .setPosition(SmallHorizontalGap*7 , SmallVerticalGap)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("RemovePanelText")
- .setPosition(SmallHorizontalGap*7+ButtonWidth+10 , SmallVerticalGap)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Remove Panels Switch - Above or Below")
- .setFont(createFont("arial",12))
- .moveTo(g2)
- ;
- // REmove panel options Slider
- cp5.addSlider("RemovePanelOptionsSlider")
- .setPosition(SmallHorizontalGap*7+(ButtonWidth-SliderHeight), SmallVerticalGap*2)
- .setSize(SliderHeight,SliderWidth)
- .setRange(0,1)
- .setValue(0)
- .moveTo(g2)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("RemovePanelSliderText")
- .setPosition(SmallHorizontalGap*7+ButtonWidth+10 , SmallVerticalGap*2+SliderHeight/2)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Where to Remove Points From")
- .setFont(createFont("arial",12))
- .moveTo(g2)
- ;
- //Shelf in or Out Toggle
- cp5.addToggle("ShelvesInOrOut")
- .setPosition(SmallHorizontalGap*11,SmallVerticalGap)
- .setSize(ToggleWidth,ToggleHeight)
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .moveTo(g2)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("ShelvesInOutText")
- .setPosition(SmallHorizontalGap*11+ToggleWidth+10 , SmallVerticalGap)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Shelves Run In or Out")
- .setFont(createFont("arial",12))
- .moveTo(g2)
- ;
- // Shelves in or out runner point
- cp5.addSlider("ShelvesInOrOutRunner")
- .setPosition(SmallHorizontalGap*11+(ToggleWidth-SliderHeight), SmallVerticalGap*2)
- .setSize(SliderHeight,SliderWidth)
- .setRange(0,1)
- .setValue(0.5)
- .moveTo(g2)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("ShelfRunnerSliderText")
- .setPosition(SmallHorizontalGap*11+ToggleWidth+10 , SmallVerticalGap*2+SliderHeight/2)
- .setSize(150,30)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Point Shelves Run From")
- .setFont(createFont("arial",12))
- .moveTo(g2)
- ;
- //Distance shelves move from the edge
- cp5.addSlider("ShelvesRunnerDistance")
- .setPosition(SmallHorizontalGap*11+(ToggleWidth-SliderHeight)+SliderHeight+10, SmallVerticalGap*3)
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,0.99)
- .setValue(0.3)
- .moveTo(g2)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("ShelfRunnerDistanceSliderText")
- .setPosition(SmallHorizontalGap*11+ToggleWidth+25 , -10+SmallVerticalGap*3-SliderHeight/2)
- .setSize(150,30)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("How Far They Run")
- .setFont(createFont("arial",12))
- .moveTo(g2)
- ;
- // Shelves Corner Radius
- cp5.addSlider("ShelvesCornerRadius")
- .setPosition(SmallHorizontalGap*11+(ToggleWidth-SliderHeight)+SliderHeight+10, SmallVerticalGap*4)
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,100)
- .setValue(20)
- .moveTo(g2)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("ShelfCornerRadiusSliderText")
- .setPosition(SmallHorizontalGap*11+ToggleWidth+25 , -10+SmallVerticalGap*4-SliderHeight/2)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Shelf Corner Radius")
- .setFont(createFont("arial",12))
- .moveTo(g2)
- ;
- //Shelves Material Options
- cp5.addButton("ShelvesMaterialOptions")
- .setPosition(20, 100+ToggleHeight*4)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("ShelfMaterialOptionsText")
- .setPosition(30+ButtonWidth, 100+ToggleHeight*4)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Shelf Inner Material Switch")
- .setFont(createFont("arial",12))
- .moveTo(g2)
- ;
- //Shelves Bake
- cp5.addButton("ShelvesBake")
- .setPosition(SmallHorizontalGap*5 , SmallVerticalGap*4.2)
- .setSize(ButtonWidth, ButtonWidth)
- .setCaptionLabel("")
- .moveTo(g2)
- ;
- cp5.addTextarea("ShelffinalBakeText")
- .setPosition(SmallHorizontalGap*5+10+ButtonWidth, 6+SmallVerticalGap*4.2)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Bake Shelves")
- .setFont(createFont("arial",16))
- .moveTo(g2)
- ;
- // Backing style selection switch
- cp5.addButton("BackingStyle")
- .setPosition(20, 20)
- .setSize(ButtonWidth, ButtonWidth)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("BackingStyleText")
- .setPosition(20+ButtonWidth+10, 20)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Change Backing Type")
- .setFont(createFont("arial",14))
- .moveTo(g3)
- ;
- // backing distance from edge slider
- cp5.addSlider("BackingEdgeDistance")
- .setPosition(SmallHorizontalGap*4, 25)
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,1)
- .setValue(0.9)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("BackingDistanceText")
- .setPosition(SmallHorizontalGap*4+SliderWidth+10, 25)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Distance Backing Starts from the Edge")
- .setFont(createFont("arial",14))
- .moveTo(g3)
- ;
- // number of circles, x
- cp5.addSlider("NumberofCirclesX")
- .setPosition(SmallHorizontalGap, SmallVerticalGap+20 )
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,22)
- .setValue(6)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("xcirclesText")
- .setPosition(SmallHorizontalGap+SliderWidth+10, SmallVerticalGap+20+3 )
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("# of Circles, Y")
- .setFont(createFont("arial",12))
- .moveTo(g3)
- ;
- // number of circles, y
- cp5.addSlider("NumberofCirclesY")
- .setPosition(SmallHorizontalGap, SmallVerticalGap*1.5+20 )
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,22)
- .setValue(6)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("ycirclesText")
- .setPosition(SmallHorizontalGap+SliderWidth+10, SmallVerticalGap*1.5+20+3 )
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("# of Circles, X")
- .setFont(createFont("arial",12))
- .moveTo(g3)
- ;
- // circle hole size
- cp5.addSlider("CircleHoleSize")
- .setPosition(SmallHorizontalGap, SmallVerticalGap*2+20 )
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,0.95)
- .setValue(0.3)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("holesizecirclesText")
- .setPosition(SmallHorizontalGap+SliderWidth+10, SmallVerticalGap*2+20+3 )
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Circle Hole Size")
- .setFont(createFont("arial",12))
- .moveTo(g3)
- ;
- // circle bake
- cp5.addToggle("CircleBackBake")
- .setPosition(SmallHorizontalGap, SmallVerticalGap*2.5+20 )
- .setSize(ToggleWidth,ToggleHeight)
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("createcirclesText")
- .setPosition(SmallHorizontalGap+ToggleWidth+20, SmallVerticalGap*2.5+20+3 )
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Create the Hole Backing")
- .setFont(createFont("arial",14))
- .moveTo(g3)
- ;
- // number of slats
- cp5.addSlider("NumberOfSlats")
- .setPosition(SmallHorizontalGap*5+SliderWidth+10, SmallVerticalGap+20 )
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,80)
- .setValue(30)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("slatnumberText")
- .setPosition(SmallHorizontalGap*5+SliderWidth*2+20, SmallVerticalGap+20+3 )
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Number of Slats")
- .setFont(createFont("arial",12))
- .moveTo(g3)
- ;
- //slat width
- cp5.addSlider("SlatWidth")
- .setPosition(SmallHorizontalGap*5+SliderWidth+10, SmallVerticalGap*1.5+20 )
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,1)
- .setValue(0.3)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("slatwidthText")
- .setPosition(SmallHorizontalGap*5+SliderWidth*2+20, SmallVerticalGap*1.5+20+3 )
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Slat Gap Width")
- .setFont(createFont("arial",12))
- .moveTo(g3)
- ;
- // slat angle
- cp5.addSlider("SlatAngle")
- .setPosition(SmallHorizontalGap*5+SliderWidth+10, SmallVerticalGap*2+20 )
- .setSize(SliderWidth,SliderHeight)
- .setRange(0,1)
- .setValue(0)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("slatangleText")
- .setPosition(SmallHorizontalGap*5+SliderWidth*2+20, SmallVerticalGap*2+20+3 )
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Slat Angle")
- .setFont(createFont("arial",12))
- .moveTo(g3)
- ;
- // slat bake
- cp5.addToggle("SlatBackBake")
- .setPosition(SmallHorizontalGap*5+SliderWidth+10, SmallVerticalGap*2.5+20 )
- .setSize(ToggleWidth,ToggleHeight)
- .setValue(false)
- .setMode(ControlP5.SWITCH)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("slatcreateText")
- .setPosition(SmallHorizontalGap*5+SliderWidth+ToggleWidth+20, SmallVerticalGap*2.5+20+3 )
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Create the Slats")
- .setFont(createFont("arial",14))
- .moveTo(g3)
- ;
- // Shelf Material Selection
- cp5.addButton("BackingMaterial")
- .setPosition(SmallHorizontalGap*5+10+ButtonWidth, 6+SmallVerticalGap*4.2)
- .setSize(ButtonWidth, ButtonWidth)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("backingmaterialText")
- .setPosition(SmallHorizontalGap*5+10+ButtonWidth*2+10, 6+SmallVerticalGap*4.2)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Change Backing Material")
- .setFont(createFont("arial",14))
- .moveTo(g3)
- ;
- // Shelf Material Selection
- cp5.addButton("BackingFinalBake")
- .setPosition(SmallHorizontalGap*10, 6+SmallVerticalGap*4.2)
- .setSize(ButtonWidth, ButtonWidth)
- .moveTo(g3)
- .setCaptionLabel("")
- ;
- cp5.addTextarea("backingbakeText")
- .setPosition(SmallHorizontalGap*10+10+ButtonWidth, 6+SmallVerticalGap*4.2)
- .setSize(150,70)
- .setLineHeight(14)
- .setColor(color(text))
- .setText("Bake Backing Material")
- .setFont(createFont("arial",14))
- .moveTo(g3)
- ;
- }
- void draw() {
- background(150);
- //furnswitchlabel.draw(this);
- OscMessage ValueMessage = new OscMessage("/oneroom");
- //Are you wanting to edit the side or front shelving unit?
- if(SideorFrontToggle==true) {
- ValueMessage.add("0*True");
- } else {
- ValueMessage.add("0*False");
- }
- // Furniture Type Switch
- if(FurnSwitchValue == 1 ) {
- ValueMessage.add("1*True");
- delay(500);
- FurnSwitchValue = 0;
- } else {
- ValueMessage.add("1*False");
- }
- //Which Piece of that Type Switch
- if(FurnObjectSwitchValue == 1 ) {
- ValueMessage.add("2*True");
- delay(500);
- FurnObjectSwitchValue = 0;
- } else {
- ValueMessage.add("2*False");
- }
- //Horizontal Slider For Rectangle Creation
- ValueMessage.add("3*"+HorizontalPointValue);
- //Vertical Slider For Rectangle Creation
- ValueMessage.add("4*"+VerticalPointValue);
- //Switch for next point in Framing Rectangle
- if(NextPointSwitchValue == 1 ) {
- ValueMessage.add("5*True");
- delay(500);
- NextPointSwitchValue = 0;
- } else {
- ValueMessage.add("5*False");
- }
- //Switch for resetting rectangle points
- if(RecResetSwitchValue == 1 ) {
- ValueMessage.add("6*True");
- delay(500);
- RecResetSwitchValue = 0;
- } else {
- ValueMessage.add("6*False");
- }
- //Switch for baking the wardrobe rectangle
- if(WardrobeRecBakeValue == 1 ) {
- ValueMessage.add("7*True");
- delay(500);
- WardrobeRecBakeValue = 0;
- } else {
- ValueMessage.add("7*False");
- }
- //Switch for baking the shelf rectangle
- if(ShelfRecBakeValue == 1 ) {
- ValueMessage.add("8*True");
- delay(500);
- ShelfRecBakeValue = 0;
- } else {
- ValueMessage.add("8*False");
- }
- //Switch for baking the desk rectangle
- if(DeskRecBakeValue == 1 ) {
- ValueMessage.add("9*True");
- delay(500);
- DeskRecBakeValue = 0;
- } else {
- ValueMessage.add("9*False");
- }
- //Switch Resetting the Leg Lines
- if(ResetLegLinesValue == 1 ) {
- ValueMessage.add("10*True");
- delay(500);
- ResetLegLinesValue = 0;
- } else {
- ValueMessage.add("10*False");
- }
- //Switch for creating the outer shelf frames
- if(CreateOuterFrame==true) {
- ValueMessage.add("11*True");
- } else {
- ValueMessage.add("11*False");
- }
- //Switch for baking the outer frame
- if(BakeOuterFrameValue == 1 ) {
- ValueMessage.add("12*True");
- delay(500);
- BakeOuterFrameValue = 0;
- } else {
- ValueMessage.add("12*False");
- }
- //Wardrobe - Do you want a top shelf?
- if(WTopShelfToggle==true) {
- ValueMessage.add("13*True");
- } else {
- ValueMessage.add("13*False");
- }
- //Wardrobe - Do you want a bottom shelf?
- if(WBottomShelfToggle==true) {
- ValueMessage.add("14*True");
- } else {
- ValueMessage.add("14*False");
- }
- //Wardrobe Top Shelf Height
- ValueMessage.add("15*"+WTopShelfHeightValue);
- //Wardrobe Bottom Shelf Height
- ValueMessage.add("16*"+WBottomShelfHeightValue);
- //Wardrobe MAterial Selection
- if(WMaterialSelectionValue == 1 ) {
- ValueMessage.add("17*True");
- delay(500);
- WMaterialSelectionValue = 0;
- } else {
- ValueMessage.add("17*False");
- }
- // Bake Wardrobe - backing
- if(BakeWardrobeValue == 1 ) {
- ValueMessage.add("18*True");
- delay(500);
- BakeWardrobeValue = 0;
- } else {
- ValueMessage.add("18*False");
- }
- // Shelf Material Selection
- if(SMaterialSelectionValue == 1 ) {
- ValueMessage.add("19*True");
- delay(500);
- SMaterialSelectionValue = 0;
- } else {
- ValueMessage.add("19*False");
- }
- // Shelf Left Toggle
- if(ShelfLeftPanel==true) {
- ValueMessage.add("20*True");
- } else {
- ValueMessage.add("20*False");
- }
- //Shelf Right Toggle
- if(ShelfRightPanel==true) {
- ValueMessage.add("21*True");
- } else {
- ValueMessage.add("21*False");
- }
- //Number of Shelves
- ValueMessage.add("22*"+NumberOfShelvesValue);
- // Shelf Thickness
- ValueMessage.add("23*"+ShelfThicknessValue);
- // Which shelf type button
- if(ShelfTypeValue == 1 ) {
- ValueMessage.add("24*True");
- delay(500);
- ShelfTypeValue = 0;
- } else {
- ValueMessage.add("24*False");
- }
- // REmove panel options toggle
- if(RemovePanelOptionsValue == 1 ) {
- ValueMessage.add("25*True");
- delay(500);
- RemovePanelOptionsValue = 0;
- } else {
- ValueMessage.add("25*False");
- }
- //Remove Panel Options Slider
- ValueMessage.add("26*"+RemovePanelOptionsSliderValue);
- // Shelves in or out
- if(ShelvesInOrOut==true) {
- ValueMessage.add("27*True");
- } else {
- ValueMessage.add("27*False");
- }
- // Shelves in or out runner
- ValueMessage.add("28*"+ShelvesInOrOutRunnerValue);
- //Shelves runner distance
- ValueMessage.add("29*"+ShelvesRunnerDistanceValue);
- //Shelves Corner Radius
- ValueMessage.add("30*"+ShelvesCornerRadiusValue);
- // Shelf Material Selection
- if(ShelvesMaterialOptionsValue == 1 ) {
- ValueMessage.add("31*True");
- delay(500);
- ShelvesMaterialOptionsValue = 0;
- } else {
- ValueMessage.add("31*False");
- }
- // bake the shelves
- if(ShelvesBakeValue == 1 ) {
- ValueMessage.add("32*True");
- delay(500);
- ShelvesBakeValue = 0;
- } else {
- ValueMessage.add("32*False");
- }
- // backing type selection
- if(BackingStyleValue == 1 ) {
- ValueMessage.add("33*True");
- delay(500);
- BackingStyleValue = 0;
- } else {
- ValueMessage.add("33*False");
- }
- //Distance backing edits start from the edge
- ValueMessage.add("34*"+BackingEdgeDistanceValue);
- //number of circles, x
- ValueMessage.add("35*"+NumberofCirclesXValue);
- //number of circles, y
- ValueMessage.add("36*"+NumberofCirclesYValue);
- //number of circles, x
- ValueMessage.add("37*"+CircleHoleSizeValue);
- //Are you wanting to edit the side or front shelving unit?
- if(CircleBackBake==true) {
- ValueMessage.add("38*True");
- } else {
- ValueMessage.add("38*False");
- }
- //number of slats
- ValueMessage.add("39*"+NumberOfSlatsValue);
- // width of slats
- ValueMessage.add("40*"+SlatWidthValue);
- // slat angle
- ValueMessage.add("41*"+SlatAngleValue);
- // slat bake
- if(SlatBackBake==true) {
- ValueMessage.add("42*True");
- } else {
- ValueMessage.add("42*False");
- }
- // backing material selection
- if(BackingMaterialValue == 1 ) {
- ValueMessage.add("43*True");
- delay(500);
- BackingMaterialValue = 0;
- } else {
- ValueMessage.add("43*False");
- }
- // final backing bae
- if(BackingFinalBakeValue == 1 ) {
- ValueMessage.add("44*True");
- delay(500);
- BackingFinalBakeValue = 0;
- } else {
- ValueMessage.add("44*False");
- }
- delay(80);
- oscP5.send(ValueMessage, myBroadcastLocation);
- }
- public void FurnSwitch(int value) {
- FurnSwitchValue = 1;
- }
- public void FurnObjectSwitch(int value) {
- FurnObjectSwitchValue = 1;
- }
- public void NextPointSwitch(int value) {
- NextPointSwitchValue = 1;
- }
- public void RecResetSwitch(int value) {
- RecResetSwitchValue = 1;
- }
- public void WardrobeRecBake(int value) {
- WardrobeRecBakeValue = 1;
- }
- public void ShelfRecBake(int value) {
- ShelfRecBakeValue = 1;
- }
- public void DeskRecBake(int value) {
- DeskRecBakeValue = 1;
- }
- public void ResetLegLines(int value) {
- ResetLegLinesValue = 1;
- }
- public void BakeOuterFrame(int value) {
- BakeOuterFrameValue = 1;
- }
- public void WMaterialSelection(int value) {
- WMaterialSelectionValue = 1;
- }
- public void BakeWardrobe(int value) {
- BakeWardrobeValue = 1;
- }
- public void SMaterialSelection(int value) {
- SMaterialSelectionValue = 1;
- }
- public void ShelfType(int value) {
- ShelfTypeValue = 1;
- }
- public void RemovePanelOptions(int value) {
- RemovePanelOptionsValue = 1;
- }
- public void ShelvesMaterialOptions(int value) {
- ShelvesMaterialOptionsValue = 1;
- }
- public void ShelvesBake(int value) {
- ShelvesBakeValue = 1;
- }
- public void BackingStyle(int value) {
- BackingStyleValue = 1;
- }
- public void BackingMaterial(int value) {
- BackingMaterialValue = 1;
- }
- public void BackingFinalBake(int value) {
- BackingFinalBakeValue = 1;
- }
- public void controlEvent(ControlEvent theEvent) {
- println(
- "## controlEvent / id:"+theEvent.controller().getId()+
- " / name:"+theEvent.controller().getName()+
- " / value:"+theEvent.controller().getValue() );
- if(theEvent.controller().getName()=="HorizontalPoint") {
- HorizontalPointValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="VerticalPoint") {
- VerticalPointValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="WTopShelfHeight") {
- WTopShelfHeightValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="WBottomShelfHeight") {
- WBottomShelfHeightValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="NumberOfShelves") {
- NumberOfShelvesValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="ShelfThickness") {
- ShelfThicknessValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="RemovePanelOptionsSlider") {
- RemovePanelOptionsSliderValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="ShelvesInOrOutRunner") {
- ShelvesInOrOutRunnerValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="ShelvesRunnerDistance") {
- ShelvesRunnerDistanceValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="ShelvesCornerRadius") {
- ShelvesCornerRadiusValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="BackingEdgeDistance") {
- BackingEdgeDistanceValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="NumberofCirclesX") {
- NumberofCirclesXValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="NumberofCirclesY") {
- NumberofCirclesYValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="CircleHoleSize") {
- CircleHoleSizeValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="NumberOfSlats") {
- NumberOfSlatsValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="SlatWidth") {
- SlatWidthValue = theEvent.getValue();
- }
- if(theEvent.controller().getName()=="SlatAngle") {
- SlatAngleValue = theEvent.getValue();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement