From b9b7b3d47ba1edbb5595d749cf0d0a77a3ff7c5b Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Tue, 25 Feb 2014 12:46:56 -0800 Subject: [PATCH] Model is now in processing, not glucose --- DanUtil.pde | 6 +- SugarCubes.pde | 23 ++- TestPatterns.pde | 69 -------- _Grizzly.pde | 14 +- _Internals.pde | 9 +- _Mappings.pde | 5 +- _Model.pde | 365 ++++++++++++++++++++++++++++++++++++++++++ _UIImplementation.pde | 2 +- code/GLucose.jar | Bin 23598 -> 3986 bytes code/oscP5.jar | Bin 52005 -> 0 bytes 10 files changed, 396 insertions(+), 97 deletions(-) create mode 100644 _Model.pde delete mode 100755 code/oscP5.jar diff --git a/DanUtil.pde b/DanUtil.pde index 382cf97..78dc6d7 100644 --- a/DanUtil.pde +++ b/DanUtil.pde @@ -287,7 +287,7 @@ class dLattice { dPixel getClosest(PVector p) { dVertex v = null; int pos=0; float d = 500; - for (Strip s : glucose.model.strips) { + for (Strip s : model.strips) { float nd = pd2(s.points.get(0),p.x,p.y,p.z); if (nd < d) { v=v0(s); d=nd; pos=0; } if (nd > 30) continue; for (int k=0; k<=15; k++) { @@ -300,13 +300,13 @@ class dLattice { dLattice() { lattice=this; - for (Strip s : glucose.model.strips) { + for (Strip s : model.strips) { dVertex vrtx0 = new dVertex(s,s.points.get(0 )); s.obj1=vrtx0; dVertex vrtx1 = new dVertex(s,s.points.get(15)); s.obj2=vrtx1; vrtx0.setOpp(vrtx1); vrtx1.setOpp(vrtx0); } - for (Strip s1 : glucose.model.strips) { for (Strip s2 : glucose.model.strips) { + for (Strip s1 : model.strips) { for (Strip s2 : model.strips) { if (s1.points.get(0).index < s2.points.get(0).index) continue; int c=0; if (sameSame(s1,s2)) { v0(s1).same = v0(s2); v1(s1).same = v1(s2); diff --git a/SugarCubes.pde b/SugarCubes.pde index ff85065..5fe3c7b 100644 --- a/SugarCubes.pde +++ b/SugarCubes.pde @@ -15,8 +15,8 @@ * * Welcome to the Sugar Cubes! This Processing sketch is a fun place to build * animations, effects, and interactions for the platform. Most of the icky - * code guts are embedded in the GLucose library extension. If you're an - * artist, you shouldn't need to worry about any of that. + * code guts are embedded in the HeronLX library, or files prefixed with + * an underscore. If you're an artist, you shouldn't need to worry about that. * * Below, you will find definitions of the Patterns, Effects, and Interactions. * If you're an artist, create a new tab in the Processing environment with @@ -31,7 +31,7 @@ LXPattern[] patterns(GLucose glucose) { // Slee // new Cathedrals(glucose), - new Swarm(glucose), + new Swarm(glucose), new MidiMusic(glucose), new Pulley(glucose), @@ -51,8 +51,8 @@ LXPattern[] patterns(GLucose glucose) { new CubeEQ(glucose).setEligible(false), new PianoKeyPattern(glucose).setEligible(false), - // AntonK - new AKPong(glucose), + // AntonK + new AKPong(glucose), // DanH new Noise(glucose), @@ -65,7 +65,7 @@ LXPattern[] patterns(GLucose glucose) { // Alex G - // Tim + // Tim new TimMetronome(glucose), new TimPlanes(glucose), new TimPinwheels(glucose), @@ -99,8 +99,6 @@ LXPattern[] patterns(GLucose glucose) { new Swim(glucose), new Balance(glucose), - - // Ben // new Sandbox(glucose), new TowerParams(glucose), @@ -108,7 +106,7 @@ LXPattern[] patterns(GLucose glucose) { new GranimTestPattern2(glucose), // Shaheen - //new HelixPattern(glucose).setEligible(false), + // new HelixPattern(glucose).setEligible(false), // Sam new JazzRainbow(glucose), @@ -123,9 +121,6 @@ LXPattern[] patterns(GLucose glucose) { new TestTowerPattern(glucose), new TestProjectionPattern(glucose), new TestStripPattern(glucose), - new TestBassMapping(glucose), - new TestFloorMapping(glucose), - new TestSpeakerMapping(glucose), // new TestHuePattern(glucose), // new TestXPattern(glucose), // new TestYPattern(glucose), @@ -144,8 +139,8 @@ LXTransition[] transitions(GLucose glucose) { new SwipeTransition(glucose), new FadeTransition(lx), // new SubtractTransition(glucose), // similar to multiply - dh -// new BurnTransition(glucose), // similar to multiply - dh -// new ScreenTransition(glucose), // same as add -dh +// new BurnTransition(glucose), // similar to multiply - dh +// new ScreenTransition(glucose), // same as add -dh // new SoftLightTransition(glucose), // same as overlay -dh }; } diff --git a/TestPatterns.pde b/TestPatterns.pde index d76aeda..106cb16 100644 --- a/TestPatterns.pde +++ b/TestPatterns.pde @@ -15,75 +15,6 @@ abstract class TestPattern extends SCPattern { } } -class TestSpeakerMapping extends TestPattern { - TestSpeakerMapping(GLucose glucose) { - super(glucose); - } - - public void run(double deltaMs) { - int h = 0; - for (Speaker speaker : model.speakers) { - for (Strip strip : speaker.strips) { - float b = 100; - for (LXPoint p : strip.points) { - colors[p.index] = lx.hsb(h % 360, 100, b); - b = max(0, b - 10); - } - h += 70; - } - } - } - -} - -class TestBassMapping extends TestPattern { - TestBassMapping(GLucose glucose) { - super(glucose); - } - - public void run(double deltaMs) { - int[] strips = { 2, 1, 0, 3, 13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6 }; - int h = 0; - for (int si : strips) { - float b = 100; - for (LXPoint p : model.bassBox.strips.get(si).points) { - colors[p.index] = lx.hsb(h % 360, 100, b); - b = max(0, b - 10); - } - h += 70; - } - } -} - -class TestFloorMapping extends TestPattern { - TestFloorMapping(GLucose glucose) { - super(glucose); - } - - public void run(double deltaMs) { - int[] strutIndices = {6, 5, 4, 3, 2, 1, 0, 7}; - int h = 0; - for (int si : strutIndices) { - float b = 100; - for (LXPoint p : model.bassBox.struts.get(si).points) { - colors[p.index] = lx.hsb(h % 360, 100, b); - b = max(0, b - 10); - } - h += 50; - } - int[] floorIndices = {0, 1, 2, 3}; - h = 0; - for (int fi : floorIndices) { - float b = 100; - for (LXPoint p : model.boothFloor.strips.get(fi).points) { - colors[p.index] = lx.hsb(h, 100, b); - b = max(0, b - 3); - } - h += 90; - } - } -} - class TestStripPattern extends TestPattern { SinLFO d = new SinLFO(4, 40, 4000); diff --git a/_Grizzly.pde b/_Grizzly.pde index f376fab..25d390f 100644 --- a/_Grizzly.pde +++ b/_Grizzly.pde @@ -8,9 +8,8 @@ * * EXPERTS ONLY!! EXPERTS ONLY!! * - * If you are an artist, you may ignore this file! It just sets - * up the framework to run the patterns. Should not need modification - * for general animation work. + * If you are an artist, you may ignore this file! It contains + * the code to drive grizzly board outputs. */ GrizzlyOutput[] buildGrizzlies() throws SocketException, UnknownHostException { @@ -22,13 +21,17 @@ GrizzlyOutput[] buildGrizzlies() throws SocketException, UnknownHostException { }; } +/** + * Grizzly Output, sends packets to one grizzly board with a fixed IP and a number + * of channels. + */ class GrizzlyOutput extends LXDatagramOutput { public final String ipAddress; private int frameNumber = 0; - GrizzlyOutput(LX lx, String ipAddress, int ... cubeIndices) throws UnknownHostException, SocketException { + public GrizzlyOutput(LX lx, String ipAddress, int ... cubeIndices) throws UnknownHostException, SocketException { super(lx); this.ipAddress = ipAddress; int channelNum = 0; @@ -51,6 +54,9 @@ class GrizzlyOutput extends LXDatagramOutput { } } +/** + * Datagram to a Grizzlyboard. A simple fixed OSC packet. + */ static class GrizzlyDatagram extends LXDatagram { private static byte[] oscString(String s) { diff --git a/_Internals.pde b/_Internals.pde index 6e985f1..1b313cc 100644 --- a/_Internals.pde +++ b/_Internals.pde @@ -14,9 +14,9 @@ */ import glucose.*; -import glucose.model.*; import heronarts.lx.*; import heronarts.lx.effect.*; +import heronarts.lx.model.*; import heronarts.lx.modulator.*; import heronarts.lx.parameter.*; import heronarts.lx.pattern.*; @@ -30,6 +30,9 @@ import ddf.minim.analysis.*; import processing.opengl.*; import rwmidi.*; import java.lang.reflect.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; final int VIEWPORT_WIDTH = 900; final int VIEWPORT_HEIGHT = 700; @@ -287,14 +290,14 @@ class UICubesLayer extends UICameraComponent { popMatrix(); noStroke(); - for (Cube c : glucose.model.cubes) { + for (Cube c : model.cubes) { drawCube(c); } noFill(); strokeWeight(2); beginShape(POINTS); - for (LXPoint p : glucose.model.points) { + for (LXPoint p : model.points) { stroke(simulationColors[p.index]); vertex(p.x, p.y, p.z); } diff --git a/_Mappings.pde b/_Mappings.pde index 53ff889..b7b6a86 100644 --- a/_Mappings.pde +++ b/_Mappings.pde @@ -43,7 +43,7 @@ public Model buildModel() { // "raw object index" is serialized by running through towermapping and then individual cube mapping below. // We can do better than this. The raw object index should be obvious from the code-- looking through the // rendered simulation and counting through cubes in mapping mode is grossly inefficient. - + List towers = new ArrayList(); Cube[] cubes = new Cube[200]; int cubeIndex = 1; @@ -72,6 +72,5 @@ public Model buildModel() { towers.add(new Tower(tower)); } - return new Model(towers, cubes, BassBox.noBassBox(), new ArrayList()); + return new Model(towers, cubes); } - diff --git a/_Model.pde b/_Model.pde new file mode 100644 index 0000000..3376246 --- /dev/null +++ b/_Model.pde @@ -0,0 +1,365 @@ +/** + * DOUBLE BLACK DIAMOND DOUBLE BLACK DIAMOND + * + * //\\ //\\ //\\ //\\ + * ///\\\ ///\\\ ///\\\ ///\\\ + * \\\/// \\\/// \\\/// \\\/// + * \\// \\// \\// \\// + * + * EXPERTS ONLY!! EXPERTS ONLY!! + * + * Contains the model definitions for the cube structures. + */ + +/** + * Top-level model of the entire sculpture. This contains a list of + * every cube on the sculpture, which forms a hierarchy of faces, strips + * and points. + */ +public static class Model extends LXModel { + + public final List towers; + public final List cubes; + public final List faces; + public final List strips; + + private final Cube[] _cubes; + + public Model(List towerList, Cube[] cubeArr) { + super(new Fixture(cubeArr)); + Fixture fixture = (Fixture) this.fixtures.get(0); + + _cubes = cubeArr; + + // Make unmodifiable accessors to the model data + List cubeList = new ArrayList(); + List faceList = new ArrayList(); + List stripList = new ArrayList(); + for (Cube cube : _cubes) { + if (cube != null) { + cubeList.add(cube); + for (Face face : cube.faces) { + faceList.add(face); + for (Strip strip : face.strips) { + stripList.add(strip); + } + } + } + } + + this.towers = Collections.unmodifiableList(towerList); + this.cubes = Collections.unmodifiableList(cubeList); + this.faces = Collections.unmodifiableList(faceList); + this.strips = Collections.unmodifiableList(stripList); + } + + private static class Fixture extends LXAbstractFixture { + + private Fixture(Cube[] cubeArr) { + for (Cube cube : cubeArr) { + if (cube != null) { + for (LXPoint point : cube.points) { + this.points.add(point); + } + } + } + } + } + + /** + * TODO(mcslee): figure out better solution + * + * @param index + * @return + */ + public Cube getCubeByRawIndex(int index) { + return _cubes[index]; + } +} + +/** + * Model of a set of cubes stacked in a tower + */ +public static class Tower extends LXModel { + /** + * Immutable list of cubes + */ + public final List cubes; + + /** + * Immutable list of faces + */ + public final List faces; + + /** + * Immutable list of strips + */ + public final List strips; + + /** + * Constructs a tower model from these cubes + * + * @param cubes Array of cubes + */ + public Tower(List cubes) { + super(cubes.toArray(new Cube[] {})); + + List cubeList = new ArrayList(); + List faceList = new ArrayList(); + List stripList = new ArrayList(); + + for (Cube cube : cubes) { + cubeList.add(cube); + for (Face face : cube.faces) { + faceList.add(face); + for (Strip strip : face.strips) { + stripList.add(strip); + } + } + } + this.cubes = Collections.unmodifiableList(cubeList); + this.faces = Collections.unmodifiableList(faceList); + this.strips = Collections.unmodifiableList(stripList); + } +} + +/** + * Model of a single cube, which has an orientation and position on the + * car. The position is specified in x,y,z coordinates with rotation. The + * x axis is left->right, y is bottom->top, and z is front->back. + * + * A cube's x,y,z position is specified as the left, bottom, front corner. + * + * Dimensions are all specified in real-world inches. + */ +public static class Cube extends LXModel { + + public final static int FACES_PER_CUBE = 4; + public static final int POINTS_PER_STRIP = 16; + + public final static int STRIPS_PER_CUBE = FACES_PER_CUBE*Face.STRIPS_PER_FACE; + public final static int POINTS_PER_CUBE = STRIPS_PER_CUBE*POINTS_PER_STRIP; + public final static int POINTS_PER_FACE = Face.STRIPS_PER_FACE*POINTS_PER_STRIP; + + public final static float EDGE_HEIGHT = 21.75f; + public final static float EDGE_WIDTH = 24.625f; + public final static float CHANNEL_WIDTH = 1.5f; + + public final static Face.Metrics FACE_METRICS = new Face.Metrics( + new Strip.Metrics(EDGE_WIDTH, POINTS_PER_STRIP), + new Strip.Metrics(EDGE_HEIGHT, POINTS_PER_STRIP) + ); + + /** + * Immutable list of all cube faces + */ + public final List faces; + + /** + * Immutable list of all strips + */ + public final List strips; + + /** + * Front left corner x coordinate + */ + public final float x; + + /** + * Front left corner y coordinate + */ + public final float y; + + /** + * Front left corner z coordinate + */ + public final float z; + + /** + * Rotation about the x-axis + */ + public final float rx; + + /** + * Rotation about the y-axis + */ + public final float ry; + + /** + * Rotation about the z-axis + */ + public final float rz; + + public Cube(double x, double y, double z, double rx, double ry, double rz) { + this((float) x, (float) y, (float) z, (float) rx, (float) ry, (float) rz); + } + + public Cube(float x, float y, float z, float rx, float ry, float rz) { + super(new Fixture(x, y, z, rx, ry, rz)); + Fixture fixture = (Fixture) this.fixtures.get(0); + + while (rx < 0) rx += 360; + while (ry < 0) ry += 360; + while (rz < 0) rz += 360; + rx = rx % 360; + ry = ry % 360; + rz = rz % 360; + + this.x = x; + this.y = y; + this.z = z; + this.rx = rx; + this.ry = ry; + this.rz = rz; + + this.faces = Collections.unmodifiableList(fixture.faces); + this.strips = Collections.unmodifiableList(fixture.strips); + } + + private static class Fixture extends LXAbstractFixture { + + private final List faces = new ArrayList(); + private final List strips = new ArrayList(); + + private Fixture(float x, float y, float z, float rx, float ry, float rz) { + LXTransform t = new LXTransform(); + t.translate(x, y, z); + t.rotateX(rx * PI / 180.); + t.rotateY(ry * PI / 180.); + t.rotateZ(rz * PI / 180.); + + for (int i = 0; i < FACES_PER_CUBE; i++) { + Face face = new Face(FACE_METRICS, (ry + 90*i) % 360, t); + this.faces.add(face); + for (Strip s : face.strips) { + this.strips.add(s); + } + for (LXPoint p : face.points) { + this.points.add(p); + } + t.translate(EDGE_WIDTH, 0, 0); + t.rotateY(HALF_PI); + } + } + } +} + +/** + * A face is a component of a cube. It is comprised of four strips forming + * the lights on this side of a cube. A whole cube is formed by four faces. + */ +public static class Face extends LXModel { + + public final static int STRIPS_PER_FACE = 4; + + public static class Metrics { + final Strip.Metrics horizontal; + final Strip.Metrics vertical; + + public Metrics(Strip.Metrics horizontal, Strip.Metrics vertical) { + this.horizontal = horizontal; + this.vertical = vertical; + } + } + + /** + * Immutable list of strips + */ + public final List strips; + + /** + * Rotation of the face about the y-axis + */ + public final float ry; + + Face(Metrics metrics, float ry, LXTransform transform) { + super(new Fixture(metrics, ry, transform)); + Fixture fixture = (Fixture) this.fixtures.get(0); + this.ry = ry; + this.strips = Collections.unmodifiableList(fixture.strips); + } + + private static class Fixture extends LXAbstractFixture { + + private final List strips = new ArrayList(); + + private Fixture(Metrics metrics, float ry, LXTransform transform) { + transform.push(); + transform.translate(0, metrics.vertical.length, 0); + for (int i = 0; i < STRIPS_PER_FACE; i++) { + boolean isHorizontal = (i % 2 == 0); + Strip.Metrics stripMetrics = isHorizontal ? metrics.horizontal : metrics.vertical; + Strip strip = new Strip(stripMetrics, ry, transform, isHorizontal); + this.strips.add(strip); + transform.translate(isHorizontal ? metrics.horizontal.length : metrics.vertical.length, 0, 0); + transform.rotateZ(HALF_PI); + for (LXPoint p : strip.points) { + this.points.add(p); + } + } + transform.pop(); + } + } +} + +/** + * A strip is a linear run of points along a single edge of one cube. + */ +public static class Strip extends LXModel { + + public static final float POINT_SPACING = 18.625f / 15.f; + + public static class Metrics { + + public final float length; + public final int numPoints; + + public Metrics(float length, int numPoints) { + this.length = length; + this.numPoints = numPoints; + } + } + + public final Metrics metrics; + + /** + * Whether this is a horizontal strip + */ + public final boolean isHorizontal; + + /** + * Rotation about the y axis + */ + public final float ry; + + public Object obj1 = null, obj2 = null; + + Strip(Metrics metrics, float ry, List points, boolean isHorizontal) { + super(points); + this.isHorizontal = isHorizontal; + this.metrics = metrics; + this.ry = ry; + } + + Strip(Metrics metrics, float ry, LXTransform transform, boolean isHorizontal) { + super(new Fixture(metrics, ry, transform)); + this.metrics = metrics; + this.isHorizontal = isHorizontal; + this.ry = ry; + } + + private static class Fixture extends LXAbstractFixture { + private Fixture(Metrics metrics, float ry, LXTransform transform) { + float offset = (metrics.length - (metrics.numPoints - 1) * POINT_SPACING) / 2.f; + transform.push(); + transform.translate(offset, -Cube.CHANNEL_WIDTH/2.f, 0); + for (int i = 0; i < metrics.numPoints; i++) { + LXPoint point = new LXPoint(transform.x(), transform.y(), transform.z()); + this.points.add(point); + transform.translate(POINT_SPACING, 0, 0); + } + transform.pop(); + } + } +} + diff --git a/_UIImplementation.pde b/_UIImplementation.pde index c749ad4..ac8d6aa 100644 --- a/_UIImplementation.pde +++ b/_UIImplementation.pde @@ -282,7 +282,7 @@ class UIMapping extends UIWindow { protected void onValueChange(int value) { mappingTool.setCube(value-1); } - }).setRange(1, glucose.model.cubes.size()).addToContainer(this); + }).setRange(1, model.cubes.size()).addToContainer(this); yp += 24; yp += 10; diff --git a/code/GLucose.jar b/code/GLucose.jar index e8290f8ec97e2fba2ab1795de64dffa8cb8b84d2..c7c05bd85190eedbd65f10a137fe08ba00d04d55 100755 GIT binary patch delta 3151 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 literal 23598 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%0DD8oN3Eju4TX5|$h<+h}jJCVBgT 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 diff --git a/code/oscP5.jar b/code/oscP5.jar deleted file mode 100755 index 24c6756c1f40e8e6c6bcce49932181132ff31e2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52005 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