x3dpsail.ProtoInterface().addField(x3dpsail.field().setName( x3dpsail.SFString("set_positionA")).setAccessType( x3dpsail.SFString("inputOnly")).setType( x3dpsail.SFString("SFVec3f") )).addField(x3dpsail.field().setName( x3dpsail.SFString("set_positionB")).setAccessType( x3dpsail.SFString("inputOnly")).setType( x3dpsail.SFString("SFVec3f"))) ).setProtoBody(x3dpsail.ProtoBody().addChild( x3dpsail.Shape().setGeometry(x3dpsail.Extrusion().setDEF( x3dpsail.SFString("extrusion")).setCreaseAngle( x3dpsail.SFFloat(0.785)).setCrossSection( x3dpsail.MFVec2f([ 1, 0, 0.92, -0.38, 0.71, -0.71, 0.38, -0.92, 0, -1, -0.38, -0.92, -0.71, -0.71, -0.92, -0.38, -1, 0, -0.92, 0.38, -0.71, 0.71, -0.38, 0.92, 0, 1, 0.38, 0.92, 0.71, 0.71, 0.92, 0.38, 1, 0 ])).setSpine( x3dpsail.MFVec3f([ 0, -50, 0, 0, 50, 0 ]))).setAppearance( x3dpsail.Appearance().setMaterial( x3dpsail.Material().setDiffuseColor( x3dpsail.SFColor(0, 1, 0)))) ).addChild(x3dpsail.Script().setDEF( x3dpsail.SFString("MoveCylinder")).addField( x3dpsail.field().setName( x3dpsail.SFString("spine")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("MFVec3f")).setValue(
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) Extrusion18.setCrossSection([1,0,0.92,-0.38,0.71,-0.71,0.38,-0.92,0,-1,-0.38,-0.92,-0.71,-0.71,-0.92,-0.38,-1,0,-0.92,0.38,-0.71,0.71,-0.38,0.92,0,1,0.38,0.92,0.71,0.71,0.92,0.38,1,0]) Extrusion18.setSpine([-2.5,0,0,-1.5,0,0]) Shape15.setGeometry(Extrusion18) Transform14.addChildren(Shape15) #<Transform translation=\"-2.5 0 0\"> <Shape> <Text DEF=\"LeftString\" string='\"l\"'/> </Shape> </Transform> <StringSensor DEF=\"LeftSensor\" enabled=\"false\"/> <TouchSensor DEF=\"LeftTouch\" enabled=\"true\"/> Group13.addChildren(Transform14) #right Transform19 = x3dpsail.Transform() Transform19.setScale([0.5,0.5,0.5]) Shape20 = x3dpsail.Shape() Appearance21 = x3dpsail.Appearance()
) )).addMeta(x3dpsail.meta().setName(x3dpsail.SFString("generator")).setContent( x3dpsail.SFString("X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit") )).addMeta(x3dpsail.meta().setName(x3dpsail.SFString("license")).setContent( x3dpsail.SFString("../license.html")))).setScene(x3dpsail.Scene().addChild( x3dpsail.Viewpoint().setDescription( x3dpsail.SFString("Extrusion Heart")).setOrientation( x3dpsail.SFRotation(1, 0, 0, 1.57)).setPosition( x3dpsail.SFVec3f(0, -4, 0)) ).addChild(x3dpsail.Transform().setTranslation(x3dpsail.SFVec3f( 0, -0.5, 0)).addChild( x3dpsail.Shape().setGeometry(x3dpsail.Extrusion().setCreaseAngle( x3dpsail.SFFloat(3.14159)).setCrossSection( x3dpsail.MFVec2f([ 0, 0.8, 0.2, 1, 0.7, 0.95, 1, 0.5, 0.8, 0, 0.5, -0.3, 0, -0.7, -0.5, -0.3, -0.8, 0, -1, 0.5, -0.7, 0.95, -0.2, 1, 0, 0.8 ])).setScale( x3dpsail.MFVec2f([ 0.01, 0.01, 0.8, 0.8, 1, 1, 0.8, 0.8, 0.01, 0.01 ])).setSolid(x3dpsail.SFBool(False)).setSpine( x3dpsail.MFVec3f([ 0, 0, 0, 0, 0.1, 0, 0, 0.5, 0, 0, 0.9, 0, 0, 1, 0 ]))).setAppearance( x3dpsail.Appearance().setMaterial( x3dpsail.Material().setDiffuseColor( x3dpsail.SFColor(0.8, 0.3, 0.3)))))))) X3D0.toFileX3D("./future/./ExtrusionHeart_RoundTrip.x3d")
field39.setName("set_positionA") field39.setAccessType("inputOnly") field39.setType("SFVec3f") ProtoInterface38.addField(field39) field40 = x3dpsail.field() field40.setName("set_positionB") field40.setAccessType("inputOnly") field40.setType("SFVec3f") ProtoInterface38.addField(field40) ProtoDeclare37.setProtoInterface(ProtoInterface38) ProtoBody41 = x3dpsail.ProtoBody() Shape42 = x3dpsail.Shape() Extrusion43 = x3dpsail.Extrusion() Extrusion43.setDEF("extrusion") Extrusion43.setCreaseAngle(0.785) Extrusion43.setCrossSection([ 1, 0, 0.92, -0.38, 0.71, -0.71, 0.38, -0.92, 0, -1, -0.38, -0.92, -0.71, -0.71, -0.92, -0.38, -1, 0, -0.92, 0.38, -0.71, 0.71, -0.38, 0.92, 0, 1, 0.38, 0.92, 0.71, 0.71, 0.92, 0.38, 1, 0 ]) Extrusion43.setSpine([0, -50, 0, 0, 50, 0]) Shape42.setGeometry(Extrusion43) Appearance44 = x3dpsail.Appearance() Material45 = x3dpsail.Material() Material45.setDiffuseColor([0, 1, 0]) Appearance44.setMaterial(Material45)
meta9.setContent("../license.html") head1.addMeta(meta9) X3D0.setHead(head1) Scene10 = x3dpsail.Scene() Viewpoint11 = x3dpsail.Viewpoint() Viewpoint11.setDescription("Extrusion Heart") Viewpoint11.setOrientation([1, 0, 0, 1.57]) Viewpoint11.setPosition([0, -4, 0]) Scene10.addChildren(Viewpoint11) Transform12 = x3dpsail.Transform() Transform12.setTranslation([0, -0.5, 0]) Shape13 = x3dpsail.Shape() Extrusion14 = x3dpsail.Extrusion() Extrusion14.setCreaseAngle(3.14159) Extrusion14.setCrossSection([ 0, 0.8, 0.2, 1, 0.7, 0.95, 1, 0.5, 0.8, 0, 0.5, -0.3, 0, -0.7, -0.5, -0.3, -0.8, 0, -1, 0.5, -0.7, 0.95, -0.2, 1, 0, 0.8 ]) Extrusion14.setScale([0.01, 0.01, 0.8, 0.8, 1, 1, 0.8, 0.8, 0.01, 0.01]) Extrusion14.setSolid(False) Extrusion14.setSpine([0, 0, 0, 0, 0.1, 0, 0, 0.5, 0, 0, 0.9, 0, 0, 1, 0]) Shape13.setGeometry(Extrusion14) Appearance15 = x3dpsail.Appearance() Material16 = x3dpsail.Material() Material16.setDiffuseColor([0.8, 0.3, 0.3]) Appearance15.setMaterial(Material16)
field40.setAccessType("inputOnly") field40.setType("SFVec3f") ProtoInterface39.addField(field40) field41 = x3dpsail.field() field41.setName("set_positionB") field41.setAccessType("inputOnly") field41.setType("SFVec3f") ProtoInterface39.addField(field41) ProtoDeclare38.setProtoInterface(ProtoInterface39) ProtoBody42 = x3dpsail.ProtoBody() Group43 = x3dpsail.Group() Shape44 = x3dpsail.Shape() Extrusion45 = x3dpsail.Extrusion() Extrusion45.setDEF("extrusion") Extrusion45.setCreaseAngle(0.785) Extrusion45.setCrossSection([1,0,0.92,-0.38,0.71,-0.71,0.38,-0.92,0,-1,-0.38,-0.92,-0.71,-0.71,-0.92,-0.38,-1,0,-0.92,0.38,-0.71,0.71,-0.38,0.92,0,1,0.38,0.92,0.71,0.71,0.92,0.38,1,0]) Extrusion45.setSpine([0,-50,0,0,50,0]) Shape44.setGeometry(Extrusion45) Appearance46 = x3dpsail.Appearance() Material47 = x3dpsail.Material() Material47.setDiffuseColor([0,1,0]) Appearance46.setMaterial(Material47) Shape44.setAppearance(Appearance46) Group43.addChildren(Shape44)
ProtoDeclare11.setName("Process") ProtoBody12 = x3dpsail.ProtoBody() Group13 = x3dpsail.Group() #left Transform14 = x3dpsail.Transform() Transform14.setScale([0.5,0.5,0.5]) Shape15 = x3dpsail.Shape() Shape15.setDEF("ShapeLeftDown") Appearance16 = x3dpsail.Appearance() Material17 = x3dpsail.Material() Material17.setDiffuseColor([0.7,1,0]) Appearance16.setMaterial(Material17) Shape15.setAppearance(Appearance16) Extrusion18 = x3dpsail.Extrusion() Extrusion18.setSpine([-2.5,0,0,-1.5,0,0]) Extrusion18.setCreaseAngle(0.785) Extrusion18.setCrossSection([1,0,0.92,-0.38,0.71,-0.71,0.38,-0.92,0,-1,-0.38,-0.92,-0.71,-0.71,-0.92,-0.38,-1,0,-0.92,0.38,-0.71,0.71,-0.38,0.92,0,1,0.38,0.92,0.71,0.71,0.92,0.38,1,0]) Shape15.setGeometry(Extrusion18) Transform14.addChildren(Shape15) Group13.addChildren(Transform14) #right Transform19 = x3dpsail.Transform() Transform19.setScale([0.5,0.5,0.5]) Shape20 = x3dpsail.Shape() Shape20.setDEF("ShapeUpRight") Appearance21 = x3dpsail.Appearance()
field34.setName("positionA") field34.setAccessType("inputOnly") field34.setType("SFVec3f") ProtoInterface33.addField(field34) field35 = x3dpsail.field() field35.setName("positionB") field35.setAccessType("inputOnly") field35.setType("SFVec3f") ProtoInterface33.addField(field35) ProtoDeclare32.setProtoInterface(ProtoInterface33) ProtoBody36 = x3dpsail.ProtoBody() Shape37 = x3dpsail.Shape() Extrusion38 = x3dpsail.Extrusion() Extrusion38.setDEF("extrusion") Extrusion38.setCreaseAngle(0.785) Extrusion38.setCrossSection([1,0,0.92,-0.38,0.71,-0.71,0.38,-0.92,0,-1,-0.38,-0.92,-0.71,-0.71,-0.92,-0.38,-1,0,-0.92,0.38,-0.71,0.71,-0.38,0.92,0,1,0.38,0.92,0.71,0.71,0.92,0.38,1,0]) Extrusion38.setSpine([0,-50,0,0,0,0,0,50,0]) Shape37.setGeometry(Extrusion38) Appearance39 = x3dpsail.Appearance() Material40 = x3dpsail.Material() Material40.setDiffuseColor([0,1,0]) Appearance39.setMaterial(Material40) Shape37.setAppearance(Appearance39) ProtoBody36.addChildren(Shape37)
meta6 = x3dpsail.meta() meta6.setName("description") meta6.setContent("beginnings of a force directed graph in 3D") head1.addMeta(meta6) meta7 = x3dpsail.meta() meta7.setName("generator") meta7.setContent("Vim, X3D-Edit, https://savage.nps.edu/X3D-Edit") head1.addMeta(meta7) X3D0.setHead(head1) Scene8 = x3dpsail.Scene() Group9 = x3dpsail.Group() Shape10 = x3dpsail.Shape() Extrusion11 = x3dpsail.Extrusion() Extrusion11.setDEF("extrusion") Extrusion11.setSpine([-50, -50, 0, 50, 50, 0]) Extrusion11.setCreaseAngle(0.785) Extrusion11.setCrossSection([ 1, 0, 0.92, -0.38, 0.71, -0.71, 0.38, -0.92, 0, -1, -0.38, -0.92, -0.71, -0.71, -0.92, -0.38, -1, 0, -0.92, 0.38, -0.71, 0.71, -0.38, 0.92, 0, 1, 0.38, 0.92, 0.71, 0.71, 0.92, 0.38, 1, 0 ]) Shape10.setGeometry(Extrusion11) Appearance12 = x3dpsail.Appearance() Material13 = x3dpsail.Material() Material13.setDiffuseColor([0, 1, 0]) Appearance12.setMaterial(Material13)