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) + + + + + + + +
    + + +
    Skip navigation links
    + + + + +
    + + +
    +

    Constant Field Values

    +

    Contents

    + +
    +
    + + +

    hype.*

    + + + + +

    hype.interfaces.*

    + +
    + +
    + + +
    Skip navigation links
    + + + + +
    + + +

    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

    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

    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) + + + + + + + +
    + + +
    Skip navigation links
    + + + + +
    + + + +
    +
    hype
    +

    Class HBox

    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + + +
    + + +
    Skip navigation links
    + + + + +
    + + +

    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)  @@ -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) + + + + + + + + + + + +
    +
    hype
    +

    Class HCanvas.HLight

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • hype.HCanvas.HLight
      • +
      +
    • +
    +
    +
      +
    • +
      +
      Enclosing class:
      +
      HCanvas
      +
      +
      +
      +
      public static class HCanvas.HLight
      +extends java.lang.Object
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Field Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Fields 
        Modifier and TypeField and Description
        floatv1 
        floatv2 
        floatv3 
        floatx 
        floaty 
        floatz 
        +
      • +
      + +
        +
      • + + +

        Constructor Summary

        + + + + + + + + +
        Constructors 
        Constructor and Description
        HLight(float v1, + float v2, + float v3, + float x, + float y, + float z) 
        +
      • +
      + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + +
        All Methods Instance Methods Concrete Methods 
        Modifier and TypeMethod and Description
        inttype() 
        voidtype(int type) 
        +
          +
        • + + +

          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
          +
        • +
        + + + +
          +
        • +

          x

          +
          public float x
          +
        • +
        + + + +
          +
        • +

          y

          +
          public float y
          +
        • +
        + + + +
          +
        • +

          z

          +
          public float z
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          HLight

          +
          public HLight(float v1,
          +              float v2,
          +              float v3,
          +              float x,
          +              float y,
          +              float z)
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          type

          +
          public void type(int type)
          +
        • +
        + + + +
          +
        • +

          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 @@
      -
    • java.lang.Object
    • +
    • java.lang.Object
      • hype.HWarnings
      • @@ -108,7 +108,7 @@

        Class HWarnings



        public class HWarnings
        -extends Object
        +extends java.lang.Object
    @@ -128,31 +128,31 @@

    Field Summary

    Field and Description -static String +static java.lang.String CHILDCEPTION  -static String +static java.lang.String DESTCEPTION  -static String +static java.lang.String INVALID_CHILD  -static String +static java.lang.String INVALID_DEST  -static String +static java.lang.String NO_PROTOTYPE  -static String +static java.lang.String NULL_ARGUMENT  -static String +static java.lang.String NULL_TARGET  @@ -172,17 +172,17 @@

    Method Summary

    static void -warn(String type, - String loc, - String msg)  +warn(java.lang.String type, + java.lang.String loc, + java.lang.String msg)  @@ -204,7 +204,7 @@

    Field Detail

    diff --git a/reference/hype/extended/colorist/HColorField.html b/HYPE/reference/hype/extended/colorist/HColorField.html similarity index 90% rename from reference/hype/extended/colorist/HColorField.html rename to HYPE/reference/hype/extended/colorist/HColorField.html index d9b1f2d1..870ba77f 100644 --- a/reference/hype/extended/colorist/HColorField.html +++ b/HYPE/reference/hype/extended/colorist/HColorField.html @@ -95,7 +95,7 @@

    Class HColorField

      -
    • java.lang.Object
    • +
    • java.lang.Object
      • hype.extended.colorist.HColorField
      • @@ -112,7 +112,7 @@

        Class HColorField



        public class HColorField
        -extends Object
        +extends java.lang.Object
         implements HColorist
      @@ -231,8 +231,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/reference/hype/extended/colorist/HColorPool.html b/HYPE/reference/hype/extended/colorist/HColorPool.html similarity index 89% rename from reference/hype/extended/colorist/HColorPool.html rename to HYPE/reference/hype/extended/colorist/HColorPool.html index 5f6bea9d..ba00e07b 100644 --- a/reference/hype/extended/colorist/HColorPool.html +++ b/HYPE/reference/hype/extended/colorist/HColorPool.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}; +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}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -95,7 +95,7 @@

    Class HColorPool

    @@ -292,6 +296,15 @@

    getColor

    public int getColor(int seed)
    + + + +
      +
    • +

      getColorAt

      +
      public int getColorAt(int index)
      +
    • +
    diff --git a/reference/hype/extended/colorist/HColorTransform.html b/HYPE/reference/hype/extended/colorist/HColorTransform.html similarity index 92% rename from reference/hype/extended/colorist/HColorTransform.html rename to HYPE/reference/hype/extended/colorist/HColorTransform.html index 51ed67bf..77c197dd 100644 --- a/reference/hype/extended/colorist/HColorTransform.html +++ b/HYPE/reference/hype/extended/colorist/HColorTransform.html @@ -48,7 +48,7 @@
      -
    • java.lang.Object
    • +
    • java.lang.Object
      • hype.extended.colorist.HColorTransform
      • @@ -112,7 +112,7 @@

        Class HColorTransform



        public class HColorTransform
        -extends Object
        +extends java.lang.Object
         implements HColorist
      @@ -280,8 +280,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
    @@ -642,7 +642,7 @@

    applyColor

    @@ -238,7 +292,7 @@

    HPixelColorist

    • HPixelColorist

      -
      public HPixelColorist(Object imgArg)
      +
      public HPixelColorist(java.lang.Object imgArg)
    @@ -249,13 +303,132 @@

    HPixelColorist

    Method Detail

    + + + + + + + +
      +
    • +

      loc

      +
      public processing.core.PVector loc()
      +
    • +
    + + + + + + + +
      +
    • +

      offsetX

      +
      public float offsetX()
      +
    • +
    + + + + + + + +
      +
    • +

      offsetY

      +
      public float offsetY()
      +
    • +
    + + + + + + + + + + + +
      +
    • +

      size

      +
      public processing.core.PVector size()
      +
    • +
    + + + + + + + +
      +
    • +

      width

      +
      public int width()
      +
    • +
    + + + + + + + +
      +
    • +

      height

      +
      public int height()
      +
    • +
    diff --git a/reference/hype/extended/colorist/package-summary.html b/HYPE/reference/hype/extended/colorist/package-summary.html similarity index 96% rename from reference/hype/extended/colorist/package-summary.html rename to HYPE/reference/hype/extended/colorist/package-summary.html index 7def7f85..4ed15e6c 100644 --- a/reference/hype/extended/colorist/package-summary.html +++ b/HYPE/reference/hype/extended/colorist/package-summary.html @@ -97,6 +97,10 @@

    Package hype.extended.colorist

      +HGroupColorPool +  + + HPixelColorist   diff --git a/reference/hype/extended/colorist/package-tree.html b/HYPE/reference/hype/extended/colorist/package-tree.html similarity index 96% rename from reference/hype/extended/colorist/package-tree.html rename to HYPE/reference/hype/extended/colorist/package-tree.html index 8d05dcc5..47852947 100644 --- a/reference/hype/extended/colorist/package-tree.html +++ b/HYPE/reference/hype/extended/colorist/package-tree.html @@ -77,12 +77,13 @@

    Hierarchy For Package hype.extended.colorist

    Class Hierarchy

      -
    • java.lang.Object +
    • java.lang.Object
    • diff --git a/HYPE/reference/hype/extended/layout/HCircleLayout.html b/HYPE/reference/hype/extended/layout/HCircleLayout.html new file mode 100644 index 00000000..b55690c2 --- /dev/null +++ b/HYPE/reference/hype/extended/layout/HCircleLayout.html @@ -0,0 +1,613 @@ + + + + + +HCircleLayout (Javadocs: HYPE) + + + + + + + + + + + +
      +
      hype.extended.layout
      +

      Class HCircleLayout

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • hype.extended.layout.HCircleLayout
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        HLayout
        +
        +
        +
        +
        public class HCircleLayout
        +extends java.lang.Object
        +implements HLayout
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            HCircleLayout

            +
            public HCircleLayout()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            startLoc

            +
            public processing.core.PVector startLoc()
            +
          • +
          + + + +
            +
          • +

            startLoc

            +
            public HCircleLayout startLoc(float x,
            +                              float y)
            +
          • +
          + + + +
            +
          • +

            startLoc

            +
            public HCircleLayout startLoc(float x,
            +                              float y,
            +                              float z)
            +
          • +
          + + + +
            +
          • +

            startX

            +
            public float startX()
            +
          • +
          + + + + + + + +
            +
          • +

            startY

            +
            public float startY()
            +
          • +
          + + + + + + + +
            +
          • +

            startZ

            +
            public float startZ()
            +
          • +
          + + + + + + + +
            +
          • +

            currentIndex

            +
            public HCircleLayout currentIndex(int i)
            +
          • +
          + + + +
            +
          • +

            currentIndex

            +
            public int currentIndex()
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            radius

            +
            public float radius()
            +
          • +
          + + + + + + + +
            +
          • +

            angleStep

            +
            public float angleStep()
            +
          • +
          + + + +
            +
          • +

            angleStepRad

            +
            public float angleStepRad()
            +
          • +
          + + + + + + + +
            +
          • +

            startAngle

            +
            public float startAngle()
            +
          • +
          + + + +
            +
          • +

            startAngleRad

            +
            public float startAngleRad()
            +
          • +
          + + + +
            +
          • +

            rotateTarget

            +
            public HCircleLayout rotateTarget(boolean b)
            +
          • +
          + + + +
            +
          • +

            rotateTarget

            +
            public boolean rotateTarget()
            +
          • +
          + + + + + + + +
            +
          • +

            useNoise

            +
            public boolean useNoise()
            +
          • +
          + + + +
            +
          • +

            getNextPoint

            +
            public processing.core.PVector getNextPoint()
            +
            +
            Specified by:
            +
            getNextPoint in interface HLayout
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + +

      Processing library HYPE by Joshua Davis. (c) 2013-2016

      + + diff --git a/reference/hype/extended/layout/HGridLayout.html b/HYPE/reference/hype/extended/layout/HGridLayout.html similarity index 92% rename from reference/hype/extended/layout/HGridLayout.html rename to HYPE/reference/hype/extended/layout/HGridLayout.html index 6128d74b..7e1c57c3 100644 --- a/reference/hype/extended/layout/HGridLayout.html +++ b/HYPE/reference/hype/extended/layout/HGridLayout.html @@ -47,7 +47,7 @@
      -
    • java.lang.Object
    • +
    • java.lang.Object
      • hype.extended.layout.HGridLayout
      • @@ -112,7 +112,7 @@

        Class HGridLayout



        public class HGridLayout
        -extends Object
        +extends java.lang.Object
         implements HLayout
      @@ -275,8 +275,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
    @@ -612,7 +612,7 @@

    applyTo