0024413: Visualization - get rid of projection shift from orthographic camera definition
authorapl <apl@opencascade.com>
Thu, 6 Mar 2014 11:15:53 +0000 (15:15 +0400)
committerabv <abv@opencascade.com>
Thu, 6 Mar 2014 11:50:33 +0000 (15:50 +0400)
commit197ac94e72caa0d8933f26a8d27c3e1b42790245
tree51c68adf915f3d0a4204151cfa4e5b3a0e18b15b
parente618b52683cdbe68d41cae2a2ad9275614f843dc
0024413: Visualization - get rid of projection shift from orthographic camera definition

From now on, the panning behavior of V3d_View completely corresponds to equal operations with camera. There is no more confusing "Center" property and "ProjectionShift" which were used to introduce composite panning, while respecting view referential points: At, Eye unchanged. The V3d_View::FitAll approach has been rewritten to do "fit all" geometrically, operating with frustum, to make it working for both orthographic and perspective projections.

1) Getting rid of ProjectionShift and Center property:
- Removed ProjectionShift property of Graphic3d_Camera.
- Removed confusing Center property of V3d_View (related to projection shift).
- Removed redundant code related to the Center property of V3d_View.
- Removed WindowLimit method of Graphic3d_Camera - no more used.

2) Improvements of fit all and selector:
- Improved FitAll operation of V3d_View and reused it in NIS_View - the perspective projection is now handled correctly.
- Revised code of Select3D_Projector class - can be defined with any given projection and model-view matrices.
- Modified StdSelect_ViewerSelector3d and ensured that panning, zooming and going into the view do not lead to unwanted re-projection of sensitives. The handling of perspective selection is revised.
- Take into account graphical boundaries of infinite structure on ZFitAll.

3) Improvements of camera:
- Introduced new z range scale parameter for V3d_View::AutoZFit. See, V3d_View::AutoZFitMode.
- Allow negative ZNear, ZFar for orthographic camera to avoid clipping of viewed model.
- Moved camera ZNear, ZFar validity checks to V3d_View level.
- Use more meaningful Standard_ShortReal relative precision for ZNear, ZFar ranges computed by ZFitAll.
- Use Standard_Real type for camera projection and orientation matrices.
- Extended camera to generate both Standard_Real and Standard_ShortReal transformation matrices using the same matrix evaluation methods and converted input parameters.

Correcting picking tests for perspective view

Modify v3d face test cases for 1px changes in face picking

Modified test cases for new arguments of vviewparams DRAWEXE command
780 files changed:
src/Graphic3d/FILES
src/Graphic3d/Graphic3d.cdl
src/Graphic3d/Graphic3d_Camera.cxx
src/Graphic3d/Graphic3d_Camera.hxx
src/Graphic3d/Graphic3d_Mat4.hxx
src/Graphic3d/Graphic3d_Mat4d.hxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_Structure.cdl
src/Graphic3d/Graphic3d_Structure.cxx
src/Graphic3d/Graphic3d_Vec.hxx
src/NCollection/NCollection_Mat4.hxx
src/NIS/NIS_View.cxx
src/OpenGl/OpenGl_View.cxx
src/OpenGl/OpenGl_View_2.cxx
src/QABugs/QABugs_16.cxx
src/Select3D/Select3D.cdl
src/Select3D/Select3D_Projector.cdl
src/Select3D/Select3D_Projector.cxx
src/Select3D/Select3D_Projector.lxx
src/StdSelect/StdSelect_ViewerSelector3d.cdl
src/StdSelect/StdSelect_ViewerSelector3d.cxx
src/StdSelect/StdSelect_ViewerSelector3d.lxx
src/V3d/V3d_View.cdl
src/V3d/V3d_View.cxx
src/V3d/V3d_View_3.cxx
src/ViewerTest/ViewerTest.cdl
src/ViewerTest/ViewerTest.cxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx
src/Visual3d/Visual3d_View.cdl
src/Visual3d/Visual3d_View.cxx
tests/bugs/modalg_2/bug20785
tests/bugs/modalg_2/bug21255
tests/bugs/modalg_2/bug21261_1
tests/bugs/modalg_2/bug21261_10
tests/bugs/modalg_2/bug21261_11
tests/bugs/modalg_2/bug21261_2
tests/bugs/modalg_2/bug21261_3
tests/bugs/modalg_2/bug21261_4
tests/bugs/modalg_2/bug21261_40
tests/bugs/modalg_2/bug21261_41
tests/bugs/modalg_2/bug21261_42
tests/bugs/modalg_2/bug21261_43
tests/bugs/modalg_2/bug21261_44
tests/bugs/modalg_2/bug21261_5
tests/bugs/modalg_2/bug21261_6
tests/bugs/modalg_2/bug21261_7
tests/bugs/modalg_2/bug21261_8
tests/bugs/modalg_2/bug21261_9
tests/bugs/modalg_2/bug21415
tests/bugs/modalg_2/bug21909
tests/bugs/modalg_4/bug895
tests/bugs/modalg_5/bug24012
tests/bugs/moddata_1/bug20
tests/bugs/vis/buc60688
tests/bugs/vis/bug113
tests/bugs/vis/bug1174
tests/bugs/vis/bug128
tests/bugs/vis/bug137_4
tests/bugs/vis/bug137_5
tests/bugs/vis/bug215
tests/bugs/vis/bug218
tests/bugs/vis/bug22313
tests/bugs/vis/bug22701
tests/bugs/vis/bug23652
tests/bugs/vis/bug280_2
tests/bugs/vis/bug280_3
tests/bugs/vis/bug281_1
tests/bugs/vis/bug319
tests/bugs/vis/bug349
tests/bugs/vis/bug349_1
tests/bugs/vis/bug544
tests/v3d/edge/A3
tests/v3d/edge/A4
tests/v3d/edge/A5
tests/v3d/edge/A6
tests/v3d/edge/A7
tests/v3d/edge/A8
tests/v3d/edge/A9
tests/v3d/edge/B1
tests/v3d/edge/C3
tests/v3d/edge/C4
tests/v3d/edge/C5
tests/v3d/edge/C6
tests/v3d/edge/C7
tests/v3d/edge/C8
tests/v3d/edge/C9
tests/v3d/edge/D1
tests/v3d/edge/D2
tests/v3d/edge/D3
tests/v3d/edge/D4
tests/v3d/edge/D5
tests/v3d/edge/D6
tests/v3d/edge/D7
tests/v3d/edge/D8
tests/v3d/edge/D9
tests/v3d/edge/E1
tests/v3d/edge/E2
tests/v3d/edge/E3
tests/v3d/edge/E4
tests/v3d/edge/E5
tests/v3d/edge/E6
tests/v3d/edge/E7
tests/v3d/edge/E8
tests/v3d/edge/E9
tests/v3d/edge/F1
tests/v3d/edge/F2
tests/v3d/edge_face/A3
tests/v3d/edge_face/A4
tests/v3d/edge_face/A5
tests/v3d/edge_face/A6
tests/v3d/edge_face/A7
tests/v3d/edge_face/A8
tests/v3d/edge_face/A9
tests/v3d/edge_face/B1
tests/v3d/edge_face/C3
tests/v3d/edge_face/C4
tests/v3d/edge_face/C5
tests/v3d/edge_face/C6
tests/v3d/edge_face/C7
tests/v3d/edge_face/C8
tests/v3d/edge_face/C9
tests/v3d/edge_face/D1
tests/v3d/edge_face/D2
tests/v3d/edge_face/D3
tests/v3d/edge_face/D4
tests/v3d/edge_face/D5
tests/v3d/edge_face/D6
tests/v3d/edge_face/D7
tests/v3d/edge_face/D8
tests/v3d/edge_face/D9
tests/v3d/edge_face/E1
tests/v3d/edge_face/E2
tests/v3d/edge_face/E3
tests/v3d/edge_face/E4
tests/v3d/edge_face/E5
tests/v3d/edge_face/E6
tests/v3d/edge_face/E7
tests/v3d/edge_face/E8
tests/v3d/edge_face/E9
tests/v3d/edge_face/F1
tests/v3d/edge_face/F2
tests/v3d/edge_face/F5
tests/v3d/edge_face/F6
tests/v3d/edge_face/F7
tests/v3d/edge_face/F8
tests/v3d/edge_face/F9
tests/v3d/edge_face/G1
tests/v3d/edge_face/G2
tests/v3d/edge_face/G3
tests/v3d/edge_face/H5
tests/v3d/edge_face/H6
tests/v3d/edge_face/H7
tests/v3d/edge_face/H8
tests/v3d/edge_face/H9
tests/v3d/edge_face/I1
tests/v3d/edge_face/I2
tests/v3d/edge_face/I3
tests/v3d/edge_face/I4
tests/v3d/edge_face/I5
tests/v3d/edge_face/I6
tests/v3d/edge_face/I7
tests/v3d/edge_face/I8
tests/v3d/edge_face/I9
tests/v3d/edge_face/J1
tests/v3d/edge_face/J2
tests/v3d/edge_face/J3
tests/v3d/edge_face/J4
tests/v3d/edge_face/J5
tests/v3d/edge_face/J6
tests/v3d/edge_face/J7
tests/v3d/edge_face/J8
tests/v3d/edge_face/J9
tests/v3d/edge_face/K1
tests/v3d/edge_face/K2
tests/v3d/edge_face/K3
tests/v3d/edge_face/K4
tests/v3d/edge_face/K7
tests/v3d/edge_face/K8
tests/v3d/edge_face/K9
tests/v3d/edge_face/L1
tests/v3d/edge_face/L2
tests/v3d/edge_face/L3
tests/v3d/edge_face/L4
tests/v3d/edge_face/L5
tests/v3d/edge_face/M7
tests/v3d/edge_face/M8
tests/v3d/edge_face/M9
tests/v3d/edge_face/N1
tests/v3d/edge_face/N2
tests/v3d/edge_face/N3
tests/v3d/edge_face/N4
tests/v3d/edge_face/N5
tests/v3d/edge_face/N6
tests/v3d/edge_face/N7
tests/v3d/edge_face/N8
tests/v3d/edge_face/N9
tests/v3d/edge_face/O1
tests/v3d/edge_face/O2
tests/v3d/edge_face/O3
tests/v3d/edge_face/O4
tests/v3d/edge_face/O5
tests/v3d/edge_face/O6
tests/v3d/edge_face/O7
tests/v3d/edge_face/O8
tests/v3d/edge_face/O9
tests/v3d/edge_face/P1
tests/v3d/edge_face/P2
tests/v3d/edge_face/P3
tests/v3d/edge_face/P4
tests/v3d/edge_face/P5
tests/v3d/edge_face/P6
tests/v3d/edge_solid/A3
tests/v3d/edge_solid/A4
tests/v3d/edge_solid/A5
tests/v3d/edge_solid/A6
tests/v3d/edge_solid/A7
tests/v3d/edge_solid/A8
tests/v3d/edge_solid/A9
tests/v3d/edge_solid/B1
tests/v3d/edge_solid/C3
tests/v3d/edge_solid/C4
tests/v3d/edge_solid/C5
tests/v3d/edge_solid/C6
tests/v3d/edge_solid/C7
tests/v3d/edge_solid/C8
tests/v3d/edge_solid/C9
tests/v3d/edge_solid/D1
tests/v3d/edge_solid/D2
tests/v3d/edge_solid/D3
tests/v3d/edge_solid/D4
tests/v3d/edge_solid/D5
tests/v3d/edge_solid/D6
tests/v3d/edge_solid/D7
tests/v3d/edge_solid/D8
tests/v3d/edge_solid/D9
tests/v3d/edge_solid/E1
tests/v3d/edge_solid/E2
tests/v3d/edge_solid/E3
tests/v3d/edge_solid/E4
tests/v3d/edge_solid/E5
tests/v3d/edge_solid/E6
tests/v3d/edge_solid/E7
tests/v3d/edge_solid/E8
tests/v3d/edge_solid/E9
tests/v3d/edge_solid/F1
tests/v3d/edge_solid/F2
tests/v3d/edge_solid/F5
tests/v3d/edge_solid/F6
tests/v3d/edge_solid/F7
tests/v3d/edge_solid/F8
tests/v3d/edge_solid/F9
tests/v3d/edge_solid/G1
tests/v3d/edge_solid/G2
tests/v3d/edge_solid/G3
tests/v3d/edge_solid/H5
tests/v3d/edge_solid/H6
tests/v3d/edge_solid/H7
tests/v3d/edge_solid/H8
tests/v3d/edge_solid/H9
tests/v3d/edge_solid/I1
tests/v3d/edge_solid/I2
tests/v3d/edge_solid/I3
tests/v3d/edge_solid/I4
tests/v3d/edge_solid/I5
tests/v3d/edge_solid/I6
tests/v3d/edge_solid/I7
tests/v3d/edge_solid/I8
tests/v3d/edge_solid/I9
tests/v3d/edge_solid/J1
tests/v3d/edge_solid/J2
tests/v3d/edge_solid/J3
tests/v3d/edge_solid/J4
tests/v3d/edge_solid/J5
tests/v3d/edge_solid/J6
tests/v3d/edge_solid/J7
tests/v3d/edge_solid/J8
tests/v3d/edge_solid/J9
tests/v3d/edge_solid/K1
tests/v3d/edge_solid/K2
tests/v3d/edge_solid/K3
tests/v3d/edge_solid/K4
tests/v3d/edge_solid/K7
tests/v3d/edge_solid/K8
tests/v3d/edge_solid/K9
tests/v3d/edge_solid/L1
tests/v3d/edge_solid/L2
tests/v3d/edge_solid/L3
tests/v3d/edge_solid/L4
tests/v3d/edge_solid/L5
tests/v3d/edge_solid/M7
tests/v3d/edge_solid/M8
tests/v3d/edge_solid/M9
tests/v3d/edge_solid/N1
tests/v3d/edge_solid/N2
tests/v3d/edge_solid/N3
tests/v3d/edge_solid/N4
tests/v3d/edge_solid/N5
tests/v3d/edge_solid/N6
tests/v3d/edge_solid/N7
tests/v3d/edge_solid/N8
tests/v3d/edge_solid/N9
tests/v3d/edge_solid/O1
tests/v3d/edge_solid/O2
tests/v3d/edge_solid/O3
tests/v3d/edge_solid/O4
tests/v3d/edge_solid/O5
tests/v3d/edge_solid/O6
tests/v3d/edge_solid/O7
tests/v3d/edge_solid/O8
tests/v3d/edge_solid/O9
tests/v3d/edge_solid/P1
tests/v3d/edge_solid/P2
tests/v3d/edge_solid/P3
tests/v3d/edge_solid/P4
tests/v3d/edge_solid/P5
tests/v3d/edge_solid/P6
tests/v3d/face/A3
tests/v3d/face/A4
tests/v3d/face/A5
tests/v3d/face/A6
tests/v3d/face/A7
tests/v3d/face/A8
tests/v3d/face/A9
tests/v3d/face/B1
tests/v3d/face/B2
tests/v3d/face/B3
tests/v3d/face/B4
tests/v3d/face/B5
tests/v3d/face/B6
tests/v3d/face/B7
tests/v3d/face/B8
tests/v3d/face/B9
tests/v3d/face/C1
tests/v3d/face/C2
tests/v3d/face/C3
tests/v3d/face/C4
tests/v3d/face/C5
tests/v3d/face/C6
tests/v3d/face/C7
tests/v3d/face/C8
tests/v3d/face/C9
tests/v3d/face/D1
tests/v3d/face/D2
tests/v3d/face/D3
tests/v3d/face/D4
tests/v3d/face/D5
tests/v3d/face/D6
tests/v3d/face/D7
tests/v3d/face/D8
tests/v3d/face/D9
tests/v3d/face/E1
tests/v3d/face/E2
tests/v3d/face/E3
tests/v3d/face/E4
tests/v3d/face/E5
tests/v3d/face/E6
tests/v3d/face/E7
tests/v3d/face/E8
tests/v3d/face/E9
tests/v3d/face/F1
tests/v3d/face/F2
tests/v3d/vertex/A3
tests/v3d/vertex/A4
tests/v3d/vertex/A5
tests/v3d/vertex/A6
tests/v3d/vertex/A7
tests/v3d/vertex/A8
tests/v3d/vertex/A9
tests/v3d/vertex/B1
tests/v3d/vertex/C3
tests/v3d/vertex/C4
tests/v3d/vertex/C5
tests/v3d/vertex/C6
tests/v3d/vertex/C7
tests/v3d/vertex/C8
tests/v3d/vertex/C9
tests/v3d/vertex/D1
tests/v3d/vertex/D2
tests/v3d/vertex/D3
tests/v3d/vertex/D4
tests/v3d/vertex/D5
tests/v3d/vertex/D6
tests/v3d/vertex/D7
tests/v3d/vertex/D8
tests/v3d/vertex/D9
tests/v3d/vertex/E1
tests/v3d/vertex/E2
tests/v3d/vertex/E3
tests/v3d/vertex/E4
tests/v3d/vertex/E5
tests/v3d/vertex/E6
tests/v3d/vertex/E7
tests/v3d/vertex/E8
tests/v3d/vertex/E9
tests/v3d/vertex/F1
tests/v3d/vertex/F2
tests/v3d/vertex_edge/A3
tests/v3d/vertex_edge/A4
tests/v3d/vertex_edge/A5
tests/v3d/vertex_edge/A6
tests/v3d/vertex_edge/A7
tests/v3d/vertex_edge/A8
tests/v3d/vertex_edge/A9
tests/v3d/vertex_edge/B1
tests/v3d/vertex_edge/C3
tests/v3d/vertex_edge/C4
tests/v3d/vertex_edge/C5
tests/v3d/vertex_edge/C6
tests/v3d/vertex_edge/C7
tests/v3d/vertex_edge/C8
tests/v3d/vertex_edge/C9
tests/v3d/vertex_edge/D1
tests/v3d/vertex_edge/D2
tests/v3d/vertex_edge/D3
tests/v3d/vertex_edge/D4
tests/v3d/vertex_edge/D5
tests/v3d/vertex_edge/D6
tests/v3d/vertex_edge/D7
tests/v3d/vertex_edge/D8
tests/v3d/vertex_edge/D9
tests/v3d/vertex_edge/E1
tests/v3d/vertex_edge/E2
tests/v3d/vertex_edge/E3
tests/v3d/vertex_edge/E4
tests/v3d/vertex_edge/E5
tests/v3d/vertex_edge/E6
tests/v3d/vertex_edge/E7
tests/v3d/vertex_edge/E8
tests/v3d/vertex_edge/E9
tests/v3d/vertex_edge/F1
tests/v3d/vertex_edge/F2
tests/v3d/vertex_edge/F5
tests/v3d/vertex_edge/F6
tests/v3d/vertex_edge/F7
tests/v3d/vertex_edge/F8
tests/v3d/vertex_edge/F9
tests/v3d/vertex_edge/G1
tests/v3d/vertex_edge/G2
tests/v3d/vertex_edge/G3
tests/v3d/vertex_edge/H5
tests/v3d/vertex_edge/H6
tests/v3d/vertex_edge/H7
tests/v3d/vertex_edge/H8
tests/v3d/vertex_edge/H9
tests/v3d/vertex_edge/I1
tests/v3d/vertex_edge/I2
tests/v3d/vertex_edge/I3
tests/v3d/vertex_edge/I4
tests/v3d/vertex_edge/I5
tests/v3d/vertex_edge/I6
tests/v3d/vertex_edge/I7
tests/v3d/vertex_edge/I8
tests/v3d/vertex_edge/I9
tests/v3d/vertex_edge/J1
tests/v3d/vertex_edge/J2
tests/v3d/vertex_edge/J3
tests/v3d/vertex_edge/J4
tests/v3d/vertex_edge/J5
tests/v3d/vertex_edge/J6
tests/v3d/vertex_edge/J7
tests/v3d/vertex_edge/J8
tests/v3d/vertex_edge/J9
tests/v3d/vertex_edge/K1
tests/v3d/vertex_edge/K2
tests/v3d/vertex_edge/K3
tests/v3d/vertex_edge/K4
tests/v3d/vertex_face/A3
tests/v3d/vertex_face/A4
tests/v3d/vertex_face/A5
tests/v3d/vertex_face/A6
tests/v3d/vertex_face/A7
tests/v3d/vertex_face/A8
tests/v3d/vertex_face/A9
tests/v3d/vertex_face/B1
tests/v3d/vertex_face/C3
tests/v3d/vertex_face/C4
tests/v3d/vertex_face/C5
tests/v3d/vertex_face/C6
tests/v3d/vertex_face/C7
tests/v3d/vertex_face/C8
tests/v3d/vertex_face/C9
tests/v3d/vertex_face/D1
tests/v3d/vertex_face/D2
tests/v3d/vertex_face/D3
tests/v3d/vertex_face/D4
tests/v3d/vertex_face/D5
tests/v3d/vertex_face/D6
tests/v3d/vertex_face/D7
tests/v3d/vertex_face/D8
tests/v3d/vertex_face/D9
tests/v3d/vertex_face/E1
tests/v3d/vertex_face/E2
tests/v3d/vertex_face/E3
tests/v3d/vertex_face/E4
tests/v3d/vertex_face/E5
tests/v3d/vertex_face/E6
tests/v3d/vertex_face/E7
tests/v3d/vertex_face/E8
tests/v3d/vertex_face/E9
tests/v3d/vertex_face/F1
tests/v3d/vertex_face/F2
tests/v3d/vertex_face/F5
tests/v3d/vertex_face/F6
tests/v3d/vertex_face/F7
tests/v3d/vertex_face/F8
tests/v3d/vertex_face/F9
tests/v3d/vertex_face/G1
tests/v3d/vertex_face/G2
tests/v3d/vertex_face/G3
tests/v3d/vertex_face/H5
tests/v3d/vertex_face/H6
tests/v3d/vertex_face/H7
tests/v3d/vertex_face/H8
tests/v3d/vertex_face/H9
tests/v3d/vertex_face/I1
tests/v3d/vertex_face/I2
tests/v3d/vertex_face/I3
tests/v3d/vertex_face/I4
tests/v3d/vertex_face/I5
tests/v3d/vertex_face/I6
tests/v3d/vertex_face/I7
tests/v3d/vertex_face/I8
tests/v3d/vertex_face/I9
tests/v3d/vertex_face/J1
tests/v3d/vertex_face/J2
tests/v3d/vertex_face/J3
tests/v3d/vertex_face/J4
tests/v3d/vertex_face/J5
tests/v3d/vertex_face/J6
tests/v3d/vertex_face/J7
tests/v3d/vertex_face/J8
tests/v3d/vertex_face/J9
tests/v3d/vertex_face/K1
tests/v3d/vertex_face/K2
tests/v3d/vertex_face/K3
tests/v3d/vertex_face/K4
tests/v3d/vertex_solid/A3
tests/v3d/vertex_solid/A4
tests/v3d/vertex_solid/A5
tests/v3d/vertex_solid/A6
tests/v3d/vertex_solid/A7
tests/v3d/vertex_solid/A8
tests/v3d/vertex_solid/A9
tests/v3d/vertex_solid/B1
tests/v3d/vertex_solid/C3
tests/v3d/vertex_solid/C4
tests/v3d/vertex_solid/C5
tests/v3d/vertex_solid/C6
tests/v3d/vertex_solid/C7
tests/v3d/vertex_solid/C8
tests/v3d/vertex_solid/C9
tests/v3d/vertex_solid/D1
tests/v3d/vertex_solid/D2
tests/v3d/vertex_solid/D3
tests/v3d/vertex_solid/D4
tests/v3d/vertex_solid/D5
tests/v3d/vertex_solid/D6
tests/v3d/vertex_solid/D7
tests/v3d/vertex_solid/D8
tests/v3d/vertex_solid/D9
tests/v3d/vertex_solid/E1
tests/v3d/vertex_solid/E2
tests/v3d/vertex_solid/E3
tests/v3d/vertex_solid/E4
tests/v3d/vertex_solid/E5
tests/v3d/vertex_solid/E6
tests/v3d/vertex_solid/E7
tests/v3d/vertex_solid/E8
tests/v3d/vertex_solid/E9
tests/v3d/vertex_solid/F1
tests/v3d/vertex_solid/F2
tests/v3d/vertex_solid/F5
tests/v3d/vertex_solid/F6
tests/v3d/vertex_solid/F7
tests/v3d/vertex_solid/F8
tests/v3d/vertex_solid/F9
tests/v3d/vertex_solid/G1
tests/v3d/vertex_solid/G2
tests/v3d/vertex_solid/G3
tests/v3d/vertex_solid/H5
tests/v3d/vertex_solid/H6
tests/v3d/vertex_solid/H7
tests/v3d/vertex_solid/H8
tests/v3d/vertex_solid/H9
tests/v3d/vertex_solid/I1
tests/v3d/vertex_solid/I2
tests/v3d/vertex_solid/I3
tests/v3d/vertex_solid/I4
tests/v3d/vertex_solid/I5
tests/v3d/vertex_solid/I6
tests/v3d/vertex_solid/I7
tests/v3d/vertex_solid/I8
tests/v3d/vertex_solid/I9
tests/v3d/vertex_solid/J1
tests/v3d/vertex_solid/J2
tests/v3d/vertex_solid/J3
tests/v3d/vertex_solid/J4
tests/v3d/vertex_solid/J5
tests/v3d/vertex_solid/J6
tests/v3d/vertex_solid/J7
tests/v3d/vertex_solid/J8
tests/v3d/vertex_solid/J9
tests/v3d/vertex_solid/K1
tests/v3d/vertex_solid/K2
tests/v3d/vertex_solid/K3
tests/v3d/vertex_solid/K4
tests/v3d/vertex_wire/A3
tests/v3d/vertex_wire/A4
tests/v3d/vertex_wire/A5
tests/v3d/vertex_wire/A6
tests/v3d/vertex_wire/A7
tests/v3d/vertex_wire/A8
tests/v3d/vertex_wire/A9
tests/v3d/vertex_wire/B1
tests/v3d/vertex_wire/C3
tests/v3d/vertex_wire/C4
tests/v3d/vertex_wire/C5
tests/v3d/vertex_wire/C6
tests/v3d/vertex_wire/C7
tests/v3d/vertex_wire/C8
tests/v3d/vertex_wire/C9
tests/v3d/vertex_wire/D1
tests/v3d/vertex_wire/D2
tests/v3d/vertex_wire/D3
tests/v3d/vertex_wire/D4
tests/v3d/vertex_wire/D5
tests/v3d/vertex_wire/D6
tests/v3d/vertex_wire/D7
tests/v3d/vertex_wire/D8
tests/v3d/vertex_wire/D9
tests/v3d/vertex_wire/E1
tests/v3d/vertex_wire/E2
tests/v3d/vertex_wire/E3
tests/v3d/vertex_wire/E4
tests/v3d/vertex_wire/E5
tests/v3d/vertex_wire/E6
tests/v3d/vertex_wire/E7
tests/v3d/vertex_wire/E8
tests/v3d/vertex_wire/E9
tests/v3d/vertex_wire/F1
tests/v3d/vertex_wire/F2
tests/v3d/vertex_wire/F5
tests/v3d/vertex_wire/F6
tests/v3d/vertex_wire/F7
tests/v3d/vertex_wire/F8
tests/v3d/vertex_wire/F9
tests/v3d/vertex_wire/G1
tests/v3d/vertex_wire/G2
tests/v3d/vertex_wire/G3
tests/v3d/vertex_wire/H5
tests/v3d/vertex_wire/H6
tests/v3d/vertex_wire/H7
tests/v3d/vertex_wire/H8
tests/v3d/vertex_wire/H9
tests/v3d/vertex_wire/I1
tests/v3d/vertex_wire/I2
tests/v3d/vertex_wire/I3
tests/v3d/vertex_wire/I4
tests/v3d/vertex_wire/I5
tests/v3d/vertex_wire/I6
tests/v3d/vertex_wire/I7
tests/v3d/vertex_wire/I8
tests/v3d/vertex_wire/I9
tests/v3d/vertex_wire/J1
tests/v3d/vertex_wire/J2
tests/v3d/vertex_wire/J3
tests/v3d/vertex_wire/J4
tests/v3d/vertex_wire/J5
tests/v3d/vertex_wire/J6
tests/v3d/vertex_wire/J7
tests/v3d/vertex_wire/J8
tests/v3d/vertex_wire/J9
tests/v3d/vertex_wire/K1
tests/v3d/vertex_wire/K2
tests/v3d/vertex_wire/K3
tests/v3d/vertex_wire/K4
tests/v3d/wire/A3
tests/v3d/wire/A4
tests/v3d/wire/A5
tests/v3d/wire/A6
tests/v3d/wire/A7
tests/v3d/wire/A8
tests/v3d/wire/A9
tests/v3d/wire/B1
tests/v3d/wire/C3
tests/v3d/wire/C4
tests/v3d/wire/C5
tests/v3d/wire/C6
tests/v3d/wire/C7
tests/v3d/wire/C8
tests/v3d/wire/C9
tests/v3d/wire/D1
tests/v3d/wire/D2
tests/v3d/wire/D3
tests/v3d/wire/D4
tests/v3d/wire/D5
tests/v3d/wire/D6
tests/v3d/wire/D7
tests/v3d/wire/D8
tests/v3d/wire/D9
tests/v3d/wire/E1
tests/v3d/wire/E2
tests/v3d/wire/E3
tests/v3d/wire/E4
tests/v3d/wire/E5
tests/v3d/wire/E6
tests/v3d/wire/E7
tests/v3d/wire/E8
tests/v3d/wire/E9
tests/v3d/wire/F1
tests/v3d/wire/F2
tests/v3d/wire_solid/A3
tests/v3d/wire_solid/A4
tests/v3d/wire_solid/A5
tests/v3d/wire_solid/A6
tests/v3d/wire_solid/A7
tests/v3d/wire_solid/A8
tests/v3d/wire_solid/A9
tests/v3d/wire_solid/B1
tests/v3d/wire_solid/C3
tests/v3d/wire_solid/C4
tests/v3d/wire_solid/C5
tests/v3d/wire_solid/C6
tests/v3d/wire_solid/C7
tests/v3d/wire_solid/C8
tests/v3d/wire_solid/C9
tests/v3d/wire_solid/D1
tests/v3d/wire_solid/D2
tests/v3d/wire_solid/D3
tests/v3d/wire_solid/D4
tests/v3d/wire_solid/D5
tests/v3d/wire_solid/D6
tests/v3d/wire_solid/D7
tests/v3d/wire_solid/D8
tests/v3d/wire_solid/D9
tests/v3d/wire_solid/E1
tests/v3d/wire_solid/E2
tests/v3d/wire_solid/E3
tests/v3d/wire_solid/E4
tests/v3d/wire_solid/E5
tests/v3d/wire_solid/E6
tests/v3d/wire_solid/E7
tests/v3d/wire_solid/E8
tests/v3d/wire_solid/E9
tests/v3d/wire_solid/F1
tests/v3d/wire_solid/F2
tests/v3d/wire_solid/F5
tests/v3d/wire_solid/F6
tests/v3d/wire_solid/F7
tests/v3d/wire_solid/F8
tests/v3d/wire_solid/F9
tests/v3d/wire_solid/G1
tests/v3d/wire_solid/G2
tests/v3d/wire_solid/G3
tests/v3d/wire_solid/H5
tests/v3d/wire_solid/H6
tests/v3d/wire_solid/H7
tests/v3d/wire_solid/H8
tests/v3d/wire_solid/H9
tests/v3d/wire_solid/I1
tests/v3d/wire_solid/I2
tests/v3d/wire_solid/I3
tests/v3d/wire_solid/I4
tests/v3d/wire_solid/I5
tests/v3d/wire_solid/I6
tests/v3d/wire_solid/I7
tests/v3d/wire_solid/I8
tests/v3d/wire_solid/I9
tests/v3d/wire_solid/J1
tests/v3d/wire_solid/J2
tests/v3d/wire_solid/J3
tests/v3d/wire_solid/J4
tests/v3d/wire_solid/J5
tests/v3d/wire_solid/J6
tests/v3d/wire_solid/J7
tests/v3d/wire_solid/J8
tests/v3d/wire_solid/J9
tests/v3d/wire_solid/K1
tests/v3d/wire_solid/K2
tests/v3d/wire_solid/K3
tests/v3d/wire_solid/K4