| Customize Help

Steps to display 3D data



The following steps provide a typical methodology to show 3D data in a MIL 3D display:

  1. Allocate a 3D display on the same system as your 3D-displayable point cloud container or depth map image buffer, using M3ddispAlloc().

  2. Select the 3D-displayable point cloud container or depth map image buffer to the 3D display, using M3ddispSelect() or M3ddispSelectWindow(). If you select a point cloud container that is not natively 3D-displayable, MIL will compensate and internally convert it to a 3D-displayable format if possible. For more information about what makes a container 3D-displayable, see the Preparing a container for display or processing section of Chapter 35: 3D Containers. If the point cloud container ceases to be 3D-displayable (for example, because its range component is removed), it will not be shown in the display until it becomes 3D-displayable again.

    You can also select an empty container with the M_DISP attribute (in which you plan to grab 3D data) to the display.

  3. Repeat step 2 for all point cloud containers or depth map image buffers that you want to display. In this case, call M3ddispSelect() or M3ddispSelectWindow() with M_ADD to prevent the containers or image buffers you have already added to the 3D display's 3D graphics list from being removed.

  4. Optionally, change the view of the display either using the keyboard/mouse controls or using M3ddispSetView().

  5. If you want to annotate the 3D display, inquire the identifier of its internal 3D graphics list, using M3ddispInquire() with M_3D_GRAPHIC_LIST_ID. Then, add graphic objects to the 3D graphics list using the functions in the M3dgra...() module.

  6. When you no longer want to show a container or depth map image buffer, remove it from the 3D display's internal 3D graphics list using M3ddispSelect() or M3ddispSelectWindow() with M_REMOVE.

  7. When you no longer want to show the window, close it using M3ddispSelect() or M3ddispSelectWindow() with M_CLOSE.

  8. When the 3D display is no longer required, free it using M3ddispFree().