diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3cc09687..f766d5c7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+### HYPE_Processing v2.1.0 (UNRELEASED)
+- New HParticles behavior
+- New HSphereLayout class
+- New HScreenshot class
+- New HGroupColorPool class
+- Updated HTween class
+- Updated HPixelColorist class
+- Updated HConstants (new colors)
+- Updated HShape class
+- Updated HPath class
+- Updated HVertex class
+
### HYPE_Processing v2.0.2 (May 12, 2016)
- Fixes infinite recursion bug in HMath
diff --git a/examples/HAttractor/HAttractor_001/HAttractor_001.pde b/HYPE/examples/HAttractor/HAttractor_001/HAttractor_001.pde
similarity index 97%
rename from examples/HAttractor/HAttractor_001/HAttractor_001.pde
rename to HYPE/examples/HAttractor/HAttractor_001/HAttractor_001.pde
index 1f0f3443..e7a88c30 100644
--- a/examples/HAttractor/HAttractor_001/HAttractor_001.pde
+++ b/HYPE/examples/HAttractor/HAttractor_001/HAttractor_001.pde
@@ -10,7 +10,7 @@ void setup() {
H.init(this).background(#242424);
ha = new HAttractor(320, 320, 200) // x, y, radius
- .debugMode(true)
+ .debugMode(false)
;
pool = new HDrawablePool(576);
diff --git a/examples/HAttractor/HAttractor_002/HAttractor_002.pde b/HYPE/examples/HAttractor/HAttractor_002/HAttractor_002.pde
similarity index 100%
rename from examples/HAttractor/HAttractor_002/HAttractor_002.pde
rename to HYPE/examples/HAttractor/HAttractor_002/HAttractor_002.pde
diff --git a/examples/HAttractor/HAttractor_003/HAttractor_003.pde b/HYPE/examples/HAttractor/HAttractor_003/HAttractor_003.pde
similarity index 100%
rename from examples/HAttractor/HAttractor_003/HAttractor_003.pde
rename to HYPE/examples/HAttractor/HAttractor_003/HAttractor_003.pde
diff --git a/examples/HAttractor/HAttractor_004/HAttractor_004.pde b/HYPE/examples/HAttractor/HAttractor_004/HAttractor_004.pde
similarity index 100%
rename from examples/HAttractor/HAttractor_004/HAttractor_004.pde
rename to HYPE/examples/HAttractor/HAttractor_004/HAttractor_004.pde
diff --git a/examples/HAttractor/HAttractor_005/HAttractor_005.pde b/HYPE/examples/HAttractor/HAttractor_005/HAttractor_005.pde
similarity index 100%
rename from examples/HAttractor/HAttractor_005/HAttractor_005.pde
rename to HYPE/examples/HAttractor/HAttractor_005/HAttractor_005.pde
diff --git a/examples/HAttractor/HAttractor_006/HAttractor_006.pde b/HYPE/examples/HAttractor/HAttractor_006/HAttractor_006.pde
similarity index 100%
rename from examples/HAttractor/HAttractor_006/HAttractor_006.pde
rename to HYPE/examples/HAttractor/HAttractor_006/HAttractor_006.pde
diff --git a/examples/HAttractor/HAttractor_007/HAttractor_007.pde b/HYPE/examples/HAttractor/HAttractor_007/HAttractor_007.pde
similarity index 100%
rename from examples/HAttractor/HAttractor_007/HAttractor_007.pde
rename to HYPE/examples/HAttractor/HAttractor_007/HAttractor_007.pde
diff --git a/examples/HAttractor/HAttractor_008/HAttractor_008.pde b/HYPE/examples/HAttractor/HAttractor_008/HAttractor_008.pde
similarity index 100%
rename from examples/HAttractor/HAttractor_008/HAttractor_008.pde
rename to HYPE/examples/HAttractor/HAttractor_008/HAttractor_008.pde
diff --git a/examples/HBox/HBox_001/HBox_001.pde b/HYPE/examples/HBox/HBox_001/HBox_001.pde
similarity index 100%
rename from examples/HBox/HBox_001/HBox_001.pde
rename to HYPE/examples/HBox/HBox_001/HBox_001.pde
diff --git a/examples/HBox/HBox_002/HBox_002.pde b/HYPE/examples/HBox/HBox_002/HBox_002.pde
similarity index 100%
rename from examples/HBox/HBox_002/HBox_002.pde
rename to HYPE/examples/HBox/HBox_002/HBox_002.pde
diff --git a/examples/HBox/HBox_003/HBox_003.pde b/HYPE/examples/HBox/HBox_003/HBox_003.pde
similarity index 100%
rename from examples/HBox/HBox_003/HBox_003.pde
rename to HYPE/examples/HBox/HBox_003/HBox_003.pde
diff --git a/examples/HBox/HBox_004/HBox_004.pde b/HYPE/examples/HBox/HBox_004/HBox_004.pde
similarity index 100%
rename from examples/HBox/HBox_004/HBox_004.pde
rename to HYPE/examples/HBox/HBox_004/HBox_004.pde
diff --git a/examples/HBox/HBox_005/HBox_005.pde b/HYPE/examples/HBox/HBox_005/HBox_005.pde
similarity index 100%
rename from examples/HBox/HBox_005/HBox_005.pde
rename to HYPE/examples/HBox/HBox_005/HBox_005.pde
diff --git a/examples/HBox/HBox_006/HBox_006.pde b/HYPE/examples/HBox/HBox_006/HBox_006.pde
similarity index 100%
rename from examples/HBox/HBox_006/HBox_006.pde
rename to HYPE/examples/HBox/HBox_006/HBox_006.pde
diff --git a/examples/HBox/HBox_007/HBox_007.pde b/HYPE/examples/HBox/HBox_007/HBox_007.pde
similarity index 100%
rename from examples/HBox/HBox_007/HBox_007.pde
rename to HYPE/examples/HBox/HBox_007/HBox_007.pde
diff --git a/examples/HBox/HBox_008/HBox_008.pde b/HYPE/examples/HBox/HBox_008/HBox_008.pde
similarity index 100%
rename from examples/HBox/HBox_008/HBox_008.pde
rename to HYPE/examples/HBox/HBox_008/HBox_008.pde
diff --git a/HYPE/examples/HBox/HBox_009/HBox_009.pde b/HYPE/examples/HBox/HBox_009/HBox_009.pde
new file mode 100644
index 00000000..f45e1bd0
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_009/HBox_009.pde
@@ -0,0 +1,42 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+HDrawablePool pool;
+int boxSize = 500;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ pool = new HDrawablePool(1);
+ pool.autoAddToStage()
+ .add(new HBox().texture("tex.png"))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(0,225).fill(255,225).x(width/2).y(height/2).z(-500);
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ /*
+ Be wary when using these hints, they are there to help with z depth clipping issues.
+ They can have performance issues when there's a lot of overlapping objects on screen.
+ */
+ hint(DISABLE_DEPTH_TEST);
+ hint(ENABLE_DEPTH_SORT);
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HBox/HBox_009/data/tex.png b/HYPE/examples/HBox/HBox_009/data/tex.png
new file mode 100644
index 00000000..4b5ffe95
Binary files /dev/null and b/HYPE/examples/HBox/HBox_009/data/tex.png differ
diff --git a/HYPE/examples/HBox/HBox_010/HBox_010.pde b/HYPE/examples/HBox/HBox_010/HBox_010.pde
new file mode 100644
index 00000000..9f9d2f8e
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_010/HBox_010.pde
@@ -0,0 +1,50 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+HDrawablePool pool;
+int boxSize = 500;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HBox b = new HBox();
+ b.textureFront("tex1.png");
+ b.textureBack("tex2.png");
+ b.textureTop("tex3.png");
+ b.textureBottom("tex4.png");
+ b.textureLeft("tex5.png");
+ b.textureRight("tex6.png");
+
+ pool = new HDrawablePool(1);
+ pool.autoAddToStage()
+ .add(b)
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(0,225).fill(255,225).x(width/2).y(height/2).z(-500);
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ /*
+ Be wary when using these hints, they are there to help with z depth clipping issues.
+ They can have performance issues when there's a lot of overlapping objects on screen.
+ */
+ hint(DISABLE_DEPTH_TEST);
+ hint(ENABLE_DEPTH_SORT);
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HBox/HBox_010/data/tex1.png b/HYPE/examples/HBox/HBox_010/data/tex1.png
new file mode 100644
index 00000000..30733c57
Binary files /dev/null and b/HYPE/examples/HBox/HBox_010/data/tex1.png differ
diff --git a/HYPE/examples/HBox/HBox_010/data/tex2.png b/HYPE/examples/HBox/HBox_010/data/tex2.png
new file mode 100644
index 00000000..564c862a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_010/data/tex2.png differ
diff --git a/HYPE/examples/HBox/HBox_010/data/tex3.png b/HYPE/examples/HBox/HBox_010/data/tex3.png
new file mode 100644
index 00000000..8e6a6015
Binary files /dev/null and b/HYPE/examples/HBox/HBox_010/data/tex3.png differ
diff --git a/HYPE/examples/HBox/HBox_010/data/tex4.png b/HYPE/examples/HBox/HBox_010/data/tex4.png
new file mode 100644
index 00000000..2d70285a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_010/data/tex4.png differ
diff --git a/HYPE/examples/HBox/HBox_010/data/tex5.png b/HYPE/examples/HBox/HBox_010/data/tex5.png
new file mode 100644
index 00000000..84c21c3a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_010/data/tex5.png differ
diff --git a/HYPE/examples/HBox/HBox_010/data/tex6.png b/HYPE/examples/HBox/HBox_010/data/tex6.png
new file mode 100644
index 00000000..99990198
Binary files /dev/null and b/HYPE/examples/HBox/HBox_010/data/tex6.png differ
diff --git a/HYPE/examples/HBox/HBox_011/HBox_011.pde b/HYPE/examples/HBox/HBox_011/HBox_011.pde
new file mode 100644
index 00000000..a745cc1f
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_011/HBox_011.pde
@@ -0,0 +1,49 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+HDrawablePool pool;
+int boxSize = 500;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HBox b = new HBox();
+ b.texture("tex.png");
+ b.textureFront("tex1.png"); // "texture" sets all 6 faces, calling a single specfic face... overrides that face
+ b.textureBack("tex2.png");
+
+ // textures "tex1" and "tex2" by https://www.instagram.com/matthewcurry/
+
+ pool = new HDrawablePool(1);
+ pool.autoAddToStage()
+ .add(b)
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(0,225).fill(255,225).x(width/2).y(height/2).z(-500);
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ /*
+ Be wary when using these hints, they are there to help with z depth clipping issues.
+ They can have performance issues when there's a lot of overlapping objects on screen.
+ */
+ hint(DISABLE_DEPTH_TEST);
+ hint(ENABLE_DEPTH_SORT);
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HBox/HBox_011/data/tex.png b/HYPE/examples/HBox/HBox_011/data/tex.png
new file mode 100644
index 00000000..4b5ffe95
Binary files /dev/null and b/HYPE/examples/HBox/HBox_011/data/tex.png differ
diff --git a/HYPE/examples/HBox/HBox_011/data/tex1.png b/HYPE/examples/HBox/HBox_011/data/tex1.png
new file mode 100644
index 00000000..4947e169
Binary files /dev/null and b/HYPE/examples/HBox/HBox_011/data/tex1.png differ
diff --git a/HYPE/examples/HBox/HBox_011/data/tex2.png b/HYPE/examples/HBox/HBox_011/data/tex2.png
new file mode 100644
index 00000000..5711c2da
Binary files /dev/null and b/HYPE/examples/HBox/HBox_011/data/tex2.png differ
diff --git a/HYPE/examples/HBox/HBox_012/HBox_012.pde b/HYPE/examples/HBox/HBox_012/HBox_012.pde
new file mode 100644
index 00000000..750c3df3
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_012/HBox_012.pde
@@ -0,0 +1,44 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+HDrawablePool pool;
+int boxSize = 500;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HBox b = new HBox();
+ b.textureFront("tex1.png");
+ b.textureBack("tex2.png");
+ b.textureTop("tex3.png");
+ b.textureBottom("tex4.png");
+ b.textureLeft("tex5.png");
+ b.textureRight("tex6.png");
+
+ pool = new HDrawablePool(25);
+ pool.autoAddToStage()
+ .add(b)
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(0,225).fill(255,225).x(width/2).y(height/2).z(-500);
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.SCALE).range(0.5, 1.0).speed(1).freq(2).currentStep(i);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HBox/HBox_012/data/tex1.png b/HYPE/examples/HBox/HBox_012/data/tex1.png
new file mode 100644
index 00000000..30733c57
Binary files /dev/null and b/HYPE/examples/HBox/HBox_012/data/tex1.png differ
diff --git a/HYPE/examples/HBox/HBox_012/data/tex2.png b/HYPE/examples/HBox/HBox_012/data/tex2.png
new file mode 100644
index 00000000..564c862a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_012/data/tex2.png differ
diff --git a/HYPE/examples/HBox/HBox_012/data/tex3.png b/HYPE/examples/HBox/HBox_012/data/tex3.png
new file mode 100644
index 00000000..8e6a6015
Binary files /dev/null and b/HYPE/examples/HBox/HBox_012/data/tex3.png differ
diff --git a/HYPE/examples/HBox/HBox_012/data/tex4.png b/HYPE/examples/HBox/HBox_012/data/tex4.png
new file mode 100644
index 00000000..2d70285a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_012/data/tex4.png differ
diff --git a/HYPE/examples/HBox/HBox_012/data/tex5.png b/HYPE/examples/HBox/HBox_012/data/tex5.png
new file mode 100644
index 00000000..84c21c3a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_012/data/tex5.png differ
diff --git a/HYPE/examples/HBox/HBox_012/data/tex6.png b/HYPE/examples/HBox/HBox_012/data/tex6.png
new file mode 100644
index 00000000..99990198
Binary files /dev/null and b/HYPE/examples/HBox/HBox_012/data/tex6.png differ
diff --git a/HYPE/examples/HBox/HBox_013/HBox_013.pde b/HYPE/examples/HBox/HBox_013/HBox_013.pde
new file mode 100644
index 00000000..f4d48a1a
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_013/HBox_013.pde
@@ -0,0 +1,65 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.colorist.HPixelColorist;
+
+HDrawablePool pool;
+int boxSize = 500;
+
+HImage clrSRC;
+HPixelColorist clrHPC;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add( clrSRC = new HImage("color.png") );
+ clrHPC = new HPixelColorist(clrSRC);
+
+ HBox b = new HBox();
+ b.textureFront("tex1.png");
+ b.textureBack("tex2.png");
+ b.textureTop("tex3.png");
+ b.textureBottom("tex4.png");
+ b.textureLeft("tex5.png");
+ b.textureRight("tex6.png");
+
+ pool = new HDrawablePool(50);
+ pool.autoAddToStage()
+ .add(b)
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HRect marker;
+ H.add( marker = new HRect(2,10) );
+ marker.noStroke().fill(#CCCCCC).loc(0,15);
+ new HOscillator().target(marker).property(H.X).range(0, clrSRC.width()).speed(1).freq(1).currentStep(i*2);
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(0,225).fill(255,225).x(width/2).y(height/2).z(-500);
+ d.extras( new HBundle().obj("m", marker) );
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ lights();
+ H.drawStage();
+
+ for (HDrawable d : pool) {
+ HBundle obj = d.extras();
+ HRect marker = (HRect) obj.obj("m");
+
+ int tempPos = (int)constrain(marker.x(), 0, clrSRC.width()-1);
+ color tempColor = clrHPC.getColor(tempPos,0);
+ d.fill(tempColor);
+ }
+}
diff --git a/examples/HSprite/HSprite_004/data/color.png b/HYPE/examples/HBox/HBox_013/data/color.png
similarity index 76%
rename from examples/HSprite/HSprite_004/data/color.png
rename to HYPE/examples/HBox/HBox_013/data/color.png
index 04dbfbd0..bc0e2ded 100644
Binary files a/examples/HSprite/HSprite_004/data/color.png and b/HYPE/examples/HBox/HBox_013/data/color.png differ
diff --git a/HYPE/examples/HBox/HBox_013/data/tex1.png b/HYPE/examples/HBox/HBox_013/data/tex1.png
new file mode 100644
index 00000000..30733c57
Binary files /dev/null and b/HYPE/examples/HBox/HBox_013/data/tex1.png differ
diff --git a/HYPE/examples/HBox/HBox_013/data/tex2.png b/HYPE/examples/HBox/HBox_013/data/tex2.png
new file mode 100644
index 00000000..564c862a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_013/data/tex2.png differ
diff --git a/HYPE/examples/HBox/HBox_013/data/tex3.png b/HYPE/examples/HBox/HBox_013/data/tex3.png
new file mode 100644
index 00000000..8e6a6015
Binary files /dev/null and b/HYPE/examples/HBox/HBox_013/data/tex3.png differ
diff --git a/HYPE/examples/HBox/HBox_013/data/tex4.png b/HYPE/examples/HBox/HBox_013/data/tex4.png
new file mode 100644
index 00000000..2d70285a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_013/data/tex4.png differ
diff --git a/HYPE/examples/HBox/HBox_013/data/tex5.png b/HYPE/examples/HBox/HBox_013/data/tex5.png
new file mode 100644
index 00000000..84c21c3a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_013/data/tex5.png differ
diff --git a/HYPE/examples/HBox/HBox_013/data/tex6.png b/HYPE/examples/HBox/HBox_013/data/tex6.png
new file mode 100644
index 00000000..99990198
Binary files /dev/null and b/HYPE/examples/HBox/HBox_013/data/tex6.png differ
diff --git a/HYPE/examples/HBox/HBox_014/HBox_014.pde b/HYPE/examples/HBox/HBox_014/HBox_014.pde
new file mode 100644
index 00000000..99c8d99e
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_014/HBox_014.pde
@@ -0,0 +1,69 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.colorist.HPixelColorist;
+import hype.extended.layout.HGridLayout;
+
+int gridX = 5;
+int gridY = 5;
+int gridZ = 5;
+int gridMax = gridX * gridY * gridZ;
+
+HDrawablePool pool;
+int boxSize = 200;
+
+HImage clrSRC;
+HPixelColorist clrHPC;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add( clrSRC = new HImage("color.png") ).visibility(false);
+ clrHPC = new HPixelColorist(clrSRC);
+
+ pool = new HDrawablePool(gridMax);
+ pool.autoAddToStage()
+ .add(new HBox().texture("tex.png"))
+ .layout (new HGridLayout().startX(-400).startY(-400).startZ(-400).spacing(400, 400, 400).rows(gridX).cols(gridY))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HRect marker;
+ H.add( marker = new HRect(2,10) );
+ marker.noStroke().fill(#CCCCCC).loc(0,15).visibility(false);
+ new HOscillator().target(marker).property(H.X).range(0, clrSRC.width()).speed(1).freq(1).currentStep(i*2);
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(0,225).fill(255,225);
+ d.extras( new HBundle().obj("m", marker) );
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i*0.25);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i*0.25);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i*0.25);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ lights();
+
+ pushMatrix();
+ translate(width/2, height/2, -200);
+ rotateY( radians(frameCount) );
+ H.drawStage();
+ popMatrix();
+
+ for (HDrawable d : pool) {
+ HBundle obj = d.extras();
+ HRect marker = (HRect) obj.obj("m");
+
+ int tempPos = (int)constrain(marker.x(), 0, clrSRC.width()-1);
+ color tempColor = clrHPC.getColor(tempPos,0);
+ d.fill(tempColor);
+ }
+}
diff --git a/HYPE/examples/HBox/HBox_014/data/color.png b/HYPE/examples/HBox/HBox_014/data/color.png
new file mode 100644
index 00000000..bc0e2ded
Binary files /dev/null and b/HYPE/examples/HBox/HBox_014/data/color.png differ
diff --git a/HYPE/examples/HBox/HBox_014/data/tex.png b/HYPE/examples/HBox/HBox_014/data/tex.png
new file mode 100644
index 00000000..4b5ffe95
Binary files /dev/null and b/HYPE/examples/HBox/HBox_014/data/tex.png differ
diff --git a/HYPE/examples/HBox/HBox_014/data/tex1.png b/HYPE/examples/HBox/HBox_014/data/tex1.png
new file mode 100644
index 00000000..30733c57
Binary files /dev/null and b/HYPE/examples/HBox/HBox_014/data/tex1.png differ
diff --git a/HYPE/examples/HBox/HBox_014/data/tex2.png b/HYPE/examples/HBox/HBox_014/data/tex2.png
new file mode 100644
index 00000000..564c862a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_014/data/tex2.png differ
diff --git a/HYPE/examples/HBox/HBox_014/data/tex3.png b/HYPE/examples/HBox/HBox_014/data/tex3.png
new file mode 100644
index 00000000..8e6a6015
Binary files /dev/null and b/HYPE/examples/HBox/HBox_014/data/tex3.png differ
diff --git a/HYPE/examples/HBox/HBox_014/data/tex4.png b/HYPE/examples/HBox/HBox_014/data/tex4.png
new file mode 100644
index 00000000..2d70285a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_014/data/tex4.png differ
diff --git a/HYPE/examples/HBox/HBox_014/data/tex5.png b/HYPE/examples/HBox/HBox_014/data/tex5.png
new file mode 100644
index 00000000..84c21c3a
Binary files /dev/null and b/HYPE/examples/HBox/HBox_014/data/tex5.png differ
diff --git a/HYPE/examples/HBox/HBox_014/data/tex6.png b/HYPE/examples/HBox/HBox_014/data/tex6.png
new file mode 100644
index 00000000..99990198
Binary files /dev/null and b/HYPE/examples/HBox/HBox_014/data/tex6.png differ
diff --git a/HYPE/examples/HBox/HBox_015/HBox_015.pde b/HYPE/examples/HBox/HBox_015/HBox_015.pde
new file mode 100644
index 00000000..8cf447f4
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_015/HBox_015.pde
@@ -0,0 +1,63 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+PGraphics pg;
+HCanvas canvas;
+int canvasW = 500;
+int canvasH = 500;
+HRect r;
+
+HDrawablePool pool;
+int boxSize = 500;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add(canvas = new HCanvas(canvasW,canvasH).autoClear(false).fade(5));
+ canvas.x(width+1).add( r = new HRect(50) ).noStroke().fill(#FF3300).anchorAt(H.CENTER).rotate(45);
+
+ pg = createGraphics((int) canvas.width(), (int) canvas.height(), P3D);
+ pg.beginDraw();
+ pg.clear();
+ pg.endDraw();
+
+ pool = new HDrawablePool(1);
+ pool.autoAddToStage()
+ .add(new HBox().texture(pg))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(#FF3300, 100).fill(255,225).x(width/2).y(height/2).z(-500);
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ hint(DISABLE_DEPTH_TEST);
+ hint(ENABLE_DEPTH_SORT);
+
+ r.size(20+((int)random(5)*20)).loc( (int)random(canvasW), (int)random(canvasH));
+ H.drawStage();
+
+ //update the texture PGraphic
+
+ pg.beginDraw();
+ pg.clear();
+ pg.image(canvas.graphics(), 0, 0);
+ pg.endDraw();
+
+ noStroke(); fill(#111111);
+ rect(0, 0, 100, 100);
+ image(pg, 0, 0, 100, 100);
+}
diff --git a/HYPE/examples/HBox/HBox_016/HBox_016.pde b/HYPE/examples/HBox/HBox_016/HBox_016.pde
new file mode 100644
index 00000000..a97e0f8a
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_016/HBox_016.pde
@@ -0,0 +1,97 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.behavior.HSwarm;
+import hype.extended.colorist.HColorPool;
+
+PGraphics pg;
+HCanvas canvas;
+int canvasW = 500;
+int canvasH = 500;
+HRect r;
+
+HDrawablePool pool;
+int boxSize = 500;
+
+HDrawablePool poolSwarm;
+HSwarm swarm;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add(canvas = new HCanvas(canvasW,canvasH).autoClear(false).fade(5));
+ canvas.x(width+1);
+
+ pg = createGraphics((int) canvas.width(), (int) canvas.height(), P3D);
+ pg.beginDraw();
+ pg.clear();
+ pg.endDraw();
+
+ pool = new HDrawablePool(1);
+ pool.autoAddToStage()
+ .add(new HBox().texture(pg))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(#FF3300, 100).fill(255,225).x(width/2).y(height/2).z(-500);
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ // swarm behavior as texture
+
+ swarm = new HSwarm()
+ .addGoal(canvasW/2,canvasH/2)
+ .speed(10)
+ .turnEase(0.03f)
+ .twitch(20)
+ ;
+
+ poolSwarm = new HDrawablePool(20);
+ poolSwarm.autoParent(canvas)
+ .add (new HRect().rounding(4))
+ .colorist(new HColorPool(#CCE70B, #80C41C, #40A629, #237D26, #FF3300, #FF6600).fillOnly())
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d
+ .size((int)random(10,100), (int)random(2,40) )
+ .noStroke()
+ .loc( width/2, height/2 )
+ .anchorAt( H.CENTER )
+ ;
+ swarm.addTarget(d);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ hint(DISABLE_DEPTH_TEST);
+ hint(ENABLE_DEPTH_SORT);
+
+ H.drawStage();
+
+ //update the texture PGraphic
+
+ pg.beginDraw();
+ pg.clear();
+ pg.image(canvas.graphics(), 0, 0);
+ pg.endDraw();
+
+ noStroke(); fill(#111111);
+ rect(0, 0, 100, 100);
+ image(pg, 0, 0, 100, 100);
+}
diff --git a/HYPE/examples/HBox/HBox_017/HBox_017.pde b/HYPE/examples/HBox/HBox_017/HBox_017.pde
new file mode 100644
index 00000000..ffb9ebd8
--- /dev/null
+++ b/HYPE/examples/HBox/HBox_017/HBox_017.pde
@@ -0,0 +1,122 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.behavior.HSwarm;
+import hype.extended.colorist.HPixelColorist;
+
+PGraphics pg;
+HCanvas canvas;
+int canvasW = 500;
+int canvasH = 500;
+HRect r;
+
+HDrawablePool pool;
+int boxSize = 500;
+
+HDrawablePool poolSwarm;
+HSwarm swarm;
+
+HImage clrSRC;
+HPixelColorist clrHPC;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add( clrSRC = new HImage("color.png") );
+ clrHPC = new HPixelColorist(clrSRC);
+
+ H.add(canvas = new HCanvas(canvasW,canvasH).autoClear(false).fade(5));
+ canvas.x(width+1);
+
+ pg = createGraphics((int) canvas.width(), (int) canvas.height(), P3D);
+ pg.beginDraw();
+ pg.clear();
+ pg.endDraw();
+
+ pool = new HDrawablePool(1);
+ pool.autoAddToStage()
+ .add(new HBox().texture(pg))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).strokeWeight(2).stroke(#FF3300, 100).fill(255,225).x(width/2).y(height/2).z(-500);
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ // swarm behavior as texture
+
+ swarm = new HSwarm()
+ .addGoal(canvasW/2,canvasH/2)
+ .speed(10)
+ .turnEase(0.03f)
+ .twitch(20)
+ ;
+
+ poolSwarm = new HDrawablePool(20);
+ poolSwarm.autoParent(canvas)
+ .add (new HRect().rounding(4))
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ int i = poolSwarm.currentIndex();
+
+ HRect marker;
+ H.add( marker = new HRect(2,10) );
+ marker.noStroke().fill(#CCCCCC).loc(0,15);
+ new HOscillator().target(marker).property(H.X).range(0, clrSRC.width()).speed(1).freq(1).currentStep(i*10);
+
+ HDrawable d = (HDrawable) obj;
+ d
+ .size((int)random(10,100), (int)random(2,40) )
+ .noStroke()
+ .fill(#FFFFFF)
+ .loc( width/2, height/2 )
+ .anchorAt( H.CENTER )
+ .scale(2)
+ .extras( new HBundle().obj("m", marker) )
+ ;
+
+ swarm.addTarget(d);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ hint(DISABLE_DEPTH_TEST);
+ hint(ENABLE_DEPTH_SORT);
+
+ H.drawStage();
+
+ //update the texture PGraphic
+
+ pg.beginDraw();
+ pg.clear();
+ pg.image(canvas.graphics(), 0, 0);
+ pg.endDraw();
+
+ for (HDrawable d : poolSwarm) {
+ HBundle obj = d.extras();
+ HRect marker = (HRect) obj.obj("m");
+
+ int tempPos = (int)constrain(marker.x(), 0, clrSRC.width()-1);
+ color tempColor = clrHPC.getColor(tempPos,0);
+ d.fill(tempColor);
+ }
+
+ noStroke(); fill(#111111);
+ rect(0, 30, 100, 100);
+ image(pg, 0, 30, 100, 100);
+}
diff --git a/HYPE/examples/HBox/HBox_017/data/color.png b/HYPE/examples/HBox/HBox_017/data/color.png
new file mode 100644
index 00000000..bc0e2ded
Binary files /dev/null and b/HYPE/examples/HBox/HBox_017/data/color.png differ
diff --git a/examples/HCanvas/HCanvas_001/HCanvas_001.pde b/HYPE/examples/HCanvas/HCanvas_001/HCanvas_001.pde
similarity index 100%
rename from examples/HCanvas/HCanvas_001/HCanvas_001.pde
rename to HYPE/examples/HCanvas/HCanvas_001/HCanvas_001.pde
diff --git a/examples/HCanvas/HCanvas_002/HCanvas_002.pde b/HYPE/examples/HCanvas/HCanvas_002/HCanvas_002.pde
similarity index 100%
rename from examples/HCanvas/HCanvas_002/HCanvas_002.pde
rename to HYPE/examples/HCanvas/HCanvas_002/HCanvas_002.pde
diff --git a/examples/HCanvas/HCanvas_003/HCanvas_003.pde b/HYPE/examples/HCanvas/HCanvas_003/HCanvas_003.pde
similarity index 100%
rename from examples/HCanvas/HCanvas_003/HCanvas_003.pde
rename to HYPE/examples/HCanvas/HCanvas_003/HCanvas_003.pde
diff --git a/examples/HCanvas/HCanvas_004/HCanvas_004.pde b/HYPE/examples/HCanvas/HCanvas_004/HCanvas_004.pde
similarity index 100%
rename from examples/HCanvas/HCanvas_004/HCanvas_004.pde
rename to HYPE/examples/HCanvas/HCanvas_004/HCanvas_004.pde
diff --git a/examples/HCanvas/HCanvas_005/HCanvas_005.pde b/HYPE/examples/HCanvas/HCanvas_005/HCanvas_005.pde
similarity index 100%
rename from examples/HCanvas/HCanvas_005/HCanvas_005.pde
rename to HYPE/examples/HCanvas/HCanvas_005/HCanvas_005.pde
diff --git a/examples/HCanvas/HCanvas_006/HCanvas_006.pde b/HYPE/examples/HCanvas/HCanvas_006/HCanvas_006.pde
similarity index 100%
rename from examples/HCanvas/HCanvas_006/HCanvas_006.pde
rename to HYPE/examples/HCanvas/HCanvas_006/HCanvas_006.pde
diff --git a/examples/HCanvas/HCanvas_006/data/scanlines.glsl b/HYPE/examples/HCanvas/HCanvas_006/data/scanlines.glsl
similarity index 100%
rename from examples/HCanvas/HCanvas_006/data/scanlines.glsl
rename to HYPE/examples/HCanvas/HCanvas_006/data/scanlines.glsl
diff --git a/HYPE/examples/HCanvas/HCanvas_007/HCanvas_007.pde b/HYPE/examples/HCanvas/HCanvas_007/HCanvas_007.pde
new file mode 100644
index 00000000..0f53d555
--- /dev/null
+++ b/HYPE/examples/HCanvas/HCanvas_007/HCanvas_007.pde
@@ -0,0 +1,42 @@
+import hype.*;
+import hype.extended.layout.HGridLayout;
+
+HCanvas canvas;
+HDrawablePool pool;
+int boxSize = 64;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ canvas = new HCanvas(P3D);
+ canvas.lights();
+ H.add(canvas);
+
+ pool = new HDrawablePool(100);
+ pool.autoParent(canvas)
+ .add(new HBox())
+ .layout(new HGridLayout().startX(-125).startY(-125).spacing(100,100).cols(10))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).noStroke().z(-500).rotationZ(33);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
+
+void mousePressed() {
+ canvas.noLights();
+}
+
+void mouseReleased() {
+ canvas.lights();
+}
\ No newline at end of file
diff --git a/HYPE/examples/HCanvas/HCanvas_008/HCanvas_008.pde b/HYPE/examples/HCanvas/HCanvas_008/HCanvas_008.pde
new file mode 100644
index 00000000..cb94400c
--- /dev/null
+++ b/HYPE/examples/HCanvas/HCanvas_008/HCanvas_008.pde
@@ -0,0 +1,36 @@
+import hype.*;
+import hype.extended.layout.HGridLayout;
+
+HCanvas canvas;
+HDrawablePool pool;
+int boxSize = 64;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ canvas = new HCanvas(P3D);
+ canvas.pointLight(255, 51, 0, 0, height/2, -300); // orange
+ canvas.pointLight(0, 149, 168, width, height/2, -300); // teal
+ canvas.pointLight(255, 204, 0, width/2, height/2, -400); // yellow
+ H.add(canvas);
+
+ pool = new HDrawablePool(100);
+ pool.autoParent(canvas)
+ .add(new HBox())
+ .layout(new HGridLayout().startX(-125).startY(-125).spacing(100,100).cols(10))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).noStroke().z(-500).rotationZ(33);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCanvas/HCanvas_009/HCanvas_009.pde b/HYPE/examples/HCanvas/HCanvas_009/HCanvas_009.pde
new file mode 100644
index 00000000..07f2661b
--- /dev/null
+++ b/HYPE/examples/HCanvas/HCanvas_009/HCanvas_009.pde
@@ -0,0 +1,35 @@
+import hype.*;
+import hype.extended.layout.HGridLayout;
+
+HCanvas canvas;
+HDrawablePool pool;
+int boxSize = 64;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ canvas = new HCanvas(P3D);
+ canvas.directionalLight(255, 51, 0, 0, -1, 0); // orange
+ canvas.directionalLight(0, 149, 168, 0, 1, 0); // teal
+ H.add(canvas);
+
+ pool = new HDrawablePool(100);
+ pool.autoParent(canvas)
+ .add(new HBox())
+ .layout(new HGridLayout().startX(-125).startY(-125).spacing(100,100).cols(10))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HBox d = (HBox) obj;
+ d.depth(boxSize).width(boxSize).height(boxSize).noStroke().z(-500).rotationZ(33);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCircleLayout/HCircleLayout_001/HCircleLayout_001.pde b/HYPE/examples/HCircleLayout/HCircleLayout_001/HCircleLayout_001.pde
new file mode 100644
index 00000000..08cd61da
--- /dev/null
+++ b/HYPE/examples/HCircleLayout/HCircleLayout_001/HCircleLayout_001.pde
@@ -0,0 +1,40 @@
+import hype.*;
+import hype.extended.layout.HCircleLayout;
+
+HDrawablePool pool;
+float numAssets = 50.0;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool((int)numAssets);
+ pool.autoAddToStage()
+ .add(new HRect(20).rounding(4))
+
+ .layout(
+ new HCircleLayout()
+ .radius(225)
+ .startX(width/2)
+ .startY(height/2)
+ .angleStep(360.0/numAssets)
+ )
+
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(#ECECEC).anchorAt(H.CENTER);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ H.drawStage();
+ noLoop();
+}
+
+void draw() {
+
+}
diff --git a/HYPE/examples/HCircleLayout/HCircleLayout_002/HCircleLayout_002.pde b/HYPE/examples/HCircleLayout/HCircleLayout_002/HCircleLayout_002.pde
new file mode 100644
index 00000000..3ffc8673
--- /dev/null
+++ b/HYPE/examples/HCircleLayout/HCircleLayout_002/HCircleLayout_002.pde
@@ -0,0 +1,41 @@
+import hype.*;
+import hype.extended.layout.HCircleLayout;
+
+HDrawablePool pool;
+float numAssets = 100.0;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ pool = new HDrawablePool((int)numAssets);
+ pool.autoAddToStage()
+ .add(new HRect(10))
+
+ .layout(
+ new HCircleLayout()
+ .radius(225)
+ .startX(width/2)
+ .startY(height/2)
+ .startZ(-250)
+ .angleStep(360.0/numAssets)
+ )
+
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(#ECECEC).anchorAt(H.CENTER);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ H.drawStage();
+ noLoop();
+}
+
+void draw() {
+
+}
diff --git a/HYPE/examples/HCircleLayout/HCircleLayout_003/HCircleLayout_003.pde b/HYPE/examples/HCircleLayout/HCircleLayout_003/HCircleLayout_003.pde
new file mode 100644
index 00000000..ad920055
--- /dev/null
+++ b/HYPE/examples/HCircleLayout/HCircleLayout_003/HCircleLayout_003.pde
@@ -0,0 +1,40 @@
+import hype.*;
+import hype.extended.layout.HCircleLayout;
+
+HDrawablePool pool;
+float numAssets = 50.0;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool((int)numAssets);
+ pool.autoAddToStage()
+ .add(new HRect(20,80).rounding(4))
+
+ .layout(
+ new HCircleLayout()
+ .radius(225)
+ .startLoc(width/2,height/2)
+ .angleStep(360.0/numAssets)
+ .rotateTarget(true)
+ )
+
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(#ECECEC).anchorAt(H.CENTER);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ H.drawStage();
+ noLoop();
+}
+
+void draw() {
+
+}
diff --git a/HYPE/examples/HCircleLayout/HCircleLayout_004/HCircleLayout_004.pde b/HYPE/examples/HCircleLayout/HCircleLayout_004/HCircleLayout_004.pde
new file mode 100644
index 00000000..bcd8bafa
--- /dev/null
+++ b/HYPE/examples/HCircleLayout/HCircleLayout_004/HCircleLayout_004.pde
@@ -0,0 +1,42 @@
+import hype.*;
+import hype.extended.layout.HCircleLayout;
+
+HDrawablePool pool;
+float numAssets = 200.0;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool((int)numAssets);
+ pool.autoAddToStage()
+ .add(new HRect(2,100).rounding(4))
+
+ .layout(
+ new HCircleLayout()
+ .radius(200)
+ .startLoc(width/2,height/2)
+ .angleStep(360.0/numAssets)
+ .applyNoise(true)
+ .rotateTarget(true)
+
+ )
+
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(#ECECEC).anchorAt(H.CENTER);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ H.drawStage();
+ noLoop();
+}
+
+void draw() {
+
+}
diff --git a/HYPE/examples/HCircleLayout/HCircleLayout_005/HCircleLayout_005.pde b/HYPE/examples/HCircleLayout/HCircleLayout_005/HCircleLayout_005.pde
new file mode 100644
index 00000000..b65a1e61
--- /dev/null
+++ b/HYPE/examples/HCircleLayout/HCircleLayout_005/HCircleLayout_005.pde
@@ -0,0 +1,39 @@
+import hype.*;
+import hype.extended.layout.HCircleLayout;
+
+HDrawablePool pool;
+float numAssets = 100.0;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool((int)numAssets);
+ pool.autoAddToStage()
+ .add(new HRect(5).rounding(4))
+
+ .layout(
+ new HCircleLayout()
+ .radius(200)
+ .startLoc(width/2,height/2)
+ .angleStep(180.0/numAssets)
+ )
+
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(#ECECEC).anchorAt(H.CENTER);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ H.drawStage();
+ noLoop();
+}
+
+void draw() {
+
+}
diff --git a/HYPE/examples/HCircleLayout/HCircleLayout_006/HCircleLayout_006.pde b/HYPE/examples/HCircleLayout/HCircleLayout_006/HCircleLayout_006.pde
new file mode 100644
index 00000000..1b004e35
--- /dev/null
+++ b/HYPE/examples/HCircleLayout/HCircleLayout_006/HCircleLayout_006.pde
@@ -0,0 +1,41 @@
+import hype.*;
+import hype.extended.layout.HCircleLayout;
+
+HDrawablePool pool;
+float numAssets = 50.0;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool((int)numAssets);
+ pool.autoAddToStage()
+ .add(new HRect(100,1))
+
+ .layout(
+ new HCircleLayout()
+ .radius(200)
+ .startLoc(width/2,height/2)
+ .rotateTarget(true)
+ .startAngle(-90.0)
+ .angleStep(180.0/numAssets)
+ )
+
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(#ECECEC).anchorAt(H.CENTER);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ H.drawStage();
+ noLoop();
+}
+
+void draw() {
+
+}
diff --git a/examples/HColorField/HColorField_001/HColorField_001.pde b/HYPE/examples/HColorField/HColorField_001/HColorField_001.pde
similarity index 100%
rename from examples/HColorField/HColorField_001/HColorField_001.pde
rename to HYPE/examples/HColorField/HColorField_001/HColorField_001.pde
diff --git a/examples/HColorField/HColorField_002/HColorField_002.pde b/HYPE/examples/HColorField/HColorField_002/HColorField_002.pde
similarity index 100%
rename from examples/HColorField/HColorField_002/HColorField_002.pde
rename to HYPE/examples/HColorField/HColorField_002/HColorField_002.pde
diff --git a/examples/HColorField/HColorField_003/HColorField_003.pde b/HYPE/examples/HColorField/HColorField_003/HColorField_003.pde
similarity index 100%
rename from examples/HColorField/HColorField_003/HColorField_003.pde
rename to HYPE/examples/HColorField/HColorField_003/HColorField_003.pde
diff --git a/examples/HColorField/HColorField_004/HColorField_004.pde b/HYPE/examples/HColorField/HColorField_004/HColorField_004.pde
similarity index 100%
rename from examples/HColorField/HColorField_004/HColorField_004.pde
rename to HYPE/examples/HColorField/HColorField_004/HColorField_004.pde
diff --git a/examples/HColorField/HColorField_005/HColorField_005.pde b/HYPE/examples/HColorField/HColorField_005/HColorField_005.pde
similarity index 100%
rename from examples/HColorField/HColorField_005/HColorField_005.pde
rename to HYPE/examples/HColorField/HColorField_005/HColorField_005.pde
diff --git a/HYPE/examples/HColorLightness/example_001/data/gradient_ball.png b/HYPE/examples/HColorLightness/example_001/data/gradient_ball.png
new file mode 100644
index 00000000..357bf373
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_001/data/gradient_ball.png differ
diff --git a/HYPE/examples/HColorLightness/example_001/data/orange_ball.png b/HYPE/examples/HColorLightness/example_001/data/orange_ball.png
new file mode 100644
index 00000000..2fdebabb
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_001/data/orange_ball.png differ
diff --git a/HYPE/examples/HColorLightness/example_001/data/skull.png b/HYPE/examples/HColorLightness/example_001/data/skull.png
new file mode 100644
index 00000000..dca703eb
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_001/data/skull.png differ
diff --git a/HYPE/examples/HColorLightness/example_001/data/testplate.png b/HYPE/examples/HColorLightness/example_001/data/testplate.png
new file mode 100644
index 00000000..167b8092
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_001/data/testplate.png differ
diff --git a/HYPE/examples/HColorLightness/example_001/example_001.pde b/HYPE/examples/HColorLightness/example_001/example_001.pde
new file mode 100755
index 00000000..59e5271a
--- /dev/null
+++ b/HYPE/examples/HColorLightness/example_001/example_001.pde
@@ -0,0 +1,50 @@
+import hype.*;
+import hype.extended.behavior.HColorLightness;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+PImage img;
+
+void setup() {
+ size(640, 640);
+ H.init(this).background(#242424);
+
+ //The image we are going to reference for lightness values
+
+ // img = loadImage("gradient_ball.png");
+ // img = loadImage("orange_ball.png");
+ // img = loadImage("skull.png");
+ img = loadImage("testplate.png");
+
+ pool = new HDrawablePool(1024);
+ pool.autoAddToStage()
+ .add(new HEllipse(5).noStroke().fill(255).anchorAt(H.CENTER))
+ .layout(new HGridLayout().startLoc(10, 10).spacing(20, 20).cols(32))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+
+ /*
+ When using HColorLightness in a pool, it is more efficient to pass an instance of a PImage
+ than to pass a file name.
+
+ Passing the filename to the behaviour when using a pool results in much slower loading/running
+ as loadImage is called for every object in the pool i.e. new HColorLightness("testplate.png")
+ */
+
+ new HColorLightness(img)
+ .property(H.SCALE)
+ .range(0.1, 2.0)
+ .target(d)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HColorLightness/example_002/data/gradient_ball.png b/HYPE/examples/HColorLightness/example_002/data/gradient_ball.png
new file mode 100644
index 00000000..357bf373
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_002/data/gradient_ball.png differ
diff --git a/HYPE/examples/HColorLightness/example_002/data/orange_ball.png b/HYPE/examples/HColorLightness/example_002/data/orange_ball.png
new file mode 100644
index 00000000..2fdebabb
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_002/data/orange_ball.png differ
diff --git a/HYPE/examples/HColorLightness/example_002/data/skull.png b/HYPE/examples/HColorLightness/example_002/data/skull.png
new file mode 100644
index 00000000..dca703eb
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_002/data/skull.png differ
diff --git a/HYPE/examples/HColorLightness/example_002/data/testplate.png b/HYPE/examples/HColorLightness/example_002/data/testplate.png
new file mode 100644
index 00000000..167b8092
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_002/data/testplate.png differ
diff --git a/HYPE/examples/HColorLightness/example_002/example_002.pde b/HYPE/examples/HColorLightness/example_002/example_002.pde
new file mode 100755
index 00000000..4db531ec
--- /dev/null
+++ b/HYPE/examples/HColorLightness/example_002/example_002.pde
@@ -0,0 +1,63 @@
+import hype.*;
+import hype.extended.behavior.HColorLightness;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool poolBright, poolLight;
+PImage img;
+
+void setup() {
+ size(640, 640);
+ H.init(this).background(#242424);
+
+ // Demonstrates the difference between lightness and brightness. The Pokeball is unintentional.
+
+ img = loadImage("orange_ball.png");
+
+ poolBright = new HDrawablePool(528);
+ poolBright.autoAddToStage()
+ .add(new HEllipse(10).noStroke().fill(#FF3300).anchorAt(H.CENTER))
+ .layout(new HGridLayout().startLoc(630, 630).spacing(-20, -20).cols(32))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+
+ new HColorLightness(img)
+ .useBrightness()
+ .property(H.SCALE)
+ .range(0, 1)
+ .target(d)
+ ;
+
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ poolLight = new HDrawablePool(528);
+ poolLight.autoAddToStage()
+ .add(new HEllipse(10).noStroke().fill(#FFFFFF).anchorAt(H.CENTER))
+ .layout(new HGridLayout().startLoc(10, 10).spacing(20, 20).cols(32))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+
+ new HColorLightness(img)
+ .useLightness() // lightness is the default
+ .property(H.SCALE)
+ .range(0, 1)
+ .target(d)
+ ;
+
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HColorLightness/example_003/data/gradient_ball.png b/HYPE/examples/HColorLightness/example_003/data/gradient_ball.png
new file mode 100644
index 00000000..357bf373
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_003/data/gradient_ball.png differ
diff --git a/HYPE/examples/HColorLightness/example_003/data/orange_ball.png b/HYPE/examples/HColorLightness/example_003/data/orange_ball.png
new file mode 100644
index 00000000..2fdebabb
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_003/data/orange_ball.png differ
diff --git a/HYPE/examples/HColorLightness/example_003/data/skull.png b/HYPE/examples/HColorLightness/example_003/data/skull.png
new file mode 100644
index 00000000..dca703eb
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_003/data/skull.png differ
diff --git a/HYPE/examples/HColorLightness/example_003/data/testplate.png b/HYPE/examples/HColorLightness/example_003/data/testplate.png
new file mode 100644
index 00000000..167b8092
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_003/data/testplate.png differ
diff --git a/HYPE/examples/HColorLightness/example_003/example_003.pde b/HYPE/examples/HColorLightness/example_003/example_003.pde
new file mode 100755
index 00000000..758dfab7
--- /dev/null
+++ b/HYPE/examples/HColorLightness/example_003/example_003.pde
@@ -0,0 +1,49 @@
+import hype.*;
+import hype.extended.behavior.HColorLightness;
+import hype.extended.colorist.HPixelColorist;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+HPixelColorist colors;
+PImage img;
+
+void setup() {
+ size(640, 640);
+ H.init(this).background(#242424);
+
+ // img = loadImage("gradient_ball.png");
+ // img = loadImage("orange_ball.png");
+ // img = loadImage("skull.png");
+ img = loadImage("testplate.png");
+
+ // Demo using pixelColorist to color the shapes, and Color Lightness behavior to control the rotation of them
+
+ colors = new HPixelColorist(img).fillOnly();
+
+ pool = new HDrawablePool(1024);
+ pool.autoAddToStage()
+ .add(new HRect(20, 5).rounding(2).noStroke().anchorAt(H.CENTER))
+ .layout(new HGridLayout().startLoc(10, 10).spacing(20, 20).cols(32))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+
+ new HColorLightness(img)
+ .property(H.ROTATION)
+ //.useBrightness()
+ .range(0, 90)
+ .target(d)
+ ;
+
+ colors.applyColor(d);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HColorLightness/example_004/data/gradient_ball.png b/HYPE/examples/HColorLightness/example_004/data/gradient_ball.png
new file mode 100644
index 00000000..357bf373
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_004/data/gradient_ball.png differ
diff --git a/HYPE/examples/HColorLightness/example_004/data/orange_ball.png b/HYPE/examples/HColorLightness/example_004/data/orange_ball.png
new file mode 100644
index 00000000..2fdebabb
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_004/data/orange_ball.png differ
diff --git a/HYPE/examples/HColorLightness/example_004/data/skull.png b/HYPE/examples/HColorLightness/example_004/data/skull.png
new file mode 100644
index 00000000..dca703eb
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_004/data/skull.png differ
diff --git a/HYPE/examples/HColorLightness/example_004/data/testplate.png b/HYPE/examples/HColorLightness/example_004/data/testplate.png
new file mode 100644
index 00000000..167b8092
Binary files /dev/null and b/HYPE/examples/HColorLightness/example_004/data/testplate.png differ
diff --git a/HYPE/examples/HColorLightness/example_004/example_004.pde b/HYPE/examples/HColorLightness/example_004/example_004.pde
new file mode 100755
index 00000000..bdeac848
--- /dev/null
+++ b/HYPE/examples/HColorLightness/example_004/example_004.pde
@@ -0,0 +1,54 @@
+import hype.*;
+import hype.extended.behavior.HColorLightness;
+import hype.extended.behavior.HSwarm;
+import hype.extended.colorist.HPixelColorist;
+
+HSwarm swarm;
+HDrawablePool pool;
+HPixelColorist colors;
+PImage img;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424).autoClear(false);
+
+ // img = loadImage("gradient_ball.png");
+ img = loadImage("orange_ball.png");
+ // img = loadImage("skull.png");
+ // img = loadImage("testplate.png");
+
+ colors = new HPixelColorist(img).fillOnly();
+
+ swarm = new HSwarm().addGoal(H.mouse()).speed(5).turnEase(0.2f).twitch(50);
+
+ pool = new HDrawablePool(42);
+ pool.autoAddToStage()
+ .add (new HRect().rounding(10))
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.stroke(0,127).size(30, 10).loc(width/2,height/2).anchorAt(H.CENTER);
+
+ new HColorLightness(img)
+ .property(H.SCALE)
+ .useBrightness()
+ .range(0.5, 1.5)
+ .target(d)
+ ;
+
+ swarm.addTarget(d);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ for (HDrawable d : pool) {
+ colors.applyColor(d);
+ }
+
+ H.drawStage();
+}
diff --git a/examples/HColorPool/HColorPool_001/HColorPool_001.pde b/HYPE/examples/HColorPool/HColorPool_001/HColorPool_001.pde
similarity index 100%
rename from examples/HColorPool/HColorPool_001/HColorPool_001.pde
rename to HYPE/examples/HColorPool/HColorPool_001/HColorPool_001.pde
diff --git a/examples/HColorPool/HColorPool_002/HColorPool_002.pde b/HYPE/examples/HColorPool/HColorPool_002/HColorPool_002.pde
similarity index 100%
rename from examples/HColorPool/HColorPool_002/HColorPool_002.pde
rename to HYPE/examples/HColorPool/HColorPool_002/HColorPool_002.pde
diff --git a/examples/HColorPool/HColorPool_003/HColorPool_003.pde b/HYPE/examples/HColorPool/HColorPool_003/HColorPool_003.pde
similarity index 100%
rename from examples/HColorPool/HColorPool_003/HColorPool_003.pde
rename to HYPE/examples/HColorPool/HColorPool_003/HColorPool_003.pde
diff --git a/examples/HColorPool/HColorPool_004/HColorPool_004.pde b/HYPE/examples/HColorPool/HColorPool_004/HColorPool_004.pde
similarity index 100%
rename from examples/HColorPool/HColorPool_004/HColorPool_004.pde
rename to HYPE/examples/HColorPool/HColorPool_004/HColorPool_004.pde
diff --git a/HYPE/examples/HColorPool/HColorPool_005/HColorPool_005.pde b/HYPE/examples/HColorPool/HColorPool_005/HColorPool_005.pde
new file mode 100644
index 00000000..395f16a3
--- /dev/null
+++ b/HYPE/examples/HColorPool/HColorPool_005/HColorPool_005.pde
@@ -0,0 +1,55 @@
+import hype.*;
+import hype.extended.colorist.HColorPool;
+import hype.extended.behavior.HRotate;
+
+HDrawablePool pool;
+HColorPool colors;
+int colorIndex = 0;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ colors = new HColorPool(#FFFFFF, #333333, #0095a8, #FF3300);
+
+ pool = new HDrawablePool(200);
+ pool.autoAddToStage()
+ .add(new HRect().rounding(10))
+ .add(new HEllipse(), 25)
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d
+ .noStroke()
+ .fill( colors.getColorAt(colorIndex) ) // select a color at a specific index in the HColorPool / 0 = #FFFFFF
+ .loc( (int)random(width), (int)random(height) )
+ .anchor( new PVector(25,25) )
+ .rotation( (int)random(360) )
+ .size( 25+((int)random(3)*25) )
+ ;
+
+ HRotate r = new HRotate();
+ r.target(d).speed( random(-4,4) );
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+
+ for (HDrawable d: pool) {
+ d.fill( colors.getColorAt(colorIndex) );
+ }
+}
+
+void keyPressed() {
+ switch (key) {
+ case ' ':
+ colorIndex = ++colorIndex%colors.size(); // press the spacebar on your keyboard to cycle through the colors
+ break;
+ }
+}
diff --git a/examples/HColorTransform/HColorTransform_001/HColorTransform_001.pde b/HYPE/examples/HColorTransform/HColorTransform_001/HColorTransform_001.pde
similarity index 100%
rename from examples/HColorTransform/HColorTransform_001/HColorTransform_001.pde
rename to HYPE/examples/HColorTransform/HColorTransform_001/HColorTransform_001.pde
diff --git a/examples/HColorTransform/HColorTransform_001/data/sintra.jpg b/HYPE/examples/HColorTransform/HColorTransform_001/data/sintra.jpg
similarity index 100%
rename from examples/HColorTransform/HColorTransform_001/data/sintra.jpg
rename to HYPE/examples/HColorTransform/HColorTransform_001/data/sintra.jpg
diff --git a/examples/HColorTransform/HColorTransform_002/HColorTransform_002.pde b/HYPE/examples/HColorTransform/HColorTransform_002/HColorTransform_002.pde
similarity index 100%
rename from examples/HColorTransform/HColorTransform_002/HColorTransform_002.pde
rename to HYPE/examples/HColorTransform/HColorTransform_002/HColorTransform_002.pde
diff --git a/examples/HColorTransform/HColorTransform_002/data/sintra.jpg b/HYPE/examples/HColorTransform/HColorTransform_002/data/sintra.jpg
similarity index 100%
rename from examples/HColorTransform/HColorTransform_002/data/sintra.jpg
rename to HYPE/examples/HColorTransform/HColorTransform_002/data/sintra.jpg
diff --git a/HYPE/examples/HCylinder/HCylinder_001/HCylinder_001.pde b/HYPE/examples/HCylinder/HCylinder_001/HCylinder_001.pde
new file mode 100644
index 00000000..2f3359b3
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_001/HCylinder_001.pde
@@ -0,0 +1,30 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+int cSize = 250;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HCylinder c = new HCylinder();
+ c
+ .depth(cSize)
+ .width(cSize)
+ .height(cSize)
+ .strokeWeight(2)
+ .stroke(#CCCCCC, 225)
+ .fill(#FF3300, 255)
+ .loc(width/2, height/2)
+ ;
+ H.add(c);
+
+ new HOscillator().target(c).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1);
+}
+
+void draw() {
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_002/HCylinder_002.pde b/HYPE/examples/HCylinder/HCylinder_002/HCylinder_002.pde
new file mode 100644
index 00000000..25feb2b1
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_002/HCylinder_002.pde
@@ -0,0 +1,34 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+int cSize = 250;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HCylinder c = new HCylinder();
+ c
+ .depth(cSize)
+ .width(cSize)
+ .height(cSize)
+ .strokeWeight(2)
+ .stroke(#CCCCCC, 225)
+ .fill(#FF3300, 255)
+ .loc(width/2, height/2)
+ ;
+
+ c.topRadius(0.1);
+ c.bottomRadius(0.6);
+
+ H.add(c);
+
+ new HOscillator().target(c).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1);
+}
+
+void draw() {
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_003/HCylinder_003.pde b/HYPE/examples/HCylinder/HCylinder_003/HCylinder_003.pde
new file mode 100644
index 00000000..4fc674d8
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_003/HCylinder_003.pde
@@ -0,0 +1,35 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+int cSize = 250;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HCylinder c = new HCylinder();
+ c
+ .depth(cSize)
+ .width(cSize)
+ .height(cSize)
+ .strokeWeight(2)
+ .stroke(#CCCCCC, 225)
+ .fill(#FF3300, 255)
+ .loc(width/2, height/2)
+ ;
+
+ c.sides(4);
+ c.topRadius(0.0);
+ c.bottomRadius(0.6);
+
+ H.add(c);
+
+ new HOscillator().target(c).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1);
+}
+
+void draw() {
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_004/HCylinder_004.pde b/HYPE/examples/HCylinder/HCylinder_004/HCylinder_004.pde
new file mode 100644
index 00000000..4acdb4cc
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_004/HCylinder_004.pde
@@ -0,0 +1,36 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+int boxSize = 250;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HCylinder c = new HCylinder();
+ c
+ .depth(boxSize)
+ .width(boxSize)
+ .height(boxSize)
+ .strokeWeight(2)
+ .stroke(#CCCCCC, 225)
+ .fill(#FF3300, 255)
+ .loc(width/2, height/2)
+ ;
+
+ c.sides(13);
+ c.strokeSides(true);
+ c.topRadius(0.1);
+ c.bottomRadius(0.6);
+
+ H.add(c);
+
+ new HOscillator().target(c).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1);
+}
+
+void draw() {
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_005/HCylinder_005.pde b/HYPE/examples/HCylinder/HCylinder_005/HCylinder_005.pde
new file mode 100644
index 00000000..64e79684
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_005/HCylinder_005.pde
@@ -0,0 +1,35 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+int cSize = 250;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HCylinder c = new HCylinder();
+ c
+ .depth(cSize)
+ .width(cSize)
+ .height(cSize)
+ .strokeWeight(2)
+ .stroke(#CCCCCC, 225)
+ .fill(#FF3300, 255)
+ .loc(width/2, height/2)
+ ;
+
+ c.strokeSides(true);
+ c.drawTop(false);
+ c.drawBottom(false);
+
+ H.add(c);
+
+ new HOscillator().target(c).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1);
+}
+
+void draw() {
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_006/HCylinder_006.pde b/HYPE/examples/HCylinder/HCylinder_006/HCylinder_006.pde
new file mode 100644
index 00000000..c9739f04
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_006/HCylinder_006.pde
@@ -0,0 +1,35 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+int cSize = 250;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ HCylinder c = new HCylinder();
+ c
+ .depth(cSize)
+ .width(cSize)
+ .height(cSize)
+ .noStroke()
+ .fill(#FF3300, 255)
+ .loc(width/2, height/2)
+ ;
+
+ c.texture("tex1.png");
+ c.drawTop(false);
+ c.drawBottom(false);
+
+ H.add(c);
+
+ new HOscillator().target(c).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1);
+ new HOscillator().target(c).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1);
+}
+
+void draw() {
+ lights();
+ hint(DISABLE_DEPTH_TEST);
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_006/data/tex1.png b/HYPE/examples/HCylinder/HCylinder_006/data/tex1.png
new file mode 100644
index 00000000..abe2dc3b
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_006/data/tex1.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_006/data/tex2.png b/HYPE/examples/HCylinder/HCylinder_006/data/tex2.png
new file mode 100644
index 00000000..14432106
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_006/data/tex2.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_006/data/tex3.png b/HYPE/examples/HCylinder/HCylinder_006/data/tex3.png
new file mode 100644
index 00000000..5d41fbac
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_006/data/tex3.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_006/data/tex4.png b/HYPE/examples/HCylinder/HCylinder_006/data/tex4.png
new file mode 100644
index 00000000..1247238d
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_006/data/tex4.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_006/data/tex5.png b/HYPE/examples/HCylinder/HCylinder_006/data/tex5.png
new file mode 100644
index 00000000..a3a119a2
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_006/data/tex5.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_006/data/tex6.png b/HYPE/examples/HCylinder/HCylinder_006/data/tex6.png
new file mode 100644
index 00000000..8d20bfb9
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_006/data/tex6.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_007/HCylinder_007.pde b/HYPE/examples/HCylinder/HCylinder_007/HCylinder_007.pde
new file mode 100644
index 00000000..846a8547
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_007/HCylinder_007.pde
@@ -0,0 +1,33 @@
+import hype.*;
+import hype.extended.behavior.HRotate;
+
+int cSize = 150;
+HCylinder c1, c2, c3, c4, c5, c6;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add( c1 = new HCylinder().texture("tex1.png").drawTop(false).drawBottom(false) );
+ c1.depth(cSize).width(cSize).height(cSize*1.75).noStroke().fill(#FFFFFF, 255).loc((width/2)-200, (height/2)-150);
+
+ H.add( c2 = c1.createCopy().texture("tex2.png") ).loc((width/2), (height/2)-150);
+ H.add( c3 = c1.createCopy().texture("tex3.png") ).loc((width/2)+200, (height/2)-150);
+ H.add( c4 = c1.createCopy().texture("tex4.png") ).loc((width/2)-200, (height/2)+150);
+ H.add( c5 = c1.createCopy().texture("tex5.png") ).loc((width/2), (height/2)+150);
+ H.add( c6 = c1.createCopy().texture("tex6.png") ).loc((width/2)+200, (height/2)+150);
+
+ new HRotate().target(c1).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c2).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c3).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c4).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c5).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c6).speedX(0).speedY(1).speedZ(0);
+}
+
+void draw() {
+ ortho();
+ lights();
+ hint(DISABLE_DEPTH_TEST);
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_007/data/tex1.png b/HYPE/examples/HCylinder/HCylinder_007/data/tex1.png
new file mode 100644
index 00000000..abe2dc3b
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_007/data/tex1.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_007/data/tex2.png b/HYPE/examples/HCylinder/HCylinder_007/data/tex2.png
new file mode 100644
index 00000000..14432106
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_007/data/tex2.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_007/data/tex3.png b/HYPE/examples/HCylinder/HCylinder_007/data/tex3.png
new file mode 100644
index 00000000..5d41fbac
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_007/data/tex3.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_007/data/tex4.png b/HYPE/examples/HCylinder/HCylinder_007/data/tex4.png
new file mode 100644
index 00000000..1247238d
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_007/data/tex4.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_007/data/tex5.png b/HYPE/examples/HCylinder/HCylinder_007/data/tex5.png
new file mode 100644
index 00000000..a3a119a2
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_007/data/tex5.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_007/data/tex6.png b/HYPE/examples/HCylinder/HCylinder_007/data/tex6.png
new file mode 100644
index 00000000..8d20bfb9
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_007/data/tex6.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_008/HCylinder_008.pde b/HYPE/examples/HCylinder/HCylinder_008/HCylinder_008.pde
new file mode 100644
index 00000000..664d9a1d
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_008/HCylinder_008.pde
@@ -0,0 +1,40 @@
+import hype.*;
+import hype.extended.behavior.HRotate;
+
+int cSize = 125;
+HCylinder c0, c1, c2, c3, c4, c5, c6;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add( c0 = new HCylinder() );
+ c0.depth(cSize).width(cSize).height(cSize*1.75).noStroke().fill(#FF3300, 255).loc((width/2)-190, (height/2)-130);
+ H.add( c0.createCopy()).loc((width/2), (height/2)-130);
+ H.add( c0.createCopy()).loc((width/2)+190, (height/2)-130);
+ H.add( c0.createCopy()).loc((width/2)-190, (height/2)+130);
+ H.add( c0.createCopy()).loc((width/2), (height/2)+130);
+ H.add( c0.createCopy()).loc((width/2)+190, (height/2)+130);
+
+ H.add( c1 = c0.createCopy().texture("tex1.png") );
+ c1.depth(cSize*1.25).width(cSize*1.25).height(cSize*1.8).fill(#FFFFFF, 225).loc((width/2)-190, (height/2)-130);
+ H.add( c2 = c1.createCopy().texture("tex2.png") ).loc((width/2), (height/2)-130);
+ H.add( c3 = c1.createCopy().texture("tex3.png") ).loc((width/2)+190, (height/2)-130);
+ H.add( c4 = c1.createCopy().texture("tex4.png") ).loc((width/2)-190, (height/2)+130);
+ H.add( c5 = c1.createCopy().texture("tex5.png") ).loc((width/2), (height/2)+130);
+ H.add( c6 = c1.createCopy().texture("tex6.png") ).loc((width/2)+190, (height/2)+130);
+
+ new HRotate().target(c1).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c2).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c3).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c4).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c5).speedX(0).speedY(1).speedZ(0);
+ new HRotate().target(c6).speedX(0).speedY(1).speedZ(0);
+}
+
+void draw() {
+ // ortho();
+ lights();
+ // hint(DISABLE_DEPTH_TEST);
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_008/data/tex1.png b/HYPE/examples/HCylinder/HCylinder_008/data/tex1.png
new file mode 100644
index 00000000..abe2dc3b
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_008/data/tex1.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_008/data/tex2.png b/HYPE/examples/HCylinder/HCylinder_008/data/tex2.png
new file mode 100644
index 00000000..14432106
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_008/data/tex2.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_008/data/tex3.png b/HYPE/examples/HCylinder/HCylinder_008/data/tex3.png
new file mode 100644
index 00000000..5d41fbac
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_008/data/tex3.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_008/data/tex4.png b/HYPE/examples/HCylinder/HCylinder_008/data/tex4.png
new file mode 100644
index 00000000..1247238d
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_008/data/tex4.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_008/data/tex5.png b/HYPE/examples/HCylinder/HCylinder_008/data/tex5.png
new file mode 100644
index 00000000..a3a119a2
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_008/data/tex5.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_008/data/tex6.png b/HYPE/examples/HCylinder/HCylinder_008/data/tex6.png
new file mode 100644
index 00000000..8d20bfb9
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_008/data/tex6.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_009/HCylinder_009.pde b/HYPE/examples/HCylinder/HCylinder_009/HCylinder_009.pde
new file mode 100644
index 00000000..f6bd4daa
--- /dev/null
+++ b/HYPE/examples/HCylinder/HCylinder_009/HCylinder_009.pde
@@ -0,0 +1,47 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+
+HImage t1;
+int cSize = 250;
+HDrawablePool pool;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ t1 = new HImage("tex5.png");
+
+ pool = new HDrawablePool(25);
+ pool.autoAddToStage()
+ .add( new HCylinder().texture(t1) )
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HCylinder d = (HCylinder) obj;
+ d
+ .depth(cSize)
+ .width(cSize)
+ .height(cSize)
+ .strokeWeight(1)
+ .stroke(#CCCCCC, 225)
+ .fill(#FF3300, 225)
+ .loc(width/2, height/2)
+ ;
+
+ new HOscillator().target(d).property(H.ROTATIONX).range(-360, 360).speed(0.1).freq(1).currentStep(i*1.25).waveform(H.SINE);
+ new HOscillator().target(d).property(H.ROTATIONY).range(-360, 360).speed(0.2).freq(1).currentStep(i*1.25).waveform(H.SINE);
+ new HOscillator().target(d).property(H.ROTATIONZ).range(-360, 360).speed(0.3).freq(1).currentStep(i*1.25).waveform(H.SINE);
+
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HCylinder/HCylinder_009/data/tex1.png b/HYPE/examples/HCylinder/HCylinder_009/data/tex1.png
new file mode 100644
index 00000000..abe2dc3b
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_009/data/tex1.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_009/data/tex2.png b/HYPE/examples/HCylinder/HCylinder_009/data/tex2.png
new file mode 100644
index 00000000..14432106
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_009/data/tex2.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_009/data/tex3.png b/HYPE/examples/HCylinder/HCylinder_009/data/tex3.png
new file mode 100644
index 00000000..5d41fbac
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_009/data/tex3.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_009/data/tex4.png b/HYPE/examples/HCylinder/HCylinder_009/data/tex4.png
new file mode 100644
index 00000000..1247238d
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_009/data/tex4.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_009/data/tex5.png b/HYPE/examples/HCylinder/HCylinder_009/data/tex5.png
new file mode 100644
index 00000000..a3a119a2
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_009/data/tex5.png differ
diff --git a/HYPE/examples/HCylinder/HCylinder_009/data/tex6.png b/HYPE/examples/HCylinder/HCylinder_009/data/tex6.png
new file mode 100644
index 00000000..8d20bfb9
Binary files /dev/null and b/HYPE/examples/HCylinder/HCylinder_009/data/tex6.png differ
diff --git a/examples/HDrawablePool/HDrawablePool_001/HDrawablePool_001.pde b/HYPE/examples/HDrawablePool/HDrawablePool_001/HDrawablePool_001.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_001/HDrawablePool_001.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_001/HDrawablePool_001.pde
diff --git a/examples/HDrawablePool/HDrawablePool_002/HDrawablePool_002.pde b/HYPE/examples/HDrawablePool/HDrawablePool_002/HDrawablePool_002.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_002/HDrawablePool_002.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_002/HDrawablePool_002.pde
diff --git a/examples/HDrawablePool/HDrawablePool_003/HDrawablePool_003.pde b/HYPE/examples/HDrawablePool/HDrawablePool_003/HDrawablePool_003.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_003/HDrawablePool_003.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_003/HDrawablePool_003.pde
diff --git a/examples/HDrawablePool/HDrawablePool_004/HDrawablePool_004.pde b/HYPE/examples/HDrawablePool/HDrawablePool_004/HDrawablePool_004.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_004/HDrawablePool_004.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_004/HDrawablePool_004.pde
diff --git a/examples/HDrawablePool/HDrawablePool_005/HDrawablePool_005.pde b/HYPE/examples/HDrawablePool/HDrawablePool_005/HDrawablePool_005.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_005/HDrawablePool_005.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_005/HDrawablePool_005.pde
diff --git a/examples/HDrawablePool/HDrawablePool_006/HDrawablePool_006.pde b/HYPE/examples/HDrawablePool/HDrawablePool_006/HDrawablePool_006.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_006/HDrawablePool_006.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_006/HDrawablePool_006.pde
diff --git a/examples/HDrawablePool/HDrawablePool_007/HDrawablePool_007.pde b/HYPE/examples/HDrawablePool/HDrawablePool_007/HDrawablePool_007.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_007/HDrawablePool_007.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_007/HDrawablePool_007.pde
diff --git a/examples/HDrawablePool/HDrawablePool_008/HDrawablePool_008.pde b/HYPE/examples/HDrawablePool/HDrawablePool_008/HDrawablePool_008.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_008/HDrawablePool_008.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_008/HDrawablePool_008.pde
diff --git a/examples/HDrawablePool/HDrawablePool_009/HDrawablePool_009.pde b/HYPE/examples/HDrawablePool/HDrawablePool_009/HDrawablePool_009.pde
similarity index 100%
rename from examples/HDrawablePool/HDrawablePool_009/HDrawablePool_009.pde
rename to HYPE/examples/HDrawablePool/HDrawablePool_009/HDrawablePool_009.pde
diff --git a/examples/HFollow/HFollow_001/HFollow_001.pde b/HYPE/examples/HFollow/HFollow_001/HFollow_001.pde
similarity index 100%
rename from examples/HFollow/HFollow_001/HFollow_001.pde
rename to HYPE/examples/HFollow/HFollow_001/HFollow_001.pde
diff --git a/examples/HFollow/HFollow_002/HFollow_002.pde b/HYPE/examples/HFollow/HFollow_002/HFollow_002.pde
similarity index 100%
rename from examples/HFollow/HFollow_002/HFollow_002.pde
rename to HYPE/examples/HFollow/HFollow_002/HFollow_002.pde
diff --git a/examples/HFollow/HFollow_003/HFollow_003.pde b/HYPE/examples/HFollow/HFollow_003/HFollow_003.pde
similarity index 100%
rename from examples/HFollow/HFollow_003/HFollow_003.pde
rename to HYPE/examples/HFollow/HFollow_003/HFollow_003.pde
diff --git a/examples/HFollow/HFollow_004/HFollow_004.pde b/HYPE/examples/HFollow/HFollow_004/HFollow_004.pde
similarity index 100%
rename from examples/HFollow/HFollow_004/HFollow_004.pde
rename to HYPE/examples/HFollow/HFollow_004/HFollow_004.pde
diff --git a/examples/HFollow/HFollow_005/HFollow_005.pde b/HYPE/examples/HFollow/HFollow_005/HFollow_005.pde
similarity index 100%
rename from examples/HFollow/HFollow_005/HFollow_005.pde
rename to HYPE/examples/HFollow/HFollow_005/HFollow_005.pde
diff --git a/examples/HFollow/HFollow_005/data/sintra.jpg b/HYPE/examples/HFollow/HFollow_005/data/sintra.jpg
similarity index 100%
rename from examples/HFollow/HFollow_005/data/sintra.jpg
rename to HYPE/examples/HFollow/HFollow_005/data/sintra.jpg
diff --git a/HYPE/examples/HFollow/HFollow_006/HFollow_006.pde b/HYPE/examples/HFollow/HFollow_006/HFollow_006.pde
new file mode 100644
index 00000000..bc38fbfb
--- /dev/null
+++ b/HYPE/examples/HFollow/HFollow_006/HFollow_006.pde
@@ -0,0 +1,23 @@
+import hype.*;
+import hype.extended.behavior.HFollow;
+
+HFollow mf;
+HRect rect, rectGoal;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ H.add(rect = new HRect(100).rounding(40)).strokeWeight(2).stroke(0,150).loc(width/2,height/2).anchorAt(H.CENTER).rotation(45);
+ H.add(rectGoal = new HRect(25)).noStroke().fill(#FF3300).anchorAt(H.CENTER).loc(100,100).rotation(45);
+
+ mf = new HFollow().target(rect).ease(0.01).spring(0.95).goal(rectGoal);
+}
+
+void draw() {
+ H.drawStage();
+}
+
+void mousePressed() {
+ rectGoal.loc(mouseX,mouseY);
+}
\ No newline at end of file
diff --git a/HYPE/examples/HFollow/HFollow_007/HFollow_007.pde b/HYPE/examples/HFollow/HFollow_007/HFollow_007.pde
new file mode 100644
index 00000000..6cf38ac2
--- /dev/null
+++ b/HYPE/examples/HFollow/HFollow_007/HFollow_007.pde
@@ -0,0 +1,21 @@
+import hype.*;
+import hype.extended.behavior.HFollow;
+
+HFollow mf;
+HRect rect;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add(rect = new HRect(100).rounding(40)).strokeWeight(2).stroke(0,150).loc(width/2,height/2).anchorAt(H.CENTER).rotation(45);
+ mf = new HFollow().target(rect).ease(0.01).spring(0.95).goal( new HVector(100,100,0) );
+}
+
+void draw() {
+ H.drawStage();
+
+ if(frameCount%20==0) mf.goal( new HVector( (int)random(width), (int)random(height), (int)random(-500,200) ) );
+}
+
+
diff --git a/examples/HGridLayout/HGridLayout_001/HGridLayout_001.pde b/HYPE/examples/HGridLayout/HGridLayout_001/HGridLayout_001.pde
similarity index 100%
rename from examples/HGridLayout/HGridLayout_001/HGridLayout_001.pde
rename to HYPE/examples/HGridLayout/HGridLayout_001/HGridLayout_001.pde
diff --git a/examples/HGridLayout/HGridLayout_002/HGridLayout_002.pde b/HYPE/examples/HGridLayout/HGridLayout_002/HGridLayout_002.pde
similarity index 100%
rename from examples/HGridLayout/HGridLayout_002/HGridLayout_002.pde
rename to HYPE/examples/HGridLayout/HGridLayout_002/HGridLayout_002.pde
diff --git a/examples/HGridLayout/HGridLayout_003/HGridLayout_003.pde b/HYPE/examples/HGridLayout/HGridLayout_003/HGridLayout_003.pde
similarity index 100%
rename from examples/HGridLayout/HGridLayout_003/HGridLayout_003.pde
rename to HYPE/examples/HGridLayout/HGridLayout_003/HGridLayout_003.pde
diff --git a/examples/HGridLayout/HGridLayout_004/HGridLayout_004.pde b/HYPE/examples/HGridLayout/HGridLayout_004/HGridLayout_004.pde
similarity index 100%
rename from examples/HGridLayout/HGridLayout_004/HGridLayout_004.pde
rename to HYPE/examples/HGridLayout/HGridLayout_004/HGridLayout_004.pde
diff --git a/examples/HGridLayout/HGridLayout_005/HGridLayout_005.pde b/HYPE/examples/HGridLayout/HGridLayout_005/HGridLayout_005.pde
similarity index 100%
rename from examples/HGridLayout/HGridLayout_005/HGridLayout_005.pde
rename to HYPE/examples/HGridLayout/HGridLayout_005/HGridLayout_005.pde
diff --git a/examples/HGridLayout/HGridLayout_006/HGridLayout_006.pde b/HYPE/examples/HGridLayout/HGridLayout_006/HGridLayout_006.pde
similarity index 100%
rename from examples/HGridLayout/HGridLayout_006/HGridLayout_006.pde
rename to HYPE/examples/HGridLayout/HGridLayout_006/HGridLayout_006.pde
diff --git a/HYPE/examples/HGroupColorPool/HGroupColorPool_001/HGroupColorPool_001.pde b/HYPE/examples/HGroupColorPool/HGroupColorPool_001/HGroupColorPool_001.pde
new file mode 100644
index 00000000..e629af15
--- /dev/null
+++ b/HYPE/examples/HGroupColorPool/HGroupColorPool_001/HGroupColorPool_001.pde
@@ -0,0 +1,78 @@
+import hype.*;
+import hype.extended.colorist.HColorPool;
+import hype.extended.colorist.HGroupColorPool;
+
+HDrawablePool pool;
+HColorPool colors;
+HColorPool color1, color2, color3;
+HGroupColorPool grpColors;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#202020);
+ smooth();
+
+ color1 = new HColorPool().add(#FF3300).add(#FF6600).add(#FF9900).add(#FFFFFF);
+ color2 = new HColorPool().add(#33FF00).add(#66FF00).add(#99FF00).add(#FFFFFF);
+ color3 = new HColorPool().add(#0033FF).add(#0066FF).add(#0099FF).add(#FFFFFF);
+
+ // group all the HColorPool's
+
+ grpColors = new HGroupColorPool();
+ grpColors.add(color1).add(color2).add(color3);
+
+ runSketch();
+ H.drawStage();
+}
+
+void draw() {}
+
+void keyPressed() {
+ switch (key) {
+ case 'c': resetColors(); break;
+ case '1': colors = grpColors.getColorPool(0); resetColors(); break;
+ case '2': colors = grpColors.getColorPool(1); resetColors(); break;
+ case '3': colors = grpColors.getColorPool(2); resetColors(); break;
+ }
+}
+
+void mousePressed() {
+ resetAll();
+}
+
+void runSketch() {
+ colors = grpColors.getNextColorPool(); // cycle through available HColorPools in group - going forward
+ //colors = grpColors.getPrevColorPool(); // cycle through available HColorPools in group - going backwards
+ //colors = grpColors.getRandomColorPool(); // randomly select HColorPool
+ //colors = grpColors.getColorPool(0); // get specific HColorPool
+
+ pool = new HDrawablePool(100);
+ pool.autoAddToStage()
+ .add(new HEllipse())
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(colors.getColor(), (int)random(50,255)).anchorAt(H.CENTER).loc( (int)random(width), (int)random(height) );
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void resetColors() {
+ for (HDrawable d : pool) {
+ d.fill(colors.getColor(), (int)random(50,255));
+ }
+ H.drawStage();
+}
+
+void resetAll() {
+ // reset all - e.g. layout + HColorPool
+ for (HDrawable d : pool) {
+ H.remove(d);
+ }
+ runSketch();
+ H.drawStage();
+}
diff --git a/examples/HHexLayout/HHexLayout_001/HHexLayout_001.pde b/HYPE/examples/HHexLayout/HHexLayout_001/HHexLayout_001.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_001/HHexLayout_001.pde
rename to HYPE/examples/HHexLayout/HHexLayout_001/HHexLayout_001.pde
diff --git a/examples/HHexLayout/HHexLayout_002/HHexLayout_002.pde b/HYPE/examples/HHexLayout/HHexLayout_002/HHexLayout_002.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_002/HHexLayout_002.pde
rename to HYPE/examples/HHexLayout/HHexLayout_002/HHexLayout_002.pde
diff --git a/examples/HHexLayout/HHexLayout_003/HHexLayout_003.pde b/HYPE/examples/HHexLayout/HHexLayout_003/HHexLayout_003.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_003/HHexLayout_003.pde
rename to HYPE/examples/HHexLayout/HHexLayout_003/HHexLayout_003.pde
diff --git a/examples/HHexLayout/HHexLayout_004/HHexLayout_004.pde b/HYPE/examples/HHexLayout/HHexLayout_004/HHexLayout_004.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_004/HHexLayout_004.pde
rename to HYPE/examples/HHexLayout/HHexLayout_004/HHexLayout_004.pde
diff --git a/examples/HHexLayout/HHexLayout_005/HHexLayout_005.pde b/HYPE/examples/HHexLayout/HHexLayout_005/HHexLayout_005.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_005/HHexLayout_005.pde
rename to HYPE/examples/HHexLayout/HHexLayout_005/HHexLayout_005.pde
diff --git a/examples/HHexLayout/HHexLayout_006/HHexLayout_006.pde b/HYPE/examples/HHexLayout/HHexLayout_006/HHexLayout_006.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_006/HHexLayout_006.pde
rename to HYPE/examples/HHexLayout/HHexLayout_006/HHexLayout_006.pde
diff --git a/examples/HHexLayout/HHexLayout_007/HHexLayout_007.pde b/HYPE/examples/HHexLayout/HHexLayout_007/HHexLayout_007.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_007/HHexLayout_007.pde
rename to HYPE/examples/HHexLayout/HHexLayout_007/HHexLayout_007.pde
diff --git a/examples/HHexLayout/HHexLayout_008/HHexLayout_008.pde b/HYPE/examples/HHexLayout/HHexLayout_008/HHexLayout_008.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_008/HHexLayout_008.pde
rename to HYPE/examples/HHexLayout/HHexLayout_008/HHexLayout_008.pde
diff --git a/examples/HHexLayout/HHexLayout_009/HHexLayout_009.pde b/HYPE/examples/HHexLayout/HHexLayout_009/HHexLayout_009.pde
similarity index 100%
rename from examples/HHexLayout/HHexLayout_009/HHexLayout_009.pde
rename to HYPE/examples/HHexLayout/HHexLayout_009/HHexLayout_009.pde
diff --git a/HYPE/examples/HIcosahedron/HIcosahedron_001/HIcosahedron_001.pde b/HYPE/examples/HIcosahedron/HIcosahedron_001/HIcosahedron_001.pde
new file mode 100644
index 00000000..0372bb02
--- /dev/null
+++ b/HYPE/examples/HIcosahedron/HIcosahedron_001/HIcosahedron_001.pde
@@ -0,0 +1,21 @@
+import hype.*;
+
+HIcosahedron icos;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ H.add( icos = new HIcosahedron() )
+ .stroke(0)
+ .fill(255)
+ .size(200)
+ .loc(width/2, height/2)
+ ;
+}
+
+void draw() {
+ lights();
+ icos.rotationY(mouseX);
+ H.drawStage();
+}
diff --git a/examples/HMagneticField/HMagneticField_001/HMagneticField_001.pde b/HYPE/examples/HMagneticField/HMagneticField_001/HMagneticField_001.pde
similarity index 100%
rename from examples/HMagneticField/HMagneticField_001/HMagneticField_001.pde
rename to HYPE/examples/HMagneticField/HMagneticField_001/HMagneticField_001.pde
diff --git a/examples/HMagneticField/HMagneticField_001/data/arrow.svg b/HYPE/examples/HMagneticField/HMagneticField_001/data/arrow.svg
similarity index 100%
rename from examples/HMagneticField/HMagneticField_001/data/arrow.svg
rename to HYPE/examples/HMagneticField/HMagneticField_001/data/arrow.svg
diff --git a/examples/HMagneticField/HMagneticField_002/HMagneticField_002.pde b/HYPE/examples/HMagneticField/HMagneticField_002/HMagneticField_002.pde
similarity index 100%
rename from examples/HMagneticField/HMagneticField_002/HMagneticField_002.pde
rename to HYPE/examples/HMagneticField/HMagneticField_002/HMagneticField_002.pde
diff --git a/examples/HMagneticField/HMagneticField_002/data/arrow.svg b/HYPE/examples/HMagneticField/HMagneticField_002/data/arrow.svg
similarity index 100%
rename from examples/HMagneticField/HMagneticField_002/data/arrow.svg
rename to HYPE/examples/HMagneticField/HMagneticField_002/data/arrow.svg
diff --git a/examples/HMagneticField/HMagneticField_003/HMagneticField_003.pde b/HYPE/examples/HMagneticField/HMagneticField_003/HMagneticField_003.pde
similarity index 100%
rename from examples/HMagneticField/HMagneticField_003/HMagneticField_003.pde
rename to HYPE/examples/HMagneticField/HMagneticField_003/HMagneticField_003.pde
diff --git a/examples/HMagneticField/HMagneticField_003/data/arrow.svg b/HYPE/examples/HMagneticField/HMagneticField_003/data/arrow.svg
similarity index 100%
rename from examples/HMagneticField/HMagneticField_003/data/arrow.svg
rename to HYPE/examples/HMagneticField/HMagneticField_003/data/arrow.svg
diff --git a/examples/HMagneticField/HMagneticField_004/HMagneticField_004.pde b/HYPE/examples/HMagneticField/HMagneticField_004/HMagneticField_004.pde
similarity index 100%
rename from examples/HMagneticField/HMagneticField_004/HMagneticField_004.pde
rename to HYPE/examples/HMagneticField/HMagneticField_004/HMagneticField_004.pde
diff --git a/examples/HMagneticField/HMagneticField_004/data/arrow.svg b/HYPE/examples/HMagneticField/HMagneticField_004/data/arrow.svg
similarity index 100%
rename from examples/HMagneticField/HMagneticField_004/data/arrow.svg
rename to HYPE/examples/HMagneticField/HMagneticField_004/data/arrow.svg
diff --git a/examples/HMagneticField/HMagneticField_005/HMagneticField_005.pde b/HYPE/examples/HMagneticField/HMagneticField_005/HMagneticField_005.pde
similarity index 100%
rename from examples/HMagneticField/HMagneticField_005/HMagneticField_005.pde
rename to HYPE/examples/HMagneticField/HMagneticField_005/HMagneticField_005.pde
diff --git a/examples/HMagneticField/HMagneticField_005/data/arrow.svg b/HYPE/examples/HMagneticField/HMagneticField_005/data/arrow.svg
similarity index 100%
rename from examples/HMagneticField/HMagneticField_005/data/arrow.svg
rename to HYPE/examples/HMagneticField/HMagneticField_005/data/arrow.svg
diff --git a/examples/HMagneticField/HMagneticField_006/HMagneticField_006.pde b/HYPE/examples/HMagneticField/HMagneticField_006/HMagneticField_006.pde
similarity index 100%
rename from examples/HMagneticField/HMagneticField_006/HMagneticField_006.pde
rename to HYPE/examples/HMagneticField/HMagneticField_006/HMagneticField_006.pde
diff --git a/examples/HMagneticField/HMagneticField_006/data/arrow.svg b/HYPE/examples/HMagneticField/HMagneticField_006/data/arrow.svg
similarity index 100%
rename from examples/HMagneticField/HMagneticField_006/data/arrow.svg
rename to HYPE/examples/HMagneticField/HMagneticField_006/data/arrow.svg
diff --git a/examples/HMagneticField/HMagneticField_007/HMagneticField_007.pde b/HYPE/examples/HMagneticField/HMagneticField_007/HMagneticField_007.pde
similarity index 100%
rename from examples/HMagneticField/HMagneticField_007/HMagneticField_007.pde
rename to HYPE/examples/HMagneticField/HMagneticField_007/HMagneticField_007.pde
diff --git a/examples/HMagneticField/HMagneticField_007/data/arrow.svg b/HYPE/examples/HMagneticField/HMagneticField_007/data/arrow.svg
similarity index 100%
rename from examples/HMagneticField/HMagneticField_007/data/arrow.svg
rename to HYPE/examples/HMagneticField/HMagneticField_007/data/arrow.svg
diff --git a/HYPE/examples/HNoiseLoop/HNoiseLoop_001/HNoiseLoop_001.pde b/HYPE/examples/HNoiseLoop/HNoiseLoop_001/HNoiseLoop_001.pde
new file mode 100644
index 00000000..250cdcc8
--- /dev/null
+++ b/HYPE/examples/HNoiseLoop/HNoiseLoop_001/HNoiseLoop_001.pde
@@ -0,0 +1,40 @@
+import hype.*;
+import hype.extended.behavior.HNoiseLoop;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-100, 100)
+ .currentStep(i)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HNoiseLoop/HNoiseLoop_002/HNoiseLoop_002.pde b/HYPE/examples/HNoiseLoop/HNoiseLoop_002/HNoiseLoop_002.pde
new file mode 100644
index 00000000..2db8d47d
--- /dev/null
+++ b/HYPE/examples/HNoiseLoop/HNoiseLoop_002/HNoiseLoop_002.pde
@@ -0,0 +1,41 @@
+import hype.*;
+import hype.extended.behavior.HNoiseLoop;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-100, 100)
+ .loopLength(1.0)//number of seconds to loop
+ .currentStep(i)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HNoiseLoop/HNoiseLoop_003/HNoiseLoop_003.pde b/HYPE/examples/HNoiseLoop/HNoiseLoop_003/HNoiseLoop_003.pde
new file mode 100644
index 00000000..3534ca61
--- /dev/null
+++ b/HYPE/examples/HNoiseLoop/HNoiseLoop_003/HNoiseLoop_003.pde
@@ -0,0 +1,43 @@
+import hype.*;
+import hype.extended.behavior.HNoiseLoop;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+
+void setup() {
+ size(640,640);
+ frameRate(24);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-100, 100)
+ .loopLength(10.0)//number of seconds to loop
+ .frameRate(24)//frame rate of loop
+ .currentStep(i)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HNoiseLoop/HNoiseLoop_004/HNoiseLoop_004.pde b/HYPE/examples/HNoiseLoop/HNoiseLoop_004/HNoiseLoop_004.pde
new file mode 100644
index 00000000..db61e0d9
--- /dev/null
+++ b/HYPE/examples/HNoiseLoop/HNoiseLoop_004/HNoiseLoop_004.pde
@@ -0,0 +1,44 @@
+import hype.*;
+import hype.extended.behavior.HNoiseLoop;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+
+void setup() {
+ size(640,640);
+ // frameRate(24);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-100, 100)
+ .noiseDetail(0.03)
+ // .noiseDetailX(0.02)
+ // .noiseDetailY(0.002)
+ .currentStep(i)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HNoiseLoop/HNoiseLoop_005/HNoiseLoop_005.pde b/HYPE/examples/HNoiseLoop/HNoiseLoop_005/HNoiseLoop_005.pde
new file mode 100644
index 00000000..e4fe77d6
--- /dev/null
+++ b/HYPE/examples/HNoiseLoop/HNoiseLoop_005/HNoiseLoop_005.pde
@@ -0,0 +1,42 @@
+import hype.*;
+import hype.extended.behavior.HNoiseLoop;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+
+void setup() {
+ size(640,640);
+ // frameRate(24);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-100, 100)
+ .radius(300)//the circle of noise being sampled
+ .currentStep(i)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HNoiseLoop/HNoiseLoop_006/HNoiseLoop_006.pde b/HYPE/examples/HNoiseLoop/HNoiseLoop_006/HNoiseLoop_006.pde
new file mode 100644
index 00000000..22ef2cf1
--- /dev/null
+++ b/HYPE/examples/HNoiseLoop/HNoiseLoop_006/HNoiseLoop_006.pde
@@ -0,0 +1,44 @@
+import hype.*;
+import hype.extended.behavior.HNoiseLoop;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+
+void setup() {
+ size(640,640);
+ // frameRate(24);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-100, 100)
+ .noiseDetail(0.003)
+ .radius(300)//the circle of noise being sampled
+ .useContrast(true)//applied contrast filer to noise value
+ .currentStep(i)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HNoiseLoop/HNoiseLoop_007/HNoiseLoop_007.pde b/HYPE/examples/HNoiseLoop/HNoiseLoop_007/HNoiseLoop_007.pde
new file mode 100644
index 00000000..ee2b42c9
--- /dev/null
+++ b/HYPE/examples/HNoiseLoop/HNoiseLoop_007/HNoiseLoop_007.pde
@@ -0,0 +1,45 @@
+import hype.*;
+import hype.extended.behavior.HNoiseLoop;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+
+void setup() {
+ size(640,640);
+ // frameRate(24);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-100, 100)
+ .noiseDetail(0.01)
+ .radius(200)//the circle of noise being sampled
+ .useContrast(true)//applied contrast filer to noise value
+ .contrast(125)//-255 to 255 supported - think of it as grey values
+ .currentStep(i)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HNoiseLoop/HNoiseLoop_008/HNoiseLoop_008.pde b/HYPE/examples/HNoiseLoop/HNoiseLoop_008/HNoiseLoop_008.pde
new file mode 100644
index 00000000..c54d414e
--- /dev/null
+++ b/HYPE/examples/HNoiseLoop/HNoiseLoop_008/HNoiseLoop_008.pde
@@ -0,0 +1,70 @@
+import hype.*;
+import hype.extended.behavior.HNoiseLoop;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool, pool2;
+
+void setup() {
+ size(640,640);
+ // frameRate(24);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-200, 200)
+ .radius(150)
+ .currentStep(i)
+ .clockwise(true)//sample noise in clockwise direction
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ pool2 = new HDrawablePool(90);
+ pool2.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool2.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HNoiseLoop()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(320)
+ .range(-200, 200)
+ .radius(150)
+ .currentStep(i)
+ .clockwise(false)//sample noise in anti-clockwise direction
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/examples/HOrbiter3D/HOrbiter3D_001/HOrbiter3D_001.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_001/HOrbiter3D_001.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_001/HOrbiter3D_001.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_001/HOrbiter3D_001.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_002/HOrbiter3D_002.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_002/HOrbiter3D_002.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_002/HOrbiter3D_002.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_002/HOrbiter3D_002.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_003/HOrbiter3D_003.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_003/HOrbiter3D_003.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_003/HOrbiter3D_003.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_003/HOrbiter3D_003.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_004/HOrbiter3D_004.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_004/HOrbiter3D_004.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_004/HOrbiter3D_004.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_004/HOrbiter3D_004.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_005/HOrbiter3D_005.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_005/HOrbiter3D_005.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_005/HOrbiter3D_005.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_005/HOrbiter3D_005.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_006/HOrbiter3D_006.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_006/HOrbiter3D_006.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_006/HOrbiter3D_006.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_006/HOrbiter3D_006.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_007/HOrbiter3D_007.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_007/HOrbiter3D_007.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_007/HOrbiter3D_007.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_007/HOrbiter3D_007.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_008/HOrbiter3D_008.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_008/HOrbiter3D_008.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_008/HOrbiter3D_008.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_008/HOrbiter3D_008.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_008/data/color.png b/HYPE/examples/HOrbiter3D/HOrbiter3D_008/data/color.png
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_008/data/color.png
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_008/data/color.png
diff --git a/examples/HOrbiter3D/HOrbiter3D_009/HOrbiter3D_009.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_009/HOrbiter3D_009.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_009/HOrbiter3D_009.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_009/HOrbiter3D_009.pde
diff --git a/examples/HOrbiter3D/HOrbiter3D_010/HOrbiter3D_010.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_010/HOrbiter3D_010.pde
similarity index 100%
rename from examples/HOrbiter3D/HOrbiter3D_010/HOrbiter3D_010.pde
rename to HYPE/examples/HOrbiter3D/HOrbiter3D_010/HOrbiter3D_010.pde
diff --git a/HYPE/examples/HOrbiter3D/HOrbiter3D_011/HOrbiter3D_011.pde b/HYPE/examples/HOrbiter3D/HOrbiter3D_011/HOrbiter3D_011.pde
new file mode 100644
index 00000000..8a5e7616
--- /dev/null
+++ b/HYPE/examples/HOrbiter3D/HOrbiter3D_011/HOrbiter3D_011.pde
@@ -0,0 +1,40 @@
+import hype.*;
+import hype.extended.behavior.HOrbiter3D;
+
+HOrbiter3D orb;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ orb = new HOrbiter3D(width/2, height/2, 0)
+ .zSpeed(1.5)
+ .ySpeed(0.2)
+ .radius(250)
+ ;
+}
+
+void draw() {
+ background(#242424);
+
+ orb._run();
+ PVector pt = orb.getNextPoint();
+
+ //simple sphere mesh to show orbit range
+ pushMatrix();
+ translate(width/2, height/2, 0);
+ stroke(#666666);
+ noFill();
+ sphereDetail(20);
+ sphere(200);
+ popMatrix();
+
+ //draw a line from current orbit point to next orbit point
+ stroke(#ff3300);
+ beginShape(LINES);
+ vertex(orb.x(), orb.y(), orb.z());
+ vertex(pt.x, pt.y, pt.z);
+ endShape();
+
+
+}
diff --git a/examples/HOscillator/HOscillator_001/HOscillator_001.pde b/HYPE/examples/HOscillator/HOscillator_001/HOscillator_001.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_001/HOscillator_001.pde
rename to HYPE/examples/HOscillator/HOscillator_001/HOscillator_001.pde
diff --git a/examples/HOscillator/HOscillator_002/HOscillator_002.pde b/HYPE/examples/HOscillator/HOscillator_002/HOscillator_002.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_002/HOscillator_002.pde
rename to HYPE/examples/HOscillator/HOscillator_002/HOscillator_002.pde
diff --git a/examples/HOscillator/HOscillator_003/HOscillator_003.pde b/HYPE/examples/HOscillator/HOscillator_003/HOscillator_003.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_003/HOscillator_003.pde
rename to HYPE/examples/HOscillator/HOscillator_003/HOscillator_003.pde
diff --git a/examples/HOscillator/HOscillator_004/HOscillator_004.pde b/HYPE/examples/HOscillator/HOscillator_004/HOscillator_004.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_004/HOscillator_004.pde
rename to HYPE/examples/HOscillator/HOscillator_004/HOscillator_004.pde
diff --git a/examples/HOscillator/HOscillator_005/HOscillator_005.pde b/HYPE/examples/HOscillator/HOscillator_005/HOscillator_005.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_005/HOscillator_005.pde
rename to HYPE/examples/HOscillator/HOscillator_005/HOscillator_005.pde
diff --git a/examples/HOscillator/HOscillator_006/HOscillator_006.pde b/HYPE/examples/HOscillator/HOscillator_006/HOscillator_006.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_006/HOscillator_006.pde
rename to HYPE/examples/HOscillator/HOscillator_006/HOscillator_006.pde
diff --git a/examples/HOscillator/HOscillator_007/HOscillator_007.pde b/HYPE/examples/HOscillator/HOscillator_007/HOscillator_007.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_007/HOscillator_007.pde
rename to HYPE/examples/HOscillator/HOscillator_007/HOscillator_007.pde
diff --git a/examples/HOscillator/HOscillator_008/HOscillator_008.pde b/HYPE/examples/HOscillator/HOscillator_008/HOscillator_008.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_008/HOscillator_008.pde
rename to HYPE/examples/HOscillator/HOscillator_008/HOscillator_008.pde
diff --git a/examples/HOscillator/HOscillator_009/HOscillator_009.pde b/HYPE/examples/HOscillator/HOscillator_009/HOscillator_009.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_009/HOscillator_009.pde
rename to HYPE/examples/HOscillator/HOscillator_009/HOscillator_009.pde
diff --git a/examples/HOscillator/HOscillator_010/HOscillator_010.pde b/HYPE/examples/HOscillator/HOscillator_010/HOscillator_010.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_010/HOscillator_010.pde
rename to HYPE/examples/HOscillator/HOscillator_010/HOscillator_010.pde
diff --git a/examples/HOscillator/HOscillator_011/HOscillator_011.pde b/HYPE/examples/HOscillator/HOscillator_011/HOscillator_011.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_011/HOscillator_011.pde
rename to HYPE/examples/HOscillator/HOscillator_011/HOscillator_011.pde
diff --git a/examples/HOscillator/HOscillator_012/HOscillator_012.pde b/HYPE/examples/HOscillator/HOscillator_012/HOscillator_012.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_012/HOscillator_012.pde
rename to HYPE/examples/HOscillator/HOscillator_012/HOscillator_012.pde
diff --git a/examples/HOscillator/HOscillator_012/data/DroidSerifBoldItalic.ttf b/HYPE/examples/HOscillator/HOscillator_012/data/DroidSerifBoldItalic.ttf
similarity index 100%
rename from examples/HOscillator/HOscillator_012/data/DroidSerifBoldItalic.ttf
rename to HYPE/examples/HOscillator/HOscillator_012/data/DroidSerifBoldItalic.ttf
diff --git a/examples/HOscillator/HOscillator_013/HOscillator_013.pde b/HYPE/examples/HOscillator/HOscillator_013/HOscillator_013.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_013/HOscillator_013.pde
rename to HYPE/examples/HOscillator/HOscillator_013/HOscillator_013.pde
diff --git a/examples/HOscillator/HOscillator_013/data/gradient.jpg b/HYPE/examples/HOscillator/HOscillator_013/data/gradient.jpg
similarity index 100%
rename from examples/HOscillator/HOscillator_013/data/gradient.jpg
rename to HYPE/examples/HOscillator/HOscillator_013/data/gradient.jpg
diff --git a/examples/HOscillator/HOscillator_014/HOscillator_014.pde b/HYPE/examples/HOscillator/HOscillator_014/HOscillator_014.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_014/HOscillator_014.pde
rename to HYPE/examples/HOscillator/HOscillator_014/HOscillator_014.pde
diff --git a/examples/HOscillator/HOscillator_015/HOscillator_015.pde b/HYPE/examples/HOscillator/HOscillator_015/HOscillator_015.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_015/HOscillator_015.pde
rename to HYPE/examples/HOscillator/HOscillator_015/HOscillator_015.pde
diff --git a/examples/HOscillator/HOscillator_016/HOscillator_016.pde b/HYPE/examples/HOscillator/HOscillator_016/HOscillator_016.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_016/HOscillator_016.pde
rename to HYPE/examples/HOscillator/HOscillator_016/HOscillator_016.pde
diff --git a/examples/HOscillator/HOscillator_017/HOscillator_017.pde b/HYPE/examples/HOscillator/HOscillator_017/HOscillator_017.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_017/HOscillator_017.pde
rename to HYPE/examples/HOscillator/HOscillator_017/HOscillator_017.pde
diff --git a/examples/HOscillator/HOscillator_018/HOscillator_018.pde b/HYPE/examples/HOscillator/HOscillator_018/HOscillator_018.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_018/HOscillator_018.pde
rename to HYPE/examples/HOscillator/HOscillator_018/HOscillator_018.pde
diff --git a/examples/HOscillator/HOscillator_019/HOscillator_019.pde b/HYPE/examples/HOscillator/HOscillator_019/HOscillator_019.pde
similarity index 100%
rename from examples/HOscillator/HOscillator_019/HOscillator_019.pde
rename to HYPE/examples/HOscillator/HOscillator_019/HOscillator_019.pde
diff --git a/HYPE/examples/HOscillator/HOscillator_020/HOscillator_020.pde b/HYPE/examples/HOscillator/HOscillator_020/HOscillator_020.pde
new file mode 100644
index 00000000..32097b5b
--- /dev/null
+++ b/HYPE/examples/HOscillator/HOscillator_020/HOscillator_020.pde
@@ -0,0 +1,43 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.colorist.HColorPool;
+import hype.extended.layout.HGridLayout;
+
+HDrawablePool pool;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ pool = new HDrawablePool(90);
+ pool.autoAddToStage()
+ .add(new HRect(6).rounding(2).anchorAt(H.CENTER).noStroke())
+ .colorist(new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095A8, #00616F, #FF3300, #FF6600).fillOnly())
+ .layout(new HGridLayout().startLoc(9, height/2).spacing(7, 0).cols(90))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ int i = pool.currentIndex();
+
+ HDrawable d = (HDrawable) obj;
+
+ new HOscillator()
+ .target(d)
+ .property(H.Y)
+ .waveform(H.EASE) // new HOscillator waveform / EASE
+ .relativeVal(height/2)
+ .range(-100, 100)
+ .speed(1)
+ .freq(2)
+ .currentStep(i*3)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HPackingLayout/HPackingLayout_001/HPackingLayout_001.pde b/HYPE/examples/HPackingLayout/HPackingLayout_001/HPackingLayout_001.pde
new file mode 100644
index 00000000..b05daba7
--- /dev/null
+++ b/HYPE/examples/HPackingLayout/HPackingLayout_001/HPackingLayout_001.pde
@@ -0,0 +1,43 @@
+import hype.*;
+import hype.extended.layout.HPackingLayout;
+
+HDrawablePool pool;
+HPackingLayout layout;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ layout = new HPackingLayout().maxSize(250.0).minSize(2.0).numTrys(1500).numItems(300);
+
+ pool = new HDrawablePool(300);
+ pool.autoAddToStage()
+ .add(new HEllipse())
+
+ .layout(
+ layout
+ )
+
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HEllipse d = (HEllipse) obj;
+ d.fill(255).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+ surface.setTitle("FPS: " + frameRate);
+}
+
+
+void mousePressed() {
+ pool.drain();
+ layout.reset();
+ pool.shuffleRequestAll();
+}
diff --git a/HYPE/examples/HParticles/HParticles_001/HParticles_001.pde b/HYPE/examples/HParticles/HParticles_001/HParticles_001.pde
new file mode 100644
index 00000000..455d26db
--- /dev/null
+++ b/HYPE/examples/HParticles/HParticles_001/HParticles_001.pde
@@ -0,0 +1,39 @@
+import hype.*;
+import hype.extended.behavior.HParticles;
+
+HDrawablePool pool;
+HParticles hp;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ hp = new HParticles()
+ .location(width/2, height/2)
+ .minimumLife(10)
+ .maximumLife(150)
+ .speed(3.0)
+ .decay(1.0)
+ .fade(false)
+ ;
+
+ pool = new HDrawablePool(400);
+ pool.autoAddToStage()
+ .add(new HSprite())
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(255).size(5).anchorAt(H.CENTER).rotation(45);
+ hp.addParticle(d);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HParticles/HParticles_002/HParticles_002.pde b/HYPE/examples/HParticles/HParticles_002/HParticles_002.pde
new file mode 100644
index 00000000..114f2738
--- /dev/null
+++ b/HYPE/examples/HParticles/HParticles_002/HParticles_002.pde
@@ -0,0 +1,63 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.behavior.HParticles;
+import hype.extended.colorist.HColorPool;
+
+HDrawablePool pool;
+HParticles hp;
+HColorPool colors;
+HOscillator xRot, yRot, zRot, zPos;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true).autoClear(true);
+
+ hp = new HParticles()
+ .location(0, 0)
+ .minimumLife(10)
+ .maximumLife(150)
+ .speed(3.0)
+ .decay(1.0)
+ .fade(false)
+ ;
+
+ colors = new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095a8, #00616f, #FF3300, #FF6600);
+
+ xRot = new HOscillator().range(-180, 180).speed(0.6).freq(1);
+ yRot = new HOscillator().range(-180, 180).speed(0.4).freq(1);
+ zRot = new HOscillator().range(-180, 180).speed(0.2).freq(1);
+ zPos = new HOscillator().range(-360, 360).speed(0.5).freq(3);
+
+ pool = new HDrawablePool(400);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(colors.getColor()).size(5).anchorAt(H.CENTER).rotation(45);
+ hp.addParticle(d);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+
+void draw() {
+ xRot.nextRaw();
+ yRot.nextRaw();
+ zRot.nextRaw();
+ zPos.nextRaw();
+
+ lights();
+
+ pushMatrix();
+ translate(width/2, height/2, zPos.curr());
+ rotateX(radians(xRot.curr()));
+ rotateY(radians(yRot.curr()));
+ rotateZ(radians(zRot.curr()));
+ H.drawStage();
+ popMatrix();
+}
diff --git a/HYPE/examples/HParticles/HParticles_003/HParticles_003.pde b/HYPE/examples/HParticles/HParticles_003/HParticles_003.pde
new file mode 100644
index 00000000..5c545868
--- /dev/null
+++ b/HYPE/examples/HParticles/HParticles_003/HParticles_003.pde
@@ -0,0 +1,40 @@
+import hype.*;
+import hype.extended.behavior.HParticles;
+
+HDrawablePool pool;
+HParticles hp;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ hp = new HParticles()
+ .location(width/2, height/2)
+ .minimumLife(10)
+ .maximumLife(100)
+ .speed(3.0)
+ .decay(1.0)
+ .fade(true)
+ ;
+
+ pool = new HDrawablePool(400);
+ pool.autoAddToStage()
+ .add(new HSprite())
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+ d.noStroke().fill(255).size(5).anchorAt(H.CENTER).rotation(45);
+ hp.addParticle(d);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+
+void draw() {
+ H.drawStage();
+ hp.location(mouseX, mouseY);
+}
diff --git a/examples/HPath/HPath_001/HPath_001.pde b/HYPE/examples/HPath/HPath_001/HPath_001.pde
similarity index 100%
rename from examples/HPath/HPath_001/HPath_001.pde
rename to HYPE/examples/HPath/HPath_001/HPath_001.pde
diff --git a/examples/HPath/HPath_002_star/HPath_002_star.pde b/HYPE/examples/HPath/HPath_002_star/HPath_002_star.pde
similarity index 100%
rename from examples/HPath/HPath_002_star/HPath_002_star.pde
rename to HYPE/examples/HPath/HPath_002_star/HPath_002_star.pde
diff --git a/examples/HPath/HPath_003_star_orient/HPath_003_star_orient.pde b/HYPE/examples/HPath/HPath_003_star_orient/HPath_003_star_orient.pde
similarity index 100%
rename from examples/HPath/HPath_003_star_orient/HPath_003_star_orient.pde
rename to HYPE/examples/HPath/HPath_003_star_orient/HPath_003_star_orient.pde
diff --git a/examples/HPath/HPath_004_star_grid/HPath_004_star_grid.pde b/HYPE/examples/HPath/HPath_004_star_grid/HPath_004_star_grid.pde
similarity index 100%
rename from examples/HPath/HPath_004_star_grid/HPath_004_star_grid.pde
rename to HYPE/examples/HPath/HPath_004_star_grid/HPath_004_star_grid.pde
diff --git a/examples/HPath/HPath_005_polygon/HPath_005_polygon.pde b/HYPE/examples/HPath/HPath_005_polygon/HPath_005_polygon.pde
similarity index 100%
rename from examples/HPath/HPath_005_polygon/HPath_005_polygon.pde
rename to HYPE/examples/HPath/HPath_005_polygon/HPath_005_polygon.pde
diff --git a/examples/HPath/HPath_006_polygon_orient/HPath_006_polygon_orient.pde b/HYPE/examples/HPath/HPath_006_polygon_orient/HPath_006_polygon_orient.pde
similarity index 100%
rename from examples/HPath/HPath_006_polygon_orient/HPath_006_polygon_orient.pde
rename to HYPE/examples/HPath/HPath_006_polygon_orient/HPath_006_polygon_orient.pde
diff --git a/examples/HPath/HPath_007_triangle/HPath_007_triangle.pde b/HYPE/examples/HPath/HPath_007_triangle/HPath_007_triangle.pde
similarity index 100%
rename from examples/HPath/HPath_007_triangle/HPath_007_triangle.pde
rename to HYPE/examples/HPath/HPath_007_triangle/HPath_007_triangle.pde
diff --git a/HYPE/examples/HPath/HPath_008_texture/HPath_008_texture.pde b/HYPE/examples/HPath/HPath_008_texture/HPath_008_texture.pde
new file mode 100644
index 00000000..e5a47041
--- /dev/null
+++ b/HYPE/examples/HPath/HPath_008_texture/HPath_008_texture.pde
@@ -0,0 +1,106 @@
+import hype.*;
+import hype.extended.behavior.*;
+import hype.extended.colorist.*;
+import hype.extended.layout.*;
+import hype.interfaces.*;
+
+HDrawablePool pool;
+HCanvas canvas;
+HImage i1;
+int numAssets = 240;
+
+void setup() {
+ size(640, 640, P3D);
+ H.init(this).background(#202020).use3D(true).autoClear(true);
+ smooth();
+
+ pool = new HDrawablePool(numAssets);
+
+ canvas = new HCanvas(P3D).autoClear(false).fade(21);
+ H.add(canvas);
+ i1 = new HImage("tex1.jpg");
+
+ pool.autoParent(canvas)
+ .add (
+ new HPath().polygon(3, (int)random(0, 4)*90).size(10*(int)random(10, 15))
+ )
+ .layout(
+ new HGridLayout().spacing(80, 80).cols(20)
+ )
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HPath d = (HPath) obj;
+ d.texture(i1);
+ d.fill((int)random(127,255),(int)random(127),0);
+ d.anchorAt(CENTER);
+
+ new HOscillator()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(d.y())
+ .range(0, -height/2)
+ .speed(0.3)
+ .freq(3)
+ .waveform(H.SINE)
+ .currentStep( pool.currentIndex()%3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.X)
+ .relativeVal(d.x())
+ .range(-250, 250)
+ .speed(0.3)
+ .freq(1)
+ .waveform(H.SAW)
+ .currentStep( pool.currentIndex()*3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.ROTATIONX)
+ .range(-360, 360)
+ .speed(0.3)
+ .freq(3)
+ .waveform(H.SINE)
+ .currentStep( pool.currentIndex()%3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.ROTATIONZ)
+ .range(-720, 720)
+ .speed(0.3)
+ .freq(3)
+ .waveform(H.SINE)
+ .currentStep( pool.currentIndex()%13 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.SCALE)
+ .range(0.8, 1.1)
+ .speed(0.6)
+ .freq(2)
+ .currentStep( pool.currentIndex()%(int)random(4, 7) )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.Z)
+ .range(0, 300)
+ .speed(0.16)
+ .freq(2.3)
+ .currentStep( pool.currentIndex()%2)
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/examples/HSprite/HSprite_001/data/tex1.jpg b/HYPE/examples/HPath/HPath_008_texture/data/tex1.jpg
similarity index 100%
rename from examples/HSprite/HSprite_001/data/tex1.jpg
rename to HYPE/examples/HPath/HPath_008_texture/data/tex1.jpg
diff --git a/HYPE/examples/HPath/HPath_009_gradient_colorpool/HPath_009_gradient_colorpool.pde b/HYPE/examples/HPath/HPath_009_gradient_colorpool/HPath_009_gradient_colorpool.pde
new file mode 100644
index 00000000..36135282
--- /dev/null
+++ b/HYPE/examples/HPath/HPath_009_gradient_colorpool/HPath_009_gradient_colorpool.pde
@@ -0,0 +1,97 @@
+import hype.*;
+import hype.extended.behavior.*;
+import hype.extended.colorist.*;
+import hype.extended.layout.*;
+import hype.interfaces.*;
+
+HDrawablePool pool;
+HCanvas canvas;
+int numAssets = 240;
+HColorPool colors;
+
+void setup() {
+ size(640, 640, P3D);
+ H.init(this).background(#333333).use3D(true).autoClear(true);
+ smooth();
+
+ colors = new HColorPool().add(#0095a8).add(#00616f).add(#FF3300).add(#FF6600);
+ pool = new HDrawablePool(numAssets);
+
+ canvas = new HCanvas(P3D).autoClear(false).fade(21);
+ H.add(canvas);
+
+ pool.autoParent(canvas)
+ .add (
+ new HPath().polygon(6, (int)random(0, 4)*90)
+ )
+ .layout(
+ new HGridLayout().spacing(80, 80).cols(20)
+ )
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HPath d = (HPath) obj;
+ d.vertexColors(colors);
+ d.size(100);
+ d.anchorAt(CENTER);
+
+ new HOscillator()
+ .target(d)
+ .property(H.Y)
+ .relativeVal(d.y())
+ .range(0, -height/2)
+ .speed(0.3)
+ .freq(3)
+ .waveform(H.SINE)
+ .currentStep( pool.currentIndex()%3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.X)
+ .relativeVal(d.x())
+ .range(-250, 250)
+ .speed(0.3)
+ .freq(1)
+ .waveform(H.SAW)
+ .currentStep( pool.currentIndex()*3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.ROTATIONX)
+ .range(-360, 360)
+ .speed(0.3)
+ .freq(3)
+ .waveform(H.SINE)
+ .currentStep( pool.currentIndex()%3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.ROTATIONZ)
+ .range(-720, 720)
+ .speed(0.3)
+ .freq(3)
+ .waveform(H.SINE)
+ .currentStep( pool.currentIndex()%13 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.SCALE)
+ .range(0.2, 1.1)
+ .speed(0.6)
+ .freq(2)
+ .currentStep( pool.currentIndex()%(int)random(4, 7) )
+ ;
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/HYPE/examples/HPath/HPath_010_gradient_colorfield/HPath_010_gradient_colorfield.pde b/HYPE/examples/HPath/HPath_010_gradient_colorfield/HPath_010_gradient_colorfield.pde
new file mode 100644
index 00000000..e07dd151
--- /dev/null
+++ b/HYPE/examples/HPath/HPath_010_gradient_colorfield/HPath_010_gradient_colorfield.pde
@@ -0,0 +1,103 @@
+import hype.*;
+import hype.extended.behavior.*;
+import hype.extended.colorist.*;
+import hype.extended.layout.*;
+import hype.interfaces.*;
+
+HDrawablePool pool;
+HCanvas canvas;
+int numAssets = 7;
+HColorField colorField;
+
+void setup() {
+ size(640, 640, P3D);
+ H.init(this).background(#333333).use3D(true).autoClear(true);
+ smooth(8);
+
+ colorField = new HColorField(width, height)
+ .addPoint(100, 100, H.RED, 0.65)
+ .addPoint(width-50, height-50, H.GREEN, 0.7)
+ .addPoint(random(width), random(height), H.YELLOW, 0.4)
+ .fillOnly()
+ ;
+
+ pool = new HDrawablePool(numAssets);
+ canvas = new HCanvas(P3D).autoClear(false).fade(1);
+ H.add(canvas);
+
+ pool.autoParent(canvas)
+ .add (
+ new HPath().polygon(5, (int)random(0, 4)*90)
+ )
+ .add (
+ new HPath().polygon(6, (int)random(0, 4)*90)
+ )
+ .add (
+ new HPath().polygon(3, (int)random(0, 4)*90)
+ )
+ .layout(
+ new HGridLayout().spacing(80, 80).cols(20)
+ )
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HPath d = (HPath) obj;
+ d.vertexColors(colorField);
+ d.size(120);
+ d.fill(#333333);
+ d.noStroke();
+ d.anchorAt(CENTER);
+
+ new HOscillator()
+ .target(d)
+ .property(H.X)
+ .relativeVal(d.x())
+ .range(-250, 250)
+ .speed(0.3)
+ .freq(1)
+ .waveform(H.SAW)
+ .currentStep( pool.currentIndex()*3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.ROTATIONX)
+ .range(-360, 360)
+ .speed(0.3)
+ .freq(3)
+ .waveform(H.SINE)
+ .currentStep( pool.currentIndex()%3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.ROTATIONZ)
+ .range(-720, 720)
+ .speed(0.3)
+ .freq(3)
+ .waveform(H.SINE)
+ .currentStep( pool.currentIndex()%3 )
+ ;
+
+ new HOscillator()
+ .target(d)
+ .property(H.SCALE)
+ .range(0.8, 1.1)
+ .speed(0.6)
+ .freq(2)
+ .currentStep( pool.currentIndex()%(int)random(4, 7) )
+ ;
+ }
+ }
+ )
+ .requestAll();
+}
+
+void draw() {
+
+ for (HDrawable d : pool) {
+ d.loc(mouseX, mouseY);
+ }
+
+ H.drawStage();
+}
diff --git a/HYPE/examples/HPath/HPath_011_gradient_pixelcolorist/HPath_011_gradient_pixelcolorist.pde b/HYPE/examples/HPath/HPath_011_gradient_pixelcolorist/HPath_011_gradient_pixelcolorist.pde
new file mode 100644
index 00000000..d12d7279
--- /dev/null
+++ b/HYPE/examples/HPath/HPath_011_gradient_pixelcolorist/HPath_011_gradient_pixelcolorist.pde
@@ -0,0 +1,58 @@
+import hype.*;
+import hype.extended.behavior.*;
+import hype.extended.colorist.*;
+import hype.extended.layout.*;
+import hype.interfaces.*;
+
+HDrawablePool pool;
+HCanvas canvas;
+int numAssets = 25;
+HPixelColorist colors;
+
+void setup() {
+ size(640, 640, P3D);
+ H.init(this).background(#333333).use3D(true).autoClear(true);
+ smooth(8);
+
+ colors = new HPixelColorist("color.jpg").fillOnly();
+
+ canvas = new HCanvas(P3D).autoClear(false).fade(24);
+ H.add(canvas);
+
+ HDrawable tri = new HPath().polygon(3).vertexColors(colors).size(410).anchorAt(H.CENTER).loc(width/2, height/2);
+ canvas.add (tri);
+ tri.z(100);
+ tri.noStroke();
+ HRotate rot1 = new HRotate();
+ rot1.target(tri).speed(2.75);
+
+ new HOscillator()
+ .target(tri)
+ .property(H.SCALE)
+ .range(0.2, 1.2)
+ .speed(2.75)
+ .freq(0.4)
+ ;
+
+ new HOscillator()
+ .target(tri)
+ .property(H.Y)
+ .relativeVal(tri.y())
+ .range(30, -30)
+ .speed(2.75)
+ .freq(0.4)
+ ;
+
+ new HOscillator()
+ .target(tri)
+ .property(H.X)
+ .relativeVal(tri.x())
+ .range(30, -30)
+ .speed(2.75)
+ .freq(0.4)
+ ;
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/examples/HTween/HTween_003/data/color.jpg b/HYPE/examples/HPath/HPath_011_gradient_pixelcolorist/data/color.jpg
similarity index 100%
rename from examples/HTween/HTween_003/data/color.jpg
rename to HYPE/examples/HPath/HPath_011_gradient_pixelcolorist/data/color.jpg
diff --git a/examples/HPixelColorist/HPixelColorist_001/HPixelColorist_001.pde b/HYPE/examples/HPixelColorist/HPixelColorist_001/HPixelColorist_001.pde
similarity index 100%
rename from examples/HPixelColorist/HPixelColorist_001/HPixelColorist_001.pde
rename to HYPE/examples/HPixelColorist/HPixelColorist_001/HPixelColorist_001.pde
diff --git a/examples/HPixelColorist/HPixelColorist_001/data/sintra.jpg b/HYPE/examples/HPixelColorist/HPixelColorist_001/data/sintra.jpg
similarity index 100%
rename from examples/HPixelColorist/HPixelColorist_001/data/sintra.jpg
rename to HYPE/examples/HPixelColorist/HPixelColorist_001/data/sintra.jpg
diff --git a/examples/HPolarLayout/HPolarLayout_001/HPolarLayout_001.pde b/HYPE/examples/HPolarLayout/HPolarLayout_001/HPolarLayout_001.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_001/HPolarLayout_001.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_001/HPolarLayout_001.pde
diff --git a/examples/HPolarLayout/HPolarLayout_002/HPolarLayout_002.pde b/HYPE/examples/HPolarLayout/HPolarLayout_002/HPolarLayout_002.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_002/HPolarLayout_002.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_002/HPolarLayout_002.pde
diff --git a/examples/HPolarLayout/HPolarLayout_003/HPolarLayout_003.pde b/HYPE/examples/HPolarLayout/HPolarLayout_003/HPolarLayout_003.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_003/HPolarLayout_003.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_003/HPolarLayout_003.pde
diff --git a/examples/HPolarLayout/HPolarLayout_004/HPolarLayout_004.pde b/HYPE/examples/HPolarLayout/HPolarLayout_004/HPolarLayout_004.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_004/HPolarLayout_004.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_004/HPolarLayout_004.pde
diff --git a/examples/HPolarLayout/HPolarLayout_005/HPolarLayout_005.pde b/HYPE/examples/HPolarLayout/HPolarLayout_005/HPolarLayout_005.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_005/HPolarLayout_005.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_005/HPolarLayout_005.pde
diff --git a/examples/HPolarLayout/HPolarLayout_006/HPolarLayout_006.pde b/HYPE/examples/HPolarLayout/HPolarLayout_006/HPolarLayout_006.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_006/HPolarLayout_006.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_006/HPolarLayout_006.pde
diff --git a/examples/HPolarLayout/HPolarLayout_007/HPolarLayout_007.pde b/HYPE/examples/HPolarLayout/HPolarLayout_007/HPolarLayout_007.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_007/HPolarLayout_007.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_007/HPolarLayout_007.pde
diff --git a/examples/HPolarLayout/HPolarLayout_008/HPolarLayout_008.pde b/HYPE/examples/HPolarLayout/HPolarLayout_008/HPolarLayout_008.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_008/HPolarLayout_008.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_008/HPolarLayout_008.pde
diff --git a/examples/HPolarLayout/HPolarLayout_009/HPolarLayout_009.pde b/HYPE/examples/HPolarLayout/HPolarLayout_009/HPolarLayout_009.pde
similarity index 100%
rename from examples/HPolarLayout/HPolarLayout_009/HPolarLayout_009.pde
rename to HYPE/examples/HPolarLayout/HPolarLayout_009/HPolarLayout_009.pde
diff --git a/examples/HProximity/HProximity_001/HProximity_001.pde b/HYPE/examples/HProximity/HProximity_001/HProximity_001.pde
similarity index 100%
rename from examples/HProximity/HProximity_001/HProximity_001.pde
rename to HYPE/examples/HProximity/HProximity_001/HProximity_001.pde
diff --git a/examples/HProximity/HProximity_002/HProximity_002.pde b/HYPE/examples/HProximity/HProximity_002/HProximity_002.pde
similarity index 100%
rename from examples/HProximity/HProximity_002/HProximity_002.pde
rename to HYPE/examples/HProximity/HProximity_002/HProximity_002.pde
diff --git a/examples/HProximity/HProximity_003/HProximity_003.pde b/HYPE/examples/HProximity/HProximity_003/HProximity_003.pde
similarity index 100%
rename from examples/HProximity/HProximity_003/HProximity_003.pde
rename to HYPE/examples/HProximity/HProximity_003/HProximity_003.pde
diff --git a/examples/HProximity/HProximity_004/HProximity_004.pde b/HYPE/examples/HProximity/HProximity_004/HProximity_004.pde
similarity index 100%
rename from examples/HProximity/HProximity_004/HProximity_004.pde
rename to HYPE/examples/HProximity/HProximity_004/HProximity_004.pde
diff --git a/examples/HProximity/HProximity_005/HProximity_005.pde b/HYPE/examples/HProximity/HProximity_005/HProximity_005.pde
similarity index 100%
rename from examples/HProximity/HProximity_005/HProximity_005.pde
rename to HYPE/examples/HProximity/HProximity_005/HProximity_005.pde
diff --git a/examples/HProximity/HProximity_006/HProximity_006.pde b/HYPE/examples/HProximity/HProximity_006/HProximity_006.pde
similarity index 100%
rename from examples/HProximity/HProximity_006/HProximity_006.pde
rename to HYPE/examples/HProximity/HProximity_006/HProximity_006.pde
diff --git a/examples/HRandomTrigger/HRandomTrigger_001/HRandomTrigger_001.pde b/HYPE/examples/HRandomTrigger/HRandomTrigger_001/HRandomTrigger_001.pde
similarity index 100%
rename from examples/HRandomTrigger/HRandomTrigger_001/HRandomTrigger_001.pde
rename to HYPE/examples/HRandomTrigger/HRandomTrigger_001/HRandomTrigger_001.pde
diff --git a/examples/HRotate/HRotate_001/HRotate_001.pde b/HYPE/examples/HRotate/HRotate_001/HRotate_001.pde
similarity index 100%
rename from examples/HRotate/HRotate_001/HRotate_001.pde
rename to HYPE/examples/HRotate/HRotate_001/HRotate_001.pde
diff --git a/examples/HRotate/HRotate_002/HRotate_002.pde b/HYPE/examples/HRotate/HRotate_002/HRotate_002.pde
similarity index 100%
rename from examples/HRotate/HRotate_002/HRotate_002.pde
rename to HYPE/examples/HRotate/HRotate_002/HRotate_002.pde
diff --git a/examples/HRotate/HRotate_002/data/cog_lg.svg b/HYPE/examples/HRotate/HRotate_002/data/cog_lg.svg
similarity index 100%
rename from examples/HRotate/HRotate_002/data/cog_lg.svg
rename to HYPE/examples/HRotate/HRotate_002/data/cog_lg.svg
diff --git a/examples/HRotate/HRotate_002/data/cog_sm.svg b/HYPE/examples/HRotate/HRotate_002/data/cog_sm.svg
similarity index 100%
rename from examples/HRotate/HRotate_002/data/cog_sm.svg
rename to HYPE/examples/HRotate/HRotate_002/data/cog_sm.svg
diff --git a/examples/HRotate/HRotate_003/HRotate_003.pde b/HYPE/examples/HRotate/HRotate_003/HRotate_003.pde
similarity index 100%
rename from examples/HRotate/HRotate_003/HRotate_003.pde
rename to HYPE/examples/HRotate/HRotate_003/HRotate_003.pde
diff --git a/HYPE/examples/HScreenshot/HScreenshot_001/HScreenshot_001.pde b/HYPE/examples/HScreenshot/HScreenshot_001/HScreenshot_001.pde
new file mode 100644
index 00000000..c680ebe4
--- /dev/null
+++ b/HYPE/examples/HScreenshot/HScreenshot_001/HScreenshot_001.pde
@@ -0,0 +1,43 @@
+import hype.*;
+import hype.extended.colorist.HColorPool;
+
+HRect r;
+HColorPool colors;
+
+HScreenshot ss;
+boolean letsRecord = false;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424);
+
+ // screenshots will be saved in a new folder called "output" (DEFAULT)
+ // screenshots will be saved as a sequence / "frame00001", "frame00002", "frame00003", etc.
+ // screenshots will be saved as a ".png" (DEFAULT)
+
+ ss = new HScreenshot().filename("frame");
+
+ colors = new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095a8, #00616f, #FF3300, #FF6600);
+ H.add( r = new HRect(100).rounding(5) ).stroke(0,55).fill(colors.getColor()).anchorAt(H.CENTER).rotate(45).loc(width/2,height/2);
+}
+
+void draw() {
+ r.fill(colors.getColor()).size(50+((int)random(5)*25)).loc( (int)random(width), (int)random(height));
+
+ H.drawStage();
+
+ if(letsRecord) {
+ ss.capture(frameCount).run();
+ letsRecord = false;
+ }
+}
+
+// after the "r" key is pressed on your keyboard, it will save 1 image of the current state of the sketch
+
+void keyPressed() {
+ switch (key) {
+ case 'r':
+ letsRecord = true;
+ break;
+ }
+}
diff --git a/HYPE/examples/HScreenshot/HScreenshot_002/HScreenshot_002.pde b/HYPE/examples/HScreenshot/HScreenshot_002/HScreenshot_002.pde
new file mode 100644
index 00000000..a18f5bfe
--- /dev/null
+++ b/HYPE/examples/HScreenshot/HScreenshot_002/HScreenshot_002.pde
@@ -0,0 +1,48 @@
+import hype.*;
+import hype.extended.colorist.HColorPool;
+
+HRect r;
+HColorPool colors;
+
+HScreenshot ss;
+boolean letsRecord = false;
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424).autoClear(false);
+
+ // screenshots will be saved in a new folder called "output" (DEFAULT)
+ // screenshots will be saved as a sequence / "frame00001", "frame00002", "frame00003", etc.
+ // screenshots will be saved as a ".png" (DEFAULT)
+
+ ss = new HScreenshot().filename("frame");
+
+ colors = new HColorPool(#FFFFFF, #F7F7F7, #ECECEC, #333333, #0095a8, #00616f, #FF3300, #FF6600);
+ H.add( r = new HRect(100).rounding(5) ).stroke(0,55).fill(colors.getColor()).anchorAt(H.CENTER).rotate(45).loc(width/2,height/2);
+}
+
+void draw() {
+ r.fill(colors.getColor()).size(50+((int)random(5)*25)).loc( (int)random(width), (int)random(height));
+
+ H.drawStage();
+ saveScreen();
+}
+
+void saveScreen() {
+ if(letsRecord) ss.run();
+}
+
+// after the "r" key is pressed on your keyboard, it will save screenshots every 3 frames
+// then exit after 200 frames in total have elapsed
+// this example will result in approximately 66 screenshots being saved
+
+void keyPressed() {
+ switch (key) {
+ case 'r':
+ if (letsRecord==false) {
+ ss.start(frameCount).end(frameCount+200).frequency(3).exit(true);
+ letsRecord = true;
+ }
+ break;
+ }
+}
diff --git a/examples/HShape/HShape_001/HShape_001.pde b/HYPE/examples/HShape/HShape_001/HShape_001.pde
similarity index 100%
rename from examples/HShape/HShape_001/HShape_001.pde
rename to HYPE/examples/HShape/HShape_001/HShape_001.pde
diff --git a/examples/HShape/HShape_001/data/bot1.svg b/HYPE/examples/HShape/HShape_001/data/bot1.svg
similarity index 100%
rename from examples/HShape/HShape_001/data/bot1.svg
rename to HYPE/examples/HShape/HShape_001/data/bot1.svg
diff --git a/HYPE/examples/HShape/HShape_002/HShape_002.pde b/HYPE/examples/HShape/HShape_002/HShape_002.pde
new file mode 100644
index 00000000..73b167ac
--- /dev/null
+++ b/HYPE/examples/HShape/HShape_002/HShape_002.pde
@@ -0,0 +1,154 @@
+import hype.*;
+import hype.extended.behavior.*;
+import hype.extended.colorist.*;
+import hype.extended.layout.*;
+import hype.interfaces.*;
+
+HColorPool colors;
+HShape s1, s2, s3, s4, s5, s6, s7, s8, s9;
+
+void setup() {
+ size(640, 640);
+ H.init(this).background(#202020).use3D(false);
+ smooth();
+ frameRate(6);
+
+ colors = new HColorPool().add(#FFFFFF, 9).add(#ECECEC, 9).add(#CCCCCC, 9).add(#333333, 3).add(#0095a8, 2).add(#00616f, 2).add(#FF3300).add(#FF6600);
+
+ H.add( s1 = new HShape("bot1.svg") )
+ .enableStyle(false)
+ .scale(0.5f)
+ .strokeWeight(1)
+ .stroke(H.RED, 255)
+ .fill(H.MAGENTA, 50)
+ .anchorAt(H.CENTER)
+ .loc(120, height/2 - 175)
+ .alpha(127)
+ ;
+
+ // s1 = new HShape("bot1.svg");
+ // H.add(s1)
+ // .scale(0.5f)
+ // .strokeWeight(1)
+ // .stroke(H.RED, 255)
+ // .fill(H.MAGENTA, 50)
+ // .anchorAt(H.CENTER)
+ // .loc(120, height/2 - 175)
+ // .alpha(127)
+ // ;
+
+ //alpha will override individual stroke and fill alpha values
+
+ s2 = new HShape("bot1.svg").enableStyle(false);
+ H.add(s2)
+ .scale(0.5f)
+ .strokeWeight(3)
+ .stroke(H.YELLOW, 150) //set alpha of stroke
+ .fill(H.BLUE, 13) //set alpha of fill
+ .anchorAt(H.CENTER)
+ .loc(width/2, height/2 - 175)
+ ;
+
+ s3 = new HShape("bot1.svg");
+ s3.randomColors(colors.strokeOnly());
+ H.add(s3)
+ .scale(0.5f)
+ .fill(H.GREY, 100)
+ .stroke(H.RED, 200) //stroke color is overriden by randomColors, but the alpha is inherited
+ .strokeWeight(3)
+ .anchorAt(H.CENTER)
+ .loc(width - 120, height/2 - 175)
+ ;
+
+ s4 = new HShape("bot1.svg");
+ s4.randomColors(colors.fillOnly());
+ H.add(s4)
+ .scale(0.5f)
+ .strokeWeight(3)
+ .stroke(H.GREEN, 255)
+ .fill(H.RED, 100) //fill color is overriden by randomColors, but the alpha is inherited
+ .anchorAt(H.CENTER)
+ .loc(120, height/2 + 15)
+ ;
+
+ s5 = new HShape("bot1.svg");
+ s5.enableStyle(false);
+ H.add(s5)
+ .scale(0.5f)
+ .strokeWeight(6)
+ .stroke(H.WHITE, 100)
+ .fill(H.GREEN, 50)
+ .anchorAt(H.CENTER)
+ .loc(width/2, height/2 + 15)
+ ;
+
+ s6 = new HShape("bot1.svg");
+ s6.enableStyle(false);
+ H.add(s6)
+ .scale(0.5f)
+ .strokeWeight(12)
+ .fill(H.MAGENTA, 100)
+ .noStroke()
+ .anchorAt(H.CENTER)
+ .loc(width - 120, height/2 + 15)
+ ;
+
+ s7 = new HShape("bot1.svg");
+ s7.enableStyle(true);
+ H.add(s7)
+ .scale(0.5f)
+ .strokeWeight(3)
+ .stroke(H.GREEN, 255)
+ .fill(H.RED, 255)
+ .anchorAt(H.CENTER)
+ .loc(120, height/2 + 200)
+ ;
+
+ for (int i=0; i<=s7.numChildren(); i+=3) {
+ s7.setChild(i); //set every third item to have a green stroke and red fill
+ }
+
+ s8 = new HShape("bot1.svg");
+ s8.enableStyle(false);
+ H.add(s8)
+ .scale(0.5f)
+ .strokeWeight(12)
+ .stroke(H.MAGENTA, 150)
+ .noFill()
+ .anchorAt(H.CENTER)
+ .loc(width/2, height/2 + 200)
+ ;
+
+ for (int i=0; i<=s8.numChildren(); i+=2) {
+ s8.setChild(i); //set every second item to have a maagenta stroke and no fill
+ }
+
+ s9 = new HShape("bot1.svg");
+ H.add(s9)
+ .scale(0.5f)
+ .strokeWeight(8)
+ .fill(H.YELLOW, 190)
+ .stroke(H.BLUE)
+ .anchorAt(H.CENTER)
+ .loc(width - 120, height/2 + 200)
+ ;
+
+ for (int i=0; i<=s9.numChildren(); i+=3) {
+ s9.setChild(i); //starting from the first item, set every third item to have a yellow fill and no stroke
+ }
+
+ s9.fill(H.RED, 155);
+ s9.stroke(H.GREEN, 255);
+ s9.strokeWeight(2);
+
+ for (int i=1; i<=s9.numChildren(); i+=3) {
+ s9.setChild(i); //starting from the second item, set every third item to have a red fill and green stroke
+ }
+}
+
+void draw() {
+ //animate with random colors
+ s3.randomColors(colors.strokeOnly());
+ s4.randomColors(colors.fillOnly());
+ H.drawStage();
+}
diff --git a/HYPE/examples/HShape/HShape_002/data/bot1.svg b/HYPE/examples/HShape/HShape_002/data/bot1.svg
new file mode 100644
index 00000000..91b130b3
--- /dev/null
+++ b/HYPE/examples/HShape/HShape_002/data/bot1.svg
@@ -0,0 +1,160 @@
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/HShapeLayout/HShapeLayout_001/HShapeLayout_001.pde b/HYPE/examples/HShapeLayout/HShapeLayout_001/HShapeLayout_001.pde
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_001/HShapeLayout_001.pde
rename to HYPE/examples/HShapeLayout/HShapeLayout_001/HShapeLayout_001.pde
diff --git a/examples/HShapeLayout/HShapeLayout_002/HShapeLayout_002.pde b/HYPE/examples/HShapeLayout/HShapeLayout_002/HShapeLayout_002.pde
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_002/HShapeLayout_002.pde
rename to HYPE/examples/HShapeLayout/HShapeLayout_002/HShapeLayout_002.pde
diff --git a/examples/HShapeLayout/HShapeLayout_003/HShapeLayout_003.pde b/HYPE/examples/HShapeLayout/HShapeLayout_003/HShapeLayout_003.pde
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_003/HShapeLayout_003.pde
rename to HYPE/examples/HShapeLayout/HShapeLayout_003/HShapeLayout_003.pde
diff --git a/examples/HShapeLayout/HShapeLayout_004/HShapeLayout_004.pde b/HYPE/examples/HShapeLayout/HShapeLayout_004/HShapeLayout_004.pde
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_004/HShapeLayout_004.pde
rename to HYPE/examples/HShapeLayout/HShapeLayout_004/HShapeLayout_004.pde
diff --git a/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifBold.ttf b/HYPE/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifBold.ttf
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_004/data/DroidSerifBold.ttf
rename to HYPE/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifBold.ttf
diff --git a/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifBoldItalic.ttf b/HYPE/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifBoldItalic.ttf
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_004/data/DroidSerifBoldItalic.ttf
rename to HYPE/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifBoldItalic.ttf
diff --git a/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifItalic.ttf b/HYPE/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifItalic.ttf
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_004/data/DroidSerifItalic.ttf
rename to HYPE/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifItalic.ttf
diff --git a/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifRegular.ttf b/HYPE/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifRegular.ttf
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_004/data/DroidSerifRegular.ttf
rename to HYPE/examples/HShapeLayout/HShapeLayout_004/data/DroidSerifRegular.ttf
diff --git a/examples/HShapeLayout/HShapeLayout_005/HShapeLayout_005.pde b/HYPE/examples/HShapeLayout/HShapeLayout_005/HShapeLayout_005.pde
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_005/HShapeLayout_005.pde
rename to HYPE/examples/HShapeLayout/HShapeLayout_005/HShapeLayout_005.pde
diff --git a/examples/HShapeLayout/HShapeLayout_005/data/theAmericas.png b/HYPE/examples/HShapeLayout/HShapeLayout_005/data/theAmericas.png
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_005/data/theAmericas.png
rename to HYPE/examples/HShapeLayout/HShapeLayout_005/data/theAmericas.png
diff --git a/examples/HShapeLayout/HShapeLayout_006/HShapeLayout_006.pde b/HYPE/examples/HShapeLayout/HShapeLayout_006/HShapeLayout_006.pde
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_006/HShapeLayout_006.pde
rename to HYPE/examples/HShapeLayout/HShapeLayout_006/HShapeLayout_006.pde
diff --git a/examples/HShapeLayout/HShapeLayout_006/data/arc1.svg b/HYPE/examples/HShapeLayout/HShapeLayout_006/data/arc1.svg
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_006/data/arc1.svg
rename to HYPE/examples/HShapeLayout/HShapeLayout_006/data/arc1.svg
diff --git a/examples/HShapeLayout/HShapeLayout_006/data/arc2.svg b/HYPE/examples/HShapeLayout/HShapeLayout_006/data/arc2.svg
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_006/data/arc2.svg
rename to HYPE/examples/HShapeLayout/HShapeLayout_006/data/arc2.svg
diff --git a/examples/HShapeLayout/HShapeLayout_006/data/arc3.svg b/HYPE/examples/HShapeLayout/HShapeLayout_006/data/arc3.svg
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_006/data/arc3.svg
rename to HYPE/examples/HShapeLayout/HShapeLayout_006/data/arc3.svg
diff --git a/examples/HShapeLayout/HShapeLayout_006/data/theAmericas.png b/HYPE/examples/HShapeLayout/HShapeLayout_006/data/theAmericas.png
similarity index 100%
rename from examples/HShapeLayout/HShapeLayout_006/data/theAmericas.png
rename to HYPE/examples/HShapeLayout/HShapeLayout_006/data/theAmericas.png
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_001/HSphereLayout_001.pde b/HYPE/examples/HSphereLayout/HSphereLayout_001/HSphereLayout_001.pde
new file mode 100644
index 00000000..6a51ae30
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_001/HSphereLayout_001.pde
@@ -0,0 +1,41 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Most basic default HSphereLayout
+
+ layout = new HSphereLayout(width/2, height/2, 0);
+
+ pool = new HDrawablePool(100);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_002/HSphereLayout_002.pde b/HYPE/examples/HSphereLayout/HSphereLayout_002/HSphereLayout_002.pde
new file mode 100644
index 00000000..c867be77
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_002/HSphereLayout_002.pde
@@ -0,0 +1,45 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Default HSphereLayout with increased radius and avoiding poles (top and bottom of the sphere)
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(200)
+ .ignorePoles()
+ ;
+
+ pool = new HDrawablePool(100);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_003/HSphereLayout_003.pde b/HYPE/examples/HSphereLayout/HSphereLayout_003/HSphereLayout_003.pde
new file mode 100644
index 00000000..5c72a060
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_003/HSphereLayout_003.pde
@@ -0,0 +1,46 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Default HSphereLayout with row offset to create a pleasing arrangement
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(200)
+ .ignorePoles()
+ .offsetRows(true)
+ ;
+
+ pool = new HDrawablePool(100);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_004/HSphereLayout_004.pde b/HYPE/examples/HSphereLayout/HSphereLayout_004/HSphereLayout_004.pde
new file mode 100644
index 00000000..9c70c870
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_004/HSphereLayout_004.pde
@@ -0,0 +1,47 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Default HSphereLayout applying rotation to the drawables. Note the drawables have been given an increased depth.
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(200)
+ .ignorePoles()
+ .offsetRows(true)
+ .rotate(true)
+ ;
+
+ pool = new HDrawablePool(100);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).depth(40).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_005/HSphereLayout_005.pde b/HYPE/examples/HSphereLayout/HSphereLayout_005/HSphereLayout_005.pde
new file mode 100644
index 00000000..4c55fa56
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_005/HSphereLayout_005.pde
@@ -0,0 +1,50 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Example showing full methods for the UVSphere
+
+ layout = new HSphereLayout().loc(width/2, height/2, 0).radius(200).rotate(true);
+
+ // UVSphere specific methods
+
+ layout.useUV() // tells layout to use the UV calculation of points
+ .cols(5) // how many columns to split the sphere into
+ .rows(25) // how many rows to split the sphere into
+ .ignorePoles() // avoid placing objects at the sphere's poles to avoid bunching
+ // .offsetRows(true) // adding this will appear to double the number of cols as it offsets the even rows by half of the row spacing
+ ;
+
+ pool = new HDrawablePool(125);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).depth(40).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_006/HSphereLayout_006.pde b/HYPE/examples/HSphereLayout/HSphereLayout_006/HSphereLayout_006.pde
new file mode 100644
index 00000000..67ae1d27
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_006/HSphereLayout_006.pde
@@ -0,0 +1,57 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Example showing full methods for the Fibonacci Spiral layout
+ // Larger sized pools show the spirals off more
+
+ layout = new HSphereLayout().loc(width/2, height/2, 0).radius(200).rotate(true);
+
+ // Fibonacci Spiral specific methods
+
+ layout.useSpiral() // tells layout to use the Fibonacci spiral layout calculations
+ .numPoints(300) // how many points to plot on the sphere. This can be the same number as objects in your pool
+ ;
+
+ // The phiModifier method is the secret sauce for this layout.
+ // It's the magic number that modifies the multiplication of the calculated angle.
+ // Vary it as much as you like to get different degrees of spiral gradations.
+
+ // layout.phiModifier(7.2);
+ // layout.phiModifier(1.2345);
+ // layout.phiModifier(3.0001);
+ // layout.phiModifier(0.805);
+
+ pool = new HDrawablePool(300);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_007/HSphereLayout_007.pde b/HYPE/examples/HSphereLayout/HSphereLayout_007/HSphereLayout_007.pde
new file mode 100644
index 00000000..0c3979f1
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_007/HSphereLayout_007.pde
@@ -0,0 +1,48 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Example showing basic methods for the Proportional sin(phi) layout
+
+ layout = new HSphereLayout().loc(width/2, height/2, 0).radius(200).rotate(true);
+
+ // Proportional sin(phi) specific methods
+
+ layout.useProportional() // tells layout to use the proportional spacing calculations
+ .detail(13) // equivalent to number of rows to display
+ // .offsetRows(true) // layout also supports offsetRows as seen in example 3
+ ;
+
+ pool = new HDrawablePool(320);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).depth(40).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_008/HSphereLayout_008.pde b/HYPE/examples/HSphereLayout/HSphereLayout_008/HSphereLayout_008.pde
new file mode 100644
index 00000000..be1d5ac4
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_008/HSphereLayout_008.pde
@@ -0,0 +1,56 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Example showing full methods for the Proportional sin(phi) layout
+ // start and end angles apply the layout only to a section of the sphere
+
+ layout = new HSphereLayout().loc(width/2, height/2, 0).radius(200).rotate(true);
+
+ // Proportional sin(phi) specific methods
+
+ layout.useProportional() // tells layout to use the proportional spacing calculations
+ .detail(10) // equivalent to number of rows to display
+ // .offsetRows(true) // layout also supports offsetRows as seen in example 3
+ ;
+
+ // this specific layout supports start and end angles to allow you to plot the drawables between specific angles
+
+ layout.phiStart(0); // start angle around the X axis
+ layout.phiEnd(180); // end angle around the X axis
+ layout.thetaStart(225); // start angle around the Y axis
+ layout.thetaEnd(315); // end angle around the Y axis
+
+ pool = new HDrawablePool(56);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).depth(40).noStroke();
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_009/HSphereLayout_009.pde b/HYPE/examples/HSphereLayout/HSphereLayout_009/HSphereLayout_009.pde
new file mode 100644
index 00000000..6b778ad9
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_009/HSphereLayout_009.pde
@@ -0,0 +1,71 @@
+import hype.*;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ // Default HSphereLayout handling larger pools than the layout allows for
+ // The default behavior here is to increase the radius by itself
+ // i.e. a radius of 100 would increase by 100 each time the layout is filled
+ // Full set of extending methods are shown below. Comment each one out to try them.
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(100)
+ .ignorePoles()
+ .offsetRows(true)
+ .rotate(true)
+ // .extendRadius(50) // extend the layout by increasing the radius by the arg passed in
+ // .extendNegativeRadius(50) // extend the layout by decreasing the radius by the arg passed in
+ // .extendX() // extend the center of the layout (x position) by 2x radius to the right
+ // .extendNegativeX() // extend the center of the layout (x position) by 2x radius to the left
+ // .extendY() // extend the center of the layout (y position) by 2x radius downward
+ // .extendNegativeY() // extend the center of the layout (y position) by 2x radius upward
+ // .extendZ() // extend the center of the layout (z position) by 2x radius forward
+ // .extendNegativeZ() // extend the center of the layout (z position) by 2x radius backward
+ ;
+
+ // You also have the option to utilise HYPE constants to set the layout extension if you prefer
+
+ // layout.setExtension(H.RADIUS);
+ // layout.setExtension(H.X);
+ // layout.setExtension(H.Y);
+ // layout.setExtension(H.Z);
+ // layout.setExtension(-H.X);
+ // layout.setExtension(-H.Y);
+ // layout.setExtension(-H.Z);
+
+ pool = new HDrawablePool(200); // note pool size is 200
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(10).depth(50).noStroke();
+
+ // orange fill on the objects that are indexed 100+
+ if (pool.currentIndex() > 99) d.fill(#ff3300);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_010/HSphereLayout_010.pde b/HYPE/examples/HSphereLayout/HSphereLayout_010/HSphereLayout_010.pde
new file mode 100644
index 00000000..23c04699
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_010/HSphereLayout_010.pde
@@ -0,0 +1,60 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(100)
+ .rotate(true)
+ .extendRadius(35)
+ .useSpiral()
+ .phiModifier(3.0001)
+ ;
+
+ pool = new HDrawablePool(500);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(5).depth(35).noStroke();
+
+ int i = pool.currentIndex() / 100;
+
+ switch (i) {
+ case 0: d.fill(#FF6600); break;
+ case 1: d.fill(#0095a8); break;
+ case 2: d.fill(#333333); break;
+ case 3: d.fill(#FF3300); break;
+ case 4: d.fill(#00616f); break;
+ }
+
+ new HOscillator().target(d).property(H.WIDTH).waveform(H.EASE).range(35.0, 0.1).speed(0.7).freq(5).currentStep(-i*5);
+ new HOscillator().target(d).property(H.HEIGHT).waveform(H.EASE).range(35.0, 0.1).speed(0.7).freq(5).currentStep(-i*5);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_011/HSphereLayout_011.pde b/HYPE/examples/HSphereLayout/HSphereLayout_011/HSphereLayout_011.pde
new file mode 100644
index 00000000..faa9d1aa
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_011/HSphereLayout_011.pde
@@ -0,0 +1,62 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(150)
+ .rotate(true)
+ .extendRadius(25)
+ .ignorePoles()
+ .offsetRows(true)
+ ;
+
+ pool = new HDrawablePool(100);
+ pool.autoAddToStage()
+ .add(new HIcosahedron())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.depth(10).size(10, 10).noStroke();
+
+ int i = pool.currentIndex();
+
+ switch ((i / 10) % 10) {
+ case 0: case 5: d.fill(#FF6600); break;
+ case 1: case 6: d.fill(#0095a8); break;
+ case 2: case 7: d.fill(#eeeeee); break;
+ case 3: case 8: d.fill(#FF3300); break;
+ case 4: case 9: d.fill(#00616f); break;
+ }
+
+ new HOscillator().target(d).property(H.X).waveform(H.EASE).relativeVal(d.x()).range(-100, 100).speed(2.0).freq(1.5).currentStep(i * 3);
+ new HOscillator().target(d).property(H.Y).waveform(H.EASE).relativeVal(d.y()).range(-100, 100).speed(1.0).freq(1.5).currentStep(i * 3);
+ new HOscillator().target(d).property(H.Z).waveform(H.EASE).relativeVal(d.z()).range(-200, 100).speed(0.15).freq(10).currentStep(i * 3);
+ new HOscillator().target(d).property(H.SCALE).waveform(H.EASE).range(1, 2.5).speed(0.15).freq(10).currentStep(i * 3);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI/2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI/2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ lights();
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_012/HSphereLayout_012.pde b/HYPE/examples/HSphereLayout/HSphereLayout_012/HSphereLayout_012.pde
new file mode 100644
index 00000000..18a71ddc
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_012/HSphereLayout_012.pde
@@ -0,0 +1,61 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+HOscillator reducer_wave;
+
+float r = 0;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ reducer_wave = new HOscillator().range(-0.5, 2.5).speed(1.5).freq(2.2).waveform(H.TRIANGLE);
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(150)
+ .rotate(true)
+ .ignorePoles()
+ .offsetRows(true)
+ ;
+
+ pool = new HDrawablePool(200);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(5).depth(50).noStroke();
+
+ int i = pool.currentIndex();
+
+ switch ((i / 10) % 10) {
+ case 0: case 5: d.fill(#FF6600); break;
+ case 1: case 6: d.fill(#0095a8); break;
+ case 2: case 7: d.fill(#eeeeee); break;
+ case 3: case 8: d.fill(#FF3300); break;
+ case 4: case 9: d.fill(#00616f); break;
+ }
+
+ new HOscillator().target(d).property(H.SCALE).range(1.25, 3.5).speed(0.75).freq(1.6).addReducer(reducer_wave).currentStep(i*3);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ translate(width/2, height/2);
+ rotateY(r);
+ translate(-width/2, -height/2);
+
+ lights();
+ H.drawStage();
+ r += radians(.1);
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_013/HSphereLayout_013.pde b/HYPE/examples/HSphereLayout/HSphereLayout_013/HSphereLayout_013.pde
new file mode 100644
index 00000000..abd5ad38
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_013/HSphereLayout_013.pde
@@ -0,0 +1,61 @@
+import hype.*;
+import hype.extended.behavior.HOrbiter3D;
+import hype.extended.behavior.HOscillator;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+HOrbiter3D orb1, orb2;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(200)
+ .rotate(true)
+ .useSpiral()
+ .numPoints(200)
+ .phiModifier(3.0001)
+ ;
+
+ pool = new HDrawablePool(200);
+ pool.autoAddToStage()
+ .add(new HIcosahedron())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.depth(20).size(20, 20).noStroke();
+
+ int i = pool.currentIndex();
+
+ new HOscillator().target(d).property(H.SCALE).range(0.5, 1.5).speed(1.5).freq(1.6).currentStep(i*3);
+ }
+ }
+ )
+ .requestAll()
+ ;
+
+ orb1 = new HOrbiter3D(width/2, height/2, 0).zSpeed(random(0.0, 2.0) + 0.5).ySpeed(random(0.0, 2.0) + 0.5 ).radius(250).zAngle( (int)random(360) ).yAngle( (int)random(360) );
+ orb2 = new HOrbiter3D(width/2, height/2, 0).zSpeed(random(0.0, 2.0) + 1.0).ySpeed(random(0.0, 2.0) + 0.5 ).radius(300).zAngle( (int)random(360) ).yAngle( (int)random(360) );
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI / 2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI / 2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ orb1._run();
+ orb2._run();
+ pointLight(35, 35, 35, width/2, height/2.5, 300); // gray
+ pointLight(255, 0, 156, orb1.x(), orb1.y(), orb1.z()); // magenta
+ pointLight(0, 100, 180, orb2.x(), orb2.y(), orb2.z()); // blue
+
+ H.drawStage();
+}
diff --git a/HYPE/examples/HSphereLayout/HSphereLayout_014/HSphereLayout_014.pde b/HYPE/examples/HSphereLayout/HSphereLayout_014/HSphereLayout_014.pde
new file mode 100644
index 00000000..a8eaed67
--- /dev/null
+++ b/HYPE/examples/HSphereLayout/HSphereLayout_014/HSphereLayout_014.pde
@@ -0,0 +1,104 @@
+import hype.*;
+import hype.extended.behavior.HOscillator;
+import hype.extended.layout.HSphereLayout;
+
+HDrawablePool pool;
+HSphereLayout layout;
+HOscillator reducer_wave;
+float r = 0;
+float nx, ny;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#242424).use3D(true);
+
+ nx = ny = 0.0;
+
+ reducer_wave = new HOscillator().range(-0.5, 2.5).speed(1.5).freq(2.2).waveform(H.TRIANGLE);
+
+ layout = new HSphereLayout()
+ .loc(width/2, height/2, 0)
+ .radius(100)
+ .rotate(true)
+ .ignorePoles()
+ .offsetRows(true)
+ .rows(32)
+ ;
+
+ pool = new HDrawablePool(320);
+ pool.autoAddToStage()
+ .add(new HBox())
+ .layout(layout)
+ .onCreate (
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable3D d = (HDrawable3D) obj;
+ d.size(5).depth(10).noStroke();
+
+ int i = pool.currentIndex();
+
+ PVector pt = new PVector(d.x(), d.y(), d.z());
+ PVector loc = new PVector();
+ loc = PVector.sub(layout.loc(), pt);
+ loc.normalize();
+
+ int row = (i/10)%32;
+ int col = i%10;
+
+ d.extras( new HBundle().obj("loc", loc).num("row", row).num("col", col) );
+
+ switch ((i / 10) % 10) {
+ case 0: case 5: d.fill(#FF6600); break;
+ case 1: case 6: d.fill(#0095a8); break;
+ case 2: case 7: d.fill(#eeeeee); break;
+ case 3: case 8: d.fill(#FF3300); break;
+ case 4: case 9: d.fill(#00616f); break;
+ }
+
+ new HOscillator().target(d).property(H.SCALE).range(1.25, 3.5).speed(0.75).freq(1.6).addReducer(reducer_wave).currentStep(i*3);
+ }
+ }
+ )
+ .requestAll()
+ ;
+}
+
+void draw() {
+ if (mousePressed) {
+ translate(width/2, height/2);
+ rotateX(map(mouseY, 0, height, -(TWO_PI / 2), TWO_PI/2));
+ rotateY(map(mouseX, 0, width, -(TWO_PI / 2), TWO_PI/2));
+ translate(-width/2, -height/2);
+ }
+
+ translate(width/2, height/2);
+ rotateY(r);
+ translate(-width/2, -height/2);
+
+ for (HDrawable d : pool) {
+ HBundle obj = d.extras();
+
+ PVector loc = (PVector) obj.obj("loc");
+ int row = (int) obj.num("row");
+ int col = (int) obj.num("col");
+
+ PVector pt = new PVector();
+ pt.add(loc);
+
+ float rad = noise(nx + (0.03 * col), ny + (0.03 * row)) * 300;
+
+ pt.mult(rad);
+ pt.add(layout.loc());
+
+ d.x(pt.x);
+ d.y(pt.y);
+ d.z(pt.z);
+ }
+
+ lights();
+ H.drawStage();
+
+ r += radians(.2);
+ nx += 0.01;
+ ny += 0.01;
+}
diff --git a/examples/HSprite/HSprite_001/HSprite_001.pde b/HYPE/examples/HSprite/HSprite_001/HSprite_001.pde
similarity index 57%
rename from examples/HSprite/HSprite_001/HSprite_001.pde
rename to HYPE/examples/HSprite/HSprite_001/HSprite_001.pde
index 35e7fc3d..72f698e8 100755
--- a/examples/HSprite/HSprite_001/HSprite_001.pde
+++ b/HYPE/examples/HSprite/HSprite_001/HSprite_001.pde
@@ -1,21 +1,14 @@
import hype.*;
-HImage i1;
-HSprite s1;
-
void setup() {
size(640,640,P3D);
H.init(this).background(#242424).use3D(true);
- i1 = new HImage("tex1.jpg");
-
- s1 = new HSprite(i1.width(), i1.height());
- s1
- .texture(i1.image())
- .loc(width/2, height/2)
+ H.add( new HSprite().texture("tex1.jpg") )
+ .size(200)
.anchorAt(H.CENTER)
+ .loc(width/2, height/2)
;
- H.add(s1);
}
void draw() {
diff --git a/examples/HSprite/HSprite_002/data/tex1.jpg b/HYPE/examples/HSprite/HSprite_001/data/tex1.jpg
similarity index 100%
rename from examples/HSprite/HSprite_002/data/tex1.jpg
rename to HYPE/examples/HSprite/HSprite_001/data/tex1.jpg
diff --git a/examples/HSprite/HSprite_001/data/tex2.jpg b/HYPE/examples/HSprite/HSprite_001/data/tex2.jpg
similarity index 100%
rename from examples/HSprite/HSprite_001/data/tex2.jpg
rename to HYPE/examples/HSprite/HSprite_001/data/tex2.jpg
diff --git a/examples/HSprite/HSprite_001/data/tex3.jpg b/HYPE/examples/HSprite/HSprite_001/data/tex3.jpg
similarity index 100%
rename from examples/HSprite/HSprite_001/data/tex3.jpg
rename to HYPE/examples/HSprite/HSprite_001/data/tex3.jpg
diff --git a/HYPE/examples/HSprite/HSprite_002/HSprite_002.pde b/HYPE/examples/HSprite/HSprite_002/HSprite_002.pde
new file mode 100755
index 00000000..1ae1d340
--- /dev/null
+++ b/HYPE/examples/HSprite/HSprite_002/HSprite_002.pde
@@ -0,0 +1,22 @@
+import hype.*;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#FF3300).use3D(true);
+
+ // JPG textures
+
+ H.add( new HSprite().texture("tex1.jpg") ).size(200).anchorAt(H.CENTER).loc((width/2)-210, height/3);
+ H.add( new HSprite().texture("tex2.jpg") ).size(200).anchorAt(H.CENTER).loc((width/2), height/3);
+ H.add( new HSprite().texture("tex3.jpg") ).size(200).anchorAt(H.CENTER).loc((width/2)+210, height/3);
+
+ // PNG textures / being the ideal texture to map to HSprite / nothing but transparency love
+
+ H.add( new HSprite().texture("tex1.png") ).size(200).anchorAt(H.CENTER).loc((width/2)-210, height/1.5);
+ H.add( new HSprite().texture("tex2.png") ).size(200).anchorAt(H.CENTER).loc((width/2), height/1.5);
+ H.add( new HSprite().texture("tex3.png") ).size(200).anchorAt(H.CENTER).loc((width/2)+210, height/1.5);
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/examples/HSprite/HSprite_004/data/tex1.jpg b/HYPE/examples/HSprite/HSprite_002/data/tex1.jpg
similarity index 100%
rename from examples/HSprite/HSprite_004/data/tex1.jpg
rename to HYPE/examples/HSprite/HSprite_002/data/tex1.jpg
diff --git a/examples/HSprite/HSprite_002/data/tex1.png b/HYPE/examples/HSprite/HSprite_002/data/tex1.png
similarity index 100%
rename from examples/HSprite/HSprite_002/data/tex1.png
rename to HYPE/examples/HSprite/HSprite_002/data/tex1.png
diff --git a/examples/HSprite/HSprite_002/data/tex2.jpg b/HYPE/examples/HSprite/HSprite_002/data/tex2.jpg
similarity index 100%
rename from examples/HSprite/HSprite_002/data/tex2.jpg
rename to HYPE/examples/HSprite/HSprite_002/data/tex2.jpg
diff --git a/examples/HSprite/HSprite_002/data/tex2.png b/HYPE/examples/HSprite/HSprite_002/data/tex2.png
similarity index 100%
rename from examples/HSprite/HSprite_002/data/tex2.png
rename to HYPE/examples/HSprite/HSprite_002/data/tex2.png
diff --git a/examples/HSprite/HSprite_002/data/tex3.jpg b/HYPE/examples/HSprite/HSprite_002/data/tex3.jpg
similarity index 100%
rename from examples/HSprite/HSprite_002/data/tex3.jpg
rename to HYPE/examples/HSprite/HSprite_002/data/tex3.jpg
diff --git a/examples/HSprite/HSprite_002/data/tex3.png b/HYPE/examples/HSprite/HSprite_002/data/tex3.png
similarity index 100%
rename from examples/HSprite/HSprite_002/data/tex3.png
rename to HYPE/examples/HSprite/HSprite_002/data/tex3.png
diff --git a/HYPE/examples/HSprite/HSprite_003/HSprite_003.pde b/HYPE/examples/HSprite/HSprite_003/HSprite_003.pde
new file mode 100755
index 00000000..7a0f06a0
--- /dev/null
+++ b/HYPE/examples/HSprite/HSprite_003/HSprite_003.pde
@@ -0,0 +1,31 @@
+import hype.*;
+
+HImage img1, img2, img3;
+
+void setup() {
+ size(640,640,P3D);
+ H.init(this).background(#FF3300).use3D(true);
+
+ img1 = new HImage("tex1.png");
+ img2 = new HImage("tex2.png");
+ img3 = new HImage("tex3.png");
+
+ H.add(new HSprite(200,200).texture(img1)).loc(10, 10);
+ H.add(new HSprite(410,200).texture(img1)).loc(220, 10);
+
+ H.add(new HSprite(200,360).texture(img2)).loc(10, 220);
+ H.add(new HSprite(150,150).texture(img2)).loc(220,220);
+ H.add(new HSprite(110,110).texture(img2)).loc(380,220);
+ H.add(new HSprite(80,80) .texture(img2)).loc(500,220);
+ H.add(new HSprite(40,40) .texture(img2)).loc(590,220);
+
+ H.add(new HSprite(200,40) .texture(img3)).loc(10, 590);
+ H.add(new HSprite(150,250).texture(img3)).loc(220,380);
+ H.add(new HSprite(110,290).texture(img3)).loc(380,340);
+ H.add(new HSprite(80,320) .texture(img3)).loc(500,310);
+ H.add(new HSprite(40,360) .texture(img3)).loc(590,270);
+}
+
+void draw() {
+ H.drawStage();
+}
diff --git a/examples/HSprite/HSprite_003/data/tex1.png b/HYPE/examples/HSprite/HSprite_003/data/tex1.png
similarity index 100%
rename from examples/HSprite/HSprite_003/data/tex1.png
rename to HYPE/examples/HSprite/HSprite_003/data/tex1.png
diff --git a/examples/HSprite/HSprite_003/data/tex2.png b/HYPE/examples/HSprite/HSprite_003/data/tex2.png
similarity index 100%
rename from examples/HSprite/HSprite_003/data/tex2.png
rename to HYPE/examples/HSprite/HSprite_003/data/tex2.png
diff --git a/examples/HSprite/HSprite_003/data/tex3.png b/HYPE/examples/HSprite/HSprite_003/data/tex3.png
similarity index 100%
rename from examples/HSprite/HSprite_003/data/tex3.png
rename to HYPE/examples/HSprite/HSprite_003/data/tex3.png
diff --git a/examples/HSprite/HSprite_004/HSprite_004.pde b/HYPE/examples/HSprite/HSprite_004/HSprite_004.pde
similarity index 90%
rename from examples/HSprite/HSprite_004/HSprite_004.pde
rename to HYPE/examples/HSprite/HSprite_004/HSprite_004.pde
index 351248b5..47071750 100755
--- a/examples/HSprite/HSprite_004/HSprite_004.pde
+++ b/HYPE/examples/HSprite/HSprite_004/HSprite_004.pde
@@ -14,13 +14,11 @@ void setup() {
size(640,640,P3D);
H.init(this).background(#FF3300).use3D(true);
- H.add( clrSRC = new HImage("color.png") ).loc(10, 10);
+ H.add( clrSRC = new HImage("color.png") );
clrHPC = new HPixelColorist(clrSRC);
-
- H.add(clrMarker = new HRect(2,10)).noStroke().fill(#CCCCCC).loc( 10,25);
+ H.add(clrMarker = new HRect(2,10)).noStroke().fill(#CCCCCC).loc(0,15);
clr = new color[ clrMax ];
-
for (int i = 0; i < clrMax; i++) {
float tempPos = (clrSRC.width() / clrMax) * i;
clr[i] = clrHPC.getColor(tempPos,0);
@@ -54,8 +52,7 @@ void draw() {
// update color position
- clrMin++;
- if (clrMin == clrMax) clrMin = 0;
- float tempPos = ((clrSRC.width() / clrMax) * clrMin)+10;
- clrMarker.loc(tempPos,25);
+ clrMin = ++clrMin%clrMax;
+ float tempPos = ((clrSRC.width() / clrMax) * clrMin);
+ clrMarker.loc(tempPos,15);
}
diff --git a/HYPE/examples/HSprite/HSprite_004/data/color.png b/HYPE/examples/HSprite/HSprite_004/data/color.png
new file mode 100644
index 00000000..bc0e2ded
Binary files /dev/null and b/HYPE/examples/HSprite/HSprite_004/data/color.png differ
diff --git a/examples/HSprite/HSprite_004/data/img1.jpg b/HYPE/examples/HSprite/HSprite_004/data/img1.jpg
similarity index 100%
rename from examples/HSprite/HSprite_004/data/img1.jpg
rename to HYPE/examples/HSprite/HSprite_004/data/img1.jpg
diff --git a/examples/HSprite/HSprite_004/data/img2.jpg b/HYPE/examples/HSprite/HSprite_004/data/img2.jpg
similarity index 100%
rename from examples/HSprite/HSprite_004/data/img2.jpg
rename to HYPE/examples/HSprite/HSprite_004/data/img2.jpg
diff --git a/examples/HSprite/HSprite_004/data/img3.jpg b/HYPE/examples/HSprite/HSprite_004/data/img3.jpg
similarity index 100%
rename from examples/HSprite/HSprite_004/data/img3.jpg
rename to HYPE/examples/HSprite/HSprite_004/data/img3.jpg
diff --git a/HYPE/examples/HSprite/HSprite_004/data/tex1.jpg b/HYPE/examples/HSprite/HSprite_004/data/tex1.jpg
new file mode 100644
index 00000000..774b4be5
Binary files /dev/null and b/HYPE/examples/HSprite/HSprite_004/data/tex1.jpg differ
diff --git a/examples/HSprite/HSprite_004/data/tex1.png b/HYPE/examples/HSprite/HSprite_004/data/tex1.png
similarity index 100%
rename from examples/HSprite/HSprite_004/data/tex1.png
rename to HYPE/examples/HSprite/HSprite_004/data/tex1.png
diff --git a/examples/HSprite/HSprite_004/data/tex2.jpg b/HYPE/examples/HSprite/HSprite_004/data/tex2.jpg
similarity index 100%
rename from examples/HSprite/HSprite_004/data/tex2.jpg
rename to HYPE/examples/HSprite/HSprite_004/data/tex2.jpg
diff --git a/examples/HSprite/HSprite_004/data/tex2.png b/HYPE/examples/HSprite/HSprite_004/data/tex2.png
similarity index 100%
rename from examples/HSprite/HSprite_004/data/tex2.png
rename to HYPE/examples/HSprite/HSprite_004/data/tex2.png
diff --git a/examples/HSprite/HSprite_004/data/tex3.jpg b/HYPE/examples/HSprite/HSprite_004/data/tex3.jpg
similarity index 100%
rename from examples/HSprite/HSprite_004/data/tex3.jpg
rename to HYPE/examples/HSprite/HSprite_004/data/tex3.jpg
diff --git a/examples/HSprite/HSprite_004/data/tex3.png b/HYPE/examples/HSprite/HSprite_004/data/tex3.png
similarity index 100%
rename from examples/HSprite/HSprite_004/data/tex3.png
rename to HYPE/examples/HSprite/HSprite_004/data/tex3.png
diff --git a/examples/HSprite/HSprite_005/HSprite_005.pde b/HYPE/examples/HSprite/HSprite_005/HSprite_005.pde
similarity index 86%
rename from examples/HSprite/HSprite_005/HSprite_005.pde
rename to HYPE/examples/HSprite/HSprite_005/HSprite_005.pde
index ec5f69e9..e79213cb 100644
--- a/examples/HSprite/HSprite_005/HSprite_005.pde
+++ b/HYPE/examples/HSprite/HSprite_005/HSprite_005.pde
@@ -4,16 +4,21 @@ import hype.extended.behavior.HOscillator;
import hype.extended.colorist.HColorPool;
HDrawablePool pool;
+HImage img1, img2, img3;
void setup() {
size(640,640,P3D);
H.init(this).background(#242424).use3D(true);
+ img1 = new HImage("tex1.png");
+ img2 = new HImage("tex2.png");
+ img3 = new HImage("tex3.png");
+
pool = new HDrawablePool(400);
pool.autoAddToStage()
- .add(new HSprite(50,50).texture(new HImage("tex1.png")))
- .add(new HSprite(50,50).texture(new HImage("tex2.png")))
- .add(new HSprite(50,50).texture(new HImage("tex3.png")))
+ .add(new HSprite(50).texture(img1))
+ .add(new HSprite(50).texture(img2))
+ .add(new HSprite(50).texture(img3))
// HSprite is the fastest possible drawable, perfect for drawing thousands of objects on screen and not killing FPS
// PNG's also create interesting "overlapping" textures through the transparency
diff --git a/examples/HSprite/HSprite_005/data/tex1.png b/HYPE/examples/HSprite/HSprite_005/data/tex1.png
similarity index 100%
rename from examples/HSprite/HSprite_005/data/tex1.png
rename to HYPE/examples/HSprite/HSprite_005/data/tex1.png
diff --git a/examples/HSprite/HSprite_005/data/tex2.png b/HYPE/examples/HSprite/HSprite_005/data/tex2.png
similarity index 100%
rename from examples/HSprite/HSprite_005/data/tex2.png
rename to HYPE/examples/HSprite/HSprite_005/data/tex2.png
diff --git a/examples/HSprite/HSprite_005/data/tex3.png b/HYPE/examples/HSprite/HSprite_005/data/tex3.png
similarity index 100%
rename from examples/HSprite/HSprite_005/data/tex3.png
rename to HYPE/examples/HSprite/HSprite_005/data/tex3.png
diff --git a/examples/HSwarm/HSwarm_001/HSwarm_001.pde b/HYPE/examples/HSwarm/HSwarm_001/HSwarm_001.pde
similarity index 100%
rename from examples/HSwarm/HSwarm_001/HSwarm_001.pde
rename to HYPE/examples/HSwarm/HSwarm_001/HSwarm_001.pde
diff --git a/examples/HSwarm/HSwarm_002/HSwarm_002.pde b/HYPE/examples/HSwarm/HSwarm_002/HSwarm_002.pde
similarity index 100%
rename from examples/HSwarm/HSwarm_002/HSwarm_002.pde
rename to HYPE/examples/HSwarm/HSwarm_002/HSwarm_002.pde
diff --git a/examples/HSwarm/HSwarm_003/HSwarm_003.pde b/HYPE/examples/HSwarm/HSwarm_003/HSwarm_003.pde
similarity index 100%
rename from examples/HSwarm/HSwarm_003/HSwarm_003.pde
rename to HYPE/examples/HSwarm/HSwarm_003/HSwarm_003.pde
diff --git a/examples/HSwarm/HSwarm_004/HSwarm_004.pde b/HYPE/examples/HSwarm/HSwarm_004/HSwarm_004.pde
similarity index 100%
rename from examples/HSwarm/HSwarm_004/HSwarm_004.pde
rename to HYPE/examples/HSwarm/HSwarm_004/HSwarm_004.pde
diff --git a/examples/HSwarm/HSwarm_005/HSwarm_005.pde b/HYPE/examples/HSwarm/HSwarm_005/HSwarm_005.pde
similarity index 100%
rename from examples/HSwarm/HSwarm_005/HSwarm_005.pde
rename to HYPE/examples/HSwarm/HSwarm_005/HSwarm_005.pde
diff --git a/examples/HSwarm/HSwarm_006/HSwarm_006.pde b/HYPE/examples/HSwarm/HSwarm_006/HSwarm_006.pde
similarity index 100%
rename from examples/HSwarm/HSwarm_006/HSwarm_006.pde
rename to HYPE/examples/HSwarm/HSwarm_006/HSwarm_006.pde
diff --git a/examples/HSwarm/HSwarm_006/data/sintra.jpg b/HYPE/examples/HSwarm/HSwarm_006/data/sintra.jpg
similarity index 100%
rename from examples/HSwarm/HSwarm_006/data/sintra.jpg
rename to HYPE/examples/HSwarm/HSwarm_006/data/sintra.jpg
diff --git a/examples/HSwarm/HSwarm_007/HSwarm_007.pde b/HYPE/examples/HSwarm/HSwarm_007/HSwarm_007.pde
similarity index 100%
rename from examples/HSwarm/HSwarm_007/HSwarm_007.pde
rename to HYPE/examples/HSwarm/HSwarm_007/HSwarm_007.pde
diff --git a/examples/HTimer/HTimer_001/HTimer_001.pde b/HYPE/examples/HTimer/HTimer_001/HTimer_001.pde
similarity index 100%
rename from examples/HTimer/HTimer_001/HTimer_001.pde
rename to HYPE/examples/HTimer/HTimer_001/HTimer_001.pde
diff --git a/examples/HTween/HTween_001/HTween_001.pde b/HYPE/examples/HTween/HTween_001/HTween_001.pde
similarity index 100%
rename from examples/HTween/HTween_001/HTween_001.pde
rename to HYPE/examples/HTween/HTween_001/HTween_001.pde
diff --git a/examples/HTween/HTween_002/HTween_002.pde b/HYPE/examples/HTween/HTween_002/HTween_002.pde
similarity index 100%
rename from examples/HTween/HTween_002/HTween_002.pde
rename to HYPE/examples/HTween/HTween_002/HTween_002.pde
diff --git a/examples/HTween/HTween_003/HTween_003.pde b/HYPE/examples/HTween/HTween_003/HTween_003.pde
similarity index 100%
rename from examples/HTween/HTween_003/HTween_003.pde
rename to HYPE/examples/HTween/HTween_003/HTween_003.pde
diff --git a/HYPE/examples/HTween/HTween_003/data/color.jpg b/HYPE/examples/HTween/HTween_003/data/color.jpg
new file mode 100644
index 00000000..4bafcb18
Binary files /dev/null and b/HYPE/examples/HTween/HTween_003/data/color.jpg differ
diff --git a/examples/HTween/HTween_004/HTween_004.pde b/HYPE/examples/HTween/HTween_004/HTween_004.pde
similarity index 100%
rename from examples/HTween/HTween_004/HTween_004.pde
rename to HYPE/examples/HTween/HTween_004/HTween_004.pde
diff --git a/examples/HTween/HTween_005/HTween_005.pde b/HYPE/examples/HTween/HTween_005/HTween_005.pde
similarity index 100%
rename from examples/HTween/HTween_005/HTween_005.pde
rename to HYPE/examples/HTween/HTween_005/HTween_005.pde
diff --git a/examples/HTween/HTween_006/HTween_006.pde b/HYPE/examples/HTween/HTween_006/HTween_006.pde
similarity index 100%
rename from examples/HTween/HTween_006/HTween_006.pde
rename to HYPE/examples/HTween/HTween_006/HTween_006.pde
diff --git a/HYPE/examples/HTween/HTween_007/HTween_007.pde b/HYPE/examples/HTween/HTween_007/HTween_007.pde
new file mode 100644
index 00000000..aac8aa1b
--- /dev/null
+++ b/HYPE/examples/HTween/HTween_007/HTween_007.pde
@@ -0,0 +1,138 @@
+import hype.*;
+import hype.extended.behavior.HTimer;
+import hype.extended.behavior.HTween;
+import hype.extended.colorist.HColorPool;
+
+HDrawablePool pool;
+HCanvas canvas;
+HColorPool colors;
+HTimer timer;
+
+int numItems = 4;
+
+int[] yPosTop = new int[numItems];
+int[] yPosBot = new int[numItems];
+
+boolean[] tweenToggle = new boolean[numItems];
+String[] tweenState = new String[numItems];
+
+int[] animDelayInit = new int[numItems];
+int[] animDelay = new int[numItems];
+
+// ************************************************************************************
+
+void setup() {
+ size(640,640);
+ H.init(this).background(#242424).autoClear(true);
+
+ H.add( canvas = new HCanvas() ).autoClear(false).fade(5);
+
+ colors = new HColorPool(#FFFFFF, #666666, #0095a8, #FF3300);
+
+ pool = new HDrawablePool(numItems);
+ pool.autoParent(canvas)
+ .add(new HRect(100).rounding(10))
+ .onCreate(
+ new HCallback() {
+ public void run(Object obj) {
+ HDrawable d = (HDrawable) obj;
+
+ int i = pool.currentIndex();
+
+ // set init array vars
+
+ yPosTop[i] = 100;
+ yPosBot[i] = height-100;
+ tweenToggle[i] = false;
+ tweenState[i] = "u";
+ animDelayInit[i] = 50;
+ animDelay[i] = animDelayInit[i];
+
+ d.strokeWeight(0).noStroke().fill( colors.getColorAt(i) ).loc( 95+(i * 150), yPosTop[i] ).rotation(45).anchorAt(H.CENTER);
+
+ // tween down
+
+ HTween tD = new HTween()
+ .target(d).property(H.LOCATION)
+ .start( d.x(), d.y() )
+ .end( d.x(), yPosBot[i] )
+ .ease(0.01)
+ .spring(0.9)
+ ;
+
+ // tween up
+
+ HTween tU = new HTween()
+ .target(d).property(H.LOCATION)
+ .start( d.x(), yPosBot[i] )
+ .end( d.x(), yPosTop[i] )
+ .ease(0.01)
+ .spring(0.9)
+ ;
+
+ // callback fires when tU or tD reaches their end destination
+
+ HCallback tweenDone = new HCallback() {
+ int i = pool.currentIndex();
+ public void run(Object obj) {
+ tweenToggle[i] = true; // this will set tweenToggle from false to true - letting the system know, we've reached our destination and to animate the other direction
+ }
+ };
+
+ tD.register().callback(tweenDone);
+ tU.unregister().callback(tweenDone);
+
+ d.extras( new HBundle().obj("tD", tD).obj("tU", tU) ); // this creates a "path" to the behavior associated with this object
+ }
+ }
+ )
+ ;
+
+ timer = new HTimer()
+ .numCycles( pool.numActive() )
+ .interval(200)
+ .callback(
+ new HCallback() {
+ public void run(Object obj) {
+ pool.request();
+ }
+ }
+ )
+ ;
+}
+
+void draw() {
+ H.drawStage();
+
+ int i = 0;
+
+ for (HDrawable d : pool) {
+ HBundle obj = d.extras();
+ HTween tD = (HTween)obj.obj("tD");
+ HTween tU = (HTween)obj.obj("tU");
+
+ if (tweenToggle[i]) {
+ if (tweenState[i]=="d") {
+ if (animDelay[i]<=0) {
+ tD.register(); // turn down tween on
+ tU.unregister(); // turn up tween off
+
+ tweenState[i] = "u"; // set state to go UP when tweenToggle fires again
+ animDelay[i] = animDelayInit[i];
+ tweenToggle[i] = false;
+ }
+ } else {
+ if (animDelay[i]<=0) {
+ tD.unregister(); // turn down tween off
+ tU.register(); // turn up tween on
+
+ tweenState[i] = "d"; // set state to go DOWN when tweenToggle fires again
+ animDelay[i] = animDelayInit[i];
+ tweenToggle[i] = false;
+ }
+ }
+ if (tweenToggle[i]) animDelay[i]--;
+ }
+ i++;
+ }
+}
diff --git a/examples/basics/basics_000_methodChaining/basics_000_methodChaining.pde b/HYPE/examples/basics/basics_000_methodChaining/basics_000_methodChaining.pde
similarity index 100%
rename from examples/basics/basics_000_methodChaining/basics_000_methodChaining.pde
rename to HYPE/examples/basics/basics_000_methodChaining/basics_000_methodChaining.pde
diff --git a/examples/basics/basics_001_drawingShapes/basics_001_drawingShapes.pde b/HYPE/examples/basics/basics_001_drawingShapes/basics_001_drawingShapes.pde
similarity index 100%
rename from examples/basics/basics_001_drawingShapes/basics_001_drawingShapes.pde
rename to HYPE/examples/basics/basics_001_drawingShapes/basics_001_drawingShapes.pde
diff --git a/examples/basics/basics_002_drawingShapes/basics_002_drawingShapes.pde b/HYPE/examples/basics/basics_002_drawingShapes/basics_002_drawingShapes.pde
similarity index 100%
rename from examples/basics/basics_002_drawingShapes/basics_002_drawingShapes.pde
rename to HYPE/examples/basics/basics_002_drawingShapes/basics_002_drawingShapes.pde
diff --git a/examples/basics/basics_003_anchorPositioning/basics_003_anchorPositioning.pde b/HYPE/examples/basics/basics_003_anchorPositioning/basics_003_anchorPositioning.pde
similarity index 100%
rename from examples/basics/basics_003_anchorPositioning/basics_003_anchorPositioning.pde
rename to HYPE/examples/basics/basics_003_anchorPositioning/basics_003_anchorPositioning.pde
diff --git a/examples/basics/basics_004_anchorRotation/basics_004_anchorRotation.pde b/HYPE/examples/basics/basics_004_anchorRotation/basics_004_anchorRotation.pde
similarity index 100%
rename from examples/basics/basics_004_anchorRotation/basics_004_anchorRotation.pde
rename to HYPE/examples/basics/basics_004_anchorRotation/basics_004_anchorRotation.pde
diff --git a/examples/basics/basics_005_attachImages/basics_005_attachImages.pde b/HYPE/examples/basics/basics_005_attachImages/basics_005_attachImages.pde
similarity index 100%
rename from examples/basics/basics_005_attachImages/basics_005_attachImages.pde
rename to HYPE/examples/basics/basics_005_attachImages/basics_005_attachImages.pde
diff --git a/examples/basics/basics_005_attachImages/data/img1.jpg b/HYPE/examples/basics/basics_005_attachImages/data/img1.jpg
similarity index 100%
rename from examples/basics/basics_005_attachImages/data/img1.jpg
rename to HYPE/examples/basics/basics_005_attachImages/data/img1.jpg
diff --git a/examples/basics/basics_005_attachImages/data/img2.jpg b/HYPE/examples/basics/basics_005_attachImages/data/img2.jpg
similarity index 100%
rename from examples/basics/basics_005_attachImages/data/img2.jpg
rename to HYPE/examples/basics/basics_005_attachImages/data/img2.jpg
diff --git a/examples/basics/basics_005_attachImages/data/img3.jpg b/HYPE/examples/basics/basics_005_attachImages/data/img3.jpg
similarity index 100%
rename from examples/basics/basics_005_attachImages/data/img3.jpg
rename to HYPE/examples/basics/basics_005_attachImages/data/img3.jpg
diff --git a/examples/basics/basics_006_attachSVG/basics_006_attachSVG.pde b/HYPE/examples/basics/basics_006_attachSVG/basics_006_attachSVG.pde
similarity index 100%
rename from examples/basics/basics_006_attachSVG/basics_006_attachSVG.pde
rename to HYPE/examples/basics/basics_006_attachSVG/basics_006_attachSVG.pde
diff --git a/examples/basics/basics_006_attachSVG/data/bot1.svg b/HYPE/examples/basics/basics_006_attachSVG/data/bot1.svg
similarity index 100%
rename from examples/basics/basics_006_attachSVG/data/bot1.svg
rename to HYPE/examples/basics/basics_006_attachSVG/data/bot1.svg
diff --git a/examples/basics/basics_007_attachSVG/basics_007_attachSVG.pde b/HYPE/examples/basics/basics_007_attachSVG/basics_007_attachSVG.pde
similarity index 100%
rename from examples/basics/basics_007_attachSVG/basics_007_attachSVG.pde
rename to HYPE/examples/basics/basics_007_attachSVG/basics_007_attachSVG.pde
diff --git a/examples/basics/basics_007_attachSVG/data/bot1.svg b/HYPE/examples/basics/basics_007_attachSVG/data/bot1.svg
similarity index 100%
rename from examples/basics/basics_007_attachSVG/data/bot1.svg
rename to HYPE/examples/basics/basics_007_attachSVG/data/bot1.svg
diff --git a/examples/basics/basics_008_attachSVG/basics_008_attachSVG.pde b/HYPE/examples/basics/basics_008_attachSVG/basics_008_attachSVG.pde
similarity index 100%
rename from examples/basics/basics_008_attachSVG/basics_008_attachSVG.pde
rename to HYPE/examples/basics/basics_008_attachSVG/basics_008_attachSVG.pde
diff --git a/examples/basics/basics_008_attachSVG/data/art1.svg b/HYPE/examples/basics/basics_008_attachSVG/data/art1.svg
similarity index 100%
rename from examples/basics/basics_008_attachSVG/data/art1.svg
rename to HYPE/examples/basics/basics_008_attachSVG/data/art1.svg
diff --git a/examples/basics/basics_008_attachSVG/data/art2.svg b/HYPE/examples/basics/basics_008_attachSVG/data/art2.svg
similarity index 100%
rename from examples/basics/basics_008_attachSVG/data/art2.svg
rename to HYPE/examples/basics/basics_008_attachSVG/data/art2.svg
diff --git a/examples/basics/basics_008_attachSVG/data/art3.svg b/HYPE/examples/basics/basics_008_attachSVG/data/art3.svg
similarity index 100%
rename from examples/basics/basics_008_attachSVG/data/art3.svg
rename to HYPE/examples/basics/basics_008_attachSVG/data/art3.svg
diff --git a/examples/basics/basics_008_attachSVG/data/art4.svg b/HYPE/examples/basics/basics_008_attachSVG/data/art4.svg
similarity index 100%
rename from examples/basics/basics_008_attachSVG/data/art4.svg
rename to HYPE/examples/basics/basics_008_attachSVG/data/art4.svg
diff --git a/examples/basics/basics_008_attachSVG/data/art5.svg b/HYPE/examples/basics/basics_008_attachSVG/data/art5.svg
similarity index 100%
rename from examples/basics/basics_008_attachSVG/data/art5.svg
rename to HYPE/examples/basics/basics_008_attachSVG/data/art5.svg
diff --git a/examples/basics/basics_008_attachSVG/data/art6.svg b/HYPE/examples/basics/basics_008_attachSVG/data/art6.svg
similarity index 100%
rename from examples/basics/basics_008_attachSVG/data/art6.svg
rename to HYPE/examples/basics/basics_008_attachSVG/data/art6.svg
diff --git a/examples/basics/basics_009_attachSVG/basics_009_attachSVG.pde b/HYPE/examples/basics/basics_009_attachSVG/basics_009_attachSVG.pde
similarity index 100%
rename from examples/basics/basics_009_attachSVG/basics_009_attachSVG.pde
rename to HYPE/examples/basics/basics_009_attachSVG/basics_009_attachSVG.pde
diff --git a/examples/basics/basics_009_attachSVG/data/art1.svg b/HYPE/examples/basics/basics_009_attachSVG/data/art1.svg
similarity index 100%
rename from examples/basics/basics_009_attachSVG/data/art1.svg
rename to HYPE/examples/basics/basics_009_attachSVG/data/art1.svg
diff --git a/examples/basics/basics_009_attachSVG/data/art2.svg b/HYPE/examples/basics/basics_009_attachSVG/data/art2.svg
similarity index 100%
rename from examples/basics/basics_009_attachSVG/data/art2.svg
rename to HYPE/examples/basics/basics_009_attachSVG/data/art2.svg
diff --git a/examples/basics/basics_009_attachSVG/data/art3.svg b/HYPE/examples/basics/basics_009_attachSVG/data/art3.svg
similarity index 100%
rename from examples/basics/basics_009_attachSVG/data/art3.svg
rename to HYPE/examples/basics/basics_009_attachSVG/data/art3.svg
diff --git a/examples/basics/basics_009_attachSVG/data/art4.svg b/HYPE/examples/basics/basics_009_attachSVG/data/art4.svg
similarity index 100%
rename from examples/basics/basics_009_attachSVG/data/art4.svg
rename to HYPE/examples/basics/basics_009_attachSVG/data/art4.svg
diff --git a/examples/basics/basics_009_attachSVG/data/art5.svg b/HYPE/examples/basics/basics_009_attachSVG/data/art5.svg
similarity index 100%
rename from examples/basics/basics_009_attachSVG/data/art5.svg
rename to HYPE/examples/basics/basics_009_attachSVG/data/art5.svg
diff --git a/examples/basics/basics_009_attachSVG/data/art6.svg b/HYPE/examples/basics/basics_009_attachSVG/data/art6.svg
similarity index 100%
rename from examples/basics/basics_009_attachSVG/data/art6.svg
rename to HYPE/examples/basics/basics_009_attachSVG/data/art6.svg
diff --git a/examples/basics/basics_010_text/basics_010_text.pde b/HYPE/examples/basics/basics_010_text/basics_010_text.pde
similarity index 100%
rename from examples/basics/basics_010_text/basics_010_text.pde
rename to HYPE/examples/basics/basics_010_text/basics_010_text.pde
diff --git a/examples/basics/basics_010_text/data/DroidSerifBold.ttf b/HYPE/examples/basics/basics_010_text/data/DroidSerifBold.ttf
similarity index 100%
rename from examples/basics/basics_010_text/data/DroidSerifBold.ttf
rename to HYPE/examples/basics/basics_010_text/data/DroidSerifBold.ttf
diff --git a/examples/basics/basics_010_text/data/DroidSerifBoldItalic.ttf b/HYPE/examples/basics/basics_010_text/data/DroidSerifBoldItalic.ttf
similarity index 100%
rename from examples/basics/basics_010_text/data/DroidSerifBoldItalic.ttf
rename to HYPE/examples/basics/basics_010_text/data/DroidSerifBoldItalic.ttf
diff --git a/examples/basics/basics_010_text/data/DroidSerifItalic.ttf b/HYPE/examples/basics/basics_010_text/data/DroidSerifItalic.ttf
similarity index 100%
rename from examples/basics/basics_010_text/data/DroidSerifItalic.ttf
rename to HYPE/examples/basics/basics_010_text/data/DroidSerifItalic.ttf
diff --git a/examples/basics/basics_010_text/data/DroidSerifRegular.ttf b/HYPE/examples/basics/basics_010_text/data/DroidSerifRegular.ttf
similarity index 100%
rename from examples/basics/basics_010_text/data/DroidSerifRegular.ttf
rename to HYPE/examples/basics/basics_010_text/data/DroidSerifRegular.ttf
diff --git a/examples/basics/basics_011_text/basics_011_text.pde b/HYPE/examples/basics/basics_011_text/basics_011_text.pde
similarity index 100%
rename from examples/basics/basics_011_text/basics_011_text.pde
rename to HYPE/examples/basics/basics_011_text/basics_011_text.pde
diff --git a/examples/basics/basics_011_text/data/DroidSerifBold.ttf b/HYPE/examples/basics/basics_011_text/data/DroidSerifBold.ttf
similarity index 100%
rename from examples/basics/basics_011_text/data/DroidSerifBold.ttf
rename to HYPE/examples/basics/basics_011_text/data/DroidSerifBold.ttf
diff --git a/examples/basics/basics_011_text/data/DroidSerifBoldItalic.ttf b/HYPE/examples/basics/basics_011_text/data/DroidSerifBoldItalic.ttf
similarity index 100%
rename from examples/basics/basics_011_text/data/DroidSerifBoldItalic.ttf
rename to HYPE/examples/basics/basics_011_text/data/DroidSerifBoldItalic.ttf
diff --git a/examples/basics/basics_011_text/data/DroidSerifItalic.ttf b/HYPE/examples/basics/basics_011_text/data/DroidSerifItalic.ttf
similarity index 100%
rename from examples/basics/basics_011_text/data/DroidSerifItalic.ttf
rename to HYPE/examples/basics/basics_011_text/data/DroidSerifItalic.ttf
diff --git a/examples/basics/basics_011_text/data/DroidSerifRegular.ttf b/HYPE/examples/basics/basics_011_text/data/DroidSerifRegular.ttf
similarity index 100%
rename from examples/basics/basics_011_text/data/DroidSerifRegular.ttf
rename to HYPE/examples/basics/basics_011_text/data/DroidSerifRegular.ttf
diff --git a/examples/basics/basics_012_imageTinting/basics_012_imageTinting.pde b/HYPE/examples/basics/basics_012_imageTinting/basics_012_imageTinting.pde
similarity index 100%
rename from examples/basics/basics_012_imageTinting/basics_012_imageTinting.pde
rename to HYPE/examples/basics/basics_012_imageTinting/basics_012_imageTinting.pde
diff --git a/examples/basics/basics_012_imageTinting/data/bg.jpg b/HYPE/examples/basics/basics_012_imageTinting/data/bg.jpg
similarity index 100%
rename from examples/basics/basics_012_imageTinting/data/bg.jpg
rename to HYPE/examples/basics/basics_012_imageTinting/data/bg.jpg
diff --git a/examples/basics/basics_012_imageTinting/data/sintra.jpg b/HYPE/examples/basics/basics_012_imageTinting/data/sintra.jpg
similarity index 100%
rename from examples/basics/basics_012_imageTinting/data/sintra.jpg
rename to HYPE/examples/basics/basics_012_imageTinting/data/sintra.jpg
diff --git a/examples/basics/basics_013_colorPresets/basics_013_colorPresets.pde b/HYPE/examples/basics/basics_013_colorPresets/basics_013_colorPresets.pde
similarity index 100%
rename from examples/basics/basics_013_colorPresets/basics_013_colorPresets.pde
rename to HYPE/examples/basics/basics_013_colorPresets/basics_013_colorPresets.pde
diff --git a/examples/basics/basics_014_fading/basics_014_fading.pde b/HYPE/examples/basics/basics_014_fading/basics_014_fading.pde
similarity index 100%
rename from examples/basics/basics_014_fading/basics_014_fading.pde
rename to HYPE/examples/basics/basics_014_fading/basics_014_fading.pde
diff --git a/examples/basics/basics_015_noCasting/basics_015_noCasting.pde b/HYPE/examples/basics/basics_015_noCasting/basics_015_noCasting.pde
similarity index 100%
rename from examples/basics/basics_015_noCasting/basics_015_noCasting.pde
rename to HYPE/examples/basics/basics_015_noCasting/basics_015_noCasting.pde
diff --git a/examples/basics/basics_016_transformChildren/basics_016_transformChildren.pde b/HYPE/examples/basics/basics_016_transformChildren/basics_016_transformChildren.pde
similarity index 100%
rename from examples/basics/basics_016_transformChildren/basics_016_transformChildren.pde
rename to HYPE/examples/basics/basics_016_transformChildren/basics_016_transformChildren.pde
diff --git a/examples/basics/basics_017_stylesChildren/basics_017_stylesChildren.pde b/HYPE/examples/basics/basics_017_stylesChildren/basics_017_stylesChildren.pde
similarity index 100%
rename from examples/basics/basics_017_stylesChildren/basics_017_stylesChildren.pde
rename to HYPE/examples/basics/basics_017_stylesChildren/basics_017_stylesChildren.pde
diff --git a/examples/basics/basics_018_rotatesChildren/basics_018_rotatesChildren.pde b/HYPE/examples/basics/basics_018_rotatesChildren/basics_018_rotatesChildren.pde
similarity index 100%
rename from examples/basics/basics_018_rotatesChildren/basics_018_rotatesChildren.pde
rename to HYPE/examples/basics/basics_018_rotatesChildren/basics_018_rotatesChildren.pde
diff --git a/examples/basics/basics_019_bounds/basics_019_bounds.pde b/HYPE/examples/basics/basics_019_bounds/basics_019_bounds.pde
similarity index 100%
rename from examples/basics/basics_019_bounds/basics_019_bounds.pde
rename to HYPE/examples/basics/basics_019_bounds/basics_019_bounds.pde
diff --git a/examples/basics/basics_020_contains/contains_001/contains_001.pde b/HYPE/examples/basics/basics_020_contains/contains_001/contains_001.pde
similarity index 100%
rename from examples/basics/basics_020_contains/contains_001/contains_001.pde
rename to HYPE/examples/basics/basics_020_contains/contains_001/contains_001.pde
diff --git a/examples/basics/basics_020_contains/contains_001/data/arrow.svg b/HYPE/examples/basics/basics_020_contains/contains_001/data/arrow.svg
similarity index 100%
rename from examples/basics/basics_020_contains/contains_001/data/arrow.svg
rename to HYPE/examples/basics/basics_020_contains/contains_001/data/arrow.svg
diff --git a/examples/basics/basics_020_contains/contains_002/contains_002.pde b/HYPE/examples/basics/basics_020_contains/contains_002/contains_002.pde
similarity index 100%
rename from examples/basics/basics_020_contains/contains_002/contains_002.pde
rename to HYPE/examples/basics/basics_020_contains/contains_002/contains_002.pde
diff --git a/examples/basics/basics_020_contains/contains_002/data/arrow.svg b/HYPE/examples/basics/basics_020_contains/contains_002/data/arrow.svg
similarity index 100%
rename from examples/basics/basics_020_contains/contains_002/data/arrow.svg
rename to HYPE/examples/basics/basics_020_contains/contains_002/data/arrow.svg
diff --git a/examples/basics/basics_020_contains/contains_003/contains_003.pde b/HYPE/examples/basics/basics_020_contains/contains_003/contains_003.pde
similarity index 100%
rename from examples/basics/basics_020_contains/contains_003/contains_003.pde
rename to HYPE/examples/basics/basics_020_contains/contains_003/contains_003.pde
diff --git a/examples/basics/basics_020_contains/contains_003/data/arc1.svg b/HYPE/examples/basics/basics_020_contains/contains_003/data/arc1.svg
similarity index 100%
rename from examples/basics/basics_020_contains/contains_003/data/arc1.svg
rename to HYPE/examples/basics/basics_020_contains/contains_003/data/arc1.svg
diff --git a/examples/basics/basics_020_contains/contains_003/data/arc2.svg b/HYPE/examples/basics/basics_020_contains/contains_003/data/arc2.svg
similarity index 100%
rename from examples/basics/basics_020_contains/contains_003/data/arc2.svg
rename to HYPE/examples/basics/basics_020_contains/contains_003/data/arc2.svg
diff --git a/examples/basics/basics_020_contains/contains_003/data/arc3.svg b/HYPE/examples/basics/basics_020_contains/contains_003/data/arc3.svg
similarity index 100%
rename from examples/basics/basics_020_contains/contains_003/data/arc3.svg
rename to HYPE/examples/basics/basics_020_contains/contains_003/data/arc3.svg
diff --git a/examples/basics/basics_020_contains/contains_003/data/arrow.svg b/HYPE/examples/basics/basics_020_contains/contains_003/data/arrow.svg
similarity index 100%
rename from examples/basics/basics_020_contains/contains_003/data/arrow.svg
rename to HYPE/examples/basics/basics_020_contains/contains_003/data/arrow.svg
diff --git a/library.properties b/HYPE/library.properties
similarity index 96%
rename from library.properties
rename to HYPE/library.properties
index f9525317..d9216409 100644
--- a/library.properties
+++ b/HYPE/library.properties
@@ -43,11 +43,11 @@ paragraph = [www.hypeframework.org](http://www.hypeframework.org/)
# compare different versions of the same library, and check if an update is
# available. You should think of it as a counter, counting the total number of
# releases you've had.
-version = 3 # This must be parsable as an int
+version = 4 # This must be parsable as an int
# The version as the user will see it. If blank, the version attribute will be
# used here. This should be a single word, with no spaces.
-prettyVersion = 2.0.2 # This is treated as a String
+prettyVersion = 2.1.0 # This is treated as a String
# The min and max revision of Processing compatible with your library.
# Note that these fields use the revision and not the version of Processing,
diff --git a/HYPE/library/HYPE.jar b/HYPE/library/HYPE.jar
new file mode 100644
index 00000000..53904d71
Binary files /dev/null and b/HYPE/library/HYPE.jar differ
diff --git a/reference/allclasses-frame.html b/HYPE/reference/allclasses-frame.html
similarity index 84%
rename from reference/allclasses-frame.html
rename to HYPE/reference/allclasses-frame.html
index 10d74454..07daa35c 100644
--- a/reference/allclasses-frame.html
+++ b/HYPE/reference/allclasses-frame.html
@@ -22,13 +22,17 @@
All Classes
HBundle
HCallback
HCanvas
+HCanvas.HLight
+HCircleLayout
HColorField
HColorField.HColorPoint
HColorist
+HColorLightness
HColorPool
HColors
HColorTransform
HConstants
+HCylinder
HDirectable
HDrawable
HDrawable.HDrawableIterator
@@ -36,10 +40,13 @@ All Classes
HDrawablePool
HEllipse
HFollow
+HFontPool
HGridLayout
HGroup
+HGroupColorPool
HHexLayout
HHittable
+HIcosahedron
HImage
HImageHolder
HLayout
@@ -53,8 +60,12 @@ All Classes
HMath
HMouse
HNode
+HNoiseLoop
+HOrbiter
HOrbiter3D
HOscillator
+HPackingLayout
+HParticles
HPath
HPixelColorist
HPolarLayout
@@ -63,9 +74,11 @@ All Classes
HRect
HRotatable
HRotate
+HScreenshot
HShape
HShapeLayout
HSphere
+HSphereLayout
HSprite
HStage
HSwarm
diff --git a/reference/allclasses-noframe.html b/HYPE/reference/allclasses-noframe.html
similarity index 84%
rename from reference/allclasses-noframe.html
rename to HYPE/reference/allclasses-noframe.html
index 5619cfce..fb17a3c4 100644
--- a/reference/allclasses-noframe.html
+++ b/HYPE/reference/allclasses-noframe.html
@@ -22,13 +22,17 @@ All Classes
HBundle
HCallback
HCanvas
+HCanvas.HLight
+HCircleLayout
HColorField
HColorField.HColorPoint
HColorist
+HColorLightness
HColorPool
HColors
HColorTransform
HConstants
+HCylinder
HDirectable
HDrawable
HDrawable.HDrawableIterator
@@ -36,10 +40,13 @@ All Classes
HDrawablePool
HEllipse
HFollow
+HFontPool
HGridLayout
HGroup
+HGroupColorPool
HHexLayout
HHittable
+HIcosahedron
HImage
HImageHolder
HLayout
@@ -53,8 +60,12 @@ All Classes
HMath
HMouse
HNode
+HNoiseLoop
+HOrbiter
HOrbiter3D
HOscillator
+HPackingLayout
+HParticles
HPath
HPixelColorist
HPolarLayout
@@ -63,9 +74,11 @@ All Classes
HRect
HRotatable
HRotate
+HScreenshot
HShape
HShapeLayout
HSphere
+HSphereLayout
HSprite
HStage
HSwarm
diff --git a/HYPE/reference/constant-values.html b/HYPE/reference/constant-values.html
new file mode 100644
index 00000000..5f1f0a64
--- /dev/null
+++ b/HYPE/reference/constant-values.html
@@ -0,0 +1,1769 @@
+
+
+
+
+
+Constant Field Values (Javadocs: HYPE)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
hype.*
+
+
+
+hype.H
+
+Modifier and Type
+Constant Field
+Value
+
+
+
+
+
+ public static final java.lang.String
+VERSION
+"2.1.0"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+hype.HVertex
+
+Modifier and Type
+Constant Field
+Value
+
+
+
+
+
+ public static final float
+LINE_TOLERANCE
+1.5f
+
+
+
+
+
+
+hype.HWarnings
+
+Modifier and Type
+Constant Field
+Value
+
+
+
+
+
+ public static final java.lang.String
+CHILDCEPTION
+"Can\'t add this parent as its own child."
+
+
+
+
+ public static final java.lang.String
+DESTCEPTION
+"The destination cannot be itself"
+
+
+
+
+ public static final java.lang.String
+INVALID_CHILD
+"The child you\'re trying to add is cannot be added to this drawable."
+
+
+
+
+ public static final java.lang.String
+INVALID_DEST
+"The destination doesn\'t not belong to any parent."
+
+
+
+
+ public static final java.lang.String
+NO_PROTOTYPE
+"This pool needs at least one prototype before requesting."
+
+
+
+
+ public static final java.lang.String
+NULL_ARGUMENT
+"This method does not take null arguments."
+
+
+
+
+ public static final java.lang.String
+NULL_TARGET
+"A target should be assigned before using this method."
+
+
+
+
+
+
+
+
+
hype.interfaces.*
+
+
+
+
+
+
+Processing library HYPE by Joshua Davis. (c) 2013-2016
+
+
diff --git a/reference/deprecated-list.html b/HYPE/reference/deprecated-list.html
similarity index 97%
rename from reference/deprecated-list.html
rename to HYPE/reference/deprecated-list.html
index 64bc34ff..132ce994 100644
--- a/reference/deprecated-list.html
+++ b/HYPE/reference/deprecated-list.html
@@ -100,24 +100,27 @@ Contents
-hype.extended.behavior.HOscillator.createCopy()
+hype.extended.behavior.HNoiseLoop.createCopy()
-hype.extended.colorist.HPixelColorist.getImage()
+hype.extended.behavior.HOscillator.createCopy()
-hype.extended.colorist.HPixelColorist.setImage(Object)
+hype.extended.colorist.HPixelColorist.getImage()
-hype.extended.behavior.HRotate.speed()
+hype.extended.colorist.HPixelColorist.setImage(Object)
-hype.extended.behavior.HRotate.speed(float)
+hype.extended.behavior.HRotate.speed()
-hype.extended.behavior.HRotate.speedRad()
+hype.extended.behavior.HRotate.speed(float)
+hype.extended.behavior.HRotate.speedRad()
+
+
hype.extended.behavior.HRotate.speedRad(float)
diff --git a/reference/help-doc.html b/HYPE/reference/help-doc.html
similarity index 100%
rename from reference/help-doc.html
rename to HYPE/reference/help-doc.html
diff --git a/reference/hype/H.html b/HYPE/reference/hype/H.html
similarity index 65%
rename from reference/hype/H.html
rename to HYPE/reference/hype/H.html
index c3133045..4e6f71a7 100644
--- a/reference/hype/H.html
+++ b/HYPE/reference/hype/H.html
@@ -17,7 +17,7 @@
catch(err) {
}
//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":41,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":41,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -95,7 +95,7 @@ Class H
@@ -225,7 +225,7 @@
Method Summary
static H
-backgroundImg (Object arg)
+backgroundImg (java.lang.Object arg)
static HBehaviorRegistry
@@ -240,68 +240,76 @@ Method Summary
drawStage ()
+static H
+drawStageOnly ()
+
+
static processing.core.PImage
-getImage (Object imgArg)
+getImage (java.lang.Object imgArg)
Cast an image to PImage
-
+
static H
init (processing.core.PApplet applet)
-
+
static HMouse
mouse ()
-
+
static boolean
mouseStarted ()
-
+
static HCanvas
remove (HCanvas stageChild)
-
+
static HDrawable
remove (HDrawable stageChild)
-
+
static HEllipse
remove (HEllipse stageChild)
-
+
static HGroup
remove (HGroup stageChild)
-
+
static HImage
remove (HImage stageChild)
-
+
static HPath
remove (HPath stageChild)
-
+
static HRect
remove (HRect stageChild)
-
+
static HShape
remove (HShape stageChild)
-
+
static HText
remove (HText stageChild)
-
+
static HStage
stage ()
-
+
+static H
+updateBehaviors ()
+
+
static H
use3D (boolean b)
-
+
static boolean
uses3D ()
@@ -310,8 +318,8 @@
Method Summary
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
Methods inherited from class java.lang.Object
+
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -333,7 +341,7 @@
Field Detail
+
+
+
+
+
+
+
+
@@ -657,7 +683,7 @@
mouseStarted
-java.lang.Object
+java.lang.Object
hype.HNode <HBehavior >
@@ -112,7 +112,7 @@ Class HBehavior
Direct Known Subclasses:
-HAttractor , HBehaviorRegistry.HBehaviorSentinel , HFollow , HMagneticField , HOrbiter3D , HOscillator , HProximity , HRotate , HSwarm , HTrigger , HTween , HVelocity
+HAttractor , HBehaviorRegistry.HBehaviorSentinel , HColorLightness , HFollow , HMagneticField , HNoiseLoop , HOrbiter , HOrbiter3D , HOscillator , HParticles , HProximity , HRotate , HSwarm , HTrigger , HTween , HVelocity
@@ -203,8 +203,8 @@
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
diff --git a/reference/hype/HBehaviorRegistry.HBehaviorSentinel.html b/HYPE/reference/hype/HBehaviorRegistry.HBehaviorSentinel.html
similarity index 86%
rename from reference/hype/HBehaviorRegistry.HBehaviorSentinel.html
rename to HYPE/reference/hype/HBehaviorRegistry.HBehaviorSentinel.html
index 063b1027..954d2ed1 100644
--- a/reference/hype/HBehaviorRegistry.HBehaviorSentinel.html
+++ b/HYPE/reference/hype/HBehaviorRegistry.HBehaviorSentinel.html
@@ -95,7 +95,7 @@
Class HBehav
-java.lang.Object
+java.lang.Object
hype.HNode <HBehavior >
@@ -181,8 +181,8 @@ Methods inherited from class hype.
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
diff --git a/reference/hype/HBehaviorRegistry.html b/HYPE/reference/hype/HBehaviorRegistry.html
similarity index 85%
rename from reference/hype/HBehaviorRegistry.html
rename to HYPE/reference/hype/HBehaviorRegistry.html
index 45f8064d..e687a793 100644
--- a/reference/hype/HBehaviorRegistry.html
+++ b/HYPE/reference/hype/HBehaviorRegistry.html
@@ -95,7 +95,7 @@
Class HBehaviorRegistry
@@ -184,8 +184,8 @@ Method Summary
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
diff --git a/HYPE/reference/hype/HBox.html b/HYPE/reference/hype/HBox.html
new file mode 100644
index 00000000..d1461cb9
--- /dev/null
+++ b/HYPE/reference/hype/HBox.html
@@ -0,0 +1,587 @@
+
+
+
+
+
+HBox (Javadocs: HYPE)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+HBox ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class hype.HDrawable3D
+anchor , anchor , anchorAt , anchorUV , anchorW , anchorW , anchorZ , anchorZ , depth , depth , scale , scale , size , size , size , size , w2z , z2w
+
+
+
+
+
+Methods inherited from class hype.HDrawable
+add , add , add , add , add , add , add , add , add , alpha , alpha , alphaPc , alphaPc , alphaShift , alphaShiftPc , anchor , anchor , anchorU , anchorU , anchorUV , anchorV , anchorV , anchorX , anchorX , anchorY , anchorY , bool , bool , boundingSize , bounds , bounds , contains , contains , containsRel , containsRel , copyPropertiesFrom , extras , extras , fill , fill , fill , fill , fill , firstChild , height , height , hide , invalidChild , iterator , lastChild , loc , loc , loc , loc , locAt , move , move , noFill , noStroke , num , num , numChildren , numI , obj , obj , paintAll , parent , parentOf , popOut , poppedOut , proportional , proportional , putAfter , putBefore , remove , remove , remove , remove , remove , remove , remove , remove , remove , replaceNode , rotate , rotateRad , rotatesChildren , rotatesChildren , rotateX , rotateXRad , rotateY , rotateYRad , rotateZ , rotateZRad , rotation , rotation , rotationOnAxis , rotationOnAxisRad , rotationRad , rotationRad , rotationX , rotationX , rotationXRad , rotationXRad , rotationY , rotationY , rotationYRad , rotationYRad , rotationZ , rotationZ , rotationZRad , rotationZRad , scale , show , size , str , stroke , stroke , stroke , stroke , stroke , strokeCap , strokeCap , strokeJoin , strokeJoin , strokeWeight , strokeWeight , stylesChildren , stylesChildren , swapLeft , swapRight , transformsChildren , transformsChildren , u2x , v2y , visibility , visibility , width , width , x , x , x2u , y , y , y2v , z , z
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+Methods inherited from interface java.lang.Iterable
+forEach, spliterator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+HBox
+public HBox()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+draw
+public void draw(processing.core.PGraphics g,
+ boolean usesZ,
+ float drawX,
+ float drawY,
+ float currAlphaPc)
+
+Draws this drawable.
+
+ This method is abstract and is meant to be implemented by the children
+ of this class. Also, this method is primarily called internally during
+ the draw cycle and probably wouldn't need to be called directly.
+
+Specified by:
+draw
in class HDrawable
+Parameters:
+g
- The graphics context for this drawable.
+usesZ
- Indicates if z-coordinates are used.
+drawX
- The x coordinate where this drawable would consider as 0
+drawY
- The y coordinate where this drawable would consider as 0
+currAlphaPc
- The current alpha value in the draw cycle.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Processing library HYPE by Joshua Davis. (c) 2013-2016
+
+
diff --git a/reference/hype/HBundle.html b/HYPE/reference/hype/HBundle.html
similarity index 64%
rename from reference/hype/HBundle.html
rename to HYPE/reference/hype/HBundle.html
index 18ee1a76..568b75ba 100644
--- a/reference/hype/HBundle.html
+++ b/HYPE/reference/hype/HBundle.html
@@ -95,7 +95,7 @@ Class HBundle
@@ -146,46 +146,46 @@ Method Summary
boolean
-bool (String key)
+bool (java.lang.String key)
HBundle
-bool (String key,
+bool (java.lang.String key,
boolean value)
float
-num (String key)
+num (java.lang.String key)
HBundle
-num (String key,
+num (java.lang.String key,
float value)
int
-numI (String key)
+numI (java.lang.String key)
-Object
-obj (String key)
+java.lang.Object
+obj (java.lang.String key)
HBundle
-obj (String key,
- Object value)
+obj (java.lang.String key,
+ java.lang.Object value)
-String
-str (String key)
+java.lang.String
+str (java.lang.String key)
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -224,8 +224,8 @@ Method Detail
@@ -234,7 +234,7 @@ obj
@@ -244,7 +244,7 @@ num
@@ -254,7 +254,7 @@ bool
@@ -263,7 +263,7 @@ obj
@@ -272,7 +272,7 @@ str
@@ -281,7 +281,7 @@ num
@@ -290,7 +290,7 @@ numI
diff --git a/reference/hype/HCallback.html b/HYPE/reference/hype/HCallback.html
similarity index 94%
rename from reference/hype/HCallback.html
rename to HYPE/reference/hype/HCallback.html
index a55fecc0..e60314de 100644
--- a/reference/hype/HCallback.html
+++ b/HYPE/reference/hype/HCallback.html
@@ -120,7 +120,7 @@ Method Summary
void
-run (Object obj)
+run (java.lang.Object obj)
@@ -143,7 +143,7 @@ Method Detail
diff --git a/HYPE/reference/hype/HCanvas.HLight.html b/HYPE/reference/hype/HCanvas.HLight.html
new file mode 100644
index 00000000..65befcd5
--- /dev/null
+++ b/HYPE/reference/hype/HCanvas.HLight.html
@@ -0,0 +1,397 @@
+
+
+
+
+
+HCanvas.HLight (Javadocs: HYPE)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field and Description
+
+
+float
+v1
+
+
+float
+v2
+
+
+float
+v3
+
+
+float
+x
+
+
+float
+y
+
+
+float
+z
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+HLight (float v1,
+ float v2,
+ float v3,
+ float x,
+ float y,
+ float z)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+v1
+public float v1
+
+
+
+
+
+
+
+v2
+public float v2
+
+
+
+
+
+
+
+v3
+public float v3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+HLight
+public HLight(float v1,
+ float v2,
+ float v3,
+ float x,
+ float y,
+ float z)
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+type
+public int type()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Processing library HYPE by Joshua Davis. (c) 2013-2016
+
+
diff --git a/reference/hype/HCanvas.html b/HYPE/reference/hype/HCanvas.html
similarity index 90%
rename from reference/hype/HCanvas.html
rename to HYPE/reference/hype/HCanvas.html
index 7090496d..9c912964 100644
--- a/reference/hype/HCanvas.html
+++ b/HYPE/reference/hype/HCanvas.html
@@ -17,7 +17,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -48,7 +48,7 @@
Frames
@@ -72,7 +72,7 @@
-java.lang.Object
+java.lang.Object
hype.HNode <HDrawable >
@@ -117,7 +117,7 @@ Class HCanvas
All Implemented Interfaces:
-HDirectable , HHittable , HLocatable , HRotatable , Iterable <HDrawable >
+HDirectable , HHittable , HLocatable , HRotatable , java.lang.Iterable<HDrawable >
@@ -135,6 +135,17 @@ Class HCanvas
Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+HCanvas.HLight
+
+
@@ -180,10 +191,10 @@ Constructor Summary
HCanvas (float w,
float h,
- String bufferRenderer)
+ java.lang.String bufferRenderer)
-HCanvas (String bufferRenderer)
+HCanvas (java.lang.String bufferRenderer)
@@ -257,6 +268,15 @@ Method Summary
+HCanvas
+directionalLight (float v1,
+ float v2,
+ float v3,
+ float x,
+ float y,
+ float z)
+
+
void
draw (processing.core.PGraphics g,
boolean b,
@@ -266,82 +286,90 @@ Method Summary
Draws this drawable.
-
+
HCanvas
fade (int fadeAmt)
-
+
HCanvas
filter (int kind)
-
+
HCanvas
filter (int kind,
float param)
-
+
int
filterKind ()
-
+
HCanvas
filterKind (int i)
-
+
float
filterParam ()
-
+
HCanvas
filterParam (float f)
-
+
processing.core.PGraphics
graphics ()
-
+
boolean
hasBlend ()
-
+
HCanvas
hasBlend (boolean b)
-
+
boolean
hasFade ()
-
+
HCanvas
hasFade (boolean b)
-
+
boolean
hasFilter ()
-
+
HCanvas
height (float h)
Sets the height of this drawable.
-
+
+HCanvas
+lights ()
+
+
HCanvas
noBackground ()
-
+
HCanvas
noBlend ()
-
+
HCanvas
noFade ()
-
+
HCanvas
noFilter ()
-
+
+HCanvas
+noLights ()
+
+
void
paintAll (processing.core.PGraphics g,
boolean zFlag,
@@ -349,30 +377,39 @@ Method Summary
Prepares the environment for drawing this drawable and its children.
-
-String
+
+HCanvas
+pointLight (float v1,
+ float v2,
+ float v3,
+ float x,
+ float y,
+ float z)
+
+
+java.lang.String
renderer ()
-
+
HCanvas
-renderer (String s)
+renderer (java.lang.String s)
-
+
HCanvas
shader (processing.opengl.PShader s)
-
+
HCanvas
size (float w,
float h)
Sets the size of this drawable.
-
+
boolean
usesZ ()
-
+
HCanvas
width (float w)
Sets the width of this drawable.
@@ -384,7 +421,7 @@ Method Summary
Methods inherited from class hype.HDrawable
-add , add , add , add , add , add , add , add , add , alpha , alpha , alphaPc , alphaPc , alphaShift , alphaShiftPc , anchor , anchor , anchor , anchorAt , anchorU , anchorU , anchorUV , anchorUV , anchorV , anchorV , anchorX , anchorX , anchorY , anchorY , bool , bool , boundingSize , bounds , bounds , contains , contains , containsRel , containsRel , copyPropertiesFrom , extras , extras , fill , fill , fill , fill , fill , firstChild , height , hide , invalidChild , iterator , lastChild , loc , loc , loc , loc , locAt , move , move , noFill , noStroke , num , num , numChildren , numI , obj , obj , parent , parentOf , popOut , poppedOut , proportional , proportional , putAfter , putBefore , remove , remove , remove , remove , remove , remove , remove , remove , remove , replaceNode , rotate , rotateRad , rotatesChildren , rotatesChildren , rotateX , rotateXRad , rotateY , rotateYRad , rotateZ , rotateZRad , rotation , rotation , rotationRad , rotationRad , rotationX , rotationX , rotationXRad , rotationXRad , rotationY , rotationY , rotationYRad , rotationYRad , rotationZ , rotationZ , rotationZRad , rotationZRad , scale , scale , show , size , size , size , str , stroke , stroke , stroke , stroke , stroke , strokeCap , strokeCap , strokeJoin , strokeJoin , strokeWeight , strokeWeight , stylesChildren , stylesChildren , swapLeft , swapRight , transformsChildren , transformsChildren , u2x , v2y , visibility , visibility , width , x , x , x2u , y , y , y2v , z , z
+add , add , add , add , add , add , add , add , add , alpha , alpha , alphaPc , alphaPc , alphaShift , alphaShiftPc , anchor , anchor , anchor , anchorAt , anchorU , anchorU , anchorUV , anchorUV , anchorV , anchorV , anchorX , anchorX , anchorY , anchorY , bool , bool , boundingSize , bounds , bounds , contains , contains , containsRel , containsRel , copyPropertiesFrom , extras , extras , fill , fill , fill , fill , fill , firstChild , height , hide , invalidChild , iterator , lastChild , loc , loc , loc , loc , locAt , move , move , noFill , noStroke , num , num , numChildren , numI , obj , obj , parent , parentOf , popOut , poppedOut , proportional , proportional , putAfter , putBefore , remove , remove , remove , remove , remove , remove , remove , remove , remove , replaceNode , rotate , rotateRad , rotatesChildren , rotatesChildren , rotateX , rotateXRad , rotateY , rotateYRad , rotateZ , rotateZRad , rotation , rotation , rotationOnAxis , rotationOnAxisRad , rotationRad , rotationRad , rotationX , rotationX , rotationXRad , rotationXRad , rotationY , rotationY , rotationYRad , rotationYRad , rotationZ , rotationZ , rotationZRad , rotationZRad , scale , scale , show , size , size , size , str , stroke , stroke , stroke , stroke , stroke , strokeCap , strokeCap , strokeJoin , strokeJoin , strokeWeight , strokeWeight , stylesChildren , stylesChildren , swapLeft , swapRight , transformsChildren , transformsChildren , u2x , v2y , visibility , visibility , width , x , x , x2u , y , y , y2v , z , z
@@ -397,15 +434,15 @@ Methods inherited from class hype.
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-Methods inherited from interface java.lang.Iterable
-forEach , spliterator
+Methods inherited from interface java.lang.Iterable
+forEach, spliterator
@@ -436,7 +473,7 @@ HCanvas
@@ -457,7 +494,7 @@ HCanvas
HCanvas
public HCanvas(float w,
float h,
- String bufferRenderer)
+ java.lang.String bufferRenderer)
@@ -494,7 +531,7 @@ createCopy
@@ -503,7 +540,7 @@ renderer
@@ -783,6 +820,52 @@ noBackground
public HCanvas noBackground()
+
+
+
+
+
+lights
+public HCanvas lights()
+
+
+
+
+
+
+
+
+
+
+
+pointLight
+public HCanvas pointLight(float v1,
+ float v2,
+ float v3,
+ float x,
+ float y,
+ float z)
+
+
+
+
+
+
+
+directionalLight
+public HCanvas directionalLight(float v1,
+ float v2,
+ float v3,
+ float x,
+ float y,
+ float z)
+
+
@@ -946,7 +1029,7 @@ draw
Frames
@@ -970,7 +1053,7 @@ draw
Summary:
-Nested |
+Nested |
Field |
Constr |
Method
diff --git a/HYPE/reference/hype/HColors.html b/HYPE/reference/hype/HColors.html
new file mode 100644
index 00000000..1a2cf2b1
--- /dev/null
+++ b/HYPE/reference/hype/HColors.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+HColors (Javadocs: HYPE)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+Fields inherited from interface hype.interfaces.HConstants
+ALICEBLUE , ALPHA , ANTIQUEWHITE , AQUAMARINE , AZURE , BACK , BEIGE , BISQUE , BLACK , BLANCHEDALMOND , BLUE , BLUEVIOLET , BOTTOM , BOTTOM_LEFT , BOTTOM_RIGHT , BROWN , BURLYWOOD , CADETBLUE , CENTER , CENTER_BOTTOM , CENTER_LEFT , CENTER_RIGHT , CENTER_TOP , CENTER_X , CENTER_Y , CENTER_Z , CHARTREUSE , CHOCOLATE , CLEAR , CORAL , CORNFLOWERBLUE , CORNSILK , CRIMSON , CYAN , D2R , DARKBLUE , DARKCYAN , DARKGOLDENROD , DARKGREEN , DARKGREY , DARKKHAKI , DARKMAGENTA , DARKOLIVEGREEN , DARKORANGE , DARKORCHID , DARKRED , DARKSALMON , DARKSEAGREEN , DARKSLATEBLUE , DARKSLATEGREY , DARKTURQUOISE , DARKVIOLET , DEEPPINK , DEEPSKYBLUE , DEFAULT_BACKGROUND_COLOR , DGREY , DIMGREY , DLOC , DODGERBLUE , DROTATION , DROTATIONX , DROTATIONY , DROTATIONZ , DX , DY , DZ , EASE , EPSILON , EQUILATERAL , FIREBRICK , FLORALWHITE , FORESTGREEN , FRONT , GAINSBORO , GHOSTWHITE , GOLD , GOLDENROD , GREEN , GREENYELLOW , GREY , HEIGHT , HONEYDEW , HOTPINK , INDIANRED , INDIGO , ISOCELES , IVORY , KHAKI , LAVENDER , LAVENDERBLUSH , LAWNGREEN , LEFT , LEMONCHIFFON , LGREY , LIGHTBLUE , LIGHTCORAL , LIGHTCYAN , LIGHTGOLDENRODYELLOW , LIGHTGREEN , LIGHTGREY , LIGHTPINK , LIGHTSALMON , LIGHTSEAGREEN , LIGHTSKYBLUE , LIGHTSLATEGREY , LIGHTSTEELBLUE , LIGHTYELLOW , LIME , LIMEGREEN , LINEN , LOCATION , MAGENTA , MAROON , MEDIUMAQUAMARINE , MEDIUMBLUE , MEDIUMORCHID , MEDIUMPURPLE , MEDIUMSEAGREEN , MEDIUMSLATEBLUE , MEDIUMSPRINGGREEN , MEDIUMTURQUOISE , MEDIUMVIOLETRED , MIDNIGHTBLUE , MINTCREAM , MISTYROSE , MOCCASIN , NAVAJOWHITE , NAVY , NONE , NOP , OLDLACE , OLIVE , OLIVEDRAB , ONES , ORANGE , ORANGERED , ORCHID , PALEGOLDENROD , PALEGREEN , PALETURQUOISE , PALEVIOLETRED , PAPAYAWHIP , PEACHPUFF , PERU , PHI , PHI_1 , PINK , PLUM , POWDERBLUE , PURPLE , R2D , RADIUS , RED , RIGHT , ROSYBROWN , ROTATION , ROTATIONX , ROTATIONY , ROTATIONZ , ROYALBLUE , SADDLEBROWN , SALMON , SANDYBROWN , SAW , SCALE , SEAGREEN , SEASHELL , SIENNA , SILVER , SINE , SIZE , SKYBLUE , SLATEBLUE , SLATEGREY , SNOW , SPRINGGREEN , SQRT2 , SQUARE , STEELBLUE , TAN , TEAL , THISTLE , TOLERANCE , TOMATO , TOP , TOP_LEFT , TOP_RIGHT , TRIANGLE , TURQUOISE , VIOLET , WHEAT , WHITE , WHITESMOKE , WIDTH , X , Y , YELLOW , YELLOWGREEN , Z , ZEROES
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+HColors ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+HColors
+public HColors()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Processing library HYPE by Joshua Davis. (c) 2013-2016
+
+
diff --git a/HYPE/reference/hype/HCylinder.html b/HYPE/reference/hype/HCylinder.html
new file mode 100644
index 00000000..c1360a66
--- /dev/null
+++ b/HYPE/reference/hype/HCylinder.html
@@ -0,0 +1,587 @@
+
+
+
+
+
+HCylinder (Javadocs: HYPE)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+HCylinder ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class hype.HDrawable3D
+anchor , anchor , anchorAt , anchorUV , anchorW , anchorW , anchorZ , anchorZ , depth , depth , scale , scale , size , size , size , size , w2z , z2w
+
+
+
+
+
+Methods inherited from class hype.HDrawable
+add , add , add , add , add , add , add , add , add , alpha , alpha , alphaPc , alphaPc , alphaShift , alphaShiftPc , anchor , anchor , anchorU , anchorU , anchorUV , anchorV , anchorV , anchorX , anchorX , anchorY , anchorY , bool , bool , boundingSize , bounds , bounds , contains , contains , containsRel , containsRel , copyPropertiesFrom , extras , extras , fill , fill , fill , fill , fill , firstChild , height , height , hide , invalidChild , iterator , lastChild , loc , loc , loc , loc , locAt , move , move , noFill , noStroke , num , num , numChildren , numI , obj , obj , paintAll , parent , parentOf , popOut , poppedOut , proportional , proportional , putAfter , putBefore , remove , remove , remove , remove , remove , remove , remove , remove , remove , replaceNode , rotate , rotateRad , rotatesChildren , rotatesChildren , rotateX , rotateXRad , rotateY , rotateYRad , rotateZ , rotateZRad , rotation , rotation , rotationOnAxis , rotationOnAxisRad , rotationRad , rotationRad , rotationX , rotationX , rotationXRad , rotationXRad , rotationY , rotationY , rotationYRad , rotationYRad , rotationZ , rotationZ , rotationZRad , rotationZRad , scale , show , size , str , stroke , stroke , stroke , stroke , stroke , strokeCap , strokeCap , strokeJoin , strokeJoin , strokeWeight , strokeWeight , stylesChildren , stylesChildren , swapLeft , swapRight , transformsChildren , transformsChildren , u2x , v2y , visibility , visibility , width , width , x , x , x2u , y , y , y2v , z , z
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+Methods inherited from interface java.lang.Iterable
+forEach, spliterator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+HCylinder
+public HCylinder()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+sides
+public int sides()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+drawTop
+public boolean drawTop()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+topRadius
+public float topRadius()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+draw
+public void draw(processing.core.PGraphics g,
+ boolean usesZ,
+ float drawX,
+ float drawY,
+ float currAlphaPc)
+
+Draws this drawable.
+
+ This method is abstract and is meant to be implemented by the children
+ of this class. Also, this method is primarily called internally during
+ the draw cycle and probably wouldn't need to be called directly.
+
+Specified by:
+draw
in class HDrawable
+Parameters:
+g
- The graphics context for this drawable.
+usesZ
- Indicates if z-coordinates are used.
+drawX
- The x coordinate where this drawable would consider as 0
+drawY
- The y coordinate where this drawable would consider as 0
+currAlphaPc
- The current alpha value in the draw cycle.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Processing library HYPE by Joshua Davis. (c) 2013-2016
+
+
diff --git a/reference/hype/HDrawable.HDrawableIterator.html b/HYPE/reference/hype/HDrawable.HDrawableIterator.html
similarity index 71%
rename from reference/hype/HDrawable.HDrawableIterator.html
rename to HYPE/reference/hype/HDrawable.HDrawableIterator.html
index f8e71dcf..05ed35d7 100644
--- a/reference/hype/HDrawable.HDrawableIterator.html
+++ b/HYPE/reference/hype/HDrawable.HDrawableIterator.html
@@ -95,7 +95,7 @@ Class HDrawable.HDra
-java.lang.Object
+java.lang.Object
hype.HDrawable.HDrawableIterator
@@ -107,7 +107,7 @@ Class HDrawable.HDra
All Implemented Interfaces:
-Iterator <HDrawable >
+java.util.Iterator<HDrawable >
Enclosing class:
@@ -116,8 +116,8 @@ Class HDrawable.HDra
public static class HDrawable.HDrawableIterator
-extends Object
-implements Iterator <HDrawable >
+extends java.lang.Object
+implements java.util.Iterator<HDrawable >
An HIterator used for iterating through HDrawable's children.
Author:
@@ -175,15 +175,15 @@ Method Summary
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-Methods inherited from interface java.util.Iterator
-forEachRemaining
+Methods inherited from interface java.util.Iterator
+forEachRemaining
@@ -225,7 +225,7 @@
hasNext
public boolean hasNext()
Specified by:
-hasNext
in interface Iterator <HDrawable >
+hasNext
in interface java.util.Iterator<HDrawable >
@@ -238,7 +238,7 @@
next
public HDrawable next()
Specified by:
-next
in interface Iterator <HDrawable >
+next
in interface java.util.Iterator<HDrawable >
@@ -251,7 +251,7 @@
remove
public void remove()
Specified by:
-remove
in interface Iterator <HDrawable >
+remove
in interface java.util.Iterator<HDrawable >
diff --git a/reference/hype/HDrawable.html b/HYPE/reference/hype/HDrawable.html
similarity index 95%
rename from reference/hype/HDrawable.html
rename to HYPE/reference/hype/HDrawable.html
index 22648dda..d2888a58 100644
--- a/reference/hype/HDrawable.html
+++ b/HYPE/reference/hype/HDrawable.html
@@ -17,7 +17,7 @@
catch(err) {
}
//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":42,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":6,"i40":6,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":42,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":6,"i40":6,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -47,7 +47,7 @@
@@ -95,7 +95,7 @@ Class HDrawable
-java.lang.Object
+java.lang.Object
hype.HNode <HDrawable >
@@ -112,7 +112,7 @@ Class HDrawable
All Implemented Interfaces:
-HDirectable , HHittable , HLocatable , HRotatable , Iterable <HDrawable >
+HDirectable , HHittable , HLocatable , HRotatable , java.lang.Iterable<HDrawable >
Direct Known Subclasses:
@@ -122,7 +122,7 @@ Class HDrawable
public abstract class HDrawable
extends HNode <HDrawable >
-implements HDirectable , HHittable , Iterable <HDrawable >
+implements HDirectable , HHittable , java.lang.Iterable<HDrawable >
The superclass of all drawables.
Drawables represent objects that are displayable to the stage.
@@ -401,13 +401,13 @@
Method Summary
boolean
-bool (String key)
+bool (java.lang.String key)
Returns the equivalent boolean value from the extras bundle_ with the corresponding key.
HDrawable
-bool (String key,
+bool (java.lang.String key,
boolean value)
Puts any arbitrary boolean value into this drawable's extras bundle_.
@@ -624,13 +624,13 @@ Method Summary
float
-num (String key)
+num (java.lang.String key)
Returns the number from the extras bundle_ with the corresponding key.
HDrawable
-num (String key,
+num (java.lang.String key,
float value)
Puts any arbitrary native value into this drawable's extras bundle_.
@@ -643,20 +643,20 @@ Method Summary
int
-numI (String key)
+numI (java.lang.String key)
Returns the rounded number from the extras bundle_ with the corresponding key.
-Object
-obj (String key)
+java.lang.Object
+obj (java.lang.String key)
Returns the object from the extras bundle_ with the corresponding key.
HDrawable
-obj (String key,
- Object value)
+obj (java.lang.String key,
+ java.lang.Object value)
Puts any arbitrary object into this drawable's extras bundle_.
@@ -807,69 +807,83 @@ Method Summary
+HDrawable
+rotationOnAxis (float deg,
+ float x,
+ float y,
+ float z)
+
+
+HDrawable
+rotationOnAxisRad (float rad,
+ float x,
+ float y,
+ float z)
+
+
float
rotationRad ()
-
+
HDrawable
rotationRad (float rad)
-
+
float
rotationX ()
-
+
HDrawable
rotationX (float deg)
-
+
float
rotationXRad ()
-
+
HDrawable
rotationXRad (float rad)
-
+
float
rotationY ()
-
+
HDrawable
rotationY (float deg)
-
+
float
rotationYRad ()
-
+
HDrawable
rotationYRad (float rad)
-
+
float
rotationZ ()
-
+
HDrawable
rotationZ (float deg)
-
+
float
rotationZRad ()
-
+
HDrawable
rotationZRad (float rad)
-
+
HDrawable
scale (float s)
Multiplies the width and height of this drawable by the given scale
factor.
-
+
HDrawable
scale (float sw,
float sh)
@@ -877,61 +891,61 @@ Method Summary
factors.
-
+
HDrawable
show ()
Makes this drawable visible by calling `visibility(true)`.
-
+
processing.core.PVector
size ()
Returns the size of this drawable.
-
+
HDrawable
size (float s)
Sets the size of this drawable.
-
+
HDrawable
size (float w,
float h)
Sets the size of this drawable.
-
+
HDrawable
size (processing.core.PVector s)
-
-String
-str (String key)
+
+java.lang.String
+str (java.lang.String key)
Returns the string from the extras bundle_ with the corresponding key.
-
+
int
stroke ()
Returns the stroke color for this drawable.
-
+
HDrawable
stroke (int clr)
Sets the stroke color for this drawable.
-
+
HDrawable
stroke (int clr,
int alpha)
Sets the stroke color for this drawable.
-
+
HDrawable
stroke (int r,
int g,
@@ -939,7 +953,7 @@ Method Summary
Sets the stroke color for this drawable.
-
+
HDrawable
stroke (int r,
int g,
@@ -948,137 +962,137 @@ Method Summary
Sets the stroke color for this drawable.
-
+
int
strokeCap ()
Returns the stroke cap for this drawable.
-
+
HDrawable
strokeCap (int type)
Sets the stroke cap for this drawable.
-
+
int
strokeJoin ()
Returns the stroke join for this drawable.
-
+
HDrawable
strokeJoin (int type)
Sets the stroke join for this drawable.
-
+
float
strokeWeight ()
Returns the stroke weight, or thickness of this drawable.
-
+
HDrawable
strokeWeight (float f)
Sets the stroke weight, or thickness of this drawable.
-
+
boolean
stylesChildren ()
-
+
HDrawable
stylesChildren (boolean b)
-
+
void
swapLeft ()
-
+
void
swapRight ()
-
+
boolean
transformsChildren ()
-
+
HDrawable
transformsChildren (boolean b)
-
+
float
u2x (float pc)
-
+
float
v2y (float pc)
-
+
boolean
visibility ()
Returns the visibility of this drawable.
-
+
HDrawable
visibility (boolean v)
Sets the visibility of this drawable.
-
+
float
width ()
Returns the width of this drawable.
-
+
HDrawable
width (float w)
Sets the width of this drawable.
-
+
float
x ()
TODO
-
+
HDrawable
x (float newX)
TODO
-
+
float
x2u (float px)
-
+
float
y ()
TODO
-
+
HDrawable
y (float newY)
TODO
-
+
float
y2v (float px)
-
+
float
z ()
TODO
-
+
HDrawable
z (float newZ)
TODO
@@ -1096,15 +1110,15 @@ Methods inherited from class hype.
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-Methods inherited from interface java.lang.Iterable
-forEach , spliterator
+Methods inherited from interface java.lang.Iterable
+forEach, spliterator
@@ -1678,7 +1692,7 @@ iterator
to js mode compatibility issues.
Specified by:
-iterator
in interface Iterable <HDrawable >
+iterator
in interface java.lang.Iterable<HDrawable >
Returns:
A new HIterator for this drawable
See Also:
@@ -3233,6 +3247,30 @@ rotatesChildren
public boolean rotatesChildren()
+
+
+
+
+
+
+
+
@@ -3504,8 +3542,8 @@ extras
obj
-public HDrawable obj(String key,
- Object value)
+public HDrawable obj(java.lang.String key,
+ java.lang.Object value)
Puts any arbitrary object into this drawable's extras bundle_.
If the extras bundle is null, this method will create a new one.
@@ -3526,7 +3564,7 @@ obj
num
-public HDrawable num(String key,
+public HDrawable num(java.lang.String key,
float value)
Puts any arbitrary native value into this drawable's extras bundle_.
@@ -3548,7 +3586,7 @@
num
-Iterator <HDrawable >
+java.util.Iterator<HDrawable >
iterator ()
@@ -286,15 +286,15 @@ Method Summary
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-Methods inherited from interface java.lang.Iterable
-forEach , spliterator
+Methods inherited from interface java.lang.Iterable
+forEach, spliterator
@@ -622,10 +622,10 @@ inactiveSet
diff --git a/reference/hype/HEllipse.html b/HYPE/reference/hype/HEllipse.html
similarity index 92%
rename from reference/hype/HEllipse.html
rename to HYPE/reference/hype/HEllipse.html
index 9b5a05ec..a803f02c 100644
--- a/reference/hype/HEllipse.html
+++ b/HYPE/reference/hype/HEllipse.html
@@ -48,7 +48,7 @@
Frames
@@ -95,7 +95,7 @@ Class HEllipse
-java.lang.Object
+java.lang.Object
hype.HNode <HDrawable >
@@ -117,7 +117,7 @@ Class HEllipse
All Implemented Interfaces:
-HDirectable , HHittable , HLocatable , HRotatable , Iterable <HDrawable >
+HDirectable , HHittable , HLocatable , HRotatable , java.lang.Iterable<HDrawable >
@@ -291,7 +291,7 @@ Method Summary
Methods inherited from class hype.HDrawable
-add , add , add , add , add , add , add , add , add , alpha , alpha , alphaPc , alphaPc , alphaShift , alphaShiftPc , anchor , anchor , anchor , anchorAt , anchorU , anchorU , anchorUV , anchorUV , anchorV , anchorV , anchorX , anchorX , anchorY , anchorY , bool , bool , boundingSize , bounds , bounds , contains , contains , containsRel , copyPropertiesFrom , extras , extras , fill , fill , fill , fill , fill , firstChild , height , height , hide , invalidChild , iterator , lastChild , loc , loc , loc , loc , locAt , move , move , noFill , noStroke , num , num , numChildren , numI , obj , obj , paintAll , parent , parentOf , popOut , poppedOut , proportional , proportional , putAfter , putBefore , remove , remove , remove , remove , remove , remove , remove , remove , remove , replaceNode , rotate , rotateRad , rotatesChildren , rotatesChildren , rotateX , rotateXRad , rotateY , rotateYRad , rotateZ , rotateZRad , rotation , rotation , rotationRad , rotationRad , rotationX , rotationX , rotationXRad , rotationXRad , rotationY , rotationY , rotationYRad , rotationYRad , rotationZ , rotationZ , rotationZRad , rotationZRad , scale , scale , show , size , size , size , size , str , stroke , stroke , stroke , stroke , stroke , strokeCap , strokeCap , strokeJoin , strokeJoin , strokeWeight , strokeWeight , stylesChildren , stylesChildren , swapLeft , swapRight , transformsChildren , transformsChildren , u2x , v2y , visibility , visibility , width , width , x , x , x2u , y , y , y2v , z , z
+add , add , add , add , add , add , add , add , add , alpha , alpha , alphaPc , alphaPc , alphaShift , alphaShiftPc , anchor , anchor , anchor , anchorAt , anchorU , anchorU , anchorUV , anchorUV , anchorV , anchorV , anchorX , anchorX , anchorY , anchorY , bool , bool , boundingSize , bounds , bounds , contains , contains , containsRel , copyPropertiesFrom , extras , extras , fill , fill , fill , fill , fill , firstChild , height , height , hide , invalidChild , iterator , lastChild , loc , loc , loc , loc , locAt , move , move , noFill , noStroke , num , num , numChildren , numI , obj , obj , paintAll , parent , parentOf , popOut , poppedOut , proportional , proportional , putAfter , putBefore , remove , remove , remove , remove , remove , remove , remove , remove , remove , replaceNode , rotate , rotateRad , rotatesChildren , rotatesChildren , rotateX , rotateXRad , rotateY , rotateYRad , rotateZ , rotateZRad , rotation , rotation , rotationOnAxis , rotationOnAxisRad , rotationRad , rotationRad , rotationX , rotationX , rotationXRad , rotationXRad , rotationY , rotationY , rotationYRad , rotationYRad , rotationZ , rotationZ , rotationZRad , rotationZRad , scale , scale , show , size , size , size , size , str , stroke , stroke , stroke , stroke , stroke , strokeCap , strokeCap , strokeJoin , strokeJoin , strokeWeight , strokeWeight , stylesChildren , stylesChildren , swapLeft , swapRight , transformsChildren , transformsChildren , u2x , v2y , visibility , visibility , width , width , x , x , x2u , y , y , y2v , z , z
@@ -304,15 +304,15 @@ Methods inherited from class hype.
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-Methods inherited from interface java.lang.Iterable
-forEach , spliterator
+Methods inherited from interface java.lang.Iterable
+forEach, spliterator
@@ -611,7 +611,7 @@
draw
Frames
diff --git a/HYPE/reference/hype/HFontPool.html b/HYPE/reference/hype/HFontPool.html
new file mode 100644
index 00000000..e38d9eb6
--- /dev/null
+++ b/HYPE/reference/hype/HFontPool.html
@@ -0,0 +1,415 @@
+
+
+
+
+
+HFontPool (Javadocs: HYPE)
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+HFontPool ()
+
+
+HFontPool (java.lang.Object... fonts)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+HFontPool
+public HFontPool()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Processing library HYPE by Joshua Davis. (c) 2013-2016
+
+
diff --git a/reference/hype/HGroup.html b/HYPE/reference/hype/HGroup.html
similarity index 89%
rename from reference/hype/HGroup.html
rename to HYPE/reference/hype/HGroup.html
index ea48f4ac..b5124d97 100644
--- a/reference/hype/HGroup.html
+++ b/HYPE/reference/hype/HGroup.html
@@ -47,8 +47,8 @@
Frames
@@ -95,7 +95,7 @@ Class HGroup
-java.lang.Object
+java.lang.Object
hype.HNode <HDrawable >
@@ -117,7 +117,7 @@ Class HGroup
All Implemented Interfaces:
-HDirectable , HHittable , HLocatable , HRotatable , Iterable <HDrawable >
+HDirectable , HHittable , HLocatable , HRotatable , java.lang.Iterable<HDrawable >
@@ -218,7 +218,7 @@ Method Summary
Methods inherited from class hype.HDrawable
-add , add , add , add , add , add , add , add , add , alpha , alpha , alphaPc , alphaPc , alphaShift , alphaShiftPc , anchor , anchor , anchor , anchorAt , anchorU , anchorU , anchorUV , anchorUV , anchorV , anchorV , anchorX , anchorX , anchorY , anchorY , bool , bool , boundingSize , bounds , bounds , contains , contains , containsRel , containsRel , copyPropertiesFrom , extras , extras , fill , fill , fill , fill , fill , firstChild , height , height , hide , invalidChild , iterator , lastChild , loc , loc , loc , loc , locAt , move , move , noFill , noStroke , num , num , numChildren , numI , obj , obj , parent , parentOf , popOut , poppedOut , proportional , proportional , putAfter , putBefore , remove , remove , remove , remove , remove , remove , remove , remove , remove , replaceNode , rotate , rotateRad , rotatesChildren , rotatesChildren , rotateX , rotateXRad , rotateY , rotateYRad , rotateZ , rotateZRad , rotation , rotation , rotationRad , rotationRad , rotationX , rotationX , rotationXRad , rotationXRad , rotationY , rotationY , rotationYRad , rotationYRad , rotationZ , rotationZ , rotationZRad , rotationZRad , scale , scale , show , size , size , size , size , str , stroke , stroke , stroke , stroke , stroke , strokeCap , strokeCap , strokeJoin , strokeJoin , strokeWeight , strokeWeight , stylesChildren , stylesChildren , swapLeft , swapRight , transformsChildren , transformsChildren , u2x , v2y , visibility , visibility , width , width , x , x , x2u , y , y , y2v , z , z
+add , add , add , add , add , add , add , add , add , alpha , alpha , alphaPc , alphaPc , alphaShift , alphaShiftPc , anchor , anchor , anchor , anchorAt , anchorU , anchorU , anchorUV , anchorUV , anchorV , anchorV , anchorX , anchorX , anchorY , anchorY , bool , bool , boundingSize , bounds , bounds , contains , contains , containsRel , containsRel , copyPropertiesFrom , extras , extras , fill , fill , fill , fill , fill , firstChild , height , height , hide , invalidChild , iterator , lastChild , loc , loc , loc , loc , locAt , move , move , noFill , noStroke , num , num , numChildren , numI , obj , obj , parent , parentOf , popOut , poppedOut , proportional , proportional , putAfter , putBefore , remove , remove , remove , remove , remove , remove , remove , remove , remove , replaceNode , rotate , rotateRad , rotatesChildren , rotatesChildren , rotateX , rotateXRad , rotateY , rotateYRad , rotateZ , rotateZRad , rotation , rotation , rotationOnAxis , rotationOnAxisRad , rotationRad , rotationRad , rotationX , rotationX , rotationXRad , rotationXRad , rotationY , rotationY , rotationYRad , rotationYRad , rotationZ , rotationZ , rotationZRad , rotationZRad , scale , scale , show , size , size , size , size , str , stroke , stroke , stroke , stroke , stroke , strokeCap , strokeCap , strokeJoin , strokeJoin , strokeWeight , strokeWeight , stylesChildren , stylesChildren , swapLeft , swapRight , transformsChildren , transformsChildren , u2x , v2y , visibility , visibility , width , width , x , x , x2u , y , y , y2v , z , z
@@ -231,15 +231,15 @@ Methods inherited from class hype.
-Methods inherited from class java.lang.Object
-equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-Methods inherited from interface java.lang.Iterable
-forEach , spliterator
+Methods inherited from interface java.lang.Iterable
+forEach, spliterator
@@ -372,8 +372,8 @@
draw
Frames
diff --git a/reference/hype/HBox.html b/HYPE/reference/hype/HIcosahedron.html
similarity index 86%
rename from reference/hype/HBox.html
rename to HYPE/reference/hype/HIcosahedron.html
index 02d22391..c3be7428 100644
--- a/reference/hype/HBox.html
+++ b/HYPE/reference/hype/HIcosahedron.html
@@ -3,7 +3,7 @@
-HBox (Javadocs: HYPE)
+HIcosahedron (Javadocs: HYPE)
@@ -11,7 +11,7 @@
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+HScreenshot ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+HScreenshot
+public HScreenshot()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+start
+public int start()
+
+
+
+
+
+
+
+
+
+
+
+end
+public int end()
+
+
+
+
+
+
+
+
+
+
+
+frequency
+public int frequency()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+exit
+public boolean exit()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+run
+public void run()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Processing library HYPE by Joshua Davis. (c) 2013-2016
+
+