public bool FindResult(int abgr, out HitTestResult result)
        {
            result = new HitTestResult();
            var id = Color4.ConvertToRGBA(abgr);

            if (id <= 0)
            {
                return(false);
            }

            id -= 1;
            var visibleComponents = Engine.Scene.VisibleComponents;
            var drawables         = Engine.Scene.Drawables;

            if (id < visibleComponents.Count)
            {
                var entry = visibleComponents[id];
                result = new HitTestResult
                {
                    Drawable = entry.Graphic,
                    Frame    = entry.Node,
                    RenderId = id
                };
                results.Add(result);
                return(true);
            }
            else
            {
                id -= visibleComponents.Count;
                if (id < drawables.Count)
                {
                    result = new HitTestResult
                    {
                        Drawable = drawables[id],
                        RenderId = id
                    };
                    results.Add(result);
                    return(true);
                }
            }
            return(false);
        }
        public bool FindResult(int abgr, out HitTestResult result)
        {
            result = new HitTestResult();
            var id = Color4.ConvertToRGBA(abgr);

            if (id <= 0)
            {
                return(false);
            }

            id -= 1;
            var scene = Engine.Scene;

            if (id < 0 || id > scene.Materials.Count)
            {
                return(false);
            }

            result.Data = scene.Materials[id];
            return(true);
        }
        public bool FindResult(int abgr, out HitTestResult result)
        {
            result = new HitTestResult();
            var id = Color4.ConvertToRGBA(abgr);

            if (id <= 0 || id > glyp.Components.Length)
            {
                return(false);
            }

            result.Data = glyp.Components[id - 1];

            //AxisName axis = (AxisName)id;
            //switch (axis)
            //{
            //    case AxisName.X:
            //        result.Data = coordinate.Components[0];
            //        break;
            //    case AxisName.Y:
            //        result.Data = coordinate.Components[1];
            //        break;
            //    case AxisName.Z:
            //        result.Data = coordinate.Components[2];
            //        break;
            //    case AxisName.XY:
            //        result.Data = coordinate.Components[3];
            //        break;
            //    case AxisName.XZ:
            //        result.Data = coordinate.Components[4];
            //        break;
            //    case AxisName.YZ:
            //        result.Data = coordinate.Components[5];
            //        break;
            //}


            _resultList.Add(result);
            return(true);
        }