From 0d3cc9a06dfd3f77fa9bd20c5013ae9b050b4fae Mon Sep 17 00:00:00 2001
From: Gaia Clary <gaia.clary@machinimatrix.org>
Date: Mon, 1 Apr 2019 12:00:36 +0200
Subject: [PATCH] new: MathVis: Added option to display points and lines in
 front

---
 space_view3d_math_vis/__init__.py | 7 +++++++
 space_view3d_math_vis/draw.py     | 6 ++++++
 2 files changed, 13 insertions(+)

diff --git a/space_view3d_math_vis/__init__.py b/space_view3d_math_vis/__init__.py
index f64de3641..94d871d33 100644
--- a/space_view3d_math_vis/__init__.py
+++ b/space_view3d_math_vis/__init__.py
@@ -88,6 +88,7 @@ class PanelConsoleVars(Panel):
         col = layout.column()
         col.prop(bpy.context.window_manager.MathVisProp, "name_hide")
         col.prop(bpy.context.window_manager.MathVisProp, "bbox_hide")
+        col.prop(bpy.context.window_manager.MathVisProp, "in_front")
         col.prop(bpy.context.window_manager.MathVisProp, "bbox_scale")
         col.operator("mathvis.cleanup_console")
 
@@ -242,6 +243,12 @@ class MathVis(PropertyGroup):
         "lines for the display of Matrix items"
     )
 
+    in_front: BoolProperty(
+        name="Always In Front",
+        default=True,
+        description="Draw Points and lines alwasy in front",
+        update=call_console_hook
+    )
 
 classes = (
     PanelConsoleVars,
diff --git a/space_view3d_math_vis/draw.py b/space_view3d_math_vis/draw.py
index a9c38fbe2..a31d284b3 100644
--- a/space_view3d_math_vis/draw.py
+++ b/space_view3d_math_vis/draw.py
@@ -21,6 +21,7 @@
 import bpy
 import blf
 import gpu
+import bgl
 from gpu_extras.batch import batch_for_shader
 
 from . import utils
@@ -132,6 +133,11 @@ def draw_callback_view():
     scale = settings.bbox_scale
     with_bounding_box = not settings.bbox_hide
 
+    if settings.in_front:
+        bgl.glDepthFunc(bgl.GL_ALWAYS)
+    else:
+        bgl.glDepthFunc(bgl.GL_LESS)
+
     data_matrix, data_quat, data_euler, data_vector, data_vector_array = utils.console_math_data()
 
     if data_vector:
-- 
GitLab