Exemplo n.º 1
0
        addMeta(x3dpsail.meta().setName(
            x3dpsail.SFString("generator")).setContent(
                x3dpsail.SFString(
                    "Vim, X3D-Edit, https://savage.nps.edu/X3D-Edit")))
    ).setScene(x3dpsail.Scene().addChild(x3dpsail.Transform().addChild(
        x3dpsail.Shape().setGeometry(x3dpsail.Text().setString(
            x3dpsail.MFString(["Node\"\"\""])).setFontStyle(
                x3dpsail.FontStyle())).setAppearance(
                    x3dpsail.Appearance().setMaterial(x3dpsail.Material()))
    ).addChild(x3dpsail.Shape().setGeometry(x3dpsail.Text().setString(
        x3dpsail.MFString([
            "Node2", "\\\\",
            "\\\\\\\\", "Node2"
        ])).setFontStyle(x3dpsail.FontStyle())).setAppearance(
            x3dpsail.Appearance().setMaterial(x3dpsail.Material()))).addChild(
                x3dpsail.Shape().setGeometry(x3dpsail.Text().setString(
                    x3dpsail.MFString([
                        "Node3 \\\\\\\\ \\\\ ", "Node3\"\"\""
                    ])).setFontStyle(x3dpsail.FontStyle())).setAppearance(
                        x3dpsail.Appearance().setMaterial(x3dpsail.Material()))
            ).addChild(x3dpsail.Script().addField(x3dpsail.field().setName(
                x3dpsail.SFString("frontUrls")).setType(
                    x3dpsail.SFString("MFString")).setAccessType(
                        x3dpsail.SFString("initializeOnly")).setValue(
                            x3dpsail.SFString(
                                "\"rnl_front.png\" \"uffizi_front.png\""))).
                       setSourceCode('''ecmascript:\n"+
"			    var me = '\"1\" \"\"2\" \"\\n3\"';''')))))

X3D0.toFileX3D("./future/./text_RoundTrip.x3d")
Exemplo n.º 2
0
).addMeta(x3dpsail.meta().setName(x3dpsail.SFString("creator")).setContent(
    x3dpsail.SFString("John Carlson")
)).addMeta(x3dpsail.meta().setName(x3dpsail.SFString("generator")).setContent(
    x3dpsail.SFString("manual")
)).addMeta(x3dpsail.meta().setName(x3dpsail.SFString("identifier")).setContent(
    x3dpsail
    .SFString("https://coderextreme.net/X3DJSONLD/browser.x3d")
)).addMeta(x3dpsail.meta().setName(x3dpsail.SFString(
    "description"
)).setContent(
    x3dpsail
    .SFString(
        "a script test with embedded \\n between single quotes, a double backslash \\\\ a backslash \\ and a closing quote \""
    )))).setScene(x3dpsail.Scene().addChild(x3dpsail.Script().setDEF(
        x3dpsail.SFString("Browser")).setSourceCode('''ecmascript:\n"+
"                function initialize() {\n"+
"		    Browser.print('DUDES\\n'+'\"DUDETTES');\n"+
"                }''')).addChild(x3dpsail.Script().setDEF(
            x3dpsail.SFString("Clouds")).setSourceCode('''ecmascript:\n"+
"\n"+
"\n"+
"function cumulustranslation() // These values designate the boundary location of the cloud\n"+
"{\n"+
"var xxx = ' '+' '+\n"+
"'	Transform		\\n'+\n"+
"'    ' + '               	\\n';\n"+
"\n"+
"}'''))))

X3D0.toFileX3D("./future/./browser_RoundTrip.x3d")
Exemplo n.º 3
0
connect39.setProtoField("diffuseColor")

IS37.addConnect(connect39)

Material36.setIS(IS37)

Appearance35.setMaterial(Material36)

Shape32.setAppearance(Appearance35)

Transform31.addChildren(Shape32)

ProtoBody30.addChildren(Transform31)
#Subsequent nodes do not render, but still must be a valid X3D subgraph
#This embedded Script provides the X3D author with additional visibility and control over prototype inputs and outputs
Script40 = x3dpsail.Script()
Script40.setDEF("ArchPrototypeScript")
Script40.setUrl(["../node/ArchPrototypeScript.js"])
#INPUT PARAMETERS
#General parameters
#Parameters to create to create shapes related to arch: put true to apply
#OUTPUT PARAMETERS
field41 = x3dpsail.field()
field41.setName("clearSpanWidth")
field41.setAccessType("initializeOnly")
field41.setAppinfo("user or default input for clearSpanWidth parameter")
field41.setType("SFFloat")

Script40.addField(field41)
field42 = x3dpsail.field()
field42.setName("riseHeight")
Exemplo n.º 4
0
Material43.setAmbientIntensity(0.245763)
Material43.setDiffuseColor([0.34773, 0.090909, 0.005289])
Material43.setShininess(0.07)
Material43.setSpecularColor([0.336735, 0.051091, 0.051091])
Material43.setTransparency(0.8)

Appearance42.setMaterial(Material43)

Shape39.setAppearance(Appearance42)

Transform38.addChildren(Shape39)

Transform31.addChildren(Transform38)

Scene28.addChildren(Transform31)
Script44 = x3dpsail.Script()
Script44.setDEF("TextScript")
Script44.setUrl(["./ObliqueStrategiesScript.js"])
#initialize() method includes unit test to printAllStrategies() to console
#TODO insert field definitions here (index string_changed previous next random) and then animate!
field45 = x3dpsail.field()
field45.setName("index")
field45.setAccessType("initializeOnly")
field45.setAppinfo("index for active strategy card, -1 means no selection")
field45.setType("SFInt32")
field45.setValue("0")

Script44.addField(field45)
field46 = x3dpsail.field()
field46.setName("string_changed")
field46.setAccessType("outputOnly")
Exemplo n.º 5
0
Transform48.addChildren(Transform53)
StringSensor58 = x3dpsail.StringSensor()
StringSensor58.setDEF("CenterSensor")
StringSensor58.setEnabled(False)

Transform48.addChildren(StringSensor58)
TouchSensor59 = x3dpsail.TouchSensor()
TouchSensor59.setDescription("touch to activate")
TouchSensor59.setDEF("CenterTouch")

Transform48.addChildren(TouchSensor59)

Group13.addChildren(Transform48)

ProtoBody12.addChildren(Group13)
Script60 = x3dpsail.Script()
Script60.setDEF("RightSingleToMultiString")
field61 = x3dpsail.field()
field61.setName("set_rightstring")
field61.setAccessType("inputOnly")
field61.setType("SFString")

Script60.addField(field61)
field62 = x3dpsail.field()
field62.setName("rightlines")
field62.setAccessType("outputOnly")
field62.setType("MFString")

Script60.addField(field62)

Script60.setSourceCode('''ecmascript:\n"+
Exemplo n.º 6
0
Appearance10 = x3dpsail.Appearance()
Material11 = x3dpsail.Material()
Material11.setDiffuseColor([0.7, 0.7, 0.7])
Material11.setSpecularColor([0.5, 0.5, 0.5])

Appearance10.setMaterial(Material11)

Shape9.setAppearance(Appearance10)
Sphere12 = x3dpsail.Sphere()

Shape9.setGeometry(Sphere12)

Transform8.addChildren(Shape9)

Scene6.addChildren(Transform8)
Script13 = x3dpsail.Script()
Script13.setDEF("Bounce")
field14 = x3dpsail.field()
field14.setName("set_translation")
field14.setAccessType("inputOnly")
field14.setType("SFVec3f")
field14.setValue("0 0 0")

Script13.addField(field14)
field15 = x3dpsail.field()
field15.setName("translation_changed")
field15.setAccessType("outputOnly")
field15.setType("SFVec3f")
field15.setValue("0 0 0")

Script13.addField(field15)
Exemplo n.º 7
0
IS42.addConnect(connect43)

ShaderPart41.setIS(IS42)

ComposedShader26.addParts(ShaderPart41)

Appearance17.addShaders(ComposedShader26)

Shape16.setAppearance(Appearance17)
Sphere44 = x3dpsail.Sphere()

Shape16.setGeometry(Sphere44)

Transform15.addChildren(Shape16)
Script45 = x3dpsail.Script()
Script45.setDEF("Bounce")
field46 = x3dpsail.field()
field46.setName("translation")
field46.setAccessType("inputOutput")
field46.setType("SFVec3f")
field46.setValue("0 0 0")

Script45.addField(field46)
field47 = x3dpsail.field()
field47.setName("velocity")
field47.setAccessType("inputOutput")
field47.setType("SFVec3f")
field47.setValue("0 0 0")

Script45.addField(field47)
Exemplo n.º 8
0
    ]))).addChild(x3dpsail.Script().setDEF(
        x3dpsail.SFString("RandomTourTime")
    ).addField(x3dpsail.field().setName(
        x3dpsail.SFString("set_cycle")
    ).setAccessType(
        x3dpsail.SFString("inputOnly")
    ).setType(
        x3dpsail.SFString("SFTime")
    )).addField(x3dpsail.field().setName(
        x3dpsail.SFString("lastKey")
    ).setAccessType(
        x3dpsail.SFString("inputOutput")
    ).setType(
        x3dpsail.SFString("SFFloat")
    ).setValue(
        x3dpsail.SFString("0")
    )).addField(x3dpsail.field().setName(
        x3dpsail.SFString("orientations")
    ).setAccessType(
        x3dpsail.SFString("inputOutput")
    ).setType(
        x3dpsail.SFString("MFRotation")
    ).setValue(
        x3dpsail.SFString(
            "0 1 0 0 0 1 0 -1.57 0 1 0 3.14 0 1 0 1.57 0 1 0 0 1 0 0 -1.57 0 1 0 0 1 0 0 1.57 0 1 0 0"
        )
    )).addField(x3dpsail.field().setName(
        x3dpsail.SFString("positions")
    ).setAccessType(
        x3dpsail.SFString("inputOutput")
    ).setType(
        x3dpsail.SFString("MFVec3f")
    ).setValue(
        x3dpsail.SFString(
            "0 0 10 -10 0 0 0 0 -10 10 0 0 0 0 10 0 10 0 0 0 10 0 -10 0 0 0 10"
        ))).addField(x3dpsail.field().setName(
            x3dpsail.SFString("position_changed")
        ).setAccessType(x3dpsail.SFString("outputOnly")).setType(
            x3dpsail.SFString("MFVec3f"))).addField(x3dpsail.field().setName(
                x3dpsail.SFString("set_orientation")).setAccessType(
                    x3dpsail.SFString("inputOnly")).setType(
                        x3dpsail.SFString("MFRotation"))).
                  addField(x3dpsail.field().setName(
                      x3dpsail.SFString("orientation_changed")).setAccessType(
                          x3dpsail.SFString("outputOnly")).setType(
                              x3dpsail.SFString("MFRotation"))).setSourceCode(
                                  '''ecmascript:\n"+
"               function set_cycle(value) {\n"+
"                        var ov = lastKey;\n"+
"                        do {\n"+
"                            lastKey = Math.round(Math.random()*(positions.length-1));\n"+
"                        } while (lastKey === ov);\n"+
"                        var vc = lastKey;\n"+
"\n"+
"                        orientation_changed = new MFRotation();\n"+
"                        orientation_changed[0] = new SFRotation(orientations[ov].x, orientations[ov].y, orientations[ov].z, orientations[ov].w);\n"+
"                        orientation_changed[1] = new SFRotation(orientations[vc].x, orientations[vc].y, orientations[vc].z, orientations[vc].w);\n"+
"                        position_changed = new MFVec3f();\n"+
"                        position_changed[0] = new SFVec3f(positions[ov].x,positions[ov].y,positions[ov].z);\n"+
"                        position_changed[1] = new SFVec3f(positions[vc].x,positions[vc].y,positions[vc].z);\n"+
"                    // }\n"+
"               }''')).
Exemplo n.º 9
0
          .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("UrlSelector")).setDirectOutput(x3dpsail.SFBool(True))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("frontUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_front.png\" \"../resources/images/all_probes/building_cross/building_front.png\" \"../resources/images/all_probes/campus_cross/campus_front.png\" \"../resources/images/all_probes/galileo_cross/galileo_front.png\" \"../resources/images/all_probes/grace_cross/grace_front.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_front.png\" \"../resources/images/all_probes/rnl_cross/rnl_front.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_front.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_front.png\"")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("backUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_back.png\" \"../resources/images/all_probes/building_cross/building_back.png\" \"../resources/images/all_probes/campus_cross/campus_back.png\" \"../resources/images/all_probes/galileo_cross/galileo_back.png\" \"../resources/images/all_probes/grace_cross/grace_back.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_back.png\" \"../resources/images/all_probes/rnl_cross/rnl_back.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_back.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_back.png\"")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("leftUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_left.png\" \"../resources/images/all_probes/building_cross/building_left.png\" \"../resources/images/all_probes/campus_cross/campus_left.png\" \"../resources/images/all_probes/galileo_cross/galileo_left.png\" \"../resources/images/all_probes/grace_cross/grace_left.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_left.png\" \"../resources/images/all_probes/rnl_cross/rnl_left.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_left.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_left.png\"")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("rightUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_right.png\" \"../resources/images/all_probes/building_cross/building_right.png\" \"../resources/images/all_probes/campus_cross/campus_right.png\" \"../resources/images/all_probes/galileo_cross/galileo_right.png\" \"../resources/images/all_probes/grace_cross/grace_right.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_right.png\" \"../resources/images/all_probes/rnl_cross/rnl_right.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_right.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_right.png\"")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("topUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_top.png\" \"../resources/images/all_probes/building_cross/building_top.png\" \"../resources/images/all_probes/campus_cross/campus_top.png\" \"../resources/images/all_probes/galileo_cross/galileo_top.png\" \"../resources/images/all_probes/grace_cross/grace_top.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_top.png\" \"../resources/images/all_probes/rnl_cross/rnl_top.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_top.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_top.png\"")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("bottomUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_bottom.png\" \"../resources/images/all_probes/building_cross/building_bottom.png\" \"../resources/images/all_probes/campus_cross/campus_bottom.png\" \"../resources/images/all_probes/galileo_cross/galileo_bottom.png\" \"../resources/images/all_probes/grace_cross/grace_bottom.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_bottom.png\" \"../resources/images/all_probes/rnl_cross/rnl_bottom.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_bottom.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_bottom.png\"")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("front_changed")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("outputOnly")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("back_changed")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("outputOnly")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("left_changed")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("outputOnly")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("right_changed")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("outputOnly")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("top_changed")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("outputOnly")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("bottom_changed")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("outputOnly")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("set_fraction")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOnly")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("old")).setType(x3dpsail.SFString("SFInt32")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("-1"))).setSourceCode('''ecmascript:\n"+
"        function set_fraction( f, tm ) {\n"+
"	    var side = Math.floor(f*frontUrls.length);\n"+
"	    if (side > frontUrls.length-1) {\n"+
"	    	side = 0;\n"+
"	    }\n"+
"	    if (side != old) {\n"+
"	    	    // Browser.print(f+\" \"+side);\n"+
"	    	    old = side;\n"+
"		    front_changed[0] = frontUrls[side];\n"+
"		    back_changed[0] = backUrls[side];\n"+
"		    left_changed[0] = leftUrls[side];\n"+
"		    right_changed[0] = rightUrls[side];\n"+
"		    top_changed[0] = topUrls[side];\n"+
"		    bottom_changed[0] = bottomUrls[side];\n"+
"            }\n"+
"        }''')
Exemplo n.º 10
0
Appearance25.setMaterial(Material26)

Shape22.setAppearance(Appearance25)

Transform21.addChildren(Shape22)

Transform14.addChildren(Transform21)

Group13.addChildren(Transform14)
PositionInterpolator27 = x3dpsail.PositionInterpolator()
PositionInterpolator27.setDEF("NodePosition")
PositionInterpolator27.setKey([0,1])
PositionInterpolator27.setKeyValue([0,0,0,0,5,0])

Group13.addChildren(PositionInterpolator27)
Script28 = x3dpsail.Script()
Script28.setDEF("MoveBall")
field29 = x3dpsail.field()
field29.setName("translation")
field29.setAccessType("inputOutput")
field29.setType("SFVec3f")
field29.setValue("50 50 0")

Script28.addField(field29)
field30 = x3dpsail.field()
field30.setName("old")
field30.setAccessType("inputOutput")
field30.setType("SFVec3f")
field30.setValue("0 0 0")

Script28.addField(field30)
Exemplo n.º 11
0
IndexedFaceSet10.setCcw(False)
IndexedFaceSet10.setConvex(False)
IndexedFaceSet10.setCoordIndex([0,1,2,-1])
IndexedFaceSet10.setDEF("ifs")
Coordinate11 = x3dpsail.Coordinate()
Coordinate11.setDEF("crd")
Coordinate11.setPoint([0,0,1,0,1,0,1,0,0])

IndexedFaceSet10.setCoord(Coordinate11)

Shape7.setGeometry(IndexedFaceSet10)

Transform6.addChildren(Shape7)

Scene1.addChildren(Transform6)
Script12 = x3dpsail.Script()
Script12.setDEF("FlowerScript")
field13 = x3dpsail.field()
field13.setName("set_fraction")
field13.setAccessType("inputOnly")
field13.setType("SFFloat")

Script12.addField(field13)
field14 = x3dpsail.field()
field14.setName("coordinates")
field14.setAccessType("outputOnly")
field14.setType("MFVec3f")

Script12.addField(field14)
field15 = x3dpsail.field()
field15.setName("coordIndexes")
Exemplo n.º 12
0
          .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("BindingSequencerEngine"))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("set_timeEvent")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFInt32")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("bindView1")).setAccessType(x3dpsail.SFString("outputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("bindView2")).setAccessType(x3dpsail.SFString("outputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("bindView3")).setAccessType(x3dpsail.SFString("outputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("bindView4")).setAccessType(x3dpsail.SFString("outputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("bindView5")).setAccessType(x3dpsail.SFString("outputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("view1Bound")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("view2Bound")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("view3Bound")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("view4Bound")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFBool")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("priorInputvalue")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFInt32")).setValue(x3dpsail.SFString("-1"))).setSourceCode('''ecmascript:\n"+
"\n"+
"function initialize ()\n"+
"{\n"+
"    bindView5 = true;\n"+
"    Browser.print ('Timing script initialized and ready for activation');\n"+
"}\n"+
"function set_timeEvent (inputValue)\n"+
"{\n"+
"    if (inputValue == priorInputvalue)\n"+
"    {\n"+
"        return; // ignore repeated inputs\n"+
"    }\n"+
"    // new value provided\n"+
"    priorInputvalue = inputValue;\n"+
"    // Browser.print ('\\ntimeEvent inputValue=' + inputValue);\n"+
"\n"+
"    // mimics user execution of Figure 4.1 steps t_0 through t_8\n"+
"    if (inputValue == 0)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t0');\n"+
"        bindView1 = true;\n"+
"    }\n"+
"    else if (inputValue == 1)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t1');\n"+
"        bindView2 = true;\n"+
"    }\n"+
"    else if (inputValue == 2)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t2');\n"+
"        bindView3 = true;\n"+
"    }\n"+
"    else if (inputValue == 3)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t3');\n"+
"        bindView3 = false;\n"+
"    }\n"+
"    else if (inputValue == 4)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t4');\n"+
"        bindView1 = true;\n"+
"    }\n"+
"    else if (inputValue == 5)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t5');\n"+
"        bindView2 = false;\n"+
"    }\n"+
"    else if (inputValue == 6)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t6');\n"+
"        bindView1 = false;\n"+
"    }\n"+
"    else if (inputValue == 7)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t7');\n"+
"        bindView4 = true;\n"+
"\n"+
"    }\n"+
"    else if (inputValue == 8)\n"+
"    {\n"+
"        Browser.print ('\\n===========\\n time t8');\n"+
"        Browser.print (', no action, all done');\n"+
"        Browser.print ('\\n\\n');\n"+
"    }\n"+
"}\n"+
"\n"+
"function view1Bound (inputValue)\n"+
"{\n"+
"    Browser.print (', view1Bound ' + (inputValue));\n"+
"    if (priorInputvalue == -1) Browser.print ('\\n');\n"+
"}\n"+
"function view2Bound (inputValue)\n"+
"{\n"+
"    Browser.print (', view2Bound ' + (inputValue));\n"+
"}\n"+
"function view3Bound (inputValue)\n"+
"{\n"+
"    Browser.print (', view3Bound ' + (inputValue));\n"+
"}\n"+
"function view4Bound (inputValue)\n"+
"{\n"+
"    Browser.print (', view4Bound ' + (inputValue));\n"+
"}\n"+
"function view5Bound (inputValue)\n"+
"{\n"+
"    Browser.print (', view5Bound ' + (inputValue));\n"+
"}''')
Exemplo n.º 13
0
        addChild(x3dpsail.Script().setDEF(x3dpsail.SFString(
            "RandomTourTime")).addField(x3dpsail.field().setName(
                x3dpsail.SFString("set_cycle")).setAccessType(
                    x3dpsail.SFString("inputOnly")).setType(
                        x3dpsail.SFString("SFTime"))).addField(
                            x3dpsail.field().setName(
                                x3dpsail.SFString("val")).setAccessType(
                                    x3dpsail.SFString("inputOutput")).setType(
                                        x3dpsail.SFString("SFFloat")).setValue(
                                            x3dpsail.SFString("0"))).
                 addField(x3dpsail.field().setName(
                     x3dpsail.SFString("positions")).setAccessType(
                         x3dpsail.SFString("inputOutput")).setType(
                             x3dpsail.SFString("MFVec3d")).setValue(
                                 x3dpsail.SFString(
                                     "0.0015708 0 4 0 0.0015708 4"))
                          ).addField(x3dpsail.field().setName(
                              x3dpsail.SFString("position")).setAccessType(
                                  x3dpsail.SFString("inputOutput")).setType(
                                      x3dpsail.SFString("MFVec3d")).setValue(
                                          x3dpsail.SFString(
                                              "0.0015708 0 4 0 0.0015708 4"))
                                     ).setSourceCode('''ecmascript:\n"+
"\n"+
"               function set_cycle(value) {\n"+
"                        var cartesianMult = -150;  // -150 if cartesian, 1 if geo\n"+
"                        var ov = val;\n"+
"			// Browser.print('old '+ov);\n"+
"                        do {\n"+
"                                val = Math.floor(Math.random()*2);\n"+
"                                var vc = val;\n"+
"                                positions[vc] = new SFVec3d(Math.round(Math.random()*2)*0.0015708*cartesianMult, Math.round(Math.random()*2)*0.0015708*cartesianMult, 4);\n"+
"                        } while ( positions[ov][0] === positions[vc][0] && positions[ov][1] === positions[vc][1] && positions[ov][2] === positions[vc][2]);\n"+
"			// Browser.println(positions[ov]);\n"+
"			// Browser.println(positions[vc]);\n"+
"                        position = new MFVec3d();\n"+
"                        position[0] = new SFVec3d(positions[ov][0],positions[ov][1],positions[ov][2]);\n"+
"                        position[1] = new SFVec3d(positions[vc][0],positions[vc][1],positions[vc][2]);\n"+
"               }''')
Exemplo n.º 14
0
X3D0 = (x3dpsail.X3D().setProfile(x3dpsail.SFString("Immersive")).setVersion(x3dpsail.SFString("3.3"))
      .setHead(x3dpsail.head()
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("creator")).setContent(x3dpsail.SFString("John W Carlson")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("created")).setContent(x3dpsail.SFString("December 13 2015")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("title")).setContent(x3dpsail.SFString("force.x3d")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("identifier")).setContent(x3dpsail.SFString("https://coderextreme.net/X3DJSONLD/force.x3d")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("description")).setContent(x3dpsail.SFString("beginnings of a force directed graph in 3D")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("generator")).setContent(x3dpsail.SFString("Vim, X3D-Edit, https://savage.nps.edu/X3D-Edit"))))
      .setScene(x3dpsail.Scene()
        .addChild(x3dpsail.Group()
          .addChild(x3dpsail.Shape()
            .setGeometry(x3dpsail.Extrusion().setDEF(x3dpsail.SFString("extrusion")).setSpine(x3dpsail.MFVec3f([-50,-50,0,50,50,0])).setCreaseAngle(x3dpsail.SFFloat(0.785)).setCrossSection(x3dpsail.MFVec2f([1,0,0.92,-0.38,0.71,-0.71,0.38,-0.92,0,-1,-0.38,-0.92,-0.71,-0.71,-0.92,-0.38,-1,0,-0.92,0.38,-0.71,0.71,-0.38,0.92,0,1,0.38,0.92,0.71,0.71,0.92,0.38,1,0])))
            .setAppearance(x3dpsail.Appearance()
              .setMaterial(x3dpsail.Material().setDiffuseColor(x3dpsail.SFColor(0,1,0)))))
          .addChild(x3dpsail.TimeSensor().setDEF(x3dpsail.SFString("TourTime")).setLoop(x3dpsail.SFBool(True)))
          .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("MoveCylinder"))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("set_cycle")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFTime")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("spine")).setAccessType(x3dpsail.SFString("inputOutput")).setType(x3dpsail.SFString("MFVec3f")).setValue(x3dpsail.SFString("-50 -50 0 50 50 0"))).setSourceCode('''ecmascript:\n"+
"\n"+
"                function set_cycle(value) {\n"+
"                        Browser.print(value);\n"+
"                        var endA = new SFVec3f(spine[0].x*Math.random()*2, spine[0].y*Math.random()*2, spine[0].z*Math.random()*2);\n"+
"                        var endB = new SFVec3f(spine[1].x*Math.random()*2, spine[1].y*Math.random()*2, spine[1].z*Math.random()*2);\n"+
"		        spine = new MFVec3f([endA, endB]);\n"+
"                }''')
)
          .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("TourTime")).setFromField(x3dpsail.SFString("cycleTime")).setToNode(x3dpsail.SFString("MoveCylinder")).setToField(x3dpsail.SFString("set_cycle")))
          .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("MoveCylinder")).setFromField(x3dpsail.SFString("spine_changed")).setToNode(x3dpsail.SFString("extrusion")).setToField(x3dpsail.SFString("spine"))))))

X3D0.toFileX3D("./future/./extrusion_RoundTrip.x3d")
Exemplo n.º 15
0
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("description")).setContent(x3dpsail.SFString("a generic proto to connect two objects"))))
      .setScene(x3dpsail.Scene()
        .addChild(x3dpsail.Viewpoint().setPosition(x3dpsail.SFVec3f(0,0,5)).setDescription(x3dpsail.SFString("Only Viewpoint")))
        .addChild(x3dpsail.Background().setSkyColor(x3dpsail.MFColor([0.4,0.4,0.4])))
        .addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("DECLpoint_G1_node"))
          .addChild(x3dpsail.Shape()
            .setGeometry(x3dpsail.Sphere().setRadius(x3dpsail.SFFloat(0.1)))
            .setAppearance(x3dpsail.Appearance()
              .setMaterial(x3dpsail.Material().setDiffuseColor(x3dpsail.SFColor(1,0,0)))))
          .addChild(x3dpsail.PositionInterpolator().setDEF(x3dpsail.SFString("DECLpoint_G1_PI1")).setKey(x3dpsail.MFFloat([0,1])).setKeyValue(x3dpsail.MFVec3f([0,0,0,0,5,0])))
          .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("DECLpoint_G1_MB1"))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("translation")).setAccessType(x3dpsail.SFString("inputOutput")).setType(x3dpsail.SFString("SFVec3f")).setValue(x3dpsail.SFString("0 0 0")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("old")).setAccessType(x3dpsail.SFString("inputOutput")).setType(x3dpsail.SFString("SFVec3f")).setValue(x3dpsail.SFString("0 0 0")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("set_location")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFTime")))
            .addField(x3dpsail.field().setName(x3dpsail.SFString("keyValue")).setAccessType(x3dpsail.SFString("inputOutput")).setType(x3dpsail.SFString("MFVec3f")).setValue(x3dpsail.SFString("0 0 0 0 5 0"))).setSourceCode('''ecmascript:\n"+
"		function set_location(value) {\n"+
"                    old = translation;\n"+
"		    translation = new SFVec3f(Math.random()*10-5, Math.random()*10-5, Math.random()*10-5);\n"+
"                    keyValue = new MFVec3f([old, translation]);\n"+
"		    // Browser.println(keyValue);\n"+
"		}''')
)
          .addChild(x3dpsail.TimeSensor().setDEF(x3dpsail.SFString("DECLpoint_G1_CL1")).setCycleInterval(x3dpsail.SFTime(3)).setLoop(x3dpsail.SFBool(True)))
          .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("DECLpoint_G1_CL1")).setFromField(x3dpsail.SFString("cycleTime")).setToNode(x3dpsail.SFString("DECLpoint_G1_MB1")).setToField(x3dpsail.SFString("set_location")))
          .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("DECLpoint_G1_CL1")).setFromField(x3dpsail.SFString("fraction_changed")).setToNode(x3dpsail.SFString("DECLpoint_G1_PI1")).setToField(x3dpsail.SFString("set_fraction")))
          .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("DECLpoint_G1_MB1")).setFromField(x3dpsail.SFString("keyValue")).setToNode(x3dpsail.SFString("DECLpoint_G1_PI1")).setToField(x3dpsail.SFString("keyValue")))
          .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("DECLpoint_G1_PI1")).setFromField(x3dpsail.SFString("value_changed")).setToNode(x3dpsail.SFString("DECLpoint_G1_node")).setToField(x3dpsail.SFString("set_translation"))))
        .addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("DECLpoint_G2_node"))
          .addChild(x3dpsail.Shape()
            .setGeometry(x3dpsail.Sphere().setRadius(x3dpsail.SFFloat(0.1)))
            .setAppearance(x3dpsail.Appearance()
Exemplo n.º 16
0
Transform11.addChildren(Shape12)

Scene8.addChildren(Transform11)
TimeSensor16 = x3dpsail.TimeSensor()
TimeSensor16.setDEF("TourTime")
TimeSensor16.setCycleInterval(5)
TimeSensor16.setLoop(True)

Scene8.addChildren(TimeSensor16)
GeoPositionInterpolator17 = x3dpsail.GeoPositionInterpolator()
GeoPositionInterpolator17.setDEF("TourPosition")
GeoPositionInterpolator17.setKey([0, 1])
GeoPositionInterpolator17.setKeyValue([0.0015708, 0, 4, 0, 0.0015708, 4])

Scene8.addChildren(GeoPositionInterpolator17)
Script18 = x3dpsail.Script()
Script18.setDEF("RandomTourTime")
field19 = x3dpsail.field()
field19.setName("set_cycle")
field19.setAccessType("inputOnly")
field19.setType("SFTime")

Script18.addField(field19)
field20 = x3dpsail.field()
field20.setName("val")
field20.setAccessType("inputOutput")
field20.setType("SFFloat")
field20.setValue("0")

Script18.addField(field20)
field21 = x3dpsail.field()
Exemplo n.º 17
0
                        x3dpsail.MFVec3f([0, 0, 0, 0, 5, 0
                                          ]))).
            addChild(x3dpsail.Script().setDEF(
                x3dpsail.SFString("MoveBall")).addField(
                    x3dpsail.field().setName(
                        x3dpsail.SFString("translation")).setAccessType(
                            x3dpsail.SFString("inputOutput")).setType(
                                x3dpsail.SFString("SFVec3f")).setValue(
                                    x3dpsail.SFString("50 50 0"))
                ).addField(x3dpsail.field().setName(
                    x3dpsail.SFString("old")).setAccessType(
                        x3dpsail.SFString("inputOutput")).setType(
                            x3dpsail.SFString("SFVec3f")).setValue(
                                x3dpsail.SFString("0 0 0")
                            )).addField(x3dpsail.field().setName(
                                x3dpsail.SFString("set_cycle")).setAccessType(
                                    x3dpsail.SFString("inputOnly")).setType(
                                        x3dpsail.SFString("SFTime"))).
                     addField(x3dpsail.field().setName(
                         x3dpsail.SFString("keyValue")).setAccessType(
                             x3dpsail.SFString("outputOnly")).setType(
                                 x3dpsail.SFString("MFVec3f"))).setSourceCode(
                                     '''ecmascript:\n"+
"					function set_cycle(value) {\n"+
"                                                old = translation;\n"+
"						translation = new SFVec3f(Math.random()*100-50, Math.random()*100-50, Math.random()*100-50);\n"+
"                                                keyValue = new MFVec3f([old, translation]);\n"+
"						// Browser.println(translation);\n"+
"					}''')).
            addChild(x3dpsail.TimeSensor().setDEF(
                x3dpsail.SFString("nodeClock")).setCycleInterval(
Exemplo n.º 18
0
Appearance24.setMaterial(Material25)

Shape21.setAppearance(Appearance24)

Transform20.addChildren(Shape21)

Transform13.addChildren(Transform20)

ProtoBody12.addChildren(Transform13)
PositionInterpolator26 = x3dpsail.PositionInterpolator()
PositionInterpolator26.setDEF("NodePosition")
PositionInterpolator26.setKey([0, 1])
PositionInterpolator26.setKeyValue([0, 0, 0, 0, 5, 0])

ProtoBody12.addChildren(PositionInterpolator26)
Script27 = x3dpsail.Script()
Script27.setDEF("MoveBall")
field28 = x3dpsail.field()
field28.setName("translation")
field28.setAccessType("inputOutput")
field28.setType("SFVec3f")
field28.setValue("50 50 0")

Script27.addField(field28)
field29 = x3dpsail.field()
field29.setName("old")
field29.setAccessType("inputOutput")
field29.setType("SFVec3f")
field29.setValue("0 0 0")

Script27.addField(field29)
Exemplo n.º 19
0
Shape15.setAppearance(Appearance16)
#<Sphere></Sphere>
IndexedFaceSet55 = x3dpsail.IndexedFaceSet()
IndexedFaceSet55.setConvex(False)
IndexedFaceSet55.setDEF("Orbit")
Coordinate56 = x3dpsail.Coordinate()
Coordinate56.setDEF("OrbitCoordinates")

IndexedFaceSet55.setCoord(Coordinate56)

Shape15.setGeometry(IndexedFaceSet55)

Transform14.addChildren(Shape15)

ProtoBody13.addChildren(Transform14)
Script57 = x3dpsail.Script()
Script57.setDEF("Bounce")
field58 = x3dpsail.field()
field58.setName("translation")
field58.setAccessType("inputOutput")
field58.setType("SFVec3f")
field58.setValue("0 0 0")

Script57.addField(field58)
field59 = x3dpsail.field()
field59.setName("velocity")
field59.setAccessType("inputOutput")
field59.setType("SFVec3f")
field59.setValue("0 0 0")

Script57.addField(field59)
Exemplo n.º 20
0
Shape13.setAppearance(Appearance14)
#<Sphere>
IndexedFaceSet31 = x3dpsail.IndexedFaceSet()
IndexedFaceSet31.setConvex(False)
IndexedFaceSet31.setDEF("Orbit")
Coordinate32 = x3dpsail.Coordinate()
Coordinate32.setDEF("OrbitCoordinates")

IndexedFaceSet31.setCoord(Coordinate32)

Shape13.setGeometry(IndexedFaceSet31)

Transform12.addChildren(Shape13)

Scene9.addChildren(Transform12)
Script33 = x3dpsail.Script()
Script33.setDEF("OrbitScript")
field34 = x3dpsail.field()
field34.setName("set_fraction")
field34.setAccessType("inputOnly")
field34.setType("SFFloat")

Script33.addField(field34)
field35 = x3dpsail.field()
field35.setName("coordinates")
field35.setAccessType("inputOutput")
field35.setType("MFVec3f")

Script33.addField(field35)
field36 = x3dpsail.field()
field36.setName("coordIndexes")
Exemplo n.º 21
0
            .setGeometry(x3dpsail.Sphere().setSolid(x3dpsail.SFBool(False)))))
        .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("UrlSelector")).setDirectOutput(x3dpsail.SFBool(True))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("frontUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_front.png\" \"../resources/images/all_probes/building_cross/building_front.png\" \"../resources/images/all_probes/campus_cross/campus_front.png\" \"../resources/images/all_probes/galileo_cross/galileo_front.png\" \"../resources/images/all_probes/grace_cross/grace_front.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_front.png\" \"../resources/images/all_probes/rnl_cross/rnl_front.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_front.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_front.png\"")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("backUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_back.png\" \"../resources/images/all_probes/building_cross/building_back.png\" \"../resources/images/all_probes/campus_cross/campus_back.png\" \"../resources/images/all_probes/galileo_cross/galileo_back.png\" \"../resources/images/all_probes/grace_cross/grace_back.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_back.png\" \"../resources/images/all_probes/rnl_cross/rnl_back.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_back.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_back.png\"")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("leftUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_left.png\" \"../resources/images/all_probes/building_cross/building_left.png\" \"../resources/images/all_probes/campus_cross/campus_left.png\" \"../resources/images/all_probes/galileo_cross/galileo_left.png\" \"../resources/images/all_probes/grace_cross/grace_left.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_left.png\" \"../resources/images/all_probes/rnl_cross/rnl_left.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_left.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_left.png\"")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("rightUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_right.png\" \"../resources/images/all_probes/building_cross/building_right.png\" \"../resources/images/all_probes/campus_cross/campus_right.png\" \"../resources/images/all_probes/galileo_cross/galileo_right.png\" \"../resources/images/all_probes/grace_cross/grace_right.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_right.png\" \"../resources/images/all_probes/rnl_cross/rnl_right.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_right.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_right.png\"")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("topUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_top.png\" \"../resources/images/all_probes/building_cross/building_top.png\" \"../resources/images/all_probes/campus_cross/campus_top.png\" \"../resources/images/all_probes/galileo_cross/galileo_top.png\" \"../resources/images/all_probes/grace_cross/grace_top.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_top.png\" \"../resources/images/all_probes/rnl_cross/rnl_top.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_top.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_top.png\"")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("bottomUrls")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("initializeOnly")).setValue(x3dpsail.SFString("\"../resources/images/all_probes/beach_cross/beach_bottom.png\" \"../resources/images/all_probes/building_cross/building_bottom.png\" \"../resources/images/all_probes/campus_cross/campus_bottom.png\" \"../resources/images/all_probes/galileo_cross/galileo_bottom.png\" \"../resources/images/all_probes/grace_cross/grace_bottom.png\" \"../resources/images/all_probes/kitchen_cross/kitchen_bottom.png\" \"../resources/images/all_probes/rnl_cross/rnl_bottom.png\" \"../resources/images/all_probes/stpeters_cross/stpeters_bottom.png\" \"../resources/images/all_probes/uffizi_cross/uffizi_bottom.png\"")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("front")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("inputOutput")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("back")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("inputOutput")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("left")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("inputOutput")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("right")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("inputOutput")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("top")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("inputOutput")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("bottom")).setType(x3dpsail.SFString("MFString")).setAccessType(x3dpsail.SFString("inputOutput")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("set_fraction")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOnly")))
          .addField(x3dpsail.field().setName(x3dpsail.SFString("old")).setType(x3dpsail.SFString("SFInt32")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("-1"))).setSourceCode('''ecmascript:\n"+
"        function set_fraction( f, tm ) {\n"+
"            var side = Math.floor(f*frontUrls.length);\n"+
"            if (side > frontUrls.length-1) {\n"+
"                side = 0;\n"+
"            }\n"+
"            if (side != old) {\n"+
"                    old = side;\n"+
"                    front[0] = frontUrls[side];\n"+
"                    back[0] = backUrls[side];\n"+
"                    left[0] = leftUrls[side];\n"+
"                    right[0] = rightUrls[side];\n"+
"                    top[0] = topUrls[side];\n"+
"                    bottom[0] = bottomUrls[side];\n"+
"            }\n"+
"        }''')
)
Exemplo n.º 22
0
            .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("S1"))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("startnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("endnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("transnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("rotscalenode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("set_startpoint")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFVec3f")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("set_endpoint")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFVec3f")))
              .setIS(x3dpsail.IS()
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("startnode")).setProtoField(x3dpsail.SFString("startnode")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("endnode")).setProtoField(x3dpsail.SFString("endnode")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("transnode")).setProtoField(x3dpsail.SFString("transnode")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("rotscalenode")).setProtoField(x3dpsail.SFString("rotscalenode")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("set_startpoint")).setProtoField(x3dpsail.SFString("set_startpoint")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("set_endpoint")).setProtoField(x3dpsail.SFString("set_endpoint")))).setSourceCode('''ecmascript:\n"+
"        function recompute(startpoint,endpoint){\n"+
"	    if (typeof endpoint === 'undefined') {\n"+
"		return;\n"+
"	    }\n"+
"            var dif = endpoint.subtract(startpoint);\n"+
"            var dist = dif.length()*0.5;\n"+
"            var dif2 = dif.multiply(0.5);\n"+
"            var norm = dif.normalize();\n"+
"            var transl = startpoint.add(dif2);\n"+
"	    if (typeof Quaternion !== 'undefined') {\n"+
"		    return {\n"+
"			    scale : new SFVec3f(1.0,dist,1.0),\n"+
"			    translation : transl,\n"+
"			    rotation : new Quaternion.rotateFromTo(new SFVec3f(0.0,1.0,0.0), norm)\n"+
"		    };\n"+
"	    } else {\n"+
"		    return {\n"+
"			    scale : new SFVec3f(1.0,dist,1.0),\n"+
"			    translation : transl,\n"+
"			    rotation : new SFRotation(new SFVec3f(0.0,1.0,0.0),norm)\n"+
"		    };\n"+
"	    }\n"+
"	}\n"+
"	function recompute_and_route(startpoint, endpoint) {\n"+
"	      var trafo = recompute(startpoint, endpoint);\n"+
"	      transnode.translation = trafo.translation;\n"+
"	      rotscalenode.rotation = trafo.rotation;\n"+
"	      rotscalenode.scale = trafo.scale;\n"+
"	}\n"+
"        function initialize(){\n"+
"            recompute_and_route(startnode.translation,endnode.translation);\n"+
"        }\n"+
"        function set_startpoint(val,t){\n"+
"            recompute_and_route(val,endnode.translation);\n"+
"        }\n"+
"        function set_endpoint(val,t){\n"+
"            recompute_and_route(startnode.translation,val);\n"+
"        }''')
Exemplo n.º 23
0
            ).addChild(x3dpsail.Script().setDEF(
                x3dpsail.SFString("Bounce")).addField(
                    x3dpsail.field().setName(
                        x3dpsail.SFString("set_translation")).setAccessType(
                            x3dpsail.SFString("inputOnly")).setType(
                                x3dpsail.SFString("SFVec3f")).setValue(
                                    x3dpsail.SFString("0 0 0"))
                ).addField(x3dpsail.field().setName(
                    x3dpsail.SFString("translation_changed")).setAccessType(
                        x3dpsail.SFString("outputOnly")).setType(
                            x3dpsail.SFString("SFVec3f")).setValue(
                                x3dpsail.SFString("0 0 0"))
                           ).addField(x3dpsail.field().setName(
                               x3dpsail.SFString("translation")).setAccessType(
                                   x3dpsail.SFString("inputOutput")).setType(
                                       x3dpsail.SFString("SFVec3f")).setValue(
                                           x3dpsail.SFString("0 0 0"))).
                       addField(x3dpsail.field().setName(
                           x3dpsail.SFString("velocity")).setAccessType(
                               x3dpsail.SFString("inputOutput")).setType(
                                   x3dpsail.SFString("SFVec3f")).setValue(
                                       x3dpsail.SFString("0 0 0"))).
                       addField(x3dpsail.field().setName(
                           x3dpsail.SFString("set_fraction")).setAccessType(
                               x3dpsail.SFString("inputOnly")).setType(
                                   x3dpsail.SFString("SFTime"))).setSourceCode(
                                       '''ecmascript:\n"+
"			function newBubble() {\n"+
"			    translation = new SFVec3f(0, 0, 0);\n"+
"			    velocity = new SFVec3f(\n"+
"			    	Math.random() - 0.5,\n"+
"				Math.random() - 0.5,\n"+
"				Math.random() - 0.5);\n"+
"			}\n"+
"			function set_fraction() {\n"+
"			    translation = new SFVec3f(\n"+
"			    	translation.x + velocity.x,\n"+
"				translation.y + velocity.y,\n"+
"				translation.z + velocity.z);\n"+
"				if (Math.abs(translation.x) > 10) {\n"+
"					newBubble();\n"+
"				} else if (Math.abs(translation.y) > 10) {\n"+
"					newBubble();\n"+
"				} else if (Math.abs(translation.z) > 10) {\n"+
"					newBubble();\n"+
"				} else {\n"+
"					velocity = new SFVec3f(\n"+
"						velocity.x + Math.random() * 0.2 - 0.1,\n"+
"						velocity.y + Math.random() * 0.2 - 0.1,\n"+
"						velocity.z + Math.random() * 0.2 - 0.1\n"+
"					);\n"+
"				}\n"+
"			}\n"+
"\n"+
"			function initialize() {\n"+
"			     newBubble();\n"+
"			}''')).addChild(x3dpsail.TimeSensor().setDEF(x3dpsail.SFString(
Exemplo n.º 24
0
Transform47.addChildren(ROUTE60)
IntegerSequencer61 = x3dpsail.IntegerSequencer()
IntegerSequencer61.setDEF("TimingSequencer")
IntegerSequencer61.setKey([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1])
IntegerSequencer61.setKeyValue([0, 1, 2, 3, 4, 5, 6, 7, 8, 10])

Transform47.addChildren(IntegerSequencer61)
ROUTE62 = x3dpsail.ROUTE()
ROUTE62.setFromField("fraction_changed")
ROUTE62.setFromNode("Clock")
ROUTE62.setToField("set_fraction")
ROUTE62.setToNode("TimingSequencer")

Transform47.addChildren(ROUTE62)
Script63 = x3dpsail.Script()
Script63.setDEF("BindingSequencerEngine")
field64 = x3dpsail.field()
field64.setName("set_timeEvent")
field64.setAccessType("inputOnly")
field64.setType("SFInt32")

Script63.addField(field64)
field65 = x3dpsail.field()
field65.setName("bindView1")
field65.setAccessType("outputOnly")
field65.setType("SFBool")

Script63.addField(field65)
field66 = x3dpsail.field()
field66.setName("bindView2")
Exemplo n.º 25
0
Appearance19 = x3dpsail.Appearance()
Material20 = x3dpsail.Material()
Material20.setDiffuseColor([1, 0, 0])

Appearance19.setMaterial(Material20)

Shape17.setAppearance(Appearance19)

Transform14.addChildren(Shape17)
PositionInterpolator21 = x3dpsail.PositionInterpolator()
PositionInterpolator21.setDEF("PI1")
PositionInterpolator21.setKey([0, 1])
PositionInterpolator21.setKeyValue([0, 0, 0, 0, 5, 0])

Transform14.addChildren(PositionInterpolator21)
Script22 = x3dpsail.Script()
Script22.setDEF("MB1")
field23 = x3dpsail.field()
field23.setName("translation")
field23.setAccessType("inputOutput")
field23.setType("SFVec3f")
field23.setValue("50 50 0")

Script22.addField(field23)
field24 = x3dpsail.field()
field24.setName("old")
field24.setAccessType("inputOutput")
field24.setType("SFVec3f")
field24.setValue("0 0 0")

Script22.addField(field24)
Exemplo n.º 26
0
field62 = x3dpsail.field()
field62.setName("set_startpoint")
field62.setAccessType("inputOnly")
field62.setType("SFVec3f")

ProtoInterface57.addField(field62)
field63 = x3dpsail.field()
field63.setName("set_endpoint")
field63.setAccessType("inputOnly")
field63.setType("SFVec3f")

ProtoInterface57.addField(field63)

ProtoDeclare56.setProtoInterface(ProtoInterface57)
ProtoBody64 = x3dpsail.ProtoBody()
Script65 = x3dpsail.Script()
Script65.setDEF("S1")
field66 = x3dpsail.field()
field66.setName("startnode")
field66.setAccessType("initializeOnly")
field66.setType("SFNode")

Script65.addField(field66)
field67 = x3dpsail.field()
field67.setName("endnode")
field67.setAccessType("initializeOnly")
field67.setType("SFNode")

Script65.addField(field67)
field68 = x3dpsail.field()
field68.setName("transnode")
Exemplo n.º 27
0
Appearance37 = x3dpsail.Appearance()
Material38 = x3dpsail.Material()
Material38.setDiffuseColor([1, 0, 0])

Appearance37.setMaterial(Material38)

Shape35.setAppearance(Appearance37)

Transform32.addChildren(Shape35)
PositionInterpolator39 = x3dpsail.PositionInterpolator()
PositionInterpolator39.setDEF("PI1")
PositionInterpolator39.setKey([0, 1])
PositionInterpolator39.setKeyValue([0, 0, 0, 0, 5, 0])

Transform32.addChildren(PositionInterpolator39)
Script40 = x3dpsail.Script()
Script40.setDEF("MB1")
field41 = x3dpsail.field()
field41.setName("translation")
field41.setAccessType("inputOutput")
field41.setType("SFVec3f")
field41.setValue("50 50 0")

Script40.addField(field41)
field42 = x3dpsail.field()
field42.setName("old")
field42.setAccessType("inputOutput")
field42.setType("SFVec3f")
field42.setValue("0 0 0")

Script40.addField(field42)
Exemplo n.º 28
0
Shape13 = x3dpsail.Shape()
Sphere14 = x3dpsail.Sphere()
Sphere14.setRadius(0.25)

Shape13.setGeometry(Sphere14)
Appearance15 = x3dpsail.Appearance()
Material16 = x3dpsail.Material()
Material16.setDiffuseColor([1,0,0])
Material16.setTransparency(0.2)

Appearance15.setMaterial(Material16)

Shape13.setAppearance(Appearance15)

Transform12.addChildren(Shape13)
Script17 = x3dpsail.Script()
Script17.setDEF("bounce")
field18 = x3dpsail.field()
field18.setName("scale")
field18.setAccessType("inputOutput")
field18.setType("SFVec3f")
field18.setValue("1 1 1")

Script17.addField(field18)
field19 = x3dpsail.field()
field19.setName("translation")
field19.setAccessType("inputOutput")
field19.setType("SFVec3f")
field19.setValue("0 0 0")

Script17.addField(field19)
Exemplo n.º 29
0
                                addChild(x3dpsail.Script().setDEF(
                                    x3dpsail.SFString("bounce")
                                ).addField(x3dpsail.field().setName(
                                    x3dpsail.SFString("scale")
                                ).setAccessType(
                                    x3dpsail.SFString("inputOutput")).setType(
                                        x3dpsail.SFString("SFVec3f")).setValue(
                                            x3dpsail.SFString("1 1 1")
                                        )).addField(x3dpsail.field().setName(
                                            x3dpsail.SFString("translation")
                                        ).setAccessType(
                                            x3dpsail.SFString("inputOutput")
                                        ).setType(x3dpsail.SFString(
                                            "SFVec3f")).setValue(
                                                x3dpsail.SFString("0 0 0"))).
                                         addField(x3dpsail.field().setName(
                                             x3dpsail.SFString("velocity")
                                         ).setAccessType(
                                             x3dpsail.SFString("inputOutput")
                                         ).setType(x3dpsail.SFString(
                                             "SFVec3f")).setValue(
                                                 x3dpsail.SFString("0 0 0"))).
                                         addField(x3dpsail.field().setName(
                                             x3dpsail.SFString("scalvel")
                                         ).setAccessType(
                                             x3dpsail.SFString("inputOutput")
                                         ).setType(x3dpsail.SFString(
                                             "SFVec3f")).setValue(
                                                 x3dpsail.SFString("0 0 0"))).
                                         addField(x3dpsail.field().setName(
                                             x3dpsail.SFString("set_fraction")
                                         ).setAccessType(
                                             x3dpsail.SFString("inputOnly")
                                         ).setType(
                                             x3dpsail.SFString("SFFloat")
                                         )).setSourceCode('''ecmascript:\n"+
"function initialize() {\n"+
"    velocity = new SFVec3f(Math.random() * 0.25 - 0.125, Math.random() * 0.25 - 0.125, Math.random() * 0.25 - 0.125);\n"+
"\n"+
"    scalvel = new SFVec3f(Math.random() * 0.4, Math.random() * 0.4, Math.random() * 0.4);\n"+
"}\n"+
"\n"+
"function set_fraction(value) {\n"+
"	translation = new SFVec3f(\n"+
"		translation.x + velocity.x,\n"+
"		translation.y + velocity.y,\n"+
"		translation.z + velocity.z);\n"+
"	scale = new SFVec3f(\n"+
"		scale.x + scalvel.x,\n"+
"		scale.y + scalvel.y,\n"+
"		scale.z + scalvel.z);\n"+
"        // if you get to far away or too big, explode\n"+
"        if ( Math.abs(translation.x) > 256) {\n"+
"		translation.x = 0;\n"+
"		initialize();\n"+
"	}\n"+
"        if ( Math.abs(translation.y) > 256) {\n"+
"		translation.y = 0;\n"+
"		initialize();\n"+
"	}\n"+
"        if ( Math.abs(translation.z) > 256) {\n"+
"		translation.z = 0;\n"+
"		initialize();\n"+
"	}\n"+
"	if (Math.abs(scale.x) > 20) {\n"+
"		scale.x = scale.x/2;\n"+
"		translation.x = 0;\n"+
"		initialize();\n"+
"	}\n"+
"	if (Math.abs(scale.y) > 20) {\n"+
"		scale.y = scale.y/2;\n"+
"		translation.y = 0;\n"+
"		initialize();\n"+
"	}\n"+
"	if (Math.abs(scale.z) > 20) {\n"+
"		scale.z = scale.z/2;\n"+
"		translation.z = 0;\n"+
"		initialize();\n"+
"	}\n"+
"}''')).addChild(x3dpsail.TimeSensor().setDEF(
Exemplo n.º 30
0
Appearance13 = x3dpsail.Appearance()
Material14 = x3dpsail.Material()
Material14.setDiffuseColor([1, 0, 0])

Appearance13.setMaterial(Material14)

Shape11.setAppearance(Appearance13)

Transform10.addChildren(Shape11)
PositionInterpolator15 = x3dpsail.PositionInterpolator()
PositionInterpolator15.setDEF("DECLpoint_G1_PI1")
PositionInterpolator15.setKey([0, 1])
PositionInterpolator15.setKeyValue([0, 0, 0, 0, 5, 0])

Transform10.addChildren(PositionInterpolator15)
Script16 = x3dpsail.Script()
Script16.setDEF("DECLpoint_G1_MB1")
field17 = x3dpsail.field()
field17.setName("translation")
field17.setAccessType("inputOutput")
field17.setType("SFVec3f")
field17.setValue("0 0 0")

Script16.addField(field17)
field18 = x3dpsail.field()
field18.setName("old")
field18.setAccessType("inputOutput")
field18.setType("SFVec3f")
field18.setValue("0 0 0")

Script16.addField(field18)