/// <summary> /// overriders the <see cref="CustomEntity.OnDraw(OpenGlDevice)"/> method. /// </summary> /// <param name="Device"></param> protected override void OnDraw(OpenGlDevice Device) { if (Device.RenderKind != RenderKind.Render) { return; } Device.PushMatrix(); Device.ModelMatrix = Matrix.identity; _Base = new Base(true); if (Device.SnappItems.Count > 0) { if ((Device.SnappItems[0].Crossed) && (CrossStyle != Cross.None)) { Base Base = new Base(true); Base.BaseO = Device.SnappItems[0].Point; Color C = Device.Ambient; Device.Ambient = ColoroFtheCrossSymbol; double r = Device.PixelToWorld(Device.SnappItems[0].Point, CrossSize); if (CrossStyle == Cross.Sphere) { Device.drawSphere(Device.SnappItems[0].Point, r / 2f); } if (CrossStyle == Cross.Cube) { Base B = Device.SnappItems[0].GetBase(); Matrix M = B.ToMatrix(); Device.PushMatrix(); Device.ModelMatrix = M; Device.drawBox(new xyz(-r / 2, -r / 2, -r / 2), new xyz(r, r, r)); Device.PopMatrix(); } if ((_Base.BaseO.X == 2) && (_Base.BaseO.y == 2) && (_Base.BaseO.Z == 2)) { } Device.Ambient = C; return; } else { _Base.BaseO = Device.SnappItems[0].Point; if (_Base.BaseO.dist(Device.Currentxyz) > 0.1) { } if (!AxisFix) { { _Base = Device.SnappItems[0].GetBase(); } } } } else { _Base = Base.UnitBase; _Base.BaseO = Device.Currentxyz; } float PenW = Device.PenWidth; Device.PenWidth = PenWidth; Color SaveEmission = Device.Emission; bool Save = Device.LightEnabled; Device.LightEnabled = true; Device.Emission = xAxisColor; Device.drawLine(Base.BaseO - Base.BaseX * Device.PixelToWorld(Base.BaseO, Size), Base.BaseO + Base.BaseX * Device.PixelToWorld(Base.BaseO, Size)); double d = Device.PixelToWorld(Base.BaseO, Size); Device.Emission = yAxisColor; Device.drawLine(Base.BaseO - Base.BaseY * Device.PixelToWorld(Base.BaseO, Size), Base.BaseO + Base.BaseY * Device.PixelToWorld(Base.BaseO, Size)); Device.Emission = zAxisColor; Device.drawLine(Base.BaseO - Base.BaseZ * Device.PixelToWorld(Base.BaseO, Size), Base.BaseO + Base.BaseZ * Device.PixelToWorld(Base.BaseO, Size)); Device.LightEnabled = Save; Device.Emission = SaveEmission; Device.PenWidth = PenW; Device.PopMatrix(); BaseZ = Base.BaseZ; base.OnDraw(Device); }