# ShaderNodeHairInfo(ShaderNode)

base classes — `bpy_struct`, `Node`, `NodeInternal`, `ShaderNode`

class `bpy.types.``ShaderNodeHairInfo`(ShaderNode)
  classmethod `is_registered_node_type`()

    True if a registered node type

    Returns: | Result
    Return type: | boolean

  classmethod `input_template`(index)

    Input socket template

    Parameters: | index (int in [0, inf]) – Index
    Returns: | result
    Return type: | `NodeInternalSocketTemplate`

  classmethod `output_template`(index)

    Output socket template

    Parameters: | index (int in [0, inf]) – Index
    Returns: | result
    Return type: | `NodeInternalSocketTemplate`

  classmethod `bl_rna_get_subclass`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The RNA type or default when not found.
    Return type: | `bpy.types.Struct` subclass

  classmethod `bl_rna_get_subclass_py`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The class or default when not found.
    Return type: | type

Inherited Properties

`bpy_struct.id_data` `Node.type` `Node.location` `Node.width` `Node.width_hidden` `Node.height` `Node.dimensions` `Node.name` `Node.label` `Node.inputs` `Node.outputs` `Node.internal_links` `Node.parent` `Node.use_custom_color` `Node.color` `Node.select` | `Node.show_options` `Node.show_preview` `Node.hide` `Node.mute` `Node.show_texture` `Node.bl_idname` `Node.bl_label` `Node.bl_description` `Node.bl_icon` `Node.bl_static_type` `Node.bl_width_default` `Node.bl_width_min` `Node.bl_width_max` `Node.bl_height_default` `Node.bl_height_min` `Node.bl_height_max`

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_overridable_library` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` `bpy_struct.keyframe_delete` `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.pop` `bpy_struct.property_overridable_library_set` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values` | `Node.socket_value_update` `Node.is_registered_node_type` `Node.poll` `Node.poll_instance` `Node.update` `Node.insert_link` `Node.init` `Node.copy` `Node.free` `Node.draw_buttons` `Node.draw_buttons_ext` `Node.draw_label` `Node.poll` `NodeInternal.poll` `NodeInternal.poll_instance` `NodeInternal.update` `NodeInternal.draw_buttons` `NodeInternal.draw_buttons_ext` `ShaderNode.poll`