Exemplo n.º 1
0
ProtoInterface31.addField(field35)
field36 = x3dpsail.field()
field36.setName("set_startpoint")
field36.setAccessType("inputOnly")
field36.setType("SFVec3f")

ProtoInterface31.addField(field36)
field37 = x3dpsail.field()
field37.setName("set_endpoint")
field37.setAccessType("inputOnly")
field37.setType("SFVec3f")

ProtoInterface31.addField(field37)

ProtoDeclare30.setProtoInterface(ProtoInterface31)
ProtoBody38 = x3dpsail.ProtoBody()
Script39 = x3dpsail.Script()
Script39.setDEF("S1")
field40 = x3dpsail.field()
field40.setName("startnode")
field40.setAccessType("initializeOnly")
field40.setType("SFNode")

Script39.addField(field40)
field41 = x3dpsail.field()
field41.setName("endnode")
field41.setAccessType("initializeOnly")
field41.setType("SFNode")

Script39.addField(field41)
field42 = x3dpsail.field()
Exemplo n.º 2
0
    "../resources/images/all_probes/stpeters_cross/stpeters_left.png",
    "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_left.png"
])
Background11.setRightUrl([
    "../resources/images/all_probes/stpeters_cross/stpeters_right.png",
    "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png"
])
Background11.setTopUrl([
    "../resources/images/all_probes/stpeters_cross/stpeters_top.png",
    "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png"
])

Scene9.addChildren(Background11)
ProtoDeclare12 = x3dpsail.ProtoDeclare()
ProtoDeclare12.setName("flower")
ProtoBody13 = x3dpsail.ProtoBody()
Transform14 = x3dpsail.Transform()
Transform14.setDEF("transform")
Shape15 = x3dpsail.Shape()
Appearance16 = x3dpsail.Appearance()
Material17 = x3dpsail.Material()
Material17.setDiffuseColor([0.7, 0.7, 0.7])
Material17.setSpecularColor([0.5, 0.5, 0.5])

Appearance16.setMaterial(Material17)
ComposedCubeMapTexture18 = x3dpsail.ComposedCubeMapTexture()
ComposedCubeMapTexture18.setDEF("texture")
ImageTexture19 = x3dpsail.ImageTexture()
ImageTexture19.setUrl([
    "../resources/images/all_probes/stpeters_cross/stpeters_back.png",
    "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_back.png"
Exemplo n.º 3
0
                            x3dpsail.ProtoBody().addChild(
                                x3dpsail.Transform().setDEF(
                                    x3dpsail.SFString("transform")
                                ).addChild(x3dpsail.Shape().setGeometry(
                                    x3dpsail.Sphere().setRadius(
                                        x3dpsail.SFFloat(0.25))).setAppearance(
                                            x3dpsail.Appearance().setMaterial(
                                                x3dpsail.Material(
                                                ).setDiffuseColor(
                                                    x3dpsail.SFColor(
                                                        1, 0,
                                                        0)).setTransparency(
                                                            x3dpsail.SFFloat(
                                                                0.2))))).
                                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(
                                             x3dpsail.SFString("bubbleClock")).
                 setCycleInterval(x3dpsail.SFTime(10)).setLoop(
                     x3dpsail.SFBool(True))).addChild(
                         x3dpsail.ROUTE().setFromNode(
                             x3dpsail.SFString("bounce")).setFromField(
                                 x3dpsail.SFString("translation_changed")).
                         setToNode(x3dpsail.SFString("transform")).setToField(
                             x3dpsail.SFString("set_translation"))
                     ).addChild(x3dpsail.ROUTE().setFromNode(
                         x3dpsail.SFString("bounce")).setFromField(
                             x3dpsail.SFString("scale_changed")).setToNode(
                                 x3dpsail.SFString("transform")).setToField(
                                     x3dpsail.SFString("set_scale"))
                                ).addChild(x3dpsail.ROUTE().setFromNode(
                                    x3dpsail.SFString("bubbleClock")
                                ).setFromField(
                                    x3dpsail.SFString("fraction_changed")
                                ).setToNode(
                                    x3dpsail.SFString("bounce")).setToField(
                                        x3dpsail.SFString("set_fraction")))))).
Exemplo n.º 4
0
field12.setName("vertex")
field12.setAccessType("inputOutput")
field12.setType("MFString")

ExternProtoDeclare11.addField(field12)
field13 = x3dpsail.field()
field13.setName("fragment")
field13.setAccessType("inputOutput")
field13.setType("MFString")

ExternProtoDeclare11.addField(field13)

Group10.addChildren(ExternProtoDeclare11)
ProtoDeclare14 = x3dpsail.ProtoDeclare()
ProtoDeclare14.setName("flower")
ProtoBody15 = x3dpsail.ProtoBody()
Group16 = x3dpsail.Group()
ProtoInstance17 = x3dpsail.ProtoInstance()
ProtoInstance17.setName("FlowerProto")
fieldValue18 = x3dpsail.fieldValue()
fieldValue18.setName("vertex")
fieldValue18.setValue("\"../shaders/x3dom_flowers_chromatic.vs\"")

ProtoInstance17.addFieldValue(fieldValue18)
fieldValue19 = x3dpsail.fieldValue()
fieldValue19.setName("fragment")
fieldValue19.setValue("\"../shaders/common.fs\"")

ProtoInstance17.addFieldValue(fieldValue19)

Group16.addChildren(ProtoInstance17)
Exemplo n.º 5
0
Shape14.setGeometry(Sphere15)
Appearance16 = x3dpsail.Appearance()
Material17 = x3dpsail.Material()
Material17.setDiffuseColor([1, 1, 1])

Appearance16.setMaterial(Material17)

Shape14.setAppearance(Appearance16)

field13.addChildren(Shape14)

ProtoInterface11.addField(field13)

ProtoDeclare10.setProtoInterface(ProtoInterface11)
ProtoBody18 = x3dpsail.ProtoBody()
Transform19 = x3dpsail.Transform()
IS20 = x3dpsail.IS()
connect21 = x3dpsail.connect()
connect21.setNodeField("translation")
connect21.setProtoField("xtranslation")

IS20.addConnect(connect21)
connect22 = x3dpsail.connect()
connect22.setNodeField("children")
connect22.setProtoField("myShape")

IS20.addConnect(connect22)

Transform19.setIS(IS20)
Exemplo n.º 6
0
Transform22.addChildren(Transform23)

Scene7.addChildren(Transform22)
ProtoDeclare28 = x3dpsail.ProtoDeclare()
ProtoDeclare28.setName("point")
ProtoInterface29 = x3dpsail.ProtoInterface()
field30 = x3dpsail.field()
field30.setName("translation")
field30.setAccessType("inputOutput")
field30.setType("SFVec3f")
field30.setValue("0 0 0")

ProtoInterface29.addField(field30)

ProtoDeclare28.setProtoInterface(ProtoInterface29)
ProtoBody31 = x3dpsail.ProtoBody()
Transform32 = x3dpsail.Transform()
Transform32.setDEF("node")
IS33 = x3dpsail.IS()
connect34 = x3dpsail.connect()
connect34.setNodeField("translation")
connect34.setProtoField("translation")

IS33.addConnect(connect34)

Transform32.setIS(IS33)
Shape35 = x3dpsail.Shape()
Sphere36 = x3dpsail.Sphere()
Sphere36.setRadius(0.1)

Shape35.setGeometry(Sphere36)
Exemplo n.º 7
0
    )).setProtoBody(x3dpsail.ProtoBody().addChild(x3dpsail.Transform().setDEF(
        x3dpsail
        .SFString("transform")
    ).addChild(x3dpsail.Shape().setDEF(x3dpsail.SFString(
        "myShape"
    )).setAppearance(x3dpsail.Appearance().setMaterial(x3dpsail.Material(
    ).setDiffuseColor(x3dpsail.SFColor(
        0.7, 0.7, 0.7
    )).setSpecularColor(x3dpsail.SFColor(
        0.5, 0.5, 0.5
    ))).setTexture(x3dpsail.ComposedCubeMapTexture().setDEF(
        x3dpsail
        .SFString("texture")
    ).setBack(x3dpsail.ImageTexture().setUrl(
        x3dpsail
        .MFString([
            "../resources/images/all_probes/stpeters_cross/stpeters_back.png",
            "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_back.png"
        ])
    )).setBottom(x3dpsail.ImageTexture().setUrl(
        x3dpsail.MFString([
            "../resources/images/all_probes/stpeters_cross/stpeters_bottom.png",
            "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_bottom.png"
        ])
    )).setFront(x3dpsail.ImageTexture().setUrl(
        x3dpsail.MFString([
            "../resources/images/all_probes/stpeters_cross/stpeters_front.png",
            "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_front.png"
        ])
    )).setLeft(x3dpsail.ImageTexture().setUrl(
        x3dpsail.MFString([
            "../resources/images/all_probes/stpeters_cross/stpeters_left.png",
            "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_left.png"
        ])
    )).setRight(x3dpsail.ImageTexture().setUrl(
        x3dpsail.MFString([
            "../resources/images/all_probes/stpeters_cross/stpeters_right.png",
            "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png"
        ])
    )).setTop(x3dpsail.ImageTexture().setUrl(
        x3dpsail.MFString([
            "../resources/images/all_probes/stpeters_cross/stpeters_top.png",
            "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png"
        ]))))
                     #<ComposedShader DEF='gl' language=\"GLSL\"> <field name='cube' type='SFInt32' accessType=\"inputOutput\" value='0'/> <field name='chromaticDispertion' type='SFVec3f' accessType=\"inputOutput\" value='0.98 1.0 1.033'/> <field name='bias' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='scale' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='power' type='SFFloat' accessType=\"inputOutput\" value='2.0'/> <ShaderPart url='\"../shaders/gl.vs\" \"https://coderextreme.net/X3DJSONLD/shaders/gl.vs\"' type='VERTEX'></ShaderPart> <ShaderPart url='\"../shaders/pc_bubbles.fs\" \"https://coderextreme.net/X3DJSONLD/shaders/pc_bubbles.fs\"' type='FRAGMENT'></ShaderPart> </ComposedShader> <ComposedShader DEF='freewrl' language=\"GLSL\"> <field name='fw_textureCoodGenType' type='SFInt32' accessType=\"inputOutput\" value='0'/> <field name='chromaticDispertion' type='SFVec3f' accessType=\"inputOutput\" value='0.98 1.0 1.033'/> <field name='bias' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='scale' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='power' type='SFFloat' accessType=\"inputOutput\" value='2.0'/> <ShaderPart url='\"../shaders/freewrl.vs\" \"https://coderextreme.net/X3DJSONLD/shaders/freewrl.vs\"' type='VERTEX'></ShaderPart> <ShaderPart url='\"../shaders/pc_bubbles.fs\" \"https://coderextreme.net/X3DJSONLD/shaders/pc_bubbles.fs\"' type='FRAGMENT'></ShaderPart> </ComposedShader>

                     #<ComposedShader DEF='instant' language=\"GLSL\"> <field name='cube' type='SFInt32' accessType=\"inputOutput\" value='0'/> <field name='chromaticDispertion' type='SFVec3f' accessType=\"inputOutput\" value='0.98 1.0 1.033'/> <field name='bias' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='scale' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='power' type='SFFloat' accessType=\"inputOutput\" value='2.0'/> <ShaderPart url='\"../shaders/instant.vs\" \"https://coderextreme.net/X3DJSONLD/shaders/instant.vs\"' type='VERTEX'></ShaderPart> <ShaderPart url='\"../shaders/pc_bubbles.fs\" \"https://coderextreme.net/X3DJSONLD/shaders/pc_bubbles.fs\"' type='FRAGMENT'></ShaderPart> </ComposedShader>
                     .addShaders(x3dpsail.ComposedShader().setDEF(
                         x3dpsail.SFString("x3dom")
                     ).setLanguage(x3dpsail.SFString("GLSL")).addField(
                         x3dpsail.field().setName(x3dpsail.SFString("cube"))
                         .setType(x3dpsail.SFString("SFInt32")).setAccessType(
                             x3dpsail.SFString("inputOutput")).setValue(
                                 x3dpsail.SFString("0"))
                     ).addField(x3dpsail.field().setName(
                         x3dpsail.SFString("chromaticDispertion")
                     ).setType(x3dpsail.SFString("SFVec3f")).setAccessType(
                         x3dpsail.SFString("inputOutput")
                     ).setValue(x3dpsail.SFString("0.98 1 1.033"))).addField(
                         x3dpsail.field().setName(x3dpsail.SFString("bias")).
                         setType(
                             x3dpsail.SFString("SFFloat")
                         ).setAccessType(x3dpsail.SFString("inputOutput"))
                         .setValue(x3dpsail.SFString("0.5"))
                     ).addField(x3dpsail.field().setName(
                         x3dpsail.SFString("scale")
                     ).setType(
                         x3dpsail.SFString("SFFloat")
                     ).setAccessType(
                         x3dpsail.SFString("inputOutput")
                     ).setValue(
                         x3dpsail.SFString("0.5")
                     )).addField(x3dpsail.field().setName(
                         x3dpsail.SFString("power")
                     ).setType(
                         x3dpsail.SFString("SFFloat")
                     ).setAccessType(
                         x3dpsail.SFString("inputOutput")
                     ).setValue(
                         x3dpsail.SFString("2")
                     )).addParts(x3dpsail.ShaderPart().setUrl(
                         x3dpsail.MFString([
                             "../shaders/x3dom.vs",
                             "https://coderextreme.net/X3DJSONLD/shaders/x3dom.vs"
                         ])
                     ).setType(
                         x3dpsail.SFString("VERTEX")
                     )).addParts(x3dpsail.ShaderPart().setUrl(
                         x3dpsail
                         .MFString([
                             "../shaders/pc_bubbles.fs",
                             "https://coderextreme.net/X3DJSONLD/shaders/pc_bubbles.fs"
                         ])).setType(x3dpsail.SFString("FRAGMENT")))).
                     addShaders(x3dpsail.ComposedShader(
                     ).setDEF(x3dpsail.SFString("cobweb")).setLanguage(
                         x3dpsail.SFString("GLSL")
                     ).addField(x3dpsail.field().setName(
                         x3dpsail.SFString("cube")
                     ).setType(x3dpsail.SFString(
                         "SFNode"
                     )).setAccessType(x3dpsail.SFString(
                         "inputOutput"
                     )).addChild(x3dpsail.ComposedCubeMapTexture().setUSE(
                         x3dpsail
                         .SFString("texture")
                     ))).addField(
                         x3dpsail
                         .field()
                         .setName(x3dpsail.SFString("chromaticDispertion"))
                         .setType(x3dpsail.SFString("SFVec3f"))
                         .setAccessType(x3dpsail.SFString("inputOutput"))
                         .setValue(x3dpsail.SFString("0.98 1 1.033"))
                     ).addField(x3dpsail.field().setName(
                         x3dpsail.SFString("bias")
                     ).setType(
                         x3dpsail.SFString("SFFloat")
                     ).setAccessType(
                         x3dpsail.SFString("inputOutput")
                     ).setValue(
                         x3dpsail.SFString("0.5")
                     )).addField(x3dpsail.field().setName(
                         x3dpsail.SFString("scale")
                     ).setType(
                         x3dpsail.SFString("SFFloat")
                     ).setAccessType(
                         x3dpsail.SFString("inputOutput")
                     ).setValue(
                         x3dpsail.SFString("0.5")
                     )).addField(x3dpsail.field().setName(
                         x3dpsail.SFString("power")
                     ).setType(
                         x3dpsail.SFString("SFFloat")
                     ).setAccessType(
                         x3dpsail.SFString("inputOutput")
                     ).setValue(
                         x3dpsail.SFString("2")
                     )).addParts(x3dpsail.ShaderPart().setUrl(
                         x3dpsail.MFString([
                             "../shaders/cobweb.vs",
                             "https://coderextreme.net/X3DJSONLD/shaders/cobweb.vs"
                         ])
                     ).setType(
                         x3dpsail.SFString("VERTEX")
                     )).addParts(x3dpsail.ShaderPart().setUrl(
                         x3dpsail
                         .MFString([
                             "../shaders/pc_bubbles.fs",
                             "https://coderextreme.net/X3DJSONLD/shaders/pc.fs"
                         ])).setType(x3dpsail.SFString("FRAGMENT"))))).
               setGeometry(
                   x3dpsail.Sphere()))).addChild(x3dpsail.Script().setDEF(
                       x3dpsail.SFString("Bounce")).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 initialize() {\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"+
"				initialize();\n"+
"			    } else if (Math.abs(translation.y) > 10) {\n"+
"				initialize();\n"+
"			    } else if (Math.abs(translation.z) > 10) {\n"+
"				initialize();\n"+
"			    } else {\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"+
"			}''')).addChild(x3dpsail.TimeSensor().setDEF(x3dpsail.SFString(
                                           "TourTime")).setCycleInterval(
                                               x3dpsail.SFTime(0.15)).setLoop(
                                                   x3dpsail.SFBool(True))).
                    addChild(x3dpsail.ROUTE().setFromNode(
                        x3dpsail.SFString("TourTime")).setFromField(
                            x3dpsail.SFString("cycleTime")).setToNode(
                                x3dpsail.SFString("Bounce")).setToField(
                                    x3dpsail.SFString("set_fraction"))).
                    addChild(x3dpsail.ROUTE().setFromNode(
                        x3dpsail.SFString("Bounce")).setFromField(
                            x3dpsail.SFString(
                                "translation_changed")).setToNode(
                                    x3dpsail.SFString("transform")).setToField(
                                        x3dpsail.SFString("set_translation"))))
Exemplo n.º 8
0
field12.setName("vertex")
field12.setAccessType("inputOutput")
field12.setType("MFString")
field12.setValue("\"../shaders/gl_flowers_chromatic.vs\"")

ProtoInterface11.addField(field12)
field13 = x3dpsail.field()
field13.setName("fragment")
field13.setAccessType("inputOutput")
field13.setType("MFString")
field13.setValue("\"../shaders/pc_flowers.fs\"")

ProtoInterface11.addField(field13)

ProtoDeclare10.setProtoInterface(ProtoInterface11)
ProtoBody14 = x3dpsail.ProtoBody()
Transform15 = x3dpsail.Transform()
Transform15.setDEF("transform")
Shape16 = x3dpsail.Shape()
Appearance17 = x3dpsail.Appearance()
Material18 = x3dpsail.Material()
Material18.setDiffuseColor([0.7, 0.7, 0.7])

Appearance17.setMaterial(Material18)
ComposedCubeMapTexture19 = x3dpsail.ComposedCubeMapTexture()
ComposedCubeMapTexture19.setDEF("texture")
ImageTexture20 = x3dpsail.ImageTexture()
ImageTexture20.setUrl([
    "../resources/images/all_probes/stpeters_cross/stpeters_back.png",
    "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_back.png"
])
Exemplo n.º 9
0
field12.setType("SFVec3f")
field12.setValue("0 0 0")

ProtoInterface11.addField(field12)
field13 = x3dpsail.field()
field13.setName("myShape")
field13.setAccessType("inputOutput")
field13.setType("SFNode")
Sphere14 = x3dpsail.Sphere()

field13.addChildren(Sphere14)

ProtoInterface11.addField(field13)

ProtoDeclare10.setProtoInterface(ProtoInterface11)
ProtoBody15 = x3dpsail.ProtoBody()
Transform16 = x3dpsail.Transform()
IS17 = x3dpsail.IS()
connect18 = x3dpsail.connect()
connect18.setNodeField("translation")
connect18.setProtoField("xtranslation")

IS17.addConnect(connect18)

Transform16.setIS(IS17)
Shape19 = x3dpsail.Shape()
IS20 = x3dpsail.IS()
connect21 = x3dpsail.connect()
connect21.setNodeField("geometry")
connect21.setProtoField("myShape")
Exemplo n.º 10
0
          x3dpsail.field().setName(
              x3dpsail.SFString("xtranslation")).setAccessType(
                  x3dpsail.SFString("inputOutput")).setType(
                      x3dpsail.SFString("SFVec3f")).setValue(
                          x3dpsail.SFString("0 0 0"))).
      addField(x3dpsail.field().setName(
          x3dpsail.SFString("myShape")).setAccessType(
              x3dpsail.SFString("inputOutput")).setType(
                  x3dpsail.SFString("SFNode")).addChild(
                      x3dpsail.Sphere()))
  ).setProtoBody(x3dpsail.ProtoBody().addChild(
      x3dpsail.Transform().setIS(x3dpsail.IS().addConnect(
          x3dpsail.connect().setNodeField(
              x3dpsail.SFString("translation")).setProtoField(
                  x3dpsail.SFString("xtranslation")))).
      addChild(x3dpsail.Shape().setIS(x3dpsail.IS().addConnect(
          x3dpsail.connect().setNodeField(
              x3dpsail.SFString("geometry")).setProtoField(
                  x3dpsail.SFString("myShape")))).setAppearance(
                      x3dpsail.Appearance().setMaterial(
                          x3dpsail.Material().setDiffuseColor(
                              x3dpsail.SFColor(1, 1, 1)))))))).
 addChild(x3dpsail.ProtoDeclare(
 ).setName(x3dpsail.SFString("three")).setProtoInterface(
     x3dpsail.ProtoInterface().addField(x3dpsail.field().setName(
         x3dpsail.SFString("ytranslation")).setAccessType(
             x3dpsail.SFString("inputOutput")).setType(
                 x3dpsail.SFString("SFVec3f")).setValue(
                     x3dpsail.SFString("0 0 0"))).
     addField(x3dpsail.field().setName(
         x3dpsail.SFString("myShape")).setAccessType(
             x3dpsail.SFString("inputOutput")).setType(
Exemplo n.º 11
0
         x3dpsail.SFString("identifier")).setContent(
             x3dpsail.SFString(
                 "https://coderextreme.net/X3DJSONLD/abox.x3d"))).addMeta(
                     x3dpsail.meta().setName(
                         x3dpsail.SFString("description")).setContent(
                             x3dpsail.SFString("a box")))
 ).setScene(x3dpsail.Scene().addChild(x3dpsail.ProtoDeclare().setName(
     x3dpsail.SFString("anyShape")).setProtoInterface(
         x3dpsail.ProtoInterface().addField(x3dpsail.field().setName(
             x3dpsail.SFString("myShape")).setAccessType(
                 x3dpsail.SFString("inputOutput")).setType(
                     x3dpsail.SFString("MFNode")).addChild(
                         x3dpsail.Shape().setGeometry(x3dpsail.Sphere())))
     ).setProtoBody(x3dpsail.ProtoBody().addChild(
         x3dpsail.Transform().setIS(
             x3dpsail.IS().addConnect(x3dpsail.connect().setNodeField(
                 x3dpsail.SFString("children")).setProtoField(
                     x3dpsail.SFString("myShape"))))
     ))).addChild(x3dpsail.ProtoDeclare().setName(
         x3dpsail.SFString("one")).setProtoInterface(
             x3dpsail.ProtoInterface().addField(x3dpsail.field().setName(
                 x3dpsail.SFString("myShape")).setAccessType(
                     x3dpsail.SFString("inputOutput")).setType(
                         x3dpsail.SFString("MFNode")).addChild(
                             x3dpsail.Shape().setGeometry(
                                 x3dpsail.Cylinder())))
         ).setProtoBody(x3dpsail.ProtoBody().addChild(
             x3dpsail.Transform().addChild(x3dpsail.ProtoInstance().setName(
                 x3dpsail.SFString("anyShape")).setIS(
                     x3dpsail.IS().addConnect(
                         x3dpsail.connect().setNodeField(
                             x3dpsail.SFString("myShape")).setProtoField(
Exemplo n.º 12
0
         x3dpsail.MFString(
             ["../data/flowerproto.x3d#FlowerProto"])).addField(
                 x3dpsail.field().setName(
                     x3dpsail.SFString("vertex")).setAccessType(
                         x3dpsail.SFString("inputOutput")).setType(
                             x3dpsail.SFString("MFString"))
             ).addField(x3dpsail.field().setName(
                 x3dpsail.SFString("fragment")).setAccessType(
                     x3dpsail.SFString("inputOutput")).setType(
                         x3dpsail.SFString("MFString")))).
 addChild(x3dpsail.ProtoDeclare().setName(x3dpsail.SFString(
     "flower")).setProtoBody(x3dpsail.ProtoBody().addChild(
         x3dpsail.Group().addChild(x3dpsail.ProtoInstance().setName(
             x3dpsail.SFString("FlowerProto")).addFieldValue(
                 x3dpsail.fieldValue().setName(
                     x3dpsail.SFString("vertex")).setValue(
                         x3dpsail.SFString(
                             "\"../shaders/cobweb_flowers_plain.vs\""))
             ).addFieldValue(x3dpsail.fieldValue().setName(
                 x3dpsail.SFString("fragment")).setValue(
                     x3dpsail.SFString("\"../shaders/plain.fs\""))))))).
 addChild(x3dpsail.ProtoInstance().setName(
     x3dpsail.SFString("flower"))).addChild(
         x3dpsail.ProtoInstance().setName(x3dpsail.SFString("flower"))
     ).addChild(x3dpsail.ProtoInstance().setName(
         x3dpsail.SFString("flower"))).addChild(
             x3dpsail.ProtoInstance().setName(
                 x3dpsail.SFString("flower"))).addChild(
                     x3dpsail.ProtoInstance().setName(
                         x3dpsail.SFString("flower"))).addChild(
                             x3dpsail.ProtoInstance().setName(
                                 x3dpsail.SFString("flower"))))))
field23.setName("orientation_changed")
field23.setAccessType("outputOnly")
field23.setType("SFRotation")

ExternProtoDeclare18.addField(field23)
field24 = x3dpsail.field()
field24.setName("outputViewpointString")
field24.setAccessType("outputOnly")
field24.setType("MFString")

ExternProtoDeclare18.addField(field24)

Scene17.addChildren(ExternProtoDeclare18)
ProtoDeclare25 = x3dpsail.ProtoDeclare()
ProtoDeclare25.setName("NewWorldInfoNode")
ProtoBody26 = x3dpsail.ProtoBody()
WorldInfo27 = x3dpsail.WorldInfo()
WorldInfo27.setDEF("ExamplePrototypeBody")

ProtoBody26.addChildren(WorldInfo27)

ProtoDeclare25.setProtoBody(ProtoBody26)

Scene17.addChildren(ProtoDeclare25)
ProtoInstance28 = x3dpsail.ProtoInstance()
ProtoInstance28.setName("NewWorldInfoNode")

Scene17.addChildren(ProtoInstance28)
ProtoDeclare29 = x3dpsail.ProtoDeclare()
ProtoDeclare29.setName("EmissiveMaterial")
ProtoInterface30 = x3dpsail.ProtoInterface()
Exemplo n.º 14
0
                  x3dpsail.SFString("inputOutput")).setType(
                      x3dpsail.SFString("SFVec3f")).setValue(
                          x3dpsail.SFString("0 0 0"))).
      addField(x3dpsail.field().setName(
          x3dpsail.SFString("myShape")).setAccessType(
              x3dpsail.SFString("inputOutput")).setType(
                  x3dpsail.SFString("MFNode")).
               addChild(x3dpsail.Shape().setGeometry(
                   x3dpsail.Sphere()).setAppearance(
                       x3dpsail.Appearance().setMaterial(
                           x3dpsail.Material().setDiffuseColor(
                               x3dpsail.SFColor(1, 1, 1))))))
  ).setProtoBody(x3dpsail.ProtoBody().addChild(
      x3dpsail.Transform().setIS(x3dpsail.IS().addConnect(
          x3dpsail.connect().setNodeField(
              x3dpsail.SFString("translation")).setProtoField(
                  x3dpsail.SFString("xtranslation")
              )).addConnect(x3dpsail.connect().setNodeField(
                  x3dpsail.SFString("children")).setProtoField(
                      x3dpsail.SFString("myShape"))))))).
 addChild(x3dpsail.ProtoDeclare(
 ).setName(x3dpsail.SFString("three")).setProtoInterface(
     x3dpsail.ProtoInterface().addField(x3dpsail.field().setName(
         x3dpsail.SFString("ytranslation")).setAccessType(
             x3dpsail.SFString("inputOutput")).setType(
                 x3dpsail.SFString("SFVec3f")).setValue(
                     x3dpsail.SFString("0 0 0"))).
     addField(x3dpsail.field().setName(
         x3dpsail.SFString("myShape")).setAccessType(
             x3dpsail.SFString("inputOutput")).setType(
                 x3dpsail.SFString("MFNode")).
              addChild(x3dpsail.Shape().setGeometry(
Exemplo n.º 15
0
     x3dpsail
     .field()
     .setName(x3dpsail.SFString("orientation_changed"))
     .setAccessType(x3dpsail.SFString("outputOnly"))
     .setType(x3dpsail.SFString("SFRotation"))
 ).addField(
     x3dpsail
     .field()
     .setName(x3dpsail.SFString("outputViewpointString"))
     .setAccessType(x3dpsail.SFString("outputOnly"))
     .setType(x3dpsail.SFString("MFString"))
 )).addChild(x3dpsail.ProtoDeclare().setName(
     x3dpsail
     .SFString("NewWorldInfoNode")
 ).setProtoBody(x3dpsail.ProtoBody().addChild(x3dpsail.WorldInfo().setDEF(
     x3dpsail
     .SFString("ExamplePrototypeBody")
 )))).addChild(x3dpsail.ProtoInstance().setName(
     x3dpsail
     .SFString("NewWorldInfoNode")
 )).addChild(x3dpsail.ProtoDeclare().setName(
     x3dpsail
     .SFString("EmissiveMaterial")
 ).setProtoInterface(x3dpsail.ProtoInterface().addField(
     x3dpsail
     .field()
     .setName(x3dpsail.SFString("onlyColor"))
     .setAccessType(x3dpsail.SFString("inputOutput"))
     .setType(x3dpsail.SFString("SFColor"))
     .setValue(x3dpsail.SFString("1 0 0"))
 )).setProtoBody(
     x3dpsail.
Exemplo n.º 16
0
Viewpoint9.setPosition([0, 0, 12])

Scene7.addChildren(Viewpoint9)
ProtoDeclare10 = x3dpsail.ProtoDeclare()
ProtoDeclare10.setName("sphere")
ProtoInterface11 = x3dpsail.ProtoInterface()
field12 = x3dpsail.field()
field12.setName("xtranslation")
field12.setAccessType("inputOutput")
field12.setType("SFVec3f")
field12.setValue("0 0 0")

ProtoInterface11.addField(field12)

ProtoDeclare10.setProtoInterface(ProtoInterface11)
ProtoBody13 = x3dpsail.ProtoBody()
Transform14 = x3dpsail.Transform()
IS15 = x3dpsail.IS()
connect16 = x3dpsail.connect()
connect16.setNodeField("translation")
connect16.setProtoField("xtranslation")

IS15.addConnect(connect16)

Transform14.setIS(IS15)
Shape17 = x3dpsail.Shape()
Sphere18 = x3dpsail.Sphere()

Shape17.setGeometry(Sphere18)
Appearance19 = x3dpsail.Appearance()
Material20 = x3dpsail.Material()
Exemplo n.º 17
0
X3D0.setHead(head1)
Scene8 = x3dpsail.Scene()
ProtoDeclare9 = x3dpsail.ProtoDeclare()
ProtoDeclare9.setName("node")
ProtoInterface10 = x3dpsail.ProtoInterface()
field11 = x3dpsail.field()
field11.setName("position")
field11.setAccessType("inputOutput")
field11.setType("SFVec3f")
field11.setValue("0 0 0")

ProtoInterface10.addField(field11)

ProtoDeclare9.setProtoInterface(ProtoInterface10)
ProtoBody12 = x3dpsail.ProtoBody()
Transform13 = x3dpsail.Transform()
Transform13.setDEF("transform")
IS14 = x3dpsail.IS()
connect15 = x3dpsail.connect()
connect15.setNodeField("translation")
connect15.setProtoField("position")

IS14.addConnect(connect15)

Transform13.setIS(IS14)
Shape16 = x3dpsail.Shape()
Sphere17 = x3dpsail.Sphere()

Shape16.setGeometry(Sphere17)
Appearance18 = x3dpsail.Appearance()
Exemplo n.º 18
0
meta8 = x3dpsail.meta()
meta8.setName("identifier")
meta8.setContent("https://coderextreme.net/x3d/pp3.x3d")

head1.addMeta(meta8)
meta9 = x3dpsail.meta()
meta9.setName("generator")
meta9.setContent("manual")

head1.addMeta(meta9)

X3D0.setHead(head1)
Scene10 = x3dpsail.Scene()
ProtoDeclare11 = x3dpsail.ProtoDeclare()
ProtoDeclare11.setName("Process")
ProtoBody12 = x3dpsail.ProtoBody()
Group13 = x3dpsail.Group()
#left
Transform14 = x3dpsail.Transform()
Transform14.setScale([0.5,0.5,0.5])
Shape15 = x3dpsail.Shape()
Appearance16 = x3dpsail.Appearance()
Material17 = x3dpsail.Material()
Material17.setDiffuseColor([0.7,1,0])
Material17.setTransparency(0.5)

Appearance16.setMaterial(Material17)

Shape15.setAppearance(Appearance16)
Extrusion18 = x3dpsail.Extrusion()
Extrusion18.setCreaseAngle(0.785)
Exemplo n.º 19
0
          .setProtoBody(x3dpsail.ProtoBody()
            .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.º 20
0
Background9.setSkyColor([0.4, 0.4, 0.4])

Scene7.addChildren(Background9)
ProtoDeclare10 = x3dpsail.ProtoDeclare()
ProtoDeclare10.setName("point")
ProtoInterface11 = x3dpsail.ProtoInterface()
field12 = x3dpsail.field()
field12.setName("translation")
field12.setAccessType("inputOutput")
field12.setType("SFVec3f")
field12.setValue("0 0 0")

ProtoInterface11.addField(field12)

ProtoDeclare10.setProtoInterface(ProtoInterface11)
ProtoBody13 = x3dpsail.ProtoBody()
Transform14 = x3dpsail.Transform()
Transform14.setDEF("node")
IS15 = x3dpsail.IS()
connect16 = x3dpsail.connect()
connect16.setNodeField("translation")
connect16.setProtoField("translation")

IS15.addConnect(connect16)

Transform14.setIS(IS15)
Shape17 = x3dpsail.Shape()
Sphere18 = x3dpsail.Sphere()
Sphere18.setRadius(0.1)

Shape17.setGeometry(Sphere18)
Exemplo n.º 21
0
ProtoInterface57.addField(field61)
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()
Exemplo n.º 22
0
field28.setValue("false")

ProtoInterface15.addField(field28)
field29 = x3dpsail.field()
field29.setName("lintel")
field29.setAccessType("initializeOnly")
field29.setAppinfo(
    "lintel: no arc is rendered, but a lintel: topAbutmentHeight on pierHeight, total height is pierHeight + topAbutmentHeight, if needed apply archHalf=true."
)
field29.setType("SFBool")
field29.setValue("false")

ProtoInterface15.addField(field29)

ProtoDeclare14.setProtoInterface(ProtoInterface15)
ProtoBody30 = x3dpsail.ProtoBody()
#First node determines node type of this prototype
#IndexedFaceset creates arch
Transform31 = x3dpsail.Transform()
Transform31.setDEF("ArchTransform")
Shape32 = x3dpsail.Shape()
Shape32.setDEF("Arch")
#note that convex='false' (meaning concave geometry) is crucial for this IFS of a geometric chord to render properly
IndexedFaceSet33 = x3dpsail.IndexedFaceSet()
IndexedFaceSet33.setDEF("ArchIndex")
IndexedFaceSet33.setConvex(False)
IndexedFaceSet33.setSolid(False)
Coordinate34 = x3dpsail.Coordinate()
Coordinate34.setDEF("ArchChord")

IndexedFaceSet33.setCoord(Coordinate34)
Exemplo n.º 23
0
X3D0.setHead(head1)
Scene7 = x3dpsail.Scene()
NavigationInfo8 = x3dpsail.NavigationInfo()
NavigationInfo8.setType(["EXAMINE"])

Scene7.addChildren(NavigationInfo8)
Viewpoint9 = x3dpsail.Viewpoint()
Viewpoint9.setPosition([0,0,4])
Viewpoint9.setOrientation([1,0,0,0])
Viewpoint9.setDescription("Bubble in action")

Scene7.addChildren(Viewpoint9)
ProtoDeclare10 = x3dpsail.ProtoDeclare()
ProtoDeclare10.setName("Bubble")
ProtoBody11 = x3dpsail.ProtoBody()
Transform12 = x3dpsail.Transform()
Transform12.setDEF("transform")
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)
Exemplo n.º 24
0
ProtoInterface9 = x3dpsail.ProtoInterface()
field10 = x3dpsail.field()
field10.setName("myShape")
field10.setAccessType("inputOutput")
field10.setType("MFNode")
Shape11 = x3dpsail.Shape()
Sphere12 = x3dpsail.Sphere()

Shape11.setGeometry(Sphere12)

field10.addChildren(Shape11)

ProtoInterface9.addField(field10)

ProtoDeclare8.setProtoInterface(ProtoInterface9)
ProtoBody13 = x3dpsail.ProtoBody()
Transform14 = x3dpsail.Transform()
IS15 = x3dpsail.IS()
connect16 = x3dpsail.connect()
connect16.setNodeField("children")
connect16.setProtoField("myShape")

IS15.addConnect(connect16)

Transform14.setIS(IS15)

ProtoBody13.addChildren(Transform14)

ProtoDeclare8.setProtoBody(ProtoBody13)

Scene7.addChildren(ProtoDeclare8)
Exemplo n.º 25
0
            x3dpsail.ProtoBody().addChild(x3dpsail.Transform().setDEF(
                x3dpsail.SFString("transform")).setIS(x3dpsail.IS().addConnect(
                    x3dpsail.connect().setNodeField(
                        x3dpsail.SFString("translation")).setProtoField(
                            x3dpsail.SFString("position"))
                )).addChild(
                    x3dpsail.Shape().setGeometry(
                        x3dpsail.Sphere()).setAppearance(
                            x3dpsail.Appearance().setMaterial(
                                x3dpsail.Material().setDiffuseColor(
                                    x3dpsail.SFColor(1, 0, 0))))
                ).addChild(x3dpsail.Transform().setTranslation(
                    x3dpsail.SFVec3f(1, 0, 0)).addChild(
                        x3dpsail.Shape().setGeometry(x3dpsail.Text().setString(
                            x3dpsail.MFString(["Node"])).setFontStyle(
                                x3dpsail.FontStyle().setJustify(
                                    x3dpsail.MFString(["MIDDLE",
                                                       "MIDDLE"])).setSize(
                                                           x3dpsail.SFFloat(5))
                            )).setAppearance(x3dpsail.Appearance().setMaterial(
                                x3dpsail.Material().setDiffuseColor(
                                    x3dpsail.SFColor(0, 0, 1))))))).
            addChild(x3dpsail.PositionInterpolator().setDEF(
                x3dpsail.SFString("NodePosition")).setKey(
                    x3dpsail.MFFloat([0, 1])).setKeyValue(
                        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(
                    x3dpsail.SFTime(3)).setLoop(x3dpsail.SFBool(
                        True))).addChild(x3dpsail.ROUTE().setFromNode(
                            x3dpsail.SFString("nodeClock")).setFromField(
                                x3dpsail.SFString("cycleTime")).setToNode(
                                    x3dpsail.SFString("MoveBall")).setToField(
                                        x3dpsail.SFString("set_cycle"))).
            addChild(x3dpsail.ROUTE().setFromNode(
                x3dpsail.SFString("nodeClock")).setFromField(
                    x3dpsail.SFString("fraction_changed")).setToNode(
                        x3dpsail.SFString("NodePosition")).setToField(
                            x3dpsail.SFString("set_fraction"))
                     ).addChild(x3dpsail.ROUTE().setFromNode(
                         x3dpsail.SFString("MoveBall")).setFromField(
                             x3dpsail.SFString("keyValue")).setToNode(
                                 x3dpsail.SFString("NodePosition")).setToField(
                                     x3dpsail.SFString("keyValue"))).
            addChild(x3dpsail.ROUTE().setFromNode(
                x3dpsail.SFString("NodePosition")).setFromField(
                    x3dpsail.SFString("value_changed")).setToNode(
                        x3dpsail.SFString("transform")).setToField(
                            x3dpsail.SFString("set_translation")))
Exemplo n.º 26
0
                 x3dpsail.field().setName(
                     x3dpsail.SFString("vertex")).setAccessType(
                         x3dpsail.SFString("inputOutput")).setType(
                             x3dpsail.SFString("MFString"))
             ).addField(x3dpsail.field().setName(
                 x3dpsail.SFString("fragment")).setAccessType(
                     x3dpsail.SFString("inputOutput")).setType(
                         x3dpsail.SFString("MFString")))).
 addChild(x3dpsail.ProtoDeclare().setName(
     x3dpsail.SFString("flower")).setProtoBody(
         x3dpsail.ProtoBody().addChild(x3dpsail.Group().addChild(
             x3dpsail.ProtoInstance().setName(
                 x3dpsail.SFString("FlowerProto")
             ).addFieldValue(x3dpsail.fieldValue().setName(
                 x3dpsail.SFString("vertex")).setValue(
                     x3dpsail.SFString(
                         "\"../shaders/x3dom_flowers_chromatic.vs\"")
                 )).addFieldValue(x3dpsail.fieldValue().setName(
                     x3dpsail.SFString("fragment")).setValue(
                         x3dpsail.SFString(
                             "\"../shaders/common.fs\""))))))).addChild(
                                 x3dpsail.ProtoInstance().setName(
                                     x3dpsail.SFString("flower"))).
 addChild(x3dpsail.ProtoInstance().setName(
     x3dpsail.SFString("flower"))).addChild(
         x3dpsail.ProtoInstance().setName(
             x3dpsail.SFString("flower"))).addChild(
                 x3dpsail.ProtoInstance().setName(
                     x3dpsail.SFString("flower"))).addChild(
                         x3dpsail.ProtoInstance().setName(
                             x3dpsail.SFString("flower"))).addChild(
Exemplo n.º 27
0
          .setProtoBody(x3dpsail.ProtoBody()
            #First node determines node type of this prototype

            #IndexedFaceset creates arch

            .addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("ArchTransform"))
              .addChild(x3dpsail.Shape().setDEF(x3dpsail.SFString("Arch"))
                #note that convex='false' (meaning concave geometry) is crucial for this IFS of a geometric chord to render properly

                .setGeometry(x3dpsail.IndexedFaceSet().setDEF(x3dpsail.SFString("ArchIndex")).setConvex(x3dpsail.SFBool(False)).setSolid(x3dpsail.SFBool(False))
                  .setCoord(x3dpsail.Coordinate().setDEF(x3dpsail.SFString("ArchChord"))))
                .setAppearance(x3dpsail.Appearance()
                  .setMaterial(x3dpsail.Material().setDEF(x3dpsail.SFString("MaterialNode"))
                    .setIS(x3dpsail.IS()
                      .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("emissiveColor")).setProtoField(x3dpsail.SFString("emissiveColor")))
                      .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("diffuseColor")).setProtoField(x3dpsail.SFString("diffuseColor"))))))))
            #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

            .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("ArchPrototypeScript")).setUrl(x3dpsail.MFString(["../node/ArchPrototypeScript.js"]))
              #INPUT PARAMETERS

              #General parameters

              #Parameters to create to create shapes related to arch: put true to apply

              #OUTPUT PARAMETERS

              .addField(x3dpsail.field().setName(x3dpsail.SFString("clearSpanWidth")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for clearSpanWidth parameter")).setType(x3dpsail.SFString("SFFloat")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("riseHeight")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for riseHeight parameter")).setType(x3dpsail.SFString("SFFloat")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("depth")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for depth parameter")).setType(x3dpsail.SFString("SFFloat")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("topAbutmentHeight")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for topAbutmentHeight parameter")).setType(x3dpsail.SFString("SFFloat")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("pierWidth")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for pierWidth parameter")).setType(x3dpsail.SFString("SFFloat")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("pierHeight")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for pierHeight parameter")).setType(x3dpsail.SFString("SFFloat")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("archHalf")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for archHalf parameter")).setType(x3dpsail.SFString("SFBool")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("archHalfExtensionWidth")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for archHalfExtensionWidth parameter")).setType(x3dpsail.SFString("SFFloat")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("onlyIntrados")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for onlyIntrados parameter")).setType(x3dpsail.SFString("SFBool")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("archFilled")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for archFilled parameter")).setType(x3dpsail.SFString("SFBool")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("archHalfFilled")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for archHalfFilled parameter")).setType(x3dpsail.SFString("SFBool")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("lintel")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("user or default input for lintel parameter")).setType(x3dpsail.SFString("SFBool")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("computedScale")).setAccessType(x3dpsail.SFString("outputOnly")).setAppinfo(x3dpsail.SFString("computedScale: modify scale field - NOTE it is not used to modify the whole arch, but to modify clearSpanWidth, riseHeight, depth. It does not affect topAbutmentHeight, pierWidth, pierHeight, archHalfExtensionWidth")).setType(x3dpsail.SFString("SFVec3f")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("pointOut")).setAccessType(x3dpsail.SFString("outputOnly")).setAppinfo(x3dpsail.SFString("send computed points to the Coordinate node")).setType(x3dpsail.SFString("MFVec3f")))
              .addField(x3dpsail.field().setName(x3dpsail.SFString("indexOut")).setAccessType(x3dpsail.SFString("outputOnly")).setAppinfo(x3dpsail.SFString("send computed indices to the IndexedFaceSet node")).setType(x3dpsail.SFString("MFInt32")))
              .setIS(x3dpsail.IS()
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("clearSpanWidth")).setProtoField(x3dpsail.SFString("clearSpanWidth")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("riseHeight")).setProtoField(x3dpsail.SFString("riseHeight")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("depth")).setProtoField(x3dpsail.SFString("depth")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("pierWidth")).setProtoField(x3dpsail.SFString("pierWidth")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("topAbutmentHeight")).setProtoField(x3dpsail.SFString("topAbutmentHeight")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("pierHeight")).setProtoField(x3dpsail.SFString("pierHeight")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("archHalf")).setProtoField(x3dpsail.SFString("archHalf")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("archHalfExtensionWidth")).setProtoField(x3dpsail.SFString("archHalfExtensionWidth")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("onlyIntrados")).setProtoField(x3dpsail.SFString("onlyIntrados")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("archFilled")).setProtoField(x3dpsail.SFString("archFilled")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("archHalfFilled")).setProtoField(x3dpsail.SFString("archHalfFilled")))
                .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("lintel")).setProtoField(x3dpsail.SFString("lintel")))))
            .addChild(x3dpsail.ROUTE().setFromField(x3dpsail.SFString("computedScale")).setFromNode(x3dpsail.SFString("ArchPrototypeScript")).setToField(x3dpsail.SFString("scale")).setToNode(x3dpsail.SFString("ArchTransform")))
            .addChild(x3dpsail.ROUTE().setFromField(x3dpsail.SFString("pointOut")).setFromNode(x3dpsail.SFString("ArchPrototypeScript")).setToField(x3dpsail.SFString("point")).setToNode(x3dpsail.SFString("ArchChord")))
            .addChild(x3dpsail.ROUTE().setFromField(x3dpsail.SFString("indexOut")).setFromNode(x3dpsail.SFString("ArchPrototypeScript")).setToField(x3dpsail.SFString("set_coordIndex")).setToNode(x3dpsail.SFString("ArchIndex")))))