Exemplo n.º 1
0
        public static SceneNode ParseNode(NodeType nodeType, ref byte[] nodesByteData, ref int dataIdx)
        {
            switch (nodeType)
            {
            case NodeType.GROUP:
                SceneNode sceneNode = SceneDataHandler.ByteArrayToStructure <SceneNode>(nodesByteData, ref dataIdx);
                return(sceneNode);

                break;

            case NodeType.GEO:
                SceneNodeGeo sceneNodeGeo = SceneDataHandler.ByteArrayToStructure <SceneNodeGeo>(nodesByteData, ref dataIdx);
                return(sceneNodeGeo);

                break;

            case NodeType.LIGHT:
                SceneNodeLight sceneNodeLight = SceneDataHandler.ByteArrayToStructure <SceneNodeLight>(nodesByteData, ref dataIdx);
                return(sceneNodeLight);

                break;

            case NodeType.CAMERA:
                SceneNodeCam sceneNodeCamera = SceneDataHandler.ByteArrayToStructure <SceneNodeCam>(nodesByteData, ref dataIdx);
                return(sceneNodeCamera);

                break;
            }
            return(null);
        }
Exemplo n.º 2
0
 public static SceneNode ParseNode(NodeType nodeType, ref byte[] nodesByteData, ref int dataIdx)
 {
     if (nodeType == NodeType.MOCAP)
     {
         SceneNodeMocap sceneNodeMocap = SceneDataHandler.ByteArrayToStructure <SceneNodeMocap>(nodesByteData, ref dataIdx);
         return(sceneNodeMocap);
     }
     return(null);
 }
Exemplo n.º 3
0
        private void convertNodesByteStream()
        {
            m_nodeList = new List <SceneNode>();

            int dataIdx = 0;

            while (dataIdx < m_nodesByteData.Length - 1)
            {
                SceneNode node      = new SceneNode();
                int       numValues = BitConverter.ToInt32(m_nodesByteData, dataIdx);
                dataIdx += size_int;
                //checkEndian(ref sliceInt);
                NodeType nodeType = (NodeType)numValues;

                switch (nodeType)
                {
                case NodeType.GROUP:
                    SceneNode sceneNode = SceneDataHandler.ByteArrayToStructure <SceneNode>(m_nodesByteData, ref dataIdx);
                    node = sceneNode;
                    break;

                case NodeType.GEO:
                    SceneNodeGeo sceneNodeGeo = SceneDataHandler.ByteArrayToStructure <SceneNodeGeo>(m_nodesByteData, ref dataIdx);
                    node = sceneNodeGeo;
                    break;

                case NodeType.LIGHT:
                    SceneNodeLight sceneNodeLight = SceneDataHandler.ByteArrayToStructure <SceneNodeLight>(m_nodesByteData, ref dataIdx);
                    node = sceneNodeLight;
                    break;

                case NodeType.CAMERA:
                    SceneNodeCam sceneNodeCamera = SceneDataHandler.ByteArrayToStructure <SceneNodeCam>(m_nodesByteData, ref dataIdx);
                    node = sceneNodeCamera;
                    break;

                case NodeType.MOCAP:
                    SceneNodeMocap sceneNodeMocap = SceneDataHandler.ByteArrayToStructure <SceneNodeMocap>(m_nodesByteData, ref dataIdx);
                    node = sceneNodeMocap;
                    break;
                }

                m_nodeList.Add(node);
            }

            Array.Clear(m_nodesByteData, 0, m_nodesByteData.Length);
            m_nodesByteData = null;
            GC.Collect();
        }