In [1]:
include("measure.jl")


50.0
(Length{:mm}(50.0),Length{:mm}(30.0),Length{:mm}(0.0))
BoundingBox{3,Length{:mm},Length{:mm}}(Point{3,Length{:mm}}((Length{:mm}(25.0),Length{:mm}(15.0),Length{:mm}(0.0))),(Length{:mm}(50.0),Length{:mm}(30.0),Length{:mm}(0.0)))
34.0
(Length{:mm}(50.0),Length{:mm}(30.0),Length{:mm}(20.0))
BoundingBox{3,Length{:mm},Length{:mm}}(Point{3,Length{:mm}}((Length{:mm}(25.0),Length{:mm}(10.0),Length{:mm}(15.0))),(Length{:mm}(50.0),Length{:mm}(20.0),Length{:mm}(30.0)))

In [2]:
type Cube
    side :: Length{:mm}
end

In [3]:
resolve(BoundingBox(10cm, 6cm, 4cm), BoundingBox(10cm, 6cm, 4cm))


Out[3]:
BoundingBox{3,Length{:mm},Length{:mm}}(Point{3,Length{:mm}}((Length{:mm}(0.0),Length{:mm}(0.0),Length{:mm}(0.0))),(Length{:mm}(100.0),Length{:mm}(60.0),Length{:mm}(40.0)))

In [4]:
Cube(15mm)


Out[4]:
Cube(Length{:mm}(15.0))

In [5]:
threejsFile = open("WebGL/js/three.min.js")
mainjsFile = open("WebGL/js/main.js")
geometryjsFile = open("WebGL/js/geometry.js")
threejs = readall(threejsFile);
mainjs = readall(mainjsFile);
geometryjs = readall(geometryjsFile);

In [6]:
display(MIME"text/html"(),"<script>$threejs</script>")
display(MIME"text/html"(),"<script>$mainjs</script>")
display(MIME"text/html"(),"<script>$geometryjs</script>")



In [7]:
function Base.writemime(io::IO,mime::MIME{symbol("text/html")},cube::Cube)
    side = cube.side.value
    divId = rand(1000:10000000)
    html = """
    <div id="$divId">
    </div>
    <script>
    console.log($(cube.side.value))
    var cube = getCube(0,0,0,$(cube.side.value), 0xffff)
    shapes.push(cube)
    drawScene("$divId")
    </script>
    """ 
    print(io,html)
end


Out[7]:
writemime (generic function with 15 methods)

In [9]:
Cube(1mm)


Out[9]:

In [12]:
display(MIME"text/html"(),"<b>HelloWorld</b>")


HelloWorld

In [1]:
Cube(1mm)


Cube not defined
while loading In[1], in expression starting on line 1

In [13]:
Cube(12mm)


Out[13]:

In [14]:
Cube(1mm)


Out[14]:

In [14]:
1mm+4w


Out[14]:
Add{Length{:mm},Length{:w}}(Length{:mm}(1.0),Length{:w}(4.0))

In [17]:
BoundingBox(3,0,0,0)


`BoundingBox{N,X,A}` has no method matching BoundingBox{N,X,A}(::Int64, ::Int64, ::Int64, ::Int64)
while loading In[17], in expression starting on line 1

In [2]:
Point{3}


Out[2]:
Point{3,T}

In [1]:
using Compose

In [2]:
a = compose(context(),rectangle(0,0,w/2,h/4),rectangle(w/2,w/2,w/2,h/2),(context(w/2,0,w/2,h/4),rectangle(0,0,w,h)))


Out[2]:

In [3]:
introspect(a)


Out[3]:

In [10]:
for child in a.children
    print(child.children)
    print("\n\n\n")
end


ListNode{ComposeNode}(Form{RectanglePrimitive}([RectanglePrimitive(Point(Measure{Int64,MeasureNil}(0.0,0,MeasureNil(),0.0,0.0),Measure{MeasureNil,Int64}(0.0,MeasureNil(),0,0.0,0.0)),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),1.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,1.0))]),ListNull{ComposeNode}())


type Form has no field children
while loading In[10], in expression starting on line 1

 in anonymous at no file:2

In [25]:
b  = compose(context(),rectangle(w/2,h/2,w/2,h/2),fill("red"),(context(),rectangle(0,0,w/4,h/4),fill("blue")))


Out[25]:

In [37]:
introspect(b)


Out[37]:

In [22]:
c =compose(b, rectan)


Out[22]:

In [23]:
introspect(c)


Out[23]:

In [ ]:
@edit(compose(a))


Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
="~/.julia/v0.3/Compose/src/container.jl" 711L, 21795C359 end
360 
361 
362 function compose(a::Context, bs::AbstractArray)
363     compose(a, compose(bs...))
364 end
365 
366 
367 function compose(a::Context, bs::Tuple)
368     compose(a, compose(bs...))
369 end
370 
371 
372 function compose(a::Context)
373     return a
374 end
375 
376 
377 function compose(a, b::Nothing)
378     return a
379 end
380 
381 
382 for (f, S, T) in [(:compose!, Property, Nothing),
383 (:compose!, Form, Nothing),
384 (:compose!, Property, Any),
385 (:compose!, Form, Any),
386 (:compose, Property, Nothing),
387 (:compose, Form, Nothing),373,552%]2;container.jl (~/.julia/v0.3/Compose/src) - VIM]1;container.jl

In [4]:
a


Out[4]:

In [6]:
typeof(a)


Out[6]:
Context (constructor with 7 methods)

In [10]:
cons


cons not defined
while loading In[10], in expression starting on line 1

In [11]:
rectangle()


Out[11]:
Form{RectanglePrimitive}([RectanglePrimitive(Point(Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0)),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),1.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,1.0))])

In [12]:
wwritemime


wwritemime not defined
while loading In[12], in expression starting on line 1

In [15]:
Any[(1,2,3)]


Out[15]:
1-element Array{Any,1}:
 (1,2,3)

In [23]:
a.children


Out[23]:
ListNode{ComposeNode}(Property{FillPrimitive}([FillPrimitive(RGB{Float64}(1.0,0.0,0.0))]),ListNode{ComposeNode}(Form{RectanglePrimitive}([RectanglePrimitive(Point(Measure{Int64,MeasureNil}(0.0,0,MeasureNil(),0.0,0.0),Measure{MeasureNil,Int64}(0.0,MeasureNil(),0,0.0,0.0)),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.5,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.25))]),ListNull{ComposeNode}()))

In [28]:
show(b.children)


ListNode{ComposeNode}(Context(BoundingBox(Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),1.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,1.0)),UnitBox{Nothing,Nothing,Nothing,Nothing}(nothing,nothing,nothing,nothing,Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0)),Rotation(0.0,Point(Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.5,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.5))),nothing,ListNode{ComposeNode}(Property{FillPrimitive}([FillPrimitive(RGB{Float64}(0.0,0.0,1.0))]),ListNode{ComposeNode}(Form{RectanglePrimitive}([RectanglePrimitive(Point(Measure{Int64,MeasureNil}(0.0,0,MeasureNil(),0.0,0.0),Measure{MeasureNil,Int64}(0.0,MeasureNil(),0,0.0,0.0)),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.25,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.25))]),ListNull{ComposeNode}())),0,false,false,false,false,nothing,nothing,0.0),ListNode{ComposeNode}(Property{FillPrimitive}([FillPrimitive(RGB{Float64}(1.0,0.0,0.0))]),ListNode{ComposeNode}(Form{RectanglePrimitive}([RectanglePrimitive(Point(Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.5,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.5)),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.5,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.5))]),ListNull{ComposeNode}())))

In [29]:
introspect(b)


Out[29]:

In [30]:
show(b.children)


ListNode{ComposeNode}(Context(BoundingBox(Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),1.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,1.0)),UnitBox{Nothing,Nothing,Nothing,Nothing}(nothing,nothing,nothing,nothing,Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.0)),Rotation(0.0,Point(Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.5,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.5))),nothing,ListNode{ComposeNode}(Property{FillPrimitive}([FillPrimitive(RGB{Float64}(0.0,0.0,1.0))]),ListNode{ComposeNode}(Form{RectanglePrimitive}([RectanglePrimitive(Point(Measure{Int64,MeasureNil}(0.0,0,MeasureNil(),0.0,0.0),Measure{MeasureNil,Int64}(0.0,MeasureNil(),0,0.0,0.0)),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.25,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.25))]),ListNull{ComposeNode}())),0,false,false,false,false,nothing,nothing,0.0),ListNode{ComposeNode}(Property{FillPrimitive}([FillPrimitive(RGB{Float64}(1.0,0.0,0.0))]),ListNode{ComposeNode}(Form{RectanglePrimitive}([RectanglePrimitive(Point(Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.5,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.5)),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.5,0.0),Measure{MeasureNil,MeasureNil}(0.0,MeasureNil(),MeasureNil(),0.0,0.5))]),ListNull{ComposeNode}())))

In [31]:
IdentityTransform()


IdentityTransform not defined
while loading In[31], in expression starting on line 1

In [32]:
pop(b.children)


pop not defined
while loading In[32], in expression starting on line 1

In [33]:
type aa
end

In [ ]: