diff --git a/geom-core/src/index.org b/geom-core/src/index.org index fdd1a36f..93ebd963 100644 --- a/geom-core/src/index.org +++ b/geom-core/src/index.org @@ -21,6 +21,22 @@ the other library modules). ALPHA quality, in active development. +* Namespaces + +- [[./core.org][thi.ng.geom.core]] +- [[./intersect.org][thi.ng.geom.core.intersect]] +- [[./matrix.org][thi.ng.geom.core.matrix]] +- [[./quaternion.org][thi.ng.geom.core.quaternion]] +- [[./subdiv.org][thi.ng.geom.core.subdiv]] +- [[./utils.org][thi.ng.geom.core.utils]] +- [[./vector.org][thi.ng.geom.core.vector]] + +* Tests + +- [[../test/core.org][thi.ng.geom.core.test.core]] + +* Module definition + ** Building & testing this project Please see the [[file:../../src/index.org][parent project]] for further information. @@ -38,19 +54,7 @@ thi.ng/geom-core target/geom-core-<>.js #+END_SRC -** Release history - -| *Version* | *Released* | *Description* | *Lein coordinates* | *Tagged Github URL* | -|-----------+------------+--------------------+-------------------------+-------------------------------------------| -| 0.2.0 | 2014-03-10 | 1st public release | =[thi.ng/geom "0.2.0"]= | https://github.com/thi-ng/geom/tree/0.2.0 | - -** Contributors - -| *Name* | *Role* | *Website* | -| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | -| | | [[http://thi.ng][thi.ng]] | - -** Leiningen coordinates +** Leiningen coordinates :noexport: #+BEGIN_SRC clojure :noweb yes :noweb-ref lein-coords [<> "<>"] @@ -147,16 +151,8 @@ symbol =version= holding the version string defined above: (def version "<>") #+END_SRC -* Namespaces - -- [[./core.org][thi.ng.geom.core]] -- [[./intersect.org][thi.ng.geom.core.intersect]] -- [[./matrix.org][thi.ng.geom.core.matrix]] -- [[./quaternion.org][thi.ng.geom.core.quaternion]] -- [[./subdiv.org][thi.ng.geom.core.subdiv]] -- [[./utils.org][thi.ng.geom.core.utils]] -- [[./vector.org][thi.ng.geom.core.vector]] - -* Tests +** Contributors -- [[../test/core.org][thi.ng.geom.core.test.core]] +| *Name* | *Role* | *Website* | +| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | +| | | [[http://thi.ng][thi.ng]] | diff --git a/geom-meshops/src/index.org b/geom-meshops/src/index.org index 4ea2e175..f240a2d4 100644 --- a/geom-meshops/src/index.org +++ b/geom-meshops/src/index.org @@ -14,6 +14,20 @@ versions forthcoming. ALPHA quality, in active development. +* Namespaces + +- [[./csg.org][thi.ng.geom.mesh.csg]] +- [[./delaunay.org][thi.ng.geom.mesh.delaunay]] +- [[./io.org][thi.ng.geom.mesh.io]] +- [[./meshops.org][thi.ng.geom.mesh.ops]] +- [[./subdivision.org][thi.ng.geom.mesh.subdivision]] + +* Tests + +- [[../test/core.org][Tests]] + +* Module definition + ** Building & testing this project Please see the [[file:../../src/index.org][parent project]] for further information. @@ -31,19 +45,7 @@ thi.ng/geom-meshops target/geom-meshops-<>.js #+END_SRC -** Release history - -| *Version* | *Released* | *Description* | *Lein coordinates* | *Tagged Github URL* | -|-----------+------------+--------------------+-------------------------+-------------------------------------------| -| 0.2.0 | 2014-03-10 | 1st public release | =[thi.ng/geom "0.2.0"]= | https://github.com/thi-ng/geom/tree/0.2.0 | - -** Contributors - -| *Name* | *Role* | *Website* | -| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | -| | | [[http://thi.ng][thi.ng]] | - -** Leiningen coordinates +** Leiningen coordinates :noexport: #+BEGIN_SRC clojure :noweb yes :noweb-ref lein-coords [<> "<>"] @@ -140,14 +142,8 @@ symbol =version= holding the version string defined above: (def version "<>") #+END_SRC -* Namespaces - -- [[./csg.org][thi.ng.geom.mesh.csg]] -- [[./delaunay.org][thi.ng.geom.mesh.delaunay]] -- [[./io.org][thi.ng.geom.mesh.io]] -- [[./meshops.org][thi.ng.geom.mesh.ops]] -- [[./subdivision.org][thi.ng.geom.mesh.subdivision]] - -* Tests +** Contributors -#+INCLUDE: "../test/core.org" :minlevel 2 +| *Name* | *Role* | *Website* | +| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | +| | | [[http://thi.ng][thi.ng]] | diff --git a/geom-physics/src/index.org b/geom-physics/src/index.org index 62f1a1f0..a71ddfe7 100644 --- a/geom-physics/src/index.org +++ b/geom-physics/src/index.org @@ -13,6 +13,16 @@ integration]] and an extensible behavior system. ALPHA quality, in active development. +* Namespaces + +- [[./core.org][thi.ng.geom.physics.core]] + +* Tests + +- [[../test/core.org][test/core.org]] + +* Module definition + ** Building & testing this project Please see the [[file:../../src/index.org][parent project]] for further information. @@ -30,18 +40,7 @@ thi.ng/geom-physics target/geom-physics-<>.js #+END_SRC -** Release history - -| *Version* | *Released* | *Description* | *Lein coordinates* | *Tagged Github URL* | -|-----------+------------+--------------------+-------------------------+-------------------------------------------| - -** Contributors - -| *Name* | *Role* | *Website* | -| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | -| | | [[http://thi.ng][thi.ng]] | - -** Leiningen coordinates +** Leiningen coordinates :noexport: #+BEGIN_SRC clojure :noweb yes :noweb-ref lein-coords [<> "<>"] @@ -138,10 +137,8 @@ symbol =version= holding the version string defined above: (def version "<>") #+END_SRC -* Namespaces - -- [[./core.org][thi.ng.geom.physics.core]] - -* Tests +** Contributors -- [[../test/core.org][test/core.org]] +| *Name* | *Role* | *Website* | +| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | +| | | [[http://thi.ng][thi.ng]] | diff --git a/geom-svg/src/index.org b/geom-svg/src/index.org index 3174c76f..72e83c97 100644 --- a/geom-svg/src/index.org +++ b/geom-svg/src/index.org @@ -17,6 +17,19 @@ uses [[http://github.com/weavejester/hiccup][hiccup]] to serialize assets as SVG ALPHA quality, in active development. +* Namespaces + +- [[./core.org][thi.ng.geom.svg.core]] +- [[./renderer.org][thi.ng.geom.svg.renderer]] +- [[./shaders.org][thi.ng.geom.svg.shaders]] +- [[./examples.org][examples]] + +* Tests + +- [[../test/core.org][Tests]] + +* Module definition + ** Building & testing this project Please see the [[file:../../src/index.org][parent project]] for further information. @@ -38,18 +51,7 @@ target/geom-svg-<>.js [hiccup "1.0.5"] #+END_SRC -** Release history - -| *Version* | *Released* | *Description* | *Lein coordinates* | *Tagged Github URL* | -|-----------+------------+--------------------+-------------------------+-------------------------------------------| - -** Contributors - -| *Name* | *Role* | *Website* | -| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | -| | | [[http://thi.ng][thi.ng]] | - -** Leiningen coordinates +** Leiningen coordinates :noexport: #+BEGIN_SRC clojure :noweb yes :noweb-ref lein-coords [<> "<>"] @@ -149,13 +151,8 @@ symbol =version= holding the version string defined above: (def version "<>") #+END_SRC -* Namespaces - -- [[./core.org][thi.ng.geom.svg.core]] -- [[./renderer.org][thi.ng.geom.svg.renderer]] -- [[./shaders.org][thi.ng.geom.svg.shaders]] -- [[./examples.org][examples]] - -* Tests +** Contributors -#+INCLUDE: "../test/core.org" :minlevel 2 +| *Name* | *Role* | *Website* | +| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | +| | | [[http://thi.ng][thi.ng]] | diff --git a/geom-types/src/index.org b/geom-types/src/index.org index 94414d6d..9d8b8ac2 100644 --- a/geom-types/src/index.org +++ b/geom-types/src/index.org @@ -59,6 +59,34 @@ operations: ALPHA quality, in active development. +* Namespaces + +- [[./aabb.org][thi.ng.geom.aabb]] +- [[./basicmesh.org][thi.ng.geom.basicmesh]] +- [[./bezier.org][thi.ng.geom.bezier]] +- [[./circle.org][thi.ng.geom.circle]] +- [[./cuboid.org][thi.ng.geom.cuboid]] +- [[./gmesh.org][thi.ng.geom.gmesh]] +- [[./line.org][thi.ng.geom.line]] +- [[./path.org][thi.ng.geom.path]] +- [[./plane.org][thi.ng.geom.plane]] +- [[./polygon.org][thi.ng.geom.polygon]] +- [[./quad.org][thi.ng.geom.quad]] +- [[./rect.org][thi.ng.geom.rect]] +- [[./spatialtree.org][thi.ng.geom.spatialtree]] +- [[./sphere.org][thi.ng.geom.sphere]] +- [[./tetrahedron.org][thi.ng.geom.tetrahedron]] +- [[./triangle.org][thi.ng.geom.triangle]] +- [[./types.org][thi.ng.geom.types]] +- [[./utils.org][thi.ng.geom.types.utils]] +- [[./ptf.org][thi.ng.geom.types.utils.ptf]] + +* Tests + +- [[../test/protocols.org][thi.ng.geom.types.test.protocols]] + +* Module definition + ** Building & testing this project Please see the [[file:../../src/index.org][parent project]] for further information. @@ -76,19 +104,7 @@ thi.ng/geom-types target/geom-types-<>.js #+END_SRC -** Release history - -| *Version* | *Released* | *Description* | *Lein coordinates* | *Tagged Github URL* | -|-----------+------------+--------------------+-------------------------+-------------------------------------------| -| 0.2.0 | 2014-03-10 | 1st public release | =[thi.ng/geom "0.2.0"]= | https://github.com/thi-ng/geom/tree/0.2.0 | - -** Contributors - -| *Name* | *Role* | *Website* | -| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | -| | | [[http://thi.ng][thi.ng]] | - -** Leiningen coordinates +** Leiningen coordinates :noexport: #+BEGIN_SRC clojure :noweb yes :noweb-ref lein-coords [<> "<>"] @@ -184,29 +200,9 @@ symbol =version= holding the version string defined above: (def version "<>") #+END_SRC -* Namespaces - -- [[./aabb.org][thi.ng.geom.aabb]] -- [[./basicmesh.org][thi.ng.geom.basicmesh]] -- [[./bezier.org][thi.ng.geom.bezier]] -- [[./circle.org][thi.ng.geom.circle]] -- [[./cuboid.org][thi.ng.geom.cuboid]] -- [[./gmesh.org][thi.ng.geom.gmesh]] -- [[./line.org][thi.ng.geom.line]] -- [[./path.org][thi.ng.geom.path]] -- [[./plane.org][thi.ng.geom.plane]] -- [[./polygon.org][thi.ng.geom.polygon]] -- [[./quad.org][thi.ng.geom.quad]] -- [[./rect.org][thi.ng.geom.rect]] -- [[./spatialtree.org][thi.ng.geom.spatialtree]] -- [[./sphere.org][thi.ng.geom.sphere]] -- [[./tetrahedron.org][thi.ng.geom.tetrahedron]] -- [[./triangle.org][thi.ng.geom.triangle]] -- [[./types.org][thi.ng.geom.types]] -- [[./utils.org][thi.ng.geom.types.utils]] -- [[./ptf.org][thi.ng.geom.types.utils.ptf]] - -* Tests +** Contributors -- [[../test/protocols.org][thi.ng.geom.types.test.protocols]] +| *Name* | *Role* | *Website* | +| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | +| | | [[http://thi.ng][thi.ng]] | diff --git a/geom-webgl/src/index.org b/geom-webgl/src/index.org index 8214e653..5589a43c 100644 --- a/geom-webgl/src/index.org +++ b/geom-webgl/src/index.org @@ -15,15 +15,29 @@ cross-platform source code. ALPHA quality, in active development. +* Namespaces + +- [[./core.org][thi.ng.geom.webgl.core]] +- [[./animator.org][thi.ng.geom.webgl.animator]] +- [[./arrays.org][thi.ng.geom.webgl.arrays]] +- [[./buffers.org][thi.ng.geom.webgl.buffers]] +- [[./shaders.org][thi.ng.geom.webgl.shaders]] +- [[./utils.org][thi.ng.geom.webgl.utils]] +- [[./demo.org][Examples]] + +* Module definition + ** Building & testing this project Please see the [[file:../../src/index.org][parent project]] for further information. -** Injected properties :noexport: +** Injected properties This template uses shared project configuration defined in [[../../src/config.org][config.org]]. Module specific settings are defined below: +*** Properties :noexport: + #+BEGIN_SRC clojure :exports none :noweb-ref project-name thi.ng/geom-webgl #+END_SRC @@ -34,25 +48,13 @@ target/geom-webgl-<>.js *** Dependencies -**** [[http://thi.ng/shaderlib][thi.ng/shaderlib]] +**** [[http://thi.ng/shadergraph][thi.ng/shadergraph]] -#+BEGIN_SRC clojure :exports none :noweb-ref dep-shaderlib -[thi.ng/shaderlib "0.1.0"] +#+BEGIN_SRC clojure :exports none :noweb-ref dep-shadergraph +[thi.ng/shadergraph "0.1.0"] #+END_SRC -** Release history - -| *Version* | *Released* | *Description* | *Lein coordinates* | *Tagged Github URL* | -|-----------+------------+--------------------+-------------------------+-------------------------------------------| -| 0.2.0 | 2014-03-10 | 1st public release | =[thi.ng/geom "0.2.0"]= | https://github.com/thi-ng/geom/tree/0.2.0 | - -** Contributors - -| *Name* | *Role* | *Website* | -| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | -| | | [[http://thi.ng][thi.ng]] | - -** Leiningen coordinates +** Leiningen coordinates :noexport: #+BEGIN_SRC clojure :noweb yes :noweb-ref lein-coords [<> "<>"] @@ -77,7 +79,7 @@ target/geom-webgl-<>.js [thi.ng/geom-types "<>"] [thi.ng/geom-meshops "<>"] <> - <>] + <>] :profiles {:dev {:dependencies [<> <>] @@ -142,15 +144,8 @@ symbol =version= holding the version string defined above: (def version "<>") #+END_SRC -* Namespaces - -- [[./core.org][thi.ng.geom.webgl.core]] -- [[./animator.org][thi.ng.geom.webgl.animator]] -- [[./arrays.org][thi.ng.geom.webgl.arrays]] -- [[./buffers.org][thi.ng.geom.webgl.buffers]] -- [[./shaders.org][thi.ng.geom.webgl.shaders]] -- [[./utils.org][thi.ng.geom.webgl.utils]] -- [[./demo.org][examples]] - -* Tests +** Contributors +| *Name* | *Role* | *Website* | +| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | +| | | [[http://thi.ng][thi.ng]] | diff --git a/src/config.org b/src/config.org index 308dc9b9..afecfb55 100644 --- a/src/config.org +++ b/src/config.org @@ -67,7 +67,7 @@ target/test-classes **** [[https://github.com/lynaghk/cljx][Cljx]] #+NAME: dep-cljx #+BEGIN_SRC clojure -[org.clojars.cemerick/cljx "0.6.0-SNAPSHOT"] +[com.keminglabs/cljx "0.6.0"] #+END_SRC **** [[https://github.com/emezeske/lein-cljsbuild][Cljsbuild]] diff --git a/src/index.org b/src/index.org index ad41e8e3..4d708d46 100644 --- a/src/index.org +++ b/src/index.org @@ -154,60 +154,18 @@ A full test suite, website & tutorials are actively being worked on. A preliminary list of other projects using this library: +- [[http://holiday2014.movingbrands.com][MB Home installation]] - [[https://github.com/postspectacular/devart-codefactory/][Google DevArt Co(de)Factory]] - [[http://github.com/learn-postspectacular/resonate-2014-workshop][Resonate 2014 workshop]] - [[http://github.com/thi-ng/luxor][Luxor]] - [[http://github.com/thi-ng/morphogen][Morphogen]] -- [[http://dev.thi.ng/20140523/][WebGL demo]] - -The basic examples below show some common usage patterns how entities -can be created, dissected & transformed in a very functional/pipelined -way. Each results in a 3D model file in PLY/STL formats and can -then be imported into other 3D software. If you need a simple mesh -viewer, we recommend [[http://meshlab.sf.net][Meshlab]]. - -#+BEGIN_SRC clojure - (require - '[thi.ng.geom.core :as g] - '[thi.ng.geom.bezier :as b] - '[thi.ng.geom.circle :as c] - '[thi.ng.geom.polygon :as p] - '[thi.ng.geom.rect :as r] - '[thi.ng.geom.gmesh :as gm] - '[thi.ng.geom.mesh.io :as mio] - '[thi.ng.common.math.core :as m] - '[clojure.java.io :as io]) - - (with-open [out (io/output-stream "grid.ply")] - (->> (for [x (range -4 5) ;; create 9x9 grid in XY plane - y (range -4 5)] - (-> (c/circle x y 0.5) ;; create circle at X,Y radius=0.5 - (g/as-polygon 8) ;; convert into octagon - (g/extrude-shell ;; convert into walled, cylindrical mesh - {:depth (m/random 0.25 2) - :wall 0.1}))) - (reduce g/into) ;; combine into single mesh - (mio/write-ply out))) ;; output as Stanford PLY file - - (with-open [out (io/output-stream "pedals.stl")] - (let [pedal (-> (r/rect 100 60) ;; create rect 100x60 wide - (g/vertices) ;; get corner points - (b/auto-spline2 true) ;; convert to spline - (g/sample-uniform 10 false) ;; sample curve at uniform distance - (p/polygon) ;; convert to polygon - (g/as-mesh))] ;; tessellate & convert to mesh - (->> (range 16) - (map - (fn [i] - (-> pedal ;; replicate rotated around X & Z axis - (g/transform ;; pedal transformed using 4x4 matrix - (-> (g/matrix44) - (g/translate 0 0 (* i 2)) - (g/rotate-z (* i m/PHI 0.5)) ;; Φ = golden ratio angle - (g/rotate-x (* m/PI 0.1)))))));; slight tilt to minimize overlap - (reduce g/into) ;; combine into single mesh - (mio/write-stl out)))) ;; output as Stanford PLY file -#+END_SRC +- [[http://thi.ng/][thi.ng website]] + +Several small examples are include in this repo: + +- [[geom-types/src/ptf.org][PTF examples]] +- [[geom-svg/src/examples.org][SVG examples]] +- [[geom-webgl/src/demo.org][WebGL demos]] ** Building & testing this project @@ -273,25 +231,9 @@ thi.ng/geom target/geom-<>.js #+END_SRC -** License - -This project is open source and licensed under the [[http://www.apache.org/licenses/LICENSE-2.0][Apache Software License 2.0]]. - -** Release history - -| *Version* | *Released* | *Description* | *Lein coordinates* | *Tagged Github URL* | -|-----------+------------+--------------------+-------------------------+-------------------------------------------| -| 0.2.0 | 2014-03-10 | 1st public release | =[thi.ng/geom "0.2.0"]= | https://github.com/thi-ng/geom/tree/0.2.0 | - -** Authors - -| *Name* | *Role* | *Website* | -| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | -| | | [[http://thi.ng][thi.ng]] | - ** Leiningen coordinates #+BEGIN_SRC clojure :noweb yes :noweb-ref lein-coords - [thi.ng/geom "<>"] + [thi.ng/geom "0.0-710"] #+END_SRC ** Leiningen project file :noexport: @@ -317,3 +259,21 @@ This project is open source and licensed under the [[http://www.apache.org/licen [:url "http://postspectacular.com"] [:timezone "0"]]]) #+END_SRC + +** Release history + +| *Version* | *Released* | *Lein coordinates* | *Tagged Github URL* | +|-----------+------------+---------------------------+---------------------| +| 0.0-710 | 2014-03-10 | =[thi.ng/geom "0.0-710"]= | [[https://github.com/thi-ng/geom/tree/0.0-710][0.0-710]] | +| 0.0-709 | 2014-03-10 | =[thi.ng/geom "0.0-709"]= | [[https://github.com/thi-ng/geom/tree/0.0-709][0.0-709]] | +| 0.2.0 | 2014-03-10 | =[thi.ng/geom "0.2.0"]= | [[https://github.com/thi-ng/geom/tree/0.2.0][0.2.0]] | + +** Contributors + +| *Name* | *Role* | *Website* | +| [[mailto:k@thi.ng][Karsten Schmidt]] | initiator & principal developer | [[http://postspectacular.com][postspectacular.com]] | +| | | [[http://thi.ng][thi.ng]] | + +** License + +This project is open source and licensed under the [[http://www.apache.org/licenses/LICENSE-2.0][Apache Software License 2.0]].