:topic: Visualization Views Overview .. index:: triple: DREAM3D-NX; Visualization; Render Window Overview .. _RenderWindowOverview: Visualization Views Overview ############################## **In this tutorial we will detail all the important features that can be accessed from the Visualization tab.** The main purpose of *Visualization* tab is to display the geometries in a *Render Window* or *Spreadsheet* and provide various tools for interacting with that geometry. Visualization View Interaction Toolbar ======================================= **You must have at least one view at all times.** (If you wish to **remove** data from the last *view* you can do so by **right-clicking** the items in the *Visualization* Browser tree and selecting **Delete**.) The image below shows all buttons included within the *View Interaction* group: .. figure:: Images/30_VisualizationViewsOverview/AdditionalButtonsToolbar.png :alt: Additional Buttons Toolbar Additional Buttons Toolbar These buttons and their functionality will be detailed below: 1. **Render Window Splitting** : The *Render Window* splitting feature will create a new *view* and **place it next to the existing one** (the placement of the copy depends on whether you split *horizontally* or *vertically*). There are two options for splitting. The *Render View* option will create a new render window for visualization the data and the *Spreadsheet View* option will create a new spreadsheet view for viewing the raw data in a table format. **You can split as many times as you like.** You can **resize** the *view* after splitting by **hovering over the space that separates** two *views* until the **mouse icon changes**, then **left-click and hold while dragging** the mouse back and forth to reach the desired sizing. The new *views* will have the data hidden by default. You can turn on/show the data in the *view* by clicking on the *view* you would like the data to appear in and clicking the closed eye icon ( |eye closed| ) next to the data view item in the tree until it appears open ( |eye open| ). Click the icon again to hide the data. Before continuing, **it is important to know how to identify the current view** and what that means as far as the options available in the *Render Properties* view (located to the right of the *Visualization* tab by default). The **current view is signified by a blue (dark theme) or orange (light theme) border**. By *default*, there will only be *one* *view* and it will be selected as the current one. The details shown in the *Render Properties* view represents the data for the current *Render Window*. This means that if you have performed a split you can **click back and forth between multiple Render Windows** and the data in the *Render Properties* view will change to match that of the current *Render Window*. - The **Split Horizontally** Button ( |Split Horizontally Button| ): This will put the new *view* **horizontally** next to the current *view* - The **Split Vertically** Button ( |Split Vertically Button| ): This will put the new *view* **vertically** next to the current vi*view*ew. - The **Close View** Button ( |Close Render Window Button| ): This will remove the current *view*. Interacting with the Render Window =================================== This section covers the basics of how to interact with the camera’s viewpoint in the *Render Window*. This allows users to visualize data from different angles and perspectives. There are *three* basic operations one can perform on the camera’s view to do this: - **rotating** - **translating** - **zooming** **It is important to emphasize that these operations are being performed on the camera’s viewpoint and not the data itself.** Meaning when you perform a rotation, you are not rotating the geometry through space, you are rotating the camera to view the geometry from a different perspective. Rotating the Perspective ------------------------- In order to rotate the perspective, left-click and hold anywhere in the *Render Window*. While you are **still holding** the click, *drag* your mouse around until you find the desired perspective. You may have to perform several of these in order to reach the perspective you are looking for. You should also notice a **small axis label** in the bottom left hand corner of the *Render Window* (shown below) which will show you the orientation of your geometry with respect to each of the three x, y, and z axes. .. figure:: Images/30_VisualizationViewsOverview/OrientationMarkerWidget.png :alt: Axes Orientation Marker Axes Orientation Marker Translating the Perspective ----------------------------- There are two ways to perform a translation of perspective: 1. **Click down and hold on the scroll wheel** anywhere in the *Render Window* and while you are still **holding the click drag your mouse around** until you find the desired perspective. 2. **Press and hold the shift key** on your keyboard, then while you are **holding the shift key left-click and hold anywhere in the Render Window**. Then, while you are holding the *shift* key and the left-click, **drag your mouse** around until you find the desired perspective. Zooming ------------------------- There are two ways to perform a zoom operation: 1. **Hover your mouse anywhere in the Render Window** and use the **scroll wheel** to zoom in and out. 2. **Right-click and hold anywhere in the Render Window**, and while you are still holding the click **drag your mouse** vertically up and down to zoom in and out respectively. Render Window Toolbar Buttons Overview --------------------------------------- This section will go over all the buttons that can be found in the toolbars along the left hand side of the *Render Window* and what each of these buttons do. .. figure:: Images/30_VisualizationViewsOverview/VisualizationToolbarButtons.png :alt: VisualizationToolbarButtons Visualization Toolbar Buttons 1. The **Snap to Plane** buttons - **Reset Camera** button ( |reset camera button| ) : Resets the camera to fit the data to the render window - **Rotate Clockwise** button ( |rotate clockwise| ) : Rotates the data in the view clockwise by 90 degrees. - **Rotate Counterclockwise** button ( |rotate counterclockwise| ) : Rotates the data in the view counterclockwise by 90 degrees. - **X-up** button ( |x up button| ): Snaps the camera view to the positive x direction - **X-down** button ( |x down button| ): Snaps the camera view to the negative x direction - **Y-up** button ( |y up button| ): Snaps the camera view to the positive y direction - **Y-down** button ( |y down button| ): Snaps the camera view to the negative y direction - **Z-up** button ( |z up button| ): Snaps the camera view to the positive z direction - **Z-down** button ( |z down button| ): Snaps the camera view to the negative z direction 2. **Point/Cell Hover Info** : The point ( |point hover button| ) and cell ( |cell hover button| ) hover features allows the user to hover over points and cells in the *Render Window* and display id and field data associated with them. The hovered point/cell will be highlighted in the *Render Window* and the data will be displayed in a popup window underneath the mouse. Right or left clicking the hovered point/cell will print the details out to the DREAM3D-NX output window and copy the details to the clipboard in csv format. 3. The **3D/2D** button ( |3D/2D Button| ) : This will **lock or unlock** the *Render Window* to the current camera angle. - **3D** means you can rotate the camera view using the methods outlined in the *Rotating the Perspective* section of this page. - **2D** means you **cannot** rotate the camera view (you can however still translate and zoom using the methods outlined in the *Translating the Perspective* and *Zooming* sections of this page) 3. The **focal point** buttons - **Show/Hide Focal Point** button ( |focal point button| ): Shows or hides the focal point of the camera. - **Reset Focal Point** button ( |reset focal point button| ): Resets the focal point of the camera back to the center of the bounding box of the visible data. - **Pick Focal Point** button ( |pick focal point button| ): Pick a custom focal point for the camera Additional Features (Render Window Context Menu Options) --------------------------------------------------------- On top of mouse/keyboard interactions with the *Render Window* and the toolbar buttons described in the previous sections, there are also a number of additional features that are available via a **Context Menu** in the *Render Window*. You can access this menu by **right-clicking** anywhere in the *Render Window*. .. figure:: Images/30_VisualizationViewsOverview/RenderWindowContextMenuBasic.png :alt: Basic Render Window Context Menu Options Basic Render Window Context Menu Options Geometry Context Menu Options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There are two additional geometry specific options available in the Render Window: - **Show All**: This will show all available data views from the model in the selected Render Window - **Hide All**: This will hide all data views currently being rendered in the selected Render Window General Context Menu Options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There are four basic options that are available via the context menu in the Render Window and are independent of any geometries in the Render Window: - **Link Cameras** : This feature allows you to **link** the cameras from **two different Render Windows** so that any changes to the camera made in one will also happen to the camera in the other. To activate this feature, select the **Link Cameras** option from the *Context Menu* in one of the *Render Windows* you wish to link. Then **left-click** in the other *Render Window* you wish **to link**. The cameras in these two *Render Windows* should now be in sync. To **unlink the cameras**, **right-click** again in either of the two **linked Render Windows** and click the **Unlink Cameras** option. **Only two Render Windows can be linked at once.** It is recommended that you unlink any cameras before linking again to a different *Render Window* camera. - **Capture Screenshot** : This feature will take a **screenshot** of the contents of the **current Render Window** and **save** it to an **image file**. After you've selected the file path in which to save the screenshot, a dialog will pop up allowing you to choose a background for your image. You can check the checkbox to save the image with a transarent background or click the **Background Color** button to choose a custom background color. The selected color to be used with your screenshot will be shown in the preview circle on the right hand side of the button. .. figure:: Images/30_VisualizationViewsOverview/ScreenshotOptions.png :alt: Screenshot Options Screenshot Options - **Copy Screenshot** : This feature will take a screenshot of the contents of the **current Render Window** and copy it to the clipboard. This option is conventient for quickly pasting screenshots of your results into documents, emails etc. This option does not allow for setting a transparent background. - **Camera Parallel Projection** : Toggling this option will determine whether the **camera** should do a **parallel** (1) or **perspective** (2; **default**) projection. - **Axes Grid** : This option will turn **on/off** an **axes grid label** for all geometries currently being shown in the *Render Window*. This option is **NOT** the same as the *Data Axes Grid* option found in the :ref:`Render Properties ` tab. **Note: If you only have one geometry showing in the Render Window, the two will coincide.** .. figure:: Images/30_VisualizationViewsOverview/GlobalGridAxes.png :alt: Global Grid Axes Global Grid Axes Interacting with the Spreadsheet =================================== This section covers the basics of how to interact with the *Spreadhseet View*. This *view* provides several options for viewing the geometry's raw data in a table format. These options are detailed below; 1. **Attribute** : This option allows the user to toggle the table between the point data and the cell data for the selected geometry. 2. **Notation** : This option allows the user to change the formatting of the numbers in the table. The options are fixed, scientific, and auto. 3. **Precision** : This option allows the user to change the decimal point precision of the numbers in the table. 4. **Export** : This option allows the user to export the current table to a csv file. You have the option to choose between tab or comma delimeters. .. |3D/2D Button| image:: Images/30_VisualizationViewsOverview/3DButton.svg .. |x up button| image:: Images/30_VisualizationViewsOverview/xup.png .. |x down button| image:: Images/30_VisualizationViewsOverview/xdown.png .. |y up button| image:: Images/30_VisualizationViewsOverview/yup.png .. |y down button| image:: Images/30_VisualizationViewsOverview/ydown.png .. |z up button| image:: Images/30_VisualizationViewsOverview/zup.png .. |z down button| image:: Images/30_VisualizationViewsOverview/zdown.png .. |Split Horizontally Button| image:: Images/30_VisualizationViewsOverview/SplitHorizontal.png .. |Split Vertically Button| image:: Images/30_VisualizationViewsOverview/SplitVertical.png .. |Close Render Window Button| image:: Images/30_VisualizationViewsOverview/CloseButton.png .. |reset camera button| image:: Images/30_VisualizationViewsOverview/ResetCamera.svg .. |eye open| image:: Images/30_VisualizationViewsOverview/EyeOpen.png .. |eye closed| image:: Images/30_VisualizationViewsOverview/EyeClosed.png .. |point hover button| image:: Images/30_VisualizationViewsOverview/PointHover.png .. |cell hover button| image:: Images/30_VisualizationViewsOverview/CellHover.png .. |Render Window Settings Button| image:: Images/30_VisualizationViewsOverview/Settings.png .. |focal point button| image:: Images/30_VisualizationViewsOverview/ShowHideFocalPoint.svg .. |reset focal point button| image:: Images/30_VisualizationViewsOverview/ResetFocalPoint.svg .. |pick focal point button| image:: Images/30_VisualizationViewsOverview/PickFocalPoint.svg .. |rotate clockwise| image:: Images/30_VisualizationViewsOverview/RotateClockwise.svg .. |rotate counterclockwise| image:: Images/30_VisualizationViewsOverview/RotateCounterclockwise.svg