Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import wblut.core.*;
- import wblut.geom.*;
- import wblut.hemesh.*;
- import wblut.math.*;
- import wblut.nurbs.*;
- import wblut.processing.*;
- import peasy.*;
- import controlP5.*;
- WB_Render render;
- WB_SelectRender3D selectRender;
- HE_Mesh mesh, copymesh;
- HE_MeshCollection meshColl;
- PeasyCam cam;
- ControlP5 cp5;
- float extrudeAmount = 0.0;
- float insetAmount = 0.0;
- void setup() {
- size(400, 400, P3D);
- cam = new PeasyCam(this, 500);
- cam.rotateY(PI/4);
- cam.rotateX(PI/4);
- mesh = null;
- copymesh = null;
- render = new WB_Render(this);
- selectRender = new WB_SelectRender3D(this);
- meshColl = new HE_MeshCollection();
- HEC_Creator creator = new HEC_Cube().setEdge(100);
- HE_Mesh m = new HE_Mesh(creator);
- for (float x = 0; x < 150*10; x+=150) {
- for (float y = 0; y < 150*10; y+=150) {
- HE_Mesh a = m.moveTo(new WB_Point(x, 0, y));
- meshColl.add(a);
- }
- }
- float posX = 10;
- float posY = 10;
- int buttonSizeX = 80;
- int buttonSizeY = 15;
- float buttonGap = 3;
- cp5 = new ControlP5(this);
- cp5.setAutoDraw(false);
- cp5.addSlider("extrudeAmount")
- .setSize(buttonSizeX, buttonSizeY)
- .setPosition(posX+buttonGap*0+buttonSizeX*0, posY+buttonGap*0+buttonSizeY*0)
- .setRange(-100, 100);
- cp5.addSlider("insetAmount")
- .setSize(buttonSizeX, buttonSizeY)
- .setPosition(posX+buttonGap*0+buttonSizeX*0, posY+buttonGap*1+buttonSizeY*1)
- .setRange(0, 1);
- }
- void draw() {
- if (cp5.isMouseOver()) cam.setActive(false);
- else cam.setActive(true);
- //modifyMesh();
- background(30);
- fill(255);
- noStroke();
- render.drawFaces(meshColl);
- stroke(0);
- render.drawEdges(meshColl);
- fill(255,0,0);
- noStroke();
- render.drawFaces(mesh);
- cam.beginHUD();
- cp5.draw();
- cam.endHUD();
- }
- void modifyMesh() {
- //HEM_Modifier modifier = new HEM_CenterSplit().setChamfer(insetAmount);
- copymesh = mesh.copy();
- //copymesh.modify(modifier);
- HEM_Modifier modifier = new HEM_Extrude()
- .setDistance(extrudeAmount)
- .setChamfer(insetAmount)
- .setHardEdgeChamfer(100);
- copymesh.modify(modifier);
- }
- void mouseMoved() {
- HE_Mesh m = null;
- HE_MeshIterator it = meshColl.mItr();
- while(it.hasNext()) {
- m = it.next();
- selectRender.drawFaces(m);
- if(selectRender.getKey(mouseX, mouseY) > 0) break;
- }
- mesh = m;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement