コード例 #1
0
import x3dpsail

X3D0 = (
    x3dpsail.X3D().setProfile(x3dpsail.SFString("Immersive")).
    setVersion(x3dpsail.SFString("3.3")).setHead(x3dpsail.head().addComponent(
        x3dpsail.component().setName(x3dpsail.SFString("Geospatial")).setLevel(
            x3dpsail.SFInt32(1))
    ).addComponent(x3dpsail.component().setName(
        x3dpsail.SFString("NURBS")
    ).setLevel(x3dpsail.SFInt32(
        2
    ))).addComponent(x3dpsail.component().setName(x3dpsail.SFString(
        "Core"
    )).setLevel(x3dpsail.SFInt32(
        2
    ))).addComponent(x3dpsail.component().setName(
        x3dpsail
        .SFString("Navigation")
    ).setLevel(x3dpsail.SFInt32(
        1
    ))).addComponent(x3dpsail.component().setName(x3dpsail.SFString(
        "Text"
    )).setLevel(x3dpsail.SFInt32(
        1
    ))).addMeta(x3dpsail.meta().setName(x3dpsail.SFString("title")).setContent(
        x3dpsail
        .SFString("X3dHeaderPrototypeSyntaxExamples.x3d")
    )).addMeta(x3dpsail.meta().setName(x3dpsail.SFString(
        "description"
    )).setContent(
        x3dpsail
コード例 #2
0
import x3dpsail


X3D0 = (x3dpsail.X3D().setProfile(x3dpsail.SFString("Immersive")).setVersion(x3dpsail.SFString("3.3"))
      .setHead(x3dpsail.head()
        .addComponent(x3dpsail.component().setName(x3dpsail.SFString("Shaders")).setLevel(x3dpsail.SFInt32(1)))
        .addComponent(x3dpsail.component().setName(x3dpsail.SFString("CubeMapTexturing")).setLevel(x3dpsail.SFInt32(1)))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("title")).setContent(x3dpsail.SFString("flowers7.x3d")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("creator")).setContent(x3dpsail.SFString("John Carlson")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("generator")).setContent(x3dpsail.SFString("manual")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("identifier")).setContent(x3dpsail.SFString("https://coderextreme.net/X3DJSONLD/flowers7.x3d")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("description")).setContent(x3dpsail.SFString("a flower"))))
      .setScene(x3dpsail.Scene()
        .addChild(x3dpsail.NavigationInfo())
        #Images courtesy of Paul Debevec's Light Probe Image Gallery

        .addChild(x3dpsail.Background().setDEF(x3dpsail.SFString("background")).setBackUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_back.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_back.png"])).setBottomUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_bottom.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_bottom.png"])).setFrontUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_front.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_front.png"])).setLeftUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_left.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_left.png"])).setRightUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_right.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_right.png"])).setTopUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_top.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_top.png"])))
        .addChild(x3dpsail.Viewpoint().setPosition(x3dpsail.SFVec3f(0,0,40)).setDescription(x3dpsail.SFString("Transparent rose")))
        .addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("Rose01"))
          .addChild(x3dpsail.Shape()
            .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().setDEF(x3dpsail.SFString("backShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_back.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_back.png"])))
                .setBottom(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("bottomShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_bottom.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_bottom.png"])))
                .setFront(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("frontShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_front.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_front.png"])))
                .setLeft(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("leftShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_left.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_left.png"])))
                .setRight(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("rightShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_right.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_right.png"])))
                .setTop(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("topShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_top.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_top.png"]))))
              .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")))
コード例 #3
0
import x3dpsail

X3D0 = (
    x3dpsail.X3D().setProfile(x3dpsail.SFString("Immersive")).setVersion(
        x3dpsail.SFString("3.3")).setHead(
            x3dpsail.head().addComponent(x3dpsail.component().setName(
                x3dpsail.SFString("Shaders")).setLevel(
                    x3dpsail.SFInt32(1))).addComponent(
                        x3dpsail.component().setName(
                            x3dpsail.SFString("CubeMapTexturing")).setLevel(
                                x3dpsail.SFInt32(1))).addMeta(
                                    x3dpsail.meta().setName(
                                        x3dpsail.SFString("title")).setContent(
                                            x3dpsail.SFString("bub.x3d"))).
            addMeta(x3dpsail.meta().setName(
                x3dpsail.SFString("creator")).setContent(
                    x3dpsail.SFString("John Carlson"))).addMeta(
                        x3dpsail.meta().setName(
                            x3dpsail.SFString("description")).setContent(
                                x3dpsail.SFString("3 prismatic spheres"))).
            addMeta(x3dpsail.meta().setName(
                x3dpsail.SFString("generator")).setContent(
                    x3dpsail.SFString(
                        "X3D-Edit, https://savage.nps.edu/X3D-Edit")
                )).addMeta(x3dpsail.meta().setName(
                    x3dpsail.SFString("identifier")).setContent(
                        x3dpsail.SFString(
                            "https://coderextreme.net/X3DJSONLD/bub.x3d")))).
    setScene(x3dpsail.Scene().addChild(x3dpsail.NavigationInfo(
    )).addChild(x3dpsail.Background().setBackUrl(
        x3dpsail.MFString([
コード例 #4
0
import x3dpsail

X3D0 = (
    x3dpsail.X3D().setProfile(x3dpsail.SFString("Immersive")).setVersion(
        x3dpsail.SFString("3.3")).
    setHead(x3dpsail.head().addComponent(x3dpsail.component().setName(
        x3dpsail.SFString("EnvironmentalEffects")).setLevel(
            x3dpsail.SFInt32(1))).addComponent(x3dpsail.component().setName(
                x3dpsail.SFString("EnvironmentalEffects")).setLevel(
                    x3dpsail.SFInt32(3))).addComponent(
                        x3dpsail.component().setName(
                            x3dpsail.SFString("Shaders")).setLevel(
                                x3dpsail.SFInt32(1))).
            addComponent(x3dpsail.component().setName(
                x3dpsail.SFString("CubeMapTexturing")).setLevel(
                    x3dpsail.SFInt32(1))).addMeta(x3dpsail.meta().setName(
                        x3dpsail.SFString("title")).setContent(
                            x3dpsail.SFString("ball.x3d"))).addMeta(
                                x3dpsail.meta().setName(
                                    x3dpsail.SFString("creator")).setContent(
                                        x3dpsail.SFString("John Carlson"))).
            addMeta(x3dpsail.meta().setName(x3dpsail.SFString(
                "generator")).setContent(x3dpsail.SFString("manual"))).addMeta(
                    x3dpsail.meta().setName(
                        x3dpsail.SFString("identifier")).setContent(
                            x3dpsail.SFString(
                                "https://coderextreme.net/X3DJSONLD/ball.x3d")
                        )).addMeta(x3dpsail.meta().setName(
                            x3dpsail.SFString("description")).setContent(
                                x3dpsail.SFString("a prismatic sphere")))).
    setScene(x3dpsail.Scene().addChild(x3dpsail.NavigationInfo().setType(
コード例 #5
0
import x3dpsail

X3D0 = (
    x3dpsail.X3D().setProfile(x3dpsail.SFString("Immersive")).setVersion(
        x3dpsail.SFString("3.3")).setHead(
            x3dpsail.head().addComponent(x3dpsail.component().setName(
                x3dpsail.SFString("Geospatial")).setLevel(
                    x3dpsail.SFInt32(1))).addMeta(x3dpsail.meta().setName(
                        x3dpsail.SFString("title")).setContent(
                            x3dpsail.SFString("geobubbles.x3d"))).addMeta(
                                x3dpsail.meta().setName(
                                    x3dpsail.SFString("creator")).setContent(
                                        x3dpsail.SFString("John Carlson"))).
            addMeta(x3dpsail.meta().setName(
                x3dpsail.SFString("generator")).setContent(
                    x3dpsail.SFString("manual"))).addMeta(x3dpsail.meta(
                    ).setName(x3dpsail.SFString("identifier")).setContent(
                        x3dpsail.SFString(
                            "https://coderextreme.net/X3DJSONLD/geobubbles.x3d"
                        ))).addMeta(x3dpsail.meta().setName(
                            x3dpsail.SFString("description")).setContent(
                                x3dpsail.SFString("geo bubbles")))).
    setScene(
        x3dpsail.Scene()
        #Viewpoint DEF='Tour' position='0 0 4' orientation='1 0 0 0' description='Tour Views'/

        #PositionInterpolator DEF='TourPosition' key='0 1' keyValue='-0.5 -0.5 4 -0.5 0.5 4'/
        .addChild(x3dpsail.GeoViewpoint().setDEF(
            x3dpsail.SFString("Tour")).setPosition(x3dpsail.SFVec3d(
                0, 0, 4)).setOrientation(x3dpsail.SFRotation(
                    1, 0, 0,
コード例 #6
0
import x3dpsail


X3D0 = (x3dpsail.X3D().setProfile(x3dpsail.SFString("Immersive")).setVersion(x3dpsail.SFString("3.3"))
      .setHead(x3dpsail.head()
        .addComponent(x3dpsail.component().setName(x3dpsail.SFString("EnvironmentalEffects")).setLevel(x3dpsail.SFInt32(3)))
        .addComponent(x3dpsail.component().setName(x3dpsail.SFString("Shaders")).setLevel(x3dpsail.SFInt32(1)))
        .addComponent(x3dpsail.component().setName(x3dpsail.SFString("CubeMapTexturing")).setLevel(x3dpsail.SFInt32(1)))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("title")).setContent(x3dpsail.SFString("mirror.x3d")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("creator")).setContent(x3dpsail.SFString("John Carlson")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("generator")).setContent(x3dpsail.SFString("manual")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("identifier")).setContent(x3dpsail.SFString("https://coderextreme.net/X3DJSONLD/mirror.x3d")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("description")).setContent(x3dpsail.SFString("sphere with alternating backgrounds"))))
      .setScene(x3dpsail.Scene()
        .addChild(x3dpsail.Viewpoint().setPosition(x3dpsail.SFVec3f(0,5,100)).setDescription(x3dpsail.SFString("Switch background and images texture")))
        .addChild(x3dpsail.TextureBackground()
          .setLeftTexture(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("leftBack")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_left.png","https://coderextreme.net/images/all_probes/beach_cross/beach_left.png"])))
          .setRightTexture(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("rightBack")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_right.png","https://coderextreme.net/images/all_probes/beach_cross/beach_right.png"])))
          .setFrontTexture(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("frontBack")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_front.png","https://coderextreme.net/images/all_probes/beach_cross/beach_front.png"])))
          .setBackTexture(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("backBack")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_back.png","https://coderextreme.net/images/all_probes/beach_cross/beach_back.png"])))
          .setTopTexture(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("topBack")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_top.png","https://coderextreme.net/images/all_probes/beach_cross/beach_top.png"])))
          .setBottomTexture(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("bottomBack")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_bottom.png","https://coderextreme.net/images/all_probes/beach_cross/beach_bottom.png"]))))
        .addChild(x3dpsail.Transform()
          .addChild(x3dpsail.Shape()
            .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()
                .setBack(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("backShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_back.png","https://coderextreme.net/images/all_probes/beach_cross/beach_back.png"])))
                .setBottom(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("bottomShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_bottom.png","https://coderextreme.net/images/all_probes/beach_cross/beach_bottom.png"])))
                .setFront(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("frontShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_front.png","https://coderextreme.net/images/all_probes/beach_cross/beach_front.png"])))
                .setLeft(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("leftShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_left.png","https://coderextreme.net/images/all_probes/beach_cross/beach_left.png"])))
コード例 #7
0
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("translated")).setContent(x3dpsail.SFString("2 June 2009")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("modified")).setContent(x3dpsail.SFString("13 January 2014")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("reference")).setContent(x3dpsail.SFString("CameraExamples.x3d")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("identifier")).setContent(x3dpsail.SFString("http://www.web3d.org/x3d/content/examples/Basic/development/SimpleCamera.x3d")))
        .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("generator")).setContent(x3dpsail.SFString("Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html")))
        .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.WorldInfo().setInfo(x3dpsail.MFString(["VRML2.0 created with Version 1.3, from Alias Maya 2008"])).setTitle(x3dpsail.SFString("SimpleCamera.x3d")))
        .addChild(x3dpsail.Viewpoint().setDEF(x3dpsail.SFString("CameraShapeView")).setDescription(x3dpsail.SFString("Camera view, over the shoulder")).setPosition(x3dpsail.SFVec3f(0,0.75,3)))
        .addChild(x3dpsail.Viewpoint().setDescription(x3dpsail.SFString("Camera view through lens")).setPosition(x3dpsail.SFVec3f(0,0,0)))
        .addChild(x3dpsail.Viewpoint().setDescription(x3dpsail.SFString("Camera view from right side")).setOrientation(x3dpsail.SFRotation(0,1,0,1.5708)).setPosition(x3dpsail.SFVec3f(12,0,-4)))
        .addChild(x3dpsail.Viewpoint().setDescription(x3dpsail.SFString("Camera view from above")).setOrientation(x3dpsail.SFRotation(1,0,0,-1.5708)).setPosition(x3dpsail.SFVec3f(0,15,-5)))
        .addChild(x3dpsail.Viewpoint().setDescription(x3dpsail.SFString("Camera view from left side")).setOrientation(x3dpsail.SFRotation(0,1,0,-1.5708)).setPosition(x3dpsail.SFVec3f(-12,0,-4)))
        .addChild(x3dpsail.Transform().setScale(x3dpsail.SFVec3f(0.1,0.1,0.1)).setTranslation(x3dpsail.SFVec3f(0,-0.165,0.02))
          .addChild(x3dpsail.Switch().setWhichChoice(x3dpsail.SFInt32(-1))
            .addChild(x3dpsail.Shape()
              .setAppearance(x3dpsail.Appearance().setDEF(x3dpsail.SFString("CameraAppearance"))
                .setMaterial(x3dpsail.Material().setDEF(x3dpsail.SFString("lambert1_0")).setAmbientIntensity(x3dpsail.SFFloat(0.25)).setDiffuseColor(x3dpsail.SFColor(0.372322,0.371574,0.373173)).setShininess(x3dpsail.SFFloat(0.02)).setSpecularColor(x3dpsail.SFColor(0.890909,0.887832,0.890909))
                  #Universal Media Library: Metals 30

                  )))
            .addChild(x3dpsail.Shape()
              .setGeometry(x3dpsail.IndexedFaceSet().setDEF(x3dpsail.SFString("pCylinder1_0Geo")).setConvex(x3dpsail.SFBool(False)).setCoordIndex(x3dpsail.MFInt32([0,1,13,12,-1,1,2,14,13,-1,2,3,15,14,-1,3,4,16,15,-1,4,5,17,16,-1,5,6,18,17,-1,6,7,19,18,-1,7,8,20,19,-1,8,9,21,20,-1,9,10,22,21,-1,10,11,23,22,-1,11,0,12,23,-1,1,0,24,-1,2,1,24,-1,3,2,24,-1,4,3,24,-1,5,4,24,-1,6,5,24,-1,7,6,24,-1,8,7,24,-1,9,8,24,-1,10,9,24,-1,11,10,24,-1,0,11,24,-1,12,13,25,-1,13,14,25,-1,14,15,25,-1,15,16,25,-1,16,17,25,-1,17,18,25,-1,18,19,25,-1,19,20,25,-1,20,21,25,-1,21,22,25,-1,22,23,25,-1,23,12,25,-1])).setCreaseAngle(x3dpsail.SFFloat(0.7854))
                .setCoord(x3dpsail.Coordinate().setDEF(x3dpsail.SFString("pCylinder1GeoPoints")).setPoint(x3dpsail.MFVec3f([-0.36,-2.39,-0.26,-0.36,-1.77,-0.89,-0.36,0,-1.7,-0.36,0.85,-1.47,-0.36,1.47,-0.85,-0.36,1.7,0,-0.36,1.47,0.85,-0.36,-0.07,2.05,-0.36,-0.92,2.28,-0.36,-1.77,2.05,-0.36,-2.39,1.43,-0.36,-2.62,0.58,0.36,-2.39,-0.26,0.36,-1.77,-0.89,0.36,0,-1.7,0.36,0.85,-1.47,0.36,1.47,-0.85,0.36,1.7,0,0.36,1.47,0.85,0.36,-0.07,2.05,0.36,-0.92,2.28,0.36,-1.77,2.05,0.36,-2.39,1.43,0.36,-2.62,0.58,-0.36,-0.46,0.31,0.36,-0.46,0.31]))))
              .setAppearance(x3dpsail.Appearance().setUSE(x3dpsail.SFString("CameraAppearance"))))
            .addChild(x3dpsail.Shape()
              .setGeometry(x3dpsail.IndexedFaceSet().setDEF(x3dpsail.SFString("pCube1_0Geo")).setConvex(x3dpsail.SFBool(False)).setCoordIndex(x3dpsail.MFInt32([0,1,13,12,-1,2,3,25,24,-1,4,5,11,10,-1,6,7,19,18,-1,1,29,31,13,-1,6,18,23,14,-1,8,9,3,2,-1,10,11,15,14,-1,9,30,25,3,-1,10,21,16,4,-1,12,13,9,8,-1,13,31,30,9,-1,14,23,21,10,-1,14,15,7,6,-1,16,17,5,4,-1,18,19,29,28,-1,22,19,7,15,-1,23,18,28,27,-1,17,20,11,5,-1,16,21,26,24,-1,20,22,15,11,-1,21,23,27,26,-1,24,25,17,16,-1,31,29,19,22,-1,25,30,20,17,-1,30,31,22,20,-1,28,29,1,0,-1,27,28,0,12,-1,24,26,8,2,-1,26,27,12,8,-1])).setCreaseAngle(x3dpsail.SFFloat(0.7854))
                .setCoord(x3dpsail.Coordinate().setDEF(x3dpsail.SFString("pCube1GeoPoints")).setPoint(x3dpsail.MFVec3f([-1.03,-1.26,3,1.03,-1.26,3,-1.03,1.74,3,1.03,1.74,3,-0.78,1.21,-3,0.78,1.21,-3,-0.78,-1.3,-3,0.78,-1.3,-3,-1.03,0.27,3,1.03,0.27,3,-0.78,0.27,-3.43,0.78,0.27,-3.43,-1.03,-0.99,3,1.03,-0.99,3,-0.78,-1.05,-3.43,0.78,-1.05,-3.43,-0.79,1.56,-2.76,0.79,1.56,-2.76,-0.79,-1.56,-2.76,0.79,-1.56,-2.76,1.13,0.27,-2.76,-1.13,0.27,-2.76,1.13,-1.31,-2.76,-1.13,-1.31,-2.76,-1.02,1.73,2.69,1.02,1.73,2.69,-1.36,0.27,2.69,-1.36,-1.45,2.69,-1.02,-1.73,2.69,1.02,-1.73,2.69,1.36,0.27,2.69,1.36,-1.45,2.69]))))
              .setAppearance(x3dpsail.Appearance().setUSE(x3dpsail.SFString("CameraAppearance"))))
            .addChild(x3dpsail.Shape()