Fix T60390: add Cycles texture node mapping settings to node editor sidebar

These were missing from the UI previously.
This commit is contained in:
Brecht Van Lommel 2019-04-05 12:47:34 +02:00
parent a6efbe95cf
commit b3b335c398
Notes: blender-bot 2023-05-03 10:14:48 +02:00
Referenced by issue #60390, Image Texture Node - mapping settings ignored in the viewport textured mode
2 changed files with 38 additions and 45 deletions

View File

@ -168,50 +168,6 @@ class TEXTURE_PT_node(TextureButtonsPanel, Panel):
layout.template_node_view(ntree, node, None)
class TEXTURE_PT_node_mapping(TextureButtonsPanel, Panel):
bl_label = "Mapping"
bl_context = "texture"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
@classmethod
def poll(cls, context):
node = context.texture_node
# TODO(sergey): perform a faster/nicer check?
return node and hasattr(node, "texture_mapping") and (context.engine in cls.COMPAT_ENGINES)
def draw(self, context):
layout = self.layout
layout.use_property_split = True
layout.use_property_decorate = False # No animation.
flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=False, align=False)
node = context.texture_node
mapping = node.texture_mapping
col = flow.column()
col.prop(mapping, "vector_type")
col.separator()
col = col.column(align=True)
col.prop(mapping, "mapping_x", text="Projection X")
col.prop(mapping, "mapping_y", text="Y")
col.prop(mapping, "mapping_z", text="Z")
col.separator()
col = flow.column()
col.column().prop(mapping, "translation")
col = flow.column()
col.column().prop(mapping, "rotation")
col = flow.column()
col.column().prop(mapping, "scale")
class TextureTypePanel(TextureButtonsPanel):
@classmethod
@ -918,7 +874,6 @@ classes = (
TEXTURE_PT_preview,
TEXTURE_PT_context,
TEXTURE_PT_node,
TEXTURE_PT_node_mapping,
TEXTURE_PT_clouds,
TEXTURE_PT_wood,
TEXTURE_PT_marble,

View File

@ -508,6 +508,43 @@ class NODE_PT_active_node_properties(Panel):
socket.draw(context, row, node, iface_(socket.name, socket.bl_rna.translation_context))
class NODE_PT_texture_mapping(Panel):
bl_space_type = 'NODE_EDITOR'
bl_region_type = 'UI'
bl_category = "Node"
bl_label = "Texture Mapping"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
@classmethod
def poll(cls, context):
node = context.active_node
return node and hasattr(node, "texture_mapping") and (context.engine in cls.COMPAT_ENGINES)
def draw(self, context):
layout = self.layout
layout.use_property_split = True
layout.use_property_decorate = False # No animation.
node = context.active_node
mapping = node.texture_mapping
layout.prop(mapping, "vector_type")
layout.separator()
col = layout.column(align=True)
col.prop(mapping, "mapping_x", text="Projection X")
col.prop(mapping, "mapping_y", text="Y")
col.prop(mapping, "mapping_z", text="Z")
layout.separator()
layout.prop(mapping, "translation")
layout.prop(mapping, "rotation")
layout.prop(mapping, "scale")
# Node Backdrop options
class NODE_PT_backdrop(Panel):
bl_space_type = 'NODE_EDITOR'
@ -655,6 +692,7 @@ classes = (
NODE_PT_active_node_generic,
NODE_PT_active_node_color,
NODE_PT_active_node_properties,
NODE_PT_texture_mapping,
NODE_PT_backdrop,
NODE_PT_quality,
NODE_PT_grease_pencil,