예제 #1
0
def draw_model_box(mat, scs_globals):
    """
    Draw Cube for Model locator.
    :param mat:
    :param scs_globals:
    :return:
    """

    mat1 = mat @ (Matrix.Translation((0.0, 0.0, 0.0)) @ Matrix.Scale(
        scs_globals.locator_size / 5, 4, (1.0, 0.0, 0.0)) @ Matrix.Scale(
            scs_globals.locator_size / 5, 4,
            (0.0, 1.0, 0.0)) @ Matrix.Scale(scs_globals.locator_size / 5, 4,
                                            (0.0, 0.0, 1.0)))

    cube_vertices, cube_faces, cube_wire_lines = _primitive.get_box_data()

    _primitive.draw_polygon_object(
        mat1,
        cube_vertices,
        cube_faces,
        scs_globals.locator_coll_face_color,
        False,
        True,
        wire_lines=cube_wire_lines,
        wire_color=scs_globals.locator_model_wire_color)
예제 #2
0
def draw_shape_box(mat, obj_scs_props, scene_scs_props):
    """Draw box collider.

    :param mat: Object matrix 4x4
    :type mat: Matrix
    :param obj_scs_props: SCS Object properties
    :type obj_scs_props: prop
    :param scene_scs_props: Blender Scene properties
    :type scene_scs_props: prop
    """

    if obj_scs_props.locator_collider_centered:
        shift = 0.0
    else:
        shift = -obj_scs_props.locator_collider_box_y / 2

    mat1 = mat * Matrix.Translation((0.0, shift, 0.0)) * (
        Matrix.Scale(obj_scs_props.locator_collider_box_x, 4, (1.0, 0.0, 0.0)) *
        Matrix.Scale(obj_scs_props.locator_collider_box_y, 4, (0.0, 1.0, 0.0)) *
        Matrix.Scale(obj_scs_props.locator_collider_box_z, 4, (0.0, 0.0, 1.0)))

    cube_vertices, cube_faces, cube_wire_lines = _primitive.get_box_data()

    _primitive.draw_polygon_object(mat1,
                                   cube_vertices,
                                   cube_faces,
                                   scene_scs_props.locator_coll_face_color,
                                   obj_scs_props.locator_collider_faces,
                                   obj_scs_props.locator_collider_wires,
                                   cube_wire_lines,
                                   scene_scs_props.locator_coll_wire_color)
예제 #3
0
def draw_shape_box(mat, obj_scs_props, scene_scs_props):
    """Draw box collider.

    :param mat: Object matrix 4x4
    :type mat: Matrix
    :param obj_scs_props: SCS Object properties
    :type obj_scs_props: prop
    :param scene_scs_props: Blender Scene properties
    :type scene_scs_props: prop
    """

    if obj_scs_props.locator_collider_centered:
        shift = 0.0
    else:
        shift = -obj_scs_props.locator_collider_box_y / 2

    mat1 = mat * Matrix.Translation(
        (0.0, shift,
         0.0)) * (Matrix.Scale(obj_scs_props.locator_collider_box_x, 4,
                               (1.0, 0.0, 0.0)) *
                  Matrix.Scale(obj_scs_props.locator_collider_box_y, 4,
                               (0.0, 1.0, 0.0)) *
                  Matrix.Scale(obj_scs_props.locator_collider_box_z, 4,
                               (0.0, 0.0, 1.0)))

    cube_vertices, cube_faces, cube_wire_lines = _primitive.get_box_data()

    _primitive.draw_polygon_object(mat1, cube_vertices, cube_faces,
                                   scene_scs_props.locator_coll_face_color,
                                   obj_scs_props.locator_collider_faces,
                                   obj_scs_props.locator_collider_wires,
                                   cube_wire_lines,
                                   scene_scs_props.locator_coll_wire_color)
예제 #4
0
def draw_model_box(mat, scs_globals):
    """
    Draw Cube for Model locator.
    :param mat:
    :param scs_globals:
    :return:
    """

    mat1 = mat * (Matrix.Translation((0.0, 0.0, 0.0)) *
                  Matrix.Scale(scs_globals.locator_size / 5, 4, (1.0, 0.0, 0.0)) *
                  Matrix.Scale(scs_globals.locator_size / 5, 4, (0.0, 1.0, 0.0)) *
                  Matrix.Scale(scs_globals.locator_size / 5, 4, (0.0, 0.0, 1.0)))

    cube_vertices, cube_faces, cube_wire_lines = _primitive.get_box_data()

    _primitive.draw_polygon_object(mat1,
                                   cube_vertices,
                                   cube_faces,
                                   scs_globals.locator_coll_face_color,
                                   False,
                                   True,
                                   cube_wire_lines,
                                   scs_globals.locator_model_wire_color)