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)); }
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); } }