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

assistant: # RegionView3D(bpy_struct)

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

*class* bpy.types.RegionView3D(*bpy_struct*)
:   3D View region data

    clip_planes
    :   Type:
        :   float multi-dimensional array of 6 \* 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), (0.0, 0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 0.0))

    is_orthographic_side_view
    :   Whether the current view is aligned to an axis (does not check whether the view is orthographic, use “is_perspective” for that). Setting this will rotate the view to the closest axis

        Type:
        :   boolean, default False

    is_perspective
    :   Type:
        :   boolean, default False

    lock_rotation
    :   Lock view rotation of side views to Top/Front/Right

        Type:
        :   boolean, default False

    perspective_matrix
    :   Current perspective matrix (`window_matrix * view_matrix`)

        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)

    show_sync_view
    :   Sync view position between side views

        Type:
        :   boolean, default False

    use_box_clip
    :   Clip view contents based on what is visible in other side views

        Type:
        :   boolean, default False

    use_clip_planes
    :   Type:
        :   boolean, default False

    view_camera_offset
    :   View shift in camera view

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

    view_camera_zoom
    :   Zoom factor in camera view

        Type:
        :   float in [-30, 600], default 0.0

    view_distance
    :   Distance to the view location

        Type:
        :   float in [0, inf], default 0.0

    view_location
    :   View pivot location

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

    view_matrix
    :   Current view matrix

        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))

    view_perspective
    :   View Perspective

        Type:
        :   enum in [`'PERSP'`, `'ORTHO'`, `'CAMERA'`], default `'ORTHO'`

    view_rotation
    :   Rotation in quaternions (keep normalized)

        Type:
        :   [`mathutils.Quaternion`](mathutils.html#mathutils.Quaternion "mathutils.Quaternion") rotation of 4 items in [-inf, inf], default (0.0, 0.0, 0.0, 0.0)

    window_matrix
    :   Current window matrix

        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)

    update()
    :   Recalculate the view matrices

    *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