List <LineD> BuildLineGrid(int HalfHeight, int HalfWidth)
        {
            Vector3D CenterStart = MyKernel.BeamDrawer.BeamStart;
            Vector3D CenterEnd   = MyKernel.BeamDrawer.BeamEnd;

            Vector3D UpOffset    = Vector3D.Normalize(MyKernel.Block.WorldMatrix.Up) * 0.5;
            Vector3D RightOffset = Vector3D.Normalize(MyKernel.Tool.WorldMatrix.Right) * 0.5;

            return(VectorHelpers.BuildLineGrid(HalfHeight, HalfWidth, CenterStart, CenterEnd, UpOffset, RightOffset));
        }
Exemple #2
0
        private void DrawDebugRayGrid()
        {
            int RayGridSize = ToolCharacteristics.WelderGrinderWorkingZoneWidth;

            Vector4  _internalBeamColor = InternalBeamColor;
            Vector3D CenterStart        = MyKernel.BeamDrawer.BeamStart;
            Vector3D CenterEnd          = MyKernel.BeamDrawer.BeamEnd;

            Vector3D UpOffset    = Vector3D.Normalize(MyKernel.Block.WorldMatrix.Up) * 0.5;
            Vector3D RightOffset = Vector3D.Normalize(MyKernel.Tool.WorldMatrix.Right) * 0.5;

            var VirtualLineGrid = VectorHelpers.BuildLineGrid(RayGridSize, RayGridSize, CenterStart, CenterEnd, UpOffset, RightOffset);

            VirtualLineGrid.Remove(new LineD(BeamStart, BeamEnd));
            foreach (LineD VirtualLine in VirtualLineGrid)
            {
                MySimpleObjectDraw.DrawLine(VirtualLine.From, VirtualLine.To, MyStringId.GetOrCompute("WeaponLaser"), ref _internalBeamColor, 0.1f);
            }
        }