public override bool HitTest(IRenderContext context, Ray rayWS, ref List <HitTestResult> hits) { if (initialColor == null) { initialColor = this.Color; } var result = base.HitTest(context, rayWS, ref hits); // this.HitTest2D(rayWS, ref hits); var pressedMouseButtons = Viewport3DX.GetPressedMouseButtons(); if (pressedMouseButtons == 0 || pressedMouseButtons.HasFlag(MouseButtons.Left)) { this.Color = result ? Colors.Red : this.initialColor.Value; } return(result); }