feat(ui): added user target ray for clarity
This commit is contained in:
21
draw.py
21
draw.py
@ -30,6 +30,16 @@ def get_target(region, rv3d, coord):
|
|||||||
|
|
||||||
return [target.x, target.y, target.z]
|
return [target.x, target.y, target.z]
|
||||||
|
|
||||||
|
def get_target_far(region, rv3d, coord, distance):
|
||||||
|
target = [0, 0, 0]
|
||||||
|
|
||||||
|
if coord and region and rv3d:
|
||||||
|
view_vector = view3d_utils.region_2d_to_vector_3d(region, rv3d, coord)
|
||||||
|
ray_origin = view3d_utils.region_2d_to_origin_3d(region, rv3d, coord)
|
||||||
|
target = ray_origin + view_vector * distance
|
||||||
|
|
||||||
|
return [target.x, target.y, target.z]
|
||||||
|
|
||||||
|
|
||||||
def get_client_view_rect():
|
def get_client_view_rect():
|
||||||
area, region, rv3d = view3d_find()
|
area, region, rv3d = view3d_find()
|
||||||
@ -38,6 +48,8 @@ def get_client_view_rect():
|
|||||||
v2 = [0, 0, 0]
|
v2 = [0, 0, 0]
|
||||||
v3 = [0, 0, 0]
|
v3 = [0, 0, 0]
|
||||||
v4 = [0, 0, 0]
|
v4 = [0, 0, 0]
|
||||||
|
v5 = [0, 0, 0]
|
||||||
|
v6 = [0, 0, 0]
|
||||||
|
|
||||||
if area and region and rv3d:
|
if area and region and rv3d:
|
||||||
width = region.width
|
width = region.width
|
||||||
@ -48,7 +60,10 @@ def get_client_view_rect():
|
|||||||
v2 = get_target(region, rv3d, (width, height))
|
v2 = get_target(region, rv3d, (width, height))
|
||||||
v4 = get_target(region, rv3d, (width, 0))
|
v4 = get_target(region, rv3d, (width, 0))
|
||||||
|
|
||||||
coords = [v1, v2, v3, v4]
|
v5 = get_target(region, rv3d, (width/2, height/2))
|
||||||
|
v6 = get_target_far(region, rv3d, (width/2, height/2), 10)
|
||||||
|
|
||||||
|
coords = [v1, v2, v3, v4,v5,v6]
|
||||||
indices = (
|
indices = (
|
||||||
(1, 3), (2, 1), (3, 0), (2, 0)
|
(1, 3), (2, 1), (3, 0), (2, 0)
|
||||||
)
|
)
|
||||||
@ -155,7 +170,7 @@ class HUD(object):
|
|||||||
if name != local_username:
|
if name != local_username:
|
||||||
try:
|
try:
|
||||||
indices = (
|
indices = (
|
||||||
(1, 3), (2, 1), (3, 0), (2, 0)
|
(1, 3), (2, 1), (3, 0), (2, 0),(4, 5)
|
||||||
)
|
)
|
||||||
|
|
||||||
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
|
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
|
||||||
@ -172,7 +187,7 @@ class HUD(object):
|
|||||||
print("Draw client exception {}".format(e))
|
print("Draw client exception {}".format(e))
|
||||||
|
|
||||||
def draw3d_callback(self):
|
def draw3d_callback(self):
|
||||||
bgl.glLineWidth(3)
|
bgl.glLineWidth(2)
|
||||||
try:
|
try:
|
||||||
for shader, batch, color in self.d3d_items.values():
|
for shader, batch, color in self.d3d_items.values():
|
||||||
shader.bind()
|
shader.bind()
|
||||||
|
@ -342,8 +342,6 @@ def load_default(target=None, data=None, create=False, type=None):
|
|||||||
print("default loading error")
|
print("default loading error")
|
||||||
|
|
||||||
# DUMP HELPERS
|
# DUMP HELPERS
|
||||||
|
|
||||||
|
|
||||||
def dump(key):
|
def dump(key):
|
||||||
target = resolve_bpy_path(key)
|
target = resolve_bpy_path(key)
|
||||||
target_type = key.split('/')[0]
|
target_type = key.split('/')[0]
|
||||||
|
Reference in New Issue
Block a user