Thicken
transform lines to tubes or points to spheres
Purpose
The Thicken module can be used to expand lines into tubes or points into spheres. The radius of the resulting tube/sphere can be set to a fixed value or be dependent of a given scalar value.
Ports
The first input port grid_in is required and expects lines or points which the module will expand to tubes or spheres. The module automatically detects whether lines or spheres are provided.
The second input port data_in is optional and takes a data field that can be used to calculate the radii of these tubes/spheres.
Parameters
name |
description |
type |
|---|---|---|
radius |
radius or radius scale factor of tube/sphere |
Float |
sphere_scale |
extra scale factor for spheres |
Float |
map_mode |
mapping of data to tube diameter (DoNothing, Fixed, Radius, InvRadius, Surface, InvSurface, Volume, InvVolume) |
Int |
range |
allowed radius range |
Vector |
start_style |
cap style for initial tube segments (Open, Flat, Round, Arrow) |
Int |
connection_style |
cap style for tube segment connections (Open, Flat, Round, Arrow) |
Int |
end_style |
cap style for final tube segments (Open, Flat, Round, Arrow) |
Int |
correct_depth |
correct per-fragment depth for impostor spheres (slow) |
Int |
Supported System Parameters
name |
description |
type |
|---|---|---|
number of OpenMP threads (0: system default) |
Int |
|
show timing information |
Int |
|
number of tasks to keep in flight per MPI rank (-1: #cores/2) |
Int |
|
input object caching (CacheNone, CacheDeleteEarly, CacheDeleteLate, CacheByName) |
Int |
|
prioritize currently visible timestep |
Int |
|
validate data objects before sending to port (Disable, Quick, Thorough) |
Int |
The meaning of these parameters is described in more detail in the System Parameters documentation.
There are different modes for setting the radius of the resulting geometric bodies which can be selected with map_mode in the parameter window. Additionally, the radius and sphere scale parameters can be altered, to fine-tune the resulting radius and a range can be given for clipping the values of the radii.
Map modes:
DoNothing: Does not change the geometry. However, if
data_inis not empty, the mapped data is added togrid_inand returned through thedata_outport.Fixed: Sets the radius to
radius. If the input grid is a spheres object, it additionally multiplies the valuesphere scaleto the radius. We will refer to this value as Fixed-scale in the following.Radius or InvRadius: Maps the data values (or its reciprocal, respectively) provided through
data_in(multiplied with Fixed-scale) to the radii of each data point/line. If the data is three-dimensional, the L2-norm is calculated.Surface or InvSurface: Like Radius or InvRadius, respectively, but before Fixed-Scale is multiplied to the radius, the square root of the values in
data_inis calculated.Volume or InvVolume: Like Surface or InvSurface, respectively, but instead of the square root, the cube root is calculated.
Usage Examples
In this example, the scalar data field of a data set is first transformed into points via ToPoints (see top-right image) and then thickened into spheres (see image in the center of the right image). The radii of the spheres depend on the scalar data field.
Note: To avoid rendering errors, it is important to pass the output to the ToTriangles module whose transform spheres parameter has been enabled.
Moreover, three-dimensional input data is transformed into a vector field through the VectorField module and the resulting lines are expanded into tubes (see bottom of the right image).