FBX.Scene.Nodes.Node.Node C# (CSharp) Method

Node() private method

Creates a scene node from a stream
private Node ( Scene _Owner, Node _Parent, System _Reader ) : System
_Owner Scene
_Parent Node
_Reader System
return System
        internal Node( Scene _Owner, Node _Parent, System.IO.BinaryReader _Reader )
        {
            m_Owner = _Owner;

            //			m_NodeType = _Reader.ReadInt32();	// Don't read back the node type as it has already been consumed by the parent
            m_ID = _Reader.ReadInt32();
            m_Owner.RegisterNodeID( this );
            m_Name = _Reader.ReadString();

            m_Parent = _Parent;
            if ( _Parent != null )
                m_Parent.AddChild( this );

            // Read the matrix
            m_Local2Parent.m[0,0] = _Reader.ReadSingle();
            m_Local2Parent.m[0,1] = _Reader.ReadSingle();
            m_Local2Parent.m[0,2] = _Reader.ReadSingle();
            m_Local2Parent.m[0,3] = _Reader.ReadSingle();
            m_Local2Parent.m[1,0] = _Reader.ReadSingle();
            m_Local2Parent.m[1,1] = _Reader.ReadSingle();
            m_Local2Parent.m[1,2] = _Reader.ReadSingle();
            m_Local2Parent.m[1,3] = _Reader.ReadSingle();
            m_Local2Parent.m[2,0] = _Reader.ReadSingle();
            m_Local2Parent.m[2,1] = _Reader.ReadSingle();
            m_Local2Parent.m[2,2] = _Reader.ReadSingle();
            m_Local2Parent.m[2,3] = _Reader.ReadSingle();
            m_Local2Parent.m[3,0] = _Reader.ReadSingle();
            m_Local2Parent.m[3,1] = _Reader.ReadSingle();
            m_Local2Parent.m[3,2] = _Reader.ReadSingle();
            m_Local2Parent.m[3,3] = _Reader.ReadSingle();

            // Read specific data
            LoadSpecific( _Reader );

            // Read children
            int	ChildrenCount = _Reader.ReadInt32();
            for ( int ChildIndex=0; ChildIndex < ChildrenCount; ChildIndex++ )
            {
                NODE_TYPE	ChildType = (NODE_TYPE) _Reader.ReadByte();
                switch ( ChildType )
                {
                case NODE_TYPE.NODE:
                    new Node( _Owner, this, _Reader );
                    break;

                case NODE_TYPE.MESH:
                    new Mesh( _Owner, this, _Reader );
                    break;

                case NODE_TYPE.LIGHT:
                    new Light( _Owner, this, _Reader );
                    break;

                case NODE_TYPE.CAMERA:
                    new Camera( _Owner, this, _Reader );
                    break;
                }
            }
        }

Same methods

Node::Node ( Scene _Owner, int _ID, string _Name, Node _Parent, Matrix4x4 _Local2Parent ) : System