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) ProtoBody15.addChildren(Group16) ProtoDeclare14.setProtoBody(ProtoBody15)
" 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"+ " }''') ProtoBody38.addChildren(Script39) ProtoDeclare30.setProtoBody(ProtoBody38) Scene7.addChildren(ProtoDeclare30) ProtoInstance53 = x3dpsail.ProtoInstance() ProtoInstance53.setName("x3dconnector") ProtoInstance53.setDEF("connector1") fieldValue54 = x3dpsail.fieldValue() fieldValue54.setName("startnode") Transform55 = x3dpsail.Transform() Transform55.setUSE("G1") fieldValue54.addChildren(Transform55) ProtoInstance53.addFieldValue(fieldValue54) fieldValue56 = x3dpsail.fieldValue() fieldValue56.setName("endnode") Transform57 = x3dpsail.Transform() Transform57.setUSE("G2") fieldValue56.addChildren(Transform57) ProtoInstance53.addFieldValue(fieldValue56)
Scene7.addChildren(ProtoInstance61) ProtoInstance62 = x3dpsail.ProtoInstance() ProtoInstance62.setName("point") ProtoInstance62.setDEF("G3") Scene7.addChildren(ProtoInstance62) ProtoInstance63 = x3dpsail.ProtoInstance() ProtoInstance63.setName("point") ProtoInstance63.setDEF("G4") Scene7.addChildren(ProtoInstance63) ProtoInstance64 = x3dpsail.ProtoInstance() ProtoInstance64.setName("x3dconnector") ProtoInstance64.setDEF("connector1") fieldValue65 = x3dpsail.fieldValue() fieldValue65.setName("startnode") ProtoInstance66 = x3dpsail.ProtoInstance() ProtoInstance66.setUSE("G1") fieldValue65.addChildren(ProtoInstance66) ProtoInstance64.addFieldValue(fieldValue65) fieldValue67 = x3dpsail.fieldValue() fieldValue67.setName("endnode") ProtoInstance68 = x3dpsail.ProtoInstance() ProtoInstance68.setUSE("G2") fieldValue67.addChildren(ProtoInstance68) ProtoInstance64.addFieldValue(fieldValue67)
ProtoBody30.addChildren(ROUTE70) ROUTE71 = x3dpsail.ROUTE() ROUTE71.setFromField("indexOut") ROUTE71.setFromNode("ArchPrototypeScript") ROUTE71.setToField("set_coordIndex") ROUTE71.setToNode("ArchIndex") ProtoBody30.addChildren(ROUTE71) ProtoDeclare14.setProtoBody(ProtoBody30) Scene13.addChildren(ProtoDeclare14) ProtoInstance72 = x3dpsail.ProtoInstance() ProtoInstance72.setName("ArchPrototype") ProtoInstance72.setDEF("ArchInstance") fieldValue73 = x3dpsail.fieldValue() fieldValue73.setName("diffuseColor") fieldValue73.setValue("0.5 0.3 0.6") ProtoInstance72.addFieldValue(fieldValue73) fieldValue74 = x3dpsail.fieldValue() fieldValue74.setName("emissiveColor") fieldValue74.setValue("0.5 0.3 0.6") ProtoInstance72.addFieldValue(fieldValue74) fieldValue75 = x3dpsail.fieldValue() fieldValue75.setName("clearSpanWidth") fieldValue75.setValue("5") ProtoInstance72.addFieldValue(fieldValue75) fieldValue76 = x3dpsail.fieldValue()
x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("MFNode")). addChild(x3dpsail.Shape().setGeometry( x3dpsail.Cylinder()).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("ytranslation")))). addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("anyShape")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("xtranslation")).setValue( x3dpsail.SFString("0 0 0")) ).setIS(x3dpsail.IS().addConnect( x3dpsail.connect().setNodeField( x3dpsail.SFString("myShape")).setProtoField( x3dpsail.SFString("myShape")) ))).addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("anyShape")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("xtranslation")).setValue( x3dpsail.SFString("2 0 0")) ).setIS(x3dpsail.IS().addConnect( x3dpsail.connect().setNodeField( x3dpsail.SFString("myShape")).setProtoField( x3dpsail.SFString("myShape"))))). addChild(x3dpsail.ProtoInstance().setName(
Scene7.addChildren(ProtoDeclare32) ProtoInstance60 = x3dpsail.ProtoInstance() ProtoInstance60.setName("point") ProtoInstance60.setDEF("G1") Scene7.addChildren(ProtoInstance60) ProtoInstance61 = x3dpsail.ProtoInstance() ProtoInstance61.setName("point") ProtoInstance61.setDEF("G2") Scene7.addChildren(ProtoInstance61) ProtoInstance62 = x3dpsail.ProtoInstance() ProtoInstance62.setName("x3dconnector") ProtoInstance62.setDEF("connector1") fieldValue63 = x3dpsail.fieldValue() fieldValue63.setName("startnode") ProtoInstance64 = x3dpsail.ProtoInstance() ProtoInstance64.setUSE("G1") fieldValue63.addChildren(ProtoInstance64) ProtoInstance62.addFieldValue(fieldValue63) fieldValue65 = x3dpsail.fieldValue() fieldValue65.setName("endnode") ProtoInstance66 = x3dpsail.ProtoInstance() ProtoInstance66.setUSE("G2") fieldValue65.addChildren(ProtoInstance66) ProtoInstance62.addFieldValue(fieldValue65)
0.6, 0.1, 0.1, 0.6, 0.1, 0.25, 0.8, 0.6, 0.6, 0.9 ]))).addChild(x3dpsail.Viewpoint().setDescription( x3dpsail.SFString("Heads-up display (HUD)"))) #ProtoDeclare is the \"cookie cutter\" template, ProtoInstance creates an actual occurrence .addChild( x3dpsail.ProtoInstance().setName( x3dpsail.SFString("HeadsUpDisplay")).setDEF( x3dpsail.SFString("HeadsUpDisplayInstance")) #example: upper left-hand corner of screen (x=-2, y=1) and set back z=-5 from user view .addFieldValue(x3dpsail.fieldValue().setName( x3dpsail.SFString("screenOffset")).setValue( x3dpsail.SFString("-0.75 1 -5"))). addFieldValue(x3dpsail.fieldValue().setName( x3dpsail.SFString("children")).addChild( x3dpsail.Shape().setGeometry(x3dpsail.Text().setString( x3dpsail.MFString([ "HUD text stays fixed", "while user navigates" ])).setFontStyle(x3dpsail.FontStyle().setJustify( x3dpsail.MFString(["MIDDLE", "MIDDLE"])).setSize( x3dpsail.SFFloat(0.3)))).setAppearance( x3dpsail.Appearance().setMaterial( x3dpsail.Material().setDiffuseColor( x3dpsail.SFColor( 0.894118, 0.819608, 1))))))). addChild(x3dpsail.Inline().setUrl(
" 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"+ " }''') ProtoBody64.addChildren(Script65) ProtoDeclare56.setProtoBody(ProtoBody64) Scene7.addChildren(ProtoDeclare56) ProtoInstance79 = x3dpsail.ProtoInstance() ProtoInstance79.setName("x3dconnector") ProtoInstance79.setDEF("connector1") fieldValue80 = x3dpsail.fieldValue() fieldValue80.setName("startnode") Transform81 = x3dpsail.Transform() Transform81.setUSE("G1") fieldValue80.addChildren(Transform81) ProtoInstance79.addFieldValue(fieldValue80) fieldValue82 = x3dpsail.fieldValue() fieldValue82.setName("endnode") Transform83 = x3dpsail.Transform() Transform83.setUSE("G2") fieldValue82.addChildren(Transform83) ProtoInstance79.addFieldValue(fieldValue82)
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/freewrl_flowers_chromatic.vs\"") )).addFieldValue(x3dpsail.fieldValue().setName( x3dpsail.SFString("fragment")).setValue( x3dpsail.SFString("\"../shaders/freewrl.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.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"))))))
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"))) ).setProtoBody(x3dpsail.ProtoBody().addChild( x3dpsail.Transform().setIS(x3dpsail.IS().addConnect( x3dpsail.connect().setNodeField( x3dpsail.SFString("translation")).setProtoField( x3dpsail.SFString("ytranslation")))). addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("sphere")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("xtranslation")).setValue( x3dpsail.SFString("0 0 0")))). addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("sphere")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("xtranslation")).setValue( x3dpsail.SFString("2 0 0")))). addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("sphere")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("xtranslation")).setValue( x3dpsail.SFString("-2 0 0"))))))). addChild(x3dpsail.ProtoDeclare( ).setName(x3dpsail.SFString("nine")).setProtoInterface( x3dpsail.ProtoInterface().addField(x3dpsail.field().setName( x3dpsail.SFString("ztranslation")).setAccessType(
Shape55.setAppearance(Appearance57) Collision54.setProxy(Shape55) Group59 = x3dpsail.Group() Group59.setUSE("ExampleChildElement") Collision54.setProxy(Group59) Scene17.addChildren(Collision54) Transform60 = x3dpsail.Transform() Transform60.setTranslation([0, -2.5, 0]) Shape61 = x3dpsail.Shape() Appearance62 = x3dpsail.Appearance() ProtoInstance63 = x3dpsail.ProtoInstance() ProtoInstance63.setName("EmissiveMaterial") fieldValue64 = x3dpsail.fieldValue() fieldValue64.setName("onlyColor") fieldValue64.setValue("0.2 0.6 0.6") ProtoInstance63.addFieldValue(fieldValue64) Appearance62.setMaterial(ProtoInstance63) Shape61.setAppearance(Appearance62) Text65 = x3dpsail.Text() Text65.setString([ "X3D Header Prototype syntax examples", "(view console for EXTERNPROTO output)" ]) FontStyle66 = x3dpsail.FontStyle() FontStyle66.setJustify(["MIDDLE", "MIDDLE"])
ROUTE48.setFromNode("MoveCylinder") ROUTE48.setFromField("spine") ROUTE48.setToNode("extrusion") ROUTE48.setToField("set_spine") ProtoBody36.addChildren(ROUTE48) ProtoDeclare32.setProtoBody(ProtoBody36) Scene9.addChildren(ProtoDeclare32) Transform49 = x3dpsail.Transform() Transform49.setScale([0.1,0.1,0.1]) ProtoInstance50 = x3dpsail.ProtoInstance() ProtoInstance50.setName("node") ProtoInstance50.setDEF("nodeA") fieldValue51 = x3dpsail.fieldValue() fieldValue51.setName("position") fieldValue51.setValue("-50 -50 -50") ProtoInstance50.addFieldValue(fieldValue51) Transform49.addChildren(ProtoInstance50) ProtoInstance52 = x3dpsail.ProtoInstance() ProtoInstance52.setName("node") ProtoInstance52.setDEF("nodeB") fieldValue53 = x3dpsail.fieldValue() fieldValue53.setName("position") fieldValue53.setValue("50 50 50") ProtoInstance52.addFieldValue(fieldValue53)
Scene8.addChildren(ProtoDeclare37) Transform54 = x3dpsail.Transform() Transform54.setDEF("HoldsContent") Transform54.setScale([0.1, 0.1, 0.1]) PlaneSensor55 = x3dpsail.PlaneSensor() PlaneSensor55.setDEF("clickGenerator") PlaneSensor55.setMinPosition([-50, -50]) PlaneSensor55.setMaxPosition([50, 50]) PlaneSensor55.setDescription( "click on background to add nodes, click on nodes to add links") Transform54.addChildren(PlaneSensor55) ProtoInstance56 = x3dpsail.ProtoInstance() ProtoInstance56.setName("node") ProtoInstance56.setDEF("nodeA") fieldValue57 = x3dpsail.fieldValue() fieldValue57.setName("position") fieldValue57.setValue("0 0 0") ProtoInstance56.addFieldValue(fieldValue57) Transform54.addChildren(ProtoInstance56) ProtoInstance58 = x3dpsail.ProtoInstance() ProtoInstance58.setName("node") ProtoInstance58.setDEF("nodeB") fieldValue59 = x3dpsail.fieldValue() fieldValue59.setName("position") fieldValue59.setValue("50 50 50") ProtoInstance58.addFieldValue(fieldValue59)
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( x3dpsail.SFString("myShape")))))))). addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("one")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("myShape")).addChild( x3dpsail.Shape().setGeometry( x3dpsail.Box().setSize( x3dpsail.SFVec3f(140, 140, 140)))))))) X3D0.toFileX3D("./future/./abox_RoundTrip.x3d")
" 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"+ " }''') ))) .addChild(x3dpsail.ProtoInstance().setName(x3dpsail.SFString("x3dconnector")).setDEF(x3dpsail.SFString("connector1")) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("startnode")) .addChild(x3dpsail.Transform().setUSE(x3dpsail.SFString("G1")))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("endnode")) .addChild(x3dpsail.Transform().setUSE(x3dpsail.SFString("G2")))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("transnode")) .addChild(x3dpsail.Transform().setUSE(x3dpsail.SFString("transC1")))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("rotscalenode")) .addChild(x3dpsail.Transform().setUSE(x3dpsail.SFString("rotscaleC1")))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("set_startpoint"))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("set_endpoint")))) .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("G1")).setFromField(x3dpsail.SFString("translation_changed")).setToNode(x3dpsail.SFString("connector1")).setToField(x3dpsail.SFString("set_startpoint"))) .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("G2")).setFromField(x3dpsail.SFString("translation_changed")).setToNode(x3dpsail.SFString("connector1")).setToField(x3dpsail.SFString("set_endpoint"))))) X3D0.toFileX3D("./future/./x3dconnector_RoundTrip.x3d")
Background21.setSkyColor([ 0.8, 0.8, 0.2, 0.8, 0.8, 0.2, 0.1, 0.1, 0.6, 0.1, 0.1, 0.6, 0.1, 0.25, 0.8, 0.6, 0.6, 0.9 ]) Scene15.addChildren(Background21) Viewpoint22 = x3dpsail.Viewpoint() Viewpoint22.setDescription("Heads-up display (HUD)") Scene15.addChildren(Viewpoint22) #ProtoDeclare is the \"cookie cutter\" template, ProtoInstance creates an actual occurrence ProtoInstance23 = x3dpsail.ProtoInstance() ProtoInstance23.setName("HeadsUpDisplay") ProtoInstance23.setDEF("HeadsUpDisplayInstance") #example: upper left-hand corner of screen (x=-2, y=1) and set back z=-5 from user view fieldValue24 = x3dpsail.fieldValue() fieldValue24.setName("screenOffset") fieldValue24.setValue("-0.75 1 -5") ProtoInstance23.addFieldValue(fieldValue24) fieldValue25 = x3dpsail.fieldValue() fieldValue25.setName("children") Shape26 = x3dpsail.Shape() Text27 = x3dpsail.Text() Text27.setString(["HUD text stays fixed", "while user navigates"]) FontStyle28 = x3dpsail.FontStyle() FontStyle28.setJustify(["MIDDLE", "MIDDLE"]) FontStyle28.setSize(0.3) Text27.setFontStyle(FontStyle28)
).setMinPosition(x3dpsail.SFVec2f( -50, -50 )).setMaxPosition(x3dpsail.SFVec2f( 50, 50 )).setDescription( x3dpsail .SFString( "click on background to add nodes, click on nodes to add links" ))).addChild( x3dpsail.ProtoInstance().setName( x3dpsail.SFString("node")).setDEF( x3dpsail.SFString("nodeA")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("position")).setValue( x3dpsail.SFString("0 0 0"))) ).addChild( x3dpsail.ProtoInstance().setName( x3dpsail.SFString("node")).setDEF( x3dpsail.SFString("nodeB")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("position")).setValue( x3dpsail.SFString("50 50 50"))) ).addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("cylinder")).setDEF( x3dpsail.SFString("linkA") ).addFieldValue(x3dpsail.fieldValue().setName( x3dpsail.SFString("set_positionA")).setValue( x3dpsail.SFString("0 0 0"))).addFieldValue( x3dpsail.fieldValue().setName(
ProtoInterface24.addField(field26) ProtoDeclare23.setProtoInterface(ProtoInterface24) ProtoBody31 = x3dpsail.ProtoBody() Transform32 = x3dpsail.Transform() IS33 = x3dpsail.IS() connect34 = x3dpsail.connect() connect34.setNodeField("translation") connect34.setProtoField("ytranslation") IS33.addConnect(connect34) Transform32.setIS(IS33) ProtoInstance35 = x3dpsail.ProtoInstance() ProtoInstance35.setName("anyShape") fieldValue36 = x3dpsail.fieldValue() fieldValue36.setName("xtranslation") fieldValue36.setValue("0 0 0") ProtoInstance35.addFieldValue(fieldValue36) IS37 = x3dpsail.IS() connect38 = x3dpsail.connect() connect38.setNodeField("myShape") connect38.setProtoField("myShape") IS37.addConnect(connect38) ProtoInstance35.setIS(IS37) Transform32.addChildren(ProtoInstance35) ProtoInstance39 = x3dpsail.ProtoInstance()
ProtoInterface22.addField(field23) ProtoDeclare21.setProtoInterface(ProtoInterface22) ProtoBody24 = x3dpsail.ProtoBody() Transform25 = x3dpsail.Transform() IS26 = x3dpsail.IS() connect27 = x3dpsail.connect() connect27.setNodeField("translation") connect27.setProtoField("ytranslation") IS26.addConnect(connect27) Transform25.setIS(IS26) ProtoInstance28 = x3dpsail.ProtoInstance() ProtoInstance28.setName("sphere") fieldValue29 = x3dpsail.fieldValue() fieldValue29.setName("xtranslation") fieldValue29.setValue("0 0 0") ProtoInstance28.addFieldValue(fieldValue29) Transform25.addChildren(ProtoInstance28) ProtoInstance30 = x3dpsail.ProtoInstance() ProtoInstance30.setName("sphere") fieldValue31 = x3dpsail.fieldValue() fieldValue31.setName("xtranslation") fieldValue31.setValue("2 0 0") ProtoInstance30.addFieldValue(fieldValue31) Transform25.addChildren(ProtoInstance30)
ProtoInterface25.addField(field27) ProtoDeclare24.setProtoInterface(ProtoInterface25) ProtoBody29 = x3dpsail.ProtoBody() Transform30 = x3dpsail.Transform() IS31 = x3dpsail.IS() connect32 = x3dpsail.connect() connect32.setNodeField("translation") connect32.setProtoField("ytranslation") IS31.addConnect(connect32) Transform30.setIS(IS31) ProtoInstance33 = x3dpsail.ProtoInstance() ProtoInstance33.setName("anyShape") fieldValue34 = x3dpsail.fieldValue() fieldValue34.setName("xtranslation") fieldValue34.setValue("0 0 0") ProtoInstance33.addFieldValue(fieldValue34) IS35 = x3dpsail.IS() connect36 = x3dpsail.connect() connect36.setNodeField("myShape") connect36.setProtoField("myShape") IS35.addConnect(connect36) ProtoInstance33.setIS(IS35) Transform30.addChildren(ProtoInstance33) ProtoInstance37 = x3dpsail.ProtoInstance()
ProtoInterface24.addField(field26) ProtoDeclare23.setProtoInterface(ProtoInterface24) ProtoBody31 = x3dpsail.ProtoBody() Transform32 = x3dpsail.Transform() IS33 = x3dpsail.IS() connect34 = x3dpsail.connect() connect34.setNodeField("translation") connect34.setProtoField("ytranslation") IS33.addConnect(connect34) Transform32.setIS(IS33) ProtoInstance35 = x3dpsail.ProtoInstance() ProtoInstance35.setName("anyShape") fieldValue36 = x3dpsail.fieldValue() fieldValue36.setName("xtranslation") fieldValue36.setValue("0 0 0") ProtoInstance35.addFieldValue(fieldValue36) IS37 = x3dpsail.IS() connect38 = x3dpsail.connect() connect38.setNodeField("myShape") connect38.setProtoField("myShape") IS37.addConnect(connect38) ProtoInstance35.setIS(IS37) Transform32.addChildren(ProtoInstance35) ProtoInstance39 = x3dpsail.ProtoInstance()
Scene8.addChildren(ProtoDeclare38) Transform56 = x3dpsail.Transform() Transform56.setDEF("HoldsContent") Transform56.setScale([0.1,0.1,0.1]) PlaneSensor57 = x3dpsail.PlaneSensor() PlaneSensor57.setDEF("clickGenerator") PlaneSensor57.setMinPosition([-50,-50]) PlaneSensor57.setMaxPosition([50,50]) PlaneSensor57.setDescription("click on background to add nodes, click on nodes to add links") Transform56.addChildren(PlaneSensor57) ProtoInstance58 = x3dpsail.ProtoInstance() ProtoInstance58.setName("node") ProtoInstance58.setDEF("nodeA") fieldValue59 = x3dpsail.fieldValue() fieldValue59.setName("position") fieldValue59.setValue("0 0 0") ProtoInstance58.addFieldValue(fieldValue59) Transform56.addChildren(ProtoInstance58) ProtoInstance60 = x3dpsail.ProtoInstance() ProtoInstance60.setName("node") ProtoInstance60.setDEF("nodeB") fieldValue61 = x3dpsail.fieldValue() fieldValue61.setName("position") fieldValue61.setValue("50 50 50") ProtoInstance60.addFieldValue(fieldValue61)
Scene7.addChildren(ProtoInstance74) ProtoInstance75 = x3dpsail.ProtoInstance() ProtoInstance75.setName("point") ProtoInstance75.setDEF("G3") Scene7.addChildren(ProtoInstance75) ProtoInstance76 = x3dpsail.ProtoInstance() ProtoInstance76.setName("point") ProtoInstance76.setDEF("G4") Scene7.addChildren(ProtoInstance76) ProtoInstance77 = x3dpsail.ProtoInstance() ProtoInstance77.setName("x3dconnector") ProtoInstance77.setDEF("connector1") fieldValue78 = x3dpsail.fieldValue() fieldValue78.setName("startnode") ProtoInstance79 = x3dpsail.ProtoInstance() ProtoInstance79.setUSE("G1") fieldValue78.addChildren(ProtoInstance79) ProtoInstance77.addFieldValue(fieldValue78) fieldValue80 = x3dpsail.fieldValue() fieldValue80.setName("endnode") ProtoInstance81 = x3dpsail.ProtoInstance() ProtoInstance81.setUSE("G2") fieldValue80.addChildren(ProtoInstance81) ProtoInstance77.addFieldValue(fieldValue80)
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("ytranslation")))). addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("anyShape")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("xtranslation")).setValue( x3dpsail.SFString("0 0 0")) ).setIS(x3dpsail.IS().addConnect( x3dpsail.connect().setNodeField( x3dpsail.SFString("myShape")).setProtoField( x3dpsail.SFString("myShape")) ))).addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("anyShape")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("xtranslation")).setValue( x3dpsail.SFString("2 0 0")) ).setIS(x3dpsail.IS().addConnect( x3dpsail.connect().setNodeField( x3dpsail.SFString("myShape")).setProtoField( x3dpsail.SFString("myShape"))))). addChild(x3dpsail.ProtoInstance().setName(
connect26.setProtoField("myShape") IS25.addConnect(connect26) ProtoInstance24.setIS(IS25) Transform23.addChildren(ProtoInstance24) ProtoBody22.addChildren(Transform23) ProtoDeclare17.setProtoBody(ProtoBody22) Scene7.addChildren(ProtoDeclare17) ProtoInstance27 = x3dpsail.ProtoInstance() ProtoInstance27.setName("one") fieldValue28 = x3dpsail.fieldValue() fieldValue28.setName("myShape") Shape29 = x3dpsail.Shape() Box30 = x3dpsail.Box() Box30.setSize([140,140,140]) Shape29.setGeometry(Box30) fieldValue28.addChildren(Shape29) ProtoInstance27.addFieldValue(fieldValue28) Scene7.addChildren(ProtoInstance27) X3D0.setScene(Scene7) X3D0.toFileX3D("././abox_RoundTrip.x3d")
#alternative: Text string='\"He said, \\"Immel did it!\\"\"' .setGeometry(x3dpsail.Text().setString( x3dpsail.MFString([ "He said, \"Immel did it!\"" ]))).setAppearance(x3dpsail.Appearance().setMaterial( x3dpsail.Material()))).setProxy( x3dpsail.Group().setUSE( x3dpsail.SFString("ExampleChildElement")))). addChild(x3dpsail.Transform().setTranslation( x3dpsail.SFVec3f(0, -2.5, 0) ).addChild(x3dpsail.Shape().setAppearance( x3dpsail.Appearance().setMaterial( x3dpsail.ProtoInstance().setName( x3dpsail.SFString("EmissiveMaterial")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("onlyColor")).setValue( x3dpsail.SFString("0.2 0.6 0.6")))) ).setGeometry(x3dpsail.Text().setString( x3dpsail.MFString([ "X3D Header Prototype syntax examples", "(view console for EXTERNPROTO output)" ])).setFontStyle(x3dpsail.FontStyle().setJustify( x3dpsail.MFString(["MIDDLE", "MIDDLE" ])).setSize(x3dpsail.SFFloat(0.6)))))). addChild(x3dpsail.ProtoInstance().setName( x3dpsail.SFString("ViewPositionOrientation")).addFieldValue( x3dpsail.fieldValue().setName( x3dpsail.SFString("enabled")).setValue( x3dpsail.SFString("true")) )).addChild(x3dpsail.TimeSensor().setDEF( x3dpsail.SFString("Clock")).setCycleInterval(
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(
.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"))))) .addChild(x3dpsail.ProtoInstance().setName(x3dpsail.SFString("ArchPrototype")).setDEF(x3dpsail.SFString("ArchInstance")) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("diffuseColor")).setValue(x3dpsail.SFString("0.5 0.3 0.6"))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("emissiveColor")).setValue(x3dpsail.SFString("0.5 0.3 0.6"))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("clearSpanWidth")).setValue(x3dpsail.SFString("5"))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("riseHeight")).setValue(x3dpsail.SFString("2.5"))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("depth")).setValue(x3dpsail.SFString("2"))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("topAbutmentHeight")).setValue(x3dpsail.SFString("0.6"))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("pierWidth")).setValue(x3dpsail.SFString("1"))) .addFieldValue(x3dpsail.fieldValue().setName(x3dpsail.SFString("pierHeight")).setValue(x3dpsail.SFString("2")))) #Add any ROUTEs here that connect ProtoInstance to/from prior nodes in Scene (and outside of ProtoDeclare) .addChild(x3dpsail.Inline().setDEF(x3dpsail.SFString("CoordinateAxes")).setUrl(x3dpsail.MFString(["../data/CoordinateAxes.x3d"]))))) X3D0.toFileX3D("./future/./ArchPrototype_RoundTrip.x3d")