using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using EVE.EVEObjects;
using System.Collections.ObjectModel;

namespace EVE.EVEOctrees {
    public class EVEOctreeManager {
        public static int MaxObjectsPerNode = 5;
        public static Color LineColor = Color.Red;
        public static int LineWeight  = 10;
        public static bool DrawOctNodes = false;
        public static VertexDeclaration VertexDeclaration;

        public static void LoadGraphicsContent(GraphicsDevice myDevice) {
            VertexDeclaration = new VertexDeclaration(
                myDevice, VertexPositionColor.VertexElements
                );
        }
    }

    public class EVEOctree
    {
        private EVEOctNode myRoot;
        public EVEOctNode OctRoot { get { return myRoot; } }

        public EVEOctree()
        {
            myRoot = new EVEOctNode(Vector3.Zero, 100.0f);
        }
    }

}

namespace EVE.EVEOctrees {
        public class EVEOctNodeCollection : Collection<EVEOctNode>{ }
        public class EVEObjectCollection : Collection<EVEObject>{ }
}