using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VisimBox.Scene
{
    /// <summary>
    /// Flags used for rendering and collisions
    /// </summary>
    [Flags]
    public enum RenderFlags : ulong
    {
        None            = 0x0000,
        /// <summary>
        /// Normal rendering object
        /// </summary>
        Normal          = 0x0010,
        /// <summary>
        /// Bounding object for rendering / spatial indexing
        /// </summary>
        BoundingObject  = 0x0020,
        /// <summary>
        /// Light debug drawer object
        /// </summary>
        Light           = 0x0040,
        /// <summary>
        /// Camera debug drawer object
        /// </summary>
        Camera          = 0x0080,
        /// <summary>
        /// Hierarchy debug drawer object
        /// </summary>
        HierarchyNode   = 0x0100,
        /// <summary>
        /// Area of effect geometry
        /// </summary>
        AreaOfEfect     = 0x0200,
        /// <summary>
        /// Data object (used by unknownnode)
        /// </summary>
        DataObject = 0x0400,
        /// <summary>
        /// Physical body
        /// </summary>
        PhysicalBody    = 0x1000,
        /// <summary>
        /// Collision object
        /// </summary>
        PhysicalCollision = 0x2000,
        /// <summary>
        /// Physical object
        /// </summary>
        PhysicalObject = 0x4000,
        All = ulong.MaxValue
    }
}
