예제 #1
0
Script65.addField(field69)
field70 = x3dpsail.field()
field70.setName("set_startpoint")
field70.setAccessType("inputOnly")
field70.setType("SFVec3f")

Script65.addField(field70)
field71 = x3dpsail.field()
field71.setName("set_endpoint")
field71.setAccessType("inputOnly")
field71.setType("SFVec3f")

Script65.addField(field71)
IS72 = x3dpsail.IS()
connect73 = x3dpsail.connect()
connect73.setNodeField("startnode")
connect73.setProtoField("startnode")

IS72.addConnect(connect73)
connect74 = x3dpsail.connect()
connect74.setNodeField("endnode")
connect74.setProtoField("endnode")

IS72.addConnect(connect74)
connect75 = x3dpsail.connect()
connect75.setNodeField("transnode")
connect75.setProtoField("transnode")

IS72.addConnect(connect75)
connect76 = x3dpsail.connect()
예제 #2
0
         )).addMeta(x3dpsail.meta().setName(
             x3dpsail.SFString("generator")).setContent(
                 x3dpsail.SFString(
                     "Vim, X3D-Edit, https://savage.nps.edu/X3D-Edit")))
 ).setScene(x3dpsail.Scene().addChild(x3dpsail.ProtoDeclare().setName(
     x3dpsail.SFString("node")).setProtoInterface(
         x3dpsail.ProtoInterface().addField(x3dpsail.field().setName(
             x3dpsail.SFString("position")).setAccessType(
                 x3dpsail.SFString("inputOutput")).setType(
                     x3dpsail.SFString("SFVec3f")).setValue(
                         x3dpsail.SFString("0 0 0")))
     ).setProtoBody(
         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))
예제 #3
0
Script39.addField(field43)
field44 = x3dpsail.field()
field44.setName("set_startpoint")
field44.setAccessType("inputOnly")
field44.setType("SFVec3f")

Script39.addField(field44)
field45 = x3dpsail.field()
field45.setName("set_endpoint")
field45.setAccessType("inputOnly")
field45.setType("SFVec3f")

Script39.addField(field45)
IS46 = x3dpsail.IS()
connect47 = x3dpsail.connect()
connect47.setNodeField("startnode")
connect47.setProtoField("startnode")

IS46.addConnect(connect47)
connect48 = x3dpsail.connect()
connect48.setNodeField("endnode")
connect48.setProtoField("endnode")

IS46.addConnect(connect48)
connect49 = x3dpsail.connect()
connect49.setNodeField("transnode")
connect49.setProtoField("transnode")

IS46.addConnect(connect49)
connect50 = x3dpsail.connect()
예제 #4
0
            .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"))))
          .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"+
예제 #5
0
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)
Appearance19 = x3dpsail.Appearance()
Material20 = x3dpsail.Material()
Material20.setDiffuseColor([1, 0, 0])
예제 #6
0
#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)

Shape32.setGeometry(IndexedFaceSet33)
Appearance35 = x3dpsail.Appearance()
Material36 = x3dpsail.Material()
Material36.setDEF("MaterialNode")
IS37 = x3dpsail.IS()
connect38 = x3dpsail.connect()
connect38.setNodeField("emissiveColor")
connect38.setProtoField("emissiveColor")

IS37.addConnect(connect38)
connect39 = x3dpsail.connect()
connect39.setNodeField("diffuseColor")
connect39.setProtoField("diffuseColor")

IS37.addConnect(connect39)

Material36.setIS(IS37)

Appearance35.setMaterial(Material36)

Shape32.setAppearance(Appearance35)
예제 #7
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")

IS20.addConnect(connect21)

Shape19.setIS(IS20)
예제 #8
0
field36.setAccessType("inputOutput")
field36.setValue("0.5")

ComposedShader26.addField(field36)
field37 = x3dpsail.field()
field37.setName("pdelta")
field37.setType("SFFloat")
field37.setAccessType("inputOutput")
field37.setValue("0.5")

ComposedShader26.addField(field37)
#<field name='cube' type='SFNode' accessType=\"inputOutput\"> <ComposedCubeMapTexture USE=\"texture\"/> </field>
ShaderPart38 = x3dpsail.ShaderPart()
ShaderPart38.setType("VERTEX")
IS39 = x3dpsail.IS()
connect40 = x3dpsail.connect()
connect40.setNodeField("url")
connect40.setProtoField("vertex")

IS39.addConnect(connect40)

ShaderPart38.setIS(IS39)

ComposedShader26.addParts(ShaderPart38)
ShaderPart41 = x3dpsail.ShaderPart()
ShaderPart41.setType("FRAGMENT")
IS42 = x3dpsail.IS()
connect43 = x3dpsail.connect()
connect43.setNodeField("url")
connect43.setProtoField("fragment")
예제 #9
0
             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(
예제 #10
0
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)

ProtoBody18.addChildren(Transform19)

ProtoDeclare10.setProtoBody(ProtoBody18)
예제 #11
0
 ).setScene(x3dpsail.Scene().addChild(x3dpsail.NavigationInfo().setType(
     x3dpsail.MFString(["EXAMINE"]))).addChild(
         x3dpsail.Viewpoint().setDescription(
             x3dpsail.SFString("Rubiks Cube")).setPosition(
                 x3dpsail.SFVec3f(0, 0, 12))
     ).addChild(x3dpsail.ProtoDeclare().setName(
         x3dpsail.SFString("sphere")).setProtoInterface(
             x3dpsail.ProtoInterface().addField(x3dpsail.field().setName(
                 x3dpsail.SFString("xtranslation")).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("xtranslation")))).addChild(
                             x3dpsail.Shape().setGeometry(x3dpsail.Sphere(
                             )).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")))
             ).setProtoBody(x3dpsail.ProtoBody().addChild(
field31 = x3dpsail.field()
field31.setName("onlyColor")
field31.setAccessType("inputOutput")
field31.setType("SFColor")
field31.setValue("1 0 0")

ProtoInterface30.addField(field31)

ProtoDeclare29.setProtoInterface(ProtoInterface30)
ProtoBody32 = x3dpsail.ProtoBody()
#Override default diffuseColor value 0.8 0.8 0.8
Material33 = x3dpsail.Material()
Material33.setDiffuseColor([0, 0, 0])
#Connect emissiveColor field of current node to onlyColor field of parent ProtoDeclare.
IS34 = x3dpsail.IS()
connect35 = x3dpsail.connect()
connect35.setNodeField("emissiveColor")
connect35.setProtoField("onlyColor")

IS34.addConnect(connect35)

Material33.setIS(IS34)

ProtoBody32.addChildren(Material33)

ProtoDeclare29.setProtoBody(ProtoBody32)

Scene17.addChildren(ProtoDeclare29)
ProtoDeclare36 = x3dpsail.ProtoDeclare()
ProtoDeclare36.setName("ShiftGroupUp2m")
ProtoInterface37 = x3dpsail.ProtoInterface()
예제 #13
0
ProtoDeclare10.setName("node")
ProtoInterface11 = x3dpsail.ProtoInterface()
field12 = x3dpsail.field()
field12.setName("position")
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("transform")
IS15 = x3dpsail.IS()
connect16 = x3dpsail.connect()
connect16.setNodeField("translation")
connect16.setProtoField("position")

IS15.addConnect(connect16)

Transform14.setIS(IS15)
Shape17 = x3dpsail.Shape()
#comment before Sphere
#comment after Sphere
#comment after Appearance
Sphere18 = x3dpsail.Sphere()

Shape17.setGeometry(Sphere18)
Appearance19 = x3dpsail.Appearance()
#comment before Material
예제 #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(
예제 #15
0
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()
Group13 = x3dpsail.Group()
Transform14 = x3dpsail.Transform()
Transform14.setDEF("transform")
IS15 = x3dpsail.IS()
connect16 = x3dpsail.connect()
connect16.setNodeField("translation")
connect16.setProtoField("position")

IS15.addConnect(connect16)

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

Shape17.setGeometry(Sphere18)
Appearance19 = x3dpsail.Appearance()
Material20 = x3dpsail.Material()
Material20.setDiffuseColor([1,0,0])

Appearance19.setMaterial(Material20)
예제 #16
0
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()
Material20.setDiffuseColor([1, 1, 1])

Appearance19.setMaterial(Material20)
예제 #17
0
  ).setName(x3dpsail.SFString("anyShape")).setProtoInterface(
      x3dpsail.ProtoInterface().addField(
          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"))).
예제 #18
0
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)

ProtoBody18.addChildren(Transform19)

ProtoDeclare10.setProtoBody(ProtoBody18)
예제 #19
0
     .field()
     .setName(x3dpsail.SFString("onlyColor"))
     .setAccessType(x3dpsail.SFString("inputOutput"))
     .setType(x3dpsail.SFString("SFColor"))
     .setValue(x3dpsail.SFString("1 0 0"))
 )).setProtoBody(
     x3dpsail.
     ProtoBody()
     #Override default diffuseColor value 0.8 0.8 0.8
     .addChild(
         x3dpsail.
         Material()
         .setDiffuseColor(x3dpsail.SFColor(0, 0, 0))
         #Connect emissiveColor field of current node to onlyColor field of parent ProtoDeclare.
         .setIS(x3dpsail.IS().addConnect(x3dpsail.connect().setNodeField(
             x3dpsail.
             SFString("emissiveColor")
         ).setProtoField(x3dpsail.SFString("onlyColor")))))
 )).addChild(x3dpsail.ProtoDeclare().setName(
     x3dpsail.
     SFString("ShiftGroupUp2m")
 ).setProtoInterface(x3dpsail.ProtoInterface().addField(x3dpsail.field(
 ).setName(x3dpsail.SFString(
     "children"
 )).setAccessType(x3dpsail.SFString(
     "inputOutput"
 )).setType(x3dpsail.SFString(
     "MFNode"
 )).addChild(
     x3dpsail
     .Group()
     .setDEF(x3dpsail.SFString("DefaultNodeValue"))
예제 #20
0
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)
Appearance37 = x3dpsail.Appearance()
Material38 = x3dpsail.Material()
Material38.setDiffuseColor([1, 0, 0])
예제 #21
0
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()
Material19 = x3dpsail.Material()
Material19.setDiffuseColor([1, 0, 0])

Appearance18.setMaterial(Material19)
예제 #22
0
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)
ProtoDeclare17 = x3dpsail.ProtoDeclare()
ProtoDeclare17.setName("one")
ProtoInterface18 = x3dpsail.ProtoInterface()
예제 #23
0
            .addField(x3dpsail.field().setName(x3dpsail.SFString("lintel")).setAccessType(x3dpsail.SFString("initializeOnly")).setAppinfo(x3dpsail.SFString("lintel: no arc is rendered, but a lintel: topAbutmentHeight on pierHeight, total height is pierHeight + topAbutmentHeight, if needed apply archHalf=true.")).setType(x3dpsail.SFString("SFBool")).setValue(x3dpsail.SFString("false"))))
          .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")))