Class DAEParser

  • All Implemented Interfaces:
    SceneParser

    public class DAEParser
    extends java.lang.Object
    implements SceneParser
    • Field Detail

      • dae

        private org.w3c.dom.Document dae
      • xpath

        private javax.xml.xpath.XPath xpath
      • parser

        private javax.xml.parsers.DocumentBuilder parser
      • camera

        private java.lang.String camera
      • lightCache

        private FastHashMap<java.lang.String,​java.lang.Integer> lightCache
      • shaderCache

        private java.util.LinkedList<java.lang.String> shaderCache
      • documentCache

        private FastHashMap<java.lang.String,​org.w3c.dom.Document> documentCache
      • actualSceneId

        private java.lang.String actualSceneId
      • FACE

        private static int FACE
      • VERTEX

        private static int VERTEX
      • SCHEMA_LANGUAGE

        public static java.lang.String SCHEMA_LANGUAGE
      • XML_SCHEMA

        public static java.lang.String XML_SCHEMA
      • SCHEMA_SOURCE

        public static java.lang.String SCHEMA_SOURCE
    • Constructor Detail

      • DAEParser

        public DAEParser()
    • Method Detail

      • parse

        public boolean parse​(java.lang.String filename,
                             SunflowAPIInterface api)
        Description copied from interface: SceneParser
        Parse the specified file to create a scene description into the provided SunflowAPI object.
        Specified by:
        parse in interface SceneParser
        Parameters:
        filename - filename to parse
        api - scene to parse the file into
        Returns:
        true upon sucess, or false if errors have occured.
      • setImage

        private void setImage()
      • setBackground

        private void setBackground()
      • setSunsky

        private void setSunsky()
      • setPhoton

        private void setPhoton()
      • setGlobalIllumination

        private void setGlobalIllumination()
      • setTraceDepths

        private void setTraceDepths()
      • setCamera

        private void setCamera​(Matrix4 transform)
      • loadScene

        private void loadScene()
      • parseNode

        private void parseNode​(org.w3c.dom.Element node)
      • expandNodeInstance

        private void expandNodeInstance​(org.w3c.dom.Element nodeInstance)
      • instantiateGeometry

        private void instantiateGeometry​(org.w3c.dom.Document doc,
                                         org.w3c.dom.Element instance,
                                         Matrix4 transformation,
                                         java.lang.String geometryId)
      • loadGeometry

        private FastHashMap<java.lang.String,​DAEParser.Geometry> loadGeometry​(java.lang.String geometryId,
                                                                                    org.w3c.dom.Document doc)
      • loadTriangles

        private java.lang.String loadTriangles​(java.lang.String geometryId,
                                               org.w3c.dom.Document doc,
                                               org.w3c.dom.Element trisEl)
      • loadShader

        private void loadShader​(java.lang.String materialId,
                                org.w3c.dom.Document doc,
                                java.lang.String url)
      • getShader

        private DAEParser.ColladaShader getShader​(java.lang.String s,
                                                  java.lang.String effectId,
                                                  java.lang.String url,
                                                  org.w3c.dom.Document doc)
      • instantiateLight

        private void instantiateLight​(org.w3c.dom.Element lightInstance,
                                      Matrix4 transformation,
                                      java.lang.String lightId)
      • getElement

        private org.w3c.dom.Element getElement​(org.w3c.dom.Element source,
                                               java.lang.String name,
                                               java.lang.String id)
      • getDocument

        private org.w3c.dom.Document getDocument​(org.w3c.dom.Node subject)
      • transform

        private Matrix4 transform​(org.w3c.dom.Element node)
      • getParams

        private FastHashMap<java.lang.String,​java.lang.Object> getParams​(org.w3c.dom.Element el)
      • getTexture

        private java.lang.String getTexture​(java.lang.String effectId,
                                            org.w3c.dom.Element param,
                                            org.w3c.dom.Document doc)
      • getSceneId

        private java.lang.String getSceneId​(org.w3c.dom.Document doc)
                                     throws javax.xml.xpath.XPathExpressionException
        Throws:
        javax.xml.xpath.XPathExpressionException
      • getSceneQuery

        private java.lang.String getSceneQuery​(java.lang.String sceneId)
      • getSunflowSceneQuery

        private java.lang.String getSunflowSceneQuery​(java.lang.String sceneId)
      • getCameraQuery

        private java.lang.String getCameraQuery​(java.lang.String sceneId)
      • getGeometryQuery

        private java.lang.String getGeometryQuery​(java.lang.String geometryId)
      • getGeometrySourceQuery

        private java.lang.String getGeometrySourceQuery​(java.lang.String geometryId,
                                                        java.lang.String inputId)
      • getGeometrySourceParamsQuery

        private java.lang.String getGeometrySourceParamsQuery​(java.lang.String geometryId,
                                                              java.lang.String inputId)
      • getMaterialQuery

        private java.lang.String getMaterialQuery​(java.lang.String materialId)
      • getEffectQuery

        private java.lang.String getEffectQuery​(java.lang.String effectId)
      • getImageQuery

        private java.lang.String getImageQuery​(java.lang.String imageId)
      • getLightQuery

        private java.lang.String getLightQuery​(java.lang.String lightId)
      • parseColor

        private Color parseColor​(java.lang.String colorString)
      • parseVector

        private Vector3 parseVector​(java.lang.String vectorString)
      • parseFloats

        private float[] parseFloats​(java.lang.String floatString)