user: Give a detailed overview of DepsgraphObjectInstance(bpy_struct): syntax, arguments, return values, common patterns.

assistant: # DepsgraphObjectInstance(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.DepsgraphObjectInstance(*bpy_struct*)
:   Extended information about dependency graph object iterator (Warning: All data here is ‘evaluated’ one, not original .blend IDs)

    instance_object
    :   Evaluated object which is being instanced by this iterator

        Type:
        :   [`Object`](bpy.types.Object.html#bpy.types.Object "bpy.types.Object"), (readonly)

    is_instance
    :   Denotes if the object is generated by another object

        Type:
        :   boolean, default False, (readonly)

    matrix_world
    :   Generated transform matrix in world space

        Type:
        :   [`mathutils.Matrix`](mathutils.html#mathutils.Matrix "mathutils.Matrix") of 4 \* 4 items in [-inf, inf], default ((0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0)), (readonly)

    object
    :   Evaluated object the iterator points to

        Type:
        :   [`Object`](bpy.types.Object.html#bpy.types.Object "bpy.types.Object"), (readonly)

    orco
    :   Generated coordinates in parent object space

        Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 3 items in [-inf, inf], default (0.0, 0.0, 0.0), (readonly)

    parent
    :   If the object is an instance, the parent object that generated it

        Type:
        :   [`Object`](bpy.types.Object.html#bpy.types.Object "bpy.types.Object"), (readonly)

    particle_system
    :   Evaluated particle system that this object was instanced from

        Type:
        :   [`ParticleSystem`](bpy.types.ParticleSystem.html#bpy.types.ParticleSystem "bpy.types.ParticleSystem"), (readonly)

    persistent_id
    :   Persistent identifier for inter-frame matching of objects with motion blur

        Type:
        :   int array of 8 items in [-inf, inf], default (0, 0, 0, 0, 0, 0, 0, 0), (readonly)

    random_id
    :   Random id for this instance, typically for randomized shading

        Type:
        :   int in [0, inf], default 0, (readonly)

    show_particles
    :   Particles part of the object should be visible in the render

        Type:
        :   boolean, default False, (readonly)

    show_self
    :   The object geometry itself should be visible in the render

        Type:
        :   boolean, default False, (readonly)

    uv
    :   UV coordinates in parent object space

        Type:
        :   float array of 2 items in [-inf, inf], default (0.0, 0.0), (readonly)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type