Changeset View
Changeset View
Standalone View
Standalone View
tests/python/operators.py
| Show All 31 Lines | |||||
| MONKEY_LOOP_VERT = {68, 69, 71, 73, 74, 75, 76, 77, 90, 129, 136, 175, 188, 189, 198, 207, | MONKEY_LOOP_VERT = {68, 69, 71, 73, 74, 75, 76, 77, 90, 129, 136, 175, 188, 189, 198, 207, | ||||
| 216, 223, 230, 301, 302, 303, 304, 305, 306, 307, 308} | 216, 223, 230, 301, 302, 303, 304, 305, 306, 307, 308} | ||||
| MONKEY_LOOP_EDGE = {131, 278, 299, 305, 307, 334, 337, 359, 384, 396, 399, 412, 415, 560, | MONKEY_LOOP_EDGE = {131, 278, 299, 305, 307, 334, 337, 359, 384, 396, 399, 412, 415, 560, | ||||
| 567, 572, 577, 615, 622, 627, 632, 643, 648, 655, 660, 707} | 567, 572, 577, 615, 622, 627, 632, 643, 648, 655, 660, 707} | ||||
| def main(): | def main(): | ||||
| tests = [ | tests = [ | ||||
| #### 0 | |||||
| # bisect | # bisect | ||||
| MeshTest("CubeBisect", "testCubeBisect", "expectedCubeBisect", | MeshTest("CubeBisect", "testCubeBisect", "expectedCubeBisect", | ||||
| [OperatorSpecEditMode("bisect", | [OperatorSpecEditMode("bisect", | ||||
| {"plane_co": (0, 0, 0), "plane_no": (0, 1, 1), "clear_inner": True, | {"plane_co": (0, 0, 0), "plane_no": (0, 1, 1), "clear_inner": True, | ||||
| "use_fill": True}, 'FACE', {0, 1, 2, 3, 4, 5}, )]), | "use_fill": True}, 'FACE', {0, 1, 2, 3, 4, 5}, )]), | ||||
| # blend from shape | # blend from shape | ||||
| MeshTest("CubeBlendFromShape", "testCubeBlendFromShape", "expectedCubeBlendFromShape", | MeshTest("CubeBlendFromShape", "testCubeBlendFromShape", "expectedCubeBlendFromShape", | ||||
| [OperatorSpecEditMode("blend_from_shape", {"shape": "Key 1"}, 'FACE', {0, 1, 2, 3, 4, 5})]), | [OperatorSpecEditMode("blend_from_shape", {"shape": "Key 1"}, 'FACE', {0, 1, 2, 3, 4, 5})]), | ||||
| # bridge edge loops | # bridge edge loops | ||||
| MeshTest("CubeBridgeEdgeLoop", "testCubeBrigeEdgeLoop", "expectedCubeBridgeEdgeLoop", | MeshTest("CubeBridgeEdgeLoop", "testCubeBrigeEdgeLoop", "expectedCubeBridgeEdgeLoop", | ||||
| [OperatorSpecEditMode("bridge_edge_loops", {}, "FACE", {0, 1})]), | [OperatorSpecEditMode("bridge_edge_loops", {}, "FACE", {0, 1})]), | ||||
| # decimate | # decimate | ||||
| MeshTest("MonkeyDecimate", "testMonkeyDecimate", "expectedMonkeyDecimate", | MeshTest("MonkeyDecimate", "testMonkeyDecimate", "expectedMonkeyDecimate", | ||||
| [OperatorSpecEditMode("decimate", | [OperatorSpecEditMode("decimate", | ||||
| {"ratio": 0.1}, "FACE", {i for i in range(500)})]), | {"ratio": 0.1}, "FACE", {i for i in range(500)})]), | ||||
| ### 4 | |||||
| # delete | # delete | ||||
| MeshTest("CubeDeleteVertices", "testCubeDeleteVertices", "expectedCubeDeleteVertices", | MeshTest("CubeDeleteVertices", "testCubeDeleteVertices", "expectedCubeDeleteVertices", | ||||
| [OperatorSpecEditMode("delete", {}, "VERT", {3})]), | [OperatorSpecEditMode("delete", {}, "VERT", {3})]), | ||||
| MeshTest("CubeDeleteFaces", "testCubeDeleteFaces", "expectedCubeDeleteFaces", | MeshTest("CubeDeleteFaces", "testCubeDeleteFaces", "expectedCubeDeleteFaces", | ||||
| [OperatorSpecEditMode("delete", {}, "FACE", {0})]), | [OperatorSpecEditMode("delete", {}, "FACE", {0})]), | ||||
| MeshTest("CubeDeleteEdges", "testCubeDeleteEdges", "expectedCubeDeleteEdges", | MeshTest("CubeDeleteEdges", "testCubeDeleteEdges", "expectedCubeDeleteEdges", | ||||
| [OperatorSpecEditMode("delete", {}, "EDGE", {0, 1, 2, 3})]), | [OperatorSpecEditMode("delete", {}, "EDGE", {0, 1, 2, 3})]), | ||||
| # delete edge loop | # delete edge loop | ||||
| MeshTest("MonkeyDeleteEdgeLoopVertices", "testMokneyDeleteEdgeLoopVertices", | MeshTest("MonkeyDeleteEdgeLoopVertices", "testMokneyDeleteEdgeLoopVertices", | ||||
| "expectedMonkeyDeleteEdgeLoopVertices", | "expectedMonkeyDeleteEdgeLoopVertices", | ||||
| [OperatorSpecEditMode("delete_edgeloop", {}, "VERT", MONKEY_LOOP_VERT)]), | [OperatorSpecEditMode("delete_edgeloop", {}, "VERT", MONKEY_LOOP_VERT)]), | ||||
| MeshTest("MonkeyDeleteEdgeLoopEdges", "testMokneyDeleteEdgeLoopEdges", | MeshTest("MonkeyDeleteEdgeLoopEdges", "testMokneyDeleteEdgeLoopEdges", | ||||
| "expectedMonkeyDeleteEdgeLoopEdges", | "expectedMonkeyDeleteEdgeLoopEdges", | ||||
| [OperatorSpecEditMode("delete_edgeloop", {}, "EDGE", MONKEY_LOOP_EDGE)]), | [OperatorSpecEditMode("delete_edgeloop", {}, "EDGE", MONKEY_LOOP_EDGE)]), | ||||
| ### 9 | |||||
| # delete loose | # delete loose | ||||
| MeshTest("CubeDeleteLooseVertices", "testCubeDeleteLooseVertices", | MeshTest("CubeDeleteLooseVertices", "testCubeDeleteLooseVertices", | ||||
| "expectedCubeDeleteLooseVertices", | "expectedCubeDeleteLooseVertices", | ||||
| [OperatorSpecEditMode("delete_loose", {"use_verts": True, "use_edges": False, "use_faces": False}, | [OperatorSpecEditMode("delete_loose", {"use_verts": True, "use_edges": False, "use_faces": False}, | ||||
| "VERT", | "VERT", | ||||
| {i for i in range(12)})]), | {i for i in range(12)})]), | ||||
| MeshTest("CubeDeleteLooseEdges", "testCubeDeleteLooseEdges", | MeshTest("CubeDeleteLooseEdges", "testCubeDeleteLooseEdges", | ||||
| "expectedCubeDeleteLooseEdges", | "expectedCubeDeleteLooseEdges", | ||||
| [OperatorSpecEditMode("delete_loose", {"use_verts": False, "use_edges": True, "use_faces": False}, | [OperatorSpecEditMode("delete_loose", {"use_verts": False, "use_edges": True, "use_faces": False}, | ||||
| "EDGE", | "EDGE", | ||||
| {i for i in range(14)})]), | {i for i in range(14)})]), | ||||
| MeshTest("CubeDeleteLooseFaces", "testCubeDeleteLooseFaces", | MeshTest("CubeDeleteLooseFaces", "testCubeDeleteLooseFaces", | ||||
| "expectedCubeDeleteLooseFaces", | "expectedCubeDeleteLooseFaces", | ||||
| [OperatorSpecEditMode("delete_loose", {"use_verts": False, "use_edges": False, "use_faces": True}, | [OperatorSpecEditMode("delete_loose", {"use_verts": False, "use_edges": False, "use_faces": True}, | ||||
| "FACE", | "FACE", | ||||
| {i for i in range(7)})]), | {i for i in range(7)})]), | ||||
| # dissolve degenerate | # dissolve degenerate | ||||
| MeshTest("CubeDissolveDegenerate", "testCubeDissolveDegenerate", | MeshTest("CubeDissolveDegenerate", "testCubeDissolveDegenerate", | ||||
| "expectedCubeDissolveDegenerate", | "expectedCubeDissolveDegenerate", | ||||
| [OperatorSpecEditMode("dissolve_degenerate", {}, "VERT", {i for i in range(8)})]), | [OperatorSpecEditMode("dissolve_degenerate", {}, "VERT", {i for i in range(8)})]), | ||||
| ### 13 | |||||
| # dissolve edges | # dissolve edges | ||||
| MeshTest("CylinderDissolveEdges", "testCylinderDissolveEdges", "expectedCylinderDissolveEdges", | MeshTest("CylinderDissolveEdges", "testCylinderDissolveEdges", "expectedCylinderDissolveEdges", | ||||
| [OperatorSpecEditMode("dissolve_edges", {}, "EDGE", {0, 5, 6, 9})]), | [OperatorSpecEditMode("dissolve_edges", {}, "EDGE", {0, 5, 6, 9})]), | ||||
| # dissolve faces | # dissolve faces | ||||
| MeshTest("CubeDissolveFaces", "testCubeDissolveFaces", "expectedCubeDissolveFaces", | MeshTest("CubeDissolveFaces", "testCubeDissolveFaces", "expectedCubeDissolveFaces", | ||||
| [OperatorSpecEditMode("dissolve_faces", {}, "VERT", {5, 34, 47, 49, 83, 91, 95})]), | [OperatorSpecEditMode("dissolve_faces", {}, "VERT", {5, 34, 47, 49, 83, 91, 95})]), | ||||
| ### 15 | |||||
| # dissolve verts | # dissolve verts | ||||
| MeshTest("CubeDissolveVerts", "testCubeDissolveVerts", "expectedCubeDissolveVerts", | MeshTest("CubeDissolveVerts", "testCubeDissolveVerts", "expectedCubeDissolveVerts", | ||||
| [OperatorSpecEditMode("dissolve_verts", {}, "VERT", {16, 20, 22, 23, 25})]), | [OperatorSpecEditMode("dissolve_verts", {}, "VERT", {16, 20, 22, 23, 25})]), | ||||
| # duplicate | # duplicate | ||||
| MeshTest("ConeDuplicateVertices", "testConeDuplicateVertices", | MeshTest("ConeDuplicateVertices", "testConeDuplicateVertices", | ||||
| "expectedConeDuplicateVertices", | "expectedConeDuplicateVertices", | ||||
| [OperatorSpecEditMode("duplicate", {}, "VERT", {i for i in range(33)} - {23})]), | [OperatorSpecEditMode("duplicate", {}, "VERT", {i for i in range(33)} - {23})]), | ||||
| MeshTest("ConeDuplicateOneVertex", "testConeDuplicateOneVertex", "expectedConeDuplicateOneVertex", | MeshTest("ConeDuplicateOneVertex", "testConeDuplicateOneVertex", "expectedConeDuplicateOneVertex", | ||||
| [OperatorSpecEditMode("duplicate", {}, "VERT", {23})]), | [OperatorSpecEditMode("duplicate", {}, "VERT", {23})]), | ||||
| MeshTest("ConeDuplicateFaces", "testConeDuplicateFaces", "expectedConeDuplicateFaces", | MeshTest("ConeDuplicateFaces", "testConeDuplicateFaces", "expectedConeDuplicateFaces", | ||||
| [OperatorSpecEditMode("duplicate", {}, "FACE", {6, 9})]), | [OperatorSpecEditMode("duplicate", {}, "FACE", {6, 9})]), | ||||
| MeshTest("ConeDuplicateEdges", "testConeDuplicateEdges", "expectedConeDuplicateEdges", | MeshTest("ConeDuplicateEdges", "testConeDuplicateEdges", "expectedConeDuplicateEdges", | ||||
| [OperatorSpecEditMode("duplicate", {}, "EDGE", {i for i in range(64)})]), | [OperatorSpecEditMode("duplicate", {}, "EDGE", {i for i in range(64)})]), | ||||
| ### 20 | |||||
| # edge collapse | # edge collapse | ||||
| MeshTest("CylinderEdgeCollapse", "testCylinderEdgeCollapse", "expectedCylinderEdgeCollapse", | MeshTest("CylinderEdgeCollapse", "testCylinderEdgeCollapse", "expectedCylinderEdgeCollapse", | ||||
| [OperatorSpecEditMode("edge_collapse", {}, "EDGE", {1, 9, 4})]), | [OperatorSpecEditMode("edge_collapse", {}, "EDGE", {1, 9, 4})]), | ||||
| # edge face add | # edge face add | ||||
| MeshTest("CubeEdgeFaceAddFace", "testCubeEdgeFaceAddFace", "expectedCubeEdgeFaceAddFace", | MeshTest("CubeEdgeFaceAddFace", "testCubeEdgeFaceAddFace", "expectedCubeEdgeFaceAddFace", | ||||
| [OperatorSpecEditMode("edge_face_add", {}, "VERT", {1, 3, 4, 5, 7})]), | [OperatorSpecEditMode("edge_face_add", {}, "VERT", {1, 3, 4, 5, 7})]), | ||||
| MeshTest("CubeEdgeFaceAddEdge", "testCubeEdgeFaceAddEdge", "expectedCubeEdgeFaceAddEdge", | MeshTest("CubeEdgeFaceAddEdge", "testCubeEdgeFaceAddEdge", "expectedCubeEdgeFaceAddEdge", | ||||
| [OperatorSpecEditMode("edge_face_add", {}, "VERT", {4, 5})]), | [OperatorSpecEditMode("edge_face_add", {}, "VERT", {4, 5})]), | ||||
| # edge rotate | # edge rotate | ||||
| MeshTest("CubeEdgeRotate", "testCubeEdgeRotate", "expectedCubeEdgeRotate", | MeshTest("CubeEdgeRotate", "testCubeEdgeRotate", "expectedCubeEdgeRotate", | ||||
| [OperatorSpecEditMode("edge_rotate", {}, "EDGE", {1})]), | [OperatorSpecEditMode("edge_rotate", {}, "EDGE", {1})]), | ||||
| # edge split | # edge split | ||||
| MeshTest("CubeEdgeSplit", "testCubeEdgeSplit", "expectedCubeEdgeSplit", | MeshTest("CubeEdgeSplit", "testCubeEdgeSplit", "expectedCubeEdgeSplit", | ||||
| [OperatorSpecEditMode("edge_split", {}, "EDGE", {2, 5, 8, 11, 14, 17, 20, 23})]), | [OperatorSpecEditMode("edge_split", {}, "EDGE", {2, 5, 8, 11, 14, 17, 20, 23})]), | ||||
| ### 25 | ### 25 | ||||
| # edge ring select - Cannot be tested. Need user input. | |||||
| # MeshTest("CubeEdgeRingSelect", "testCubeEdgeRingSelect", "expectedCubeEdgeRingSelect", | |||||
| # [OperatorSpecEditMode("edgering_select", {}, "EDGE", {5, 20, 25, 26})]), | |||||
| # MeshTest("EmptyMeshEdgeRingSelect", "testGridEdgeRingSelect", "expectedGridEdgeRingSelect", | |||||
| # [OperatorSpecEditMode("edgering_select", {}, "VERT", {65, 66, 67})]), | |||||
| # MeshTest("EmptyMeshEdgeRingSelect", "testEmptyMeshdgeRingSelect", "expectedEmptyMeshEdgeRingSelect", | |||||
| # [OperatorSpecEditMode("edgering_select", {}, "VERT", {})]), | |||||
| # face make planar | # face make planar | ||||
| MeshTest("MonkeyFaceMakePlanar", "testMonkeyFaceMakePlanar", | MeshTest("MonkeyFaceMakePlanar", "testMonkeyFaceMakePlanar", | ||||
| "expectedMonkeyFaceMakePlanar", | "expectedMonkeyFaceMakePlanar", | ||||
| [OperatorSpecEditMode("face_make_planar", {}, "FACE", {i for i in range(500)})]), | [OperatorSpecEditMode("face_make_planar", {}, "FACE", {i for i in range(500)})]), | ||||
| # face split by edges | # face split by edges | ||||
| MeshTest("PlaneFaceSplitByEdges", "testPlaneFaceSplitByEdges", | MeshTest("PlaneFaceSplitByEdges", "testPlaneFaceSplitByEdges", | ||||
| "expectedPlaneFaceSplitByEdges", | "expectedPlaneFaceSplitByEdges", | ||||
| [OperatorSpecEditMode("face_split_by_edges", {}, "VERT", {i for i in range(6)})]), | [OperatorSpecEditMode("face_split_by_edges", {}, "VERT", {i for i in range(6)})]), | ||||
| # faces select linked flat | |||||
| MeshTest("CubeFacesSelectLinkedFlat", "testCubeFaceSelectLinkedFlat", "expectedCubeFaceSelectLinkedFlat", | |||||
| [OperatorSpecEditMode("faces_select_linked_flat", {}, "FACE", {7})]), | |||||
| MeshTest("PlaneFacesSelectLinkedFlat", "testPlaneFaceSelectLinkedFlat", "expectedPlaneFaceSelectLinkedFlat", | |||||
| [OperatorSpecEditMode("faces_select_linked_flat", {}, "VERT", {1})]), | |||||
| MeshTest("EmptyMeshFacesSelectLinkedFlat", "testEmptyMeshFaceSelectLinkedFlat", | |||||
| "expectedEmptyMeshFaceSelectLinkedFlat", | |||||
| [OperatorSpecEditMode("faces_select_linked_flat", {}, "VERT", {})]), | |||||
| # fill | # fill | ||||
| MeshTest("IcosphereFill", "testIcosphereFill", "expectedIcosphereFill", | MeshTest("IcosphereFill", "testIcosphereFill", "expectedIcosphereFill", | ||||
| [OperatorSpecEditMode("fill", {}, "EDGE", {20, 21, 22, 23, 24, 45, 46, 47, 48, 49})]), | [OperatorSpecEditMode("fill", {}, "EDGE", {20, 21, 22, 23, 24, 45, 46, 47, 48, 49})]), | ||||
| MeshTest("IcosphereFillUseBeautyFalse", | MeshTest("IcosphereFillUseBeautyFalse", | ||||
| "testIcosphereFillUseBeautyFalse", "expectedIcosphereFillUseBeautyFalse", | "testIcosphereFillUseBeautyFalse", "expectedIcosphereFillUseBeautyFalse", | ||||
| [OperatorSpecEditMode("fill", {"use_beauty": False}, "EDGE", | [OperatorSpecEditMode("fill", {"use_beauty": False}, "EDGE", | ||||
| {20, 21, 22, 23, 24, 45, 46, 47, 48, 49})]), | {20, 21, 22, 23, 24, 45, 46, 47, 48, 49})]), | ||||
| # fill grid | # fill grid | ||||
| MeshTest("PlaneFillGrid", "testPlaneFillGrid", | MeshTest("PlaneFillGrid", "testPlaneFillGrid", | ||||
| "expectedPlaneFillGrid", | "expectedPlaneFillGrid", | ||||
| [OperatorSpecEditMode("fill_grid", {}, "EDGE", {1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 15})]), | [OperatorSpecEditMode("fill_grid", {}, "EDGE", {1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 15})]), | ||||
| MeshTest("PlaneFillGridSimpleBlending", | MeshTest("PlaneFillGridSimpleBlending", | ||||
| "testPlaneFillGridSimpleBlending", | "testPlaneFillGridSimpleBlending", | ||||
| "expectedPlaneFillGridSimpleBlending", | "expectedPlaneFillGridSimpleBlending", | ||||
| [OperatorSpecEditMode("fill_grid", {"use_interp_simple": True}, "EDGE", | [OperatorSpecEditMode("fill_grid", {"use_interp_simple": True}, "EDGE", | ||||
| {1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 15})]), | {1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 15})]), | ||||
| ### 31 | |||||
| # fill holes | # fill holes | ||||
| MeshTest("SphereFillHoles", "testSphereFillHoles", "expectedSphereFillHoles", | MeshTest("SphereFillHoles", "testSphereFillHoles", "expectedSphereFillHoles", | ||||
| [OperatorSpecEditMode("fill_holes", {"sides": 9}, "VERT", {i for i in range(481)})]), | [OperatorSpecEditMode("fill_holes", {"sides": 9}, "VERT", {i for i in range(481)})]), | ||||
| # inset faces | # inset faces | ||||
| MeshTest("CubeInset", | MeshTest("CubeInset", | ||||
| "testCubeInset", "expectedCubeInset", [OperatorSpecEditMode("inset", {"thickness": 0.2}, "VERT", | "testCubeInset", "expectedCubeInset", [OperatorSpecEditMode("inset", {"thickness": 0.2}, "VERT", | ||||
| {5, 16, 17, 19, 20, 22, 23, 34, 47, 49, 50, | {5, 16, 17, 19, 20, 22, 23, 34, 47, 49, 50, | ||||
| 52, | 52, | ||||
| 59, 61, 62, 65, 83, 91, 95})]), | 59, 61, 62, 65, 83, 91, 95})]), | ||||
| MeshTest("CubeInsetEvenOffsetFalse", | MeshTest("CubeInsetEvenOffsetFalse", | ||||
| "testCubeInsetEvenOffsetFalse", "expectedCubeInsetEvenOffsetFalse", | "testCubeInsetEvenOffsetFalse", "expectedCubeInsetEvenOffsetFalse", | ||||
| [OperatorSpecEditMode("inset", {"thickness": 0.2, "use_even_offset": False}, "VERT", | [OperatorSpecEditMode("inset", {"thickness": 0.2, "use_even_offset": False}, "VERT", | ||||
| {5, 16, 17, 19, 20, 22, 23, 34, 47, 49, 50, 52, 59, 61, 62, 65, 83, 91, 95})]), | {5, 16, 17, 19, 20, 22, 23, 34, 47, 49, 50, 52, 59, 61, 62, 65, 83, 91, 95})]), | ||||
| MeshTest("CubeInsetDepth", | MeshTest("CubeInsetDepth", | ||||
| "testCubeInsetDepth", | "testCubeInsetDepth", | ||||
| "expectedCubeInsetDepth", [OperatorSpecEditMode("inset", {"thickness": 0.2, "depth": 0.2}, "VERT", | "expectedCubeInsetDepth", [OperatorSpecEditMode("inset", {"thickness": 0.2, "depth": 0.2}, "VERT", | ||||
| {5, 16, 17, 19, 20, 22, 23, 34, 47, 49, 50, 52, 59, 61, | {5, 16, 17, 19, 20, 22, 23, 34, 47, 49, 50, 52, 59, 61, | ||||
| Show All 26 Lines | |||||