cut_texture3D


Synopsis

show 3D uniform field as a texture-mapped sliced solid

Input Ports

in_field

Mesh_Unif + Space3 + Dim3 + Node_Data

in_plane

cutting plane (Mesh)

texture_map

colors, from colormap

ui_parent

user interface parent object

 

Parameters

map components

UIoptionBoxLabel

select a component of the input field

Above

UItoggle

select side of the plane to cut off

plane distance

UIslider

moves cutting plane parallel to itself

 

Output Ports

out_fld

Mesh + Node_Data

out_ob

output renderable object

 

Description

cut_texture3D shows a 3D uniform field as a solid, with one slice cut off to reveal the interior structure. The slice plane can be moved through the volume perpendicular to the X, Y, and Z axes. Output is generated every time the slice plane moves.

cut_texture3D differs from interp_texture3D in the following ways:

Its slicing plane can only be moved orthogonal to the X axis.

It can display the exterior surfaces of the volume.

Texture mapping is much faster than the sampling techniques used by DVslice, particularly for large datasets. The point sampling done by the texture mapping technique is always done at the resolution of the data; thus, differences in data values within a small area are not obscured, as they can be with DVslice.

Input Ports

in_field

The input must be a field with a Mesh_Unif, Space3, Dim3, and Node_Data.

in_plane

The slicing plane. This is generated by the Plane object found in Geometries.Plane or Geometries.FPlane. The plane object has its own Plane Transformation panel that controls plane rotation, translation, and scale, as well as controls to specify its size when it is connected to the default user interface object in the application in which the macro is instanced.

texture_map

A colormap to provide the texture map. From Libraries.Main.Fields.Data.colormap.

ui_parent

A port to connect to a user interface object that contains the macro's widgets. By default, it is connected to the default user interface object in the application in which the macro is instanced. (This default connection is not drawn.)

Parameters

map components

UIoptionBoxLabel. An option box to pick which components of in_field to texture map. You can pick more than one. The components must be scalar. The default is the first (0th) component. If node data labels are present, they are displayed.

Above

UItoggle. Picks which side of the slice plane to send to the output field.

plane distance

UIslider. A float slider that moves the plane through the field perpendicular to the plane. Though the Plane Transformation panel has X, Y, and Z transformation controls, it is usually easier to use plane's controls to orient and size the plane, but use this plane distance control to move the plane. cut_texture_3D generates output whenever the slice plane moves. The default distance is 0.0 and the range is the extents of the field.

Output Ports

out_fld

The output field contains a new mesh object that is the subset of the original mesh. It has the same type as the input mesh. It has a new Node_Data containing the texture mapping u, v, w values. Its points array (extents) is set to retain the position of the volume of the field in space.

out_obj

This is a renderable version of the output field.

Algorithm

cut_texture3D creates its picture of the volume data using 3D texture mapping. In this method, the boundary of the volume has three values, u, v, w, associated with each of its vertices. Where the slice planes intersect this volume, u, v, w values are computed for the vertices of the resulting solid. These values are attached to the vertices of the output object. Viewers use the u, v, w information to create the texture-mapped rendering.

Example

Libraries.Examples.Vizualization.Cut_Texture
examples/cut_txt.v

File

v/modules.v

See also