Example #1
0
        /// <summary>
        /// Returns drawables for transient geometry associated with Gizmo
        /// </summary>
        /// <returns></returns>
        public override IEnumerable <IRenderPackage> GetDrawablesForTransientGraphics()
        {
            var drawables = new List <IRenderPackage>();

            if (null != hitAxis)
            {
                IRenderPackage package = RenderPackageFactory.CreateRenderPackage();
                DrawAxisLine(ref package, hitAxis, "xAxisLine");
                drawables.Add(package);
            }
            if (null != hitPlane)
            {
                IRenderPackage package = RenderPackageFactory.CreateRenderPackage();
                DrawAxisLine(ref package, hitPlane.XAxis, "xAxisLine");
                drawables.Add(package);

                package = RenderPackageFactory.CreateRenderPackage();
                DrawAxisLine(ref package, hitPlane.YAxis, "yAxisLine");
                drawables.Add(package);
            }
            return(drawables);
        }
Example #2
0
        /// <summary>
        /// Gets drawables to render this Gizmo
        /// </summary>
        /// <returns>List of render package</returns>
        public override IEnumerable <IRenderPackage> GetDrawables()
        {
            var drawables = new List <IRenderPackage>();

            foreach (Vector axis in axes)
            {
                IRenderPackage package = RenderPackageFactory.CreateRenderPackage();
                DrawAxis(ref package, axis);
                drawables.Add(package);
            }

            var p = Planes.xyPlane;

            foreach (Plane plane in planes)
            {
                IRenderPackage package = RenderPackageFactory.CreateRenderPackage();
                DrawPlane(ref package, plane, p++);
                drawables.Add(package);
            }
            drawables.AddRange(GetDrawablesForTransientGraphics());

            return(drawables);
        }