user: Show practical ways to work with MaskSplinePoint(bpy_struct) in a Blender add-on or script – include code.

assistant: # MaskSplinePoint(bpy_struct)

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

*class* bpy.types.MaskSplinePoint(*bpy_struct*)
:   Single point in spline used for defining mask

    co
    :   Coordinates of the control point

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

    feather_points
    :   Points defining feather

        Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`MaskSplinePointUW`](bpy.types.MaskSplinePointUW.html#bpy.types.MaskSplinePointUW "bpy.types.MaskSplinePointUW"), (readonly)

    handle_left
    :   Coordinates of the first handle

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

    handle_left_type
    :   Handle type

        Type:
        :   enum in [`'AUTO'`, `'VECTOR'`, `'ALIGNED'`, `'ALIGNED_DOUBLESIDE'`, `'FREE'`], default `'FREE'`

    handle_right
    :   Coordinates of the second handle

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

    handle_right_type
    :   Handle type

        Type:
        :   enum in [`'AUTO'`, `'VECTOR'`, `'ALIGNED'`, `'ALIGNED_DOUBLESIDE'`, `'FREE'`], default `'FREE'`

    handle_type
    :   Handle type

        Type:
        :   enum in [`'AUTO'`, `'VECTOR'`, `'ALIGNED'`, `'ALIGNED_DOUBLESIDE'`, `'FREE'`], default `'FREE'`

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

    select
    :   Selection status of the control point. (Deprecated: use Select Control Point instead)

        Type:
        :   boolean, default False

    select_control_point
    :   Selection status of the control point

        Type:
        :   boolean, default False

    select_left_handle
    :   Selection status of the left handle

        Type:
        :   boolean, default False

    select_right_handle
    :   Selection status of the right handle

        Type:
        :   boolean, default False

    select_single_handle
    :   Selection status of the Aligned Single handle

        Type:
        :   boolean, default False

    weight
    :   Weight of the point

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

    *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