draw_lines The draw_lines module enables you to create both 2D and 3D lines interactively with the mouse. The mouse gesture for line creation is: depress the Ctrl key and then click the left mouse button on any pickable object in the viewer. The first click establishes the beginning point of the line segment and the second click establishes each successive point.
polyline processing The polyline processing module accepts a 3D polyline and can either increase or decrease the number of line segments of the polyline. A splining algorithm smooths the line trajectory once the number of points are specified. This module is useful for applications such as a fly over application (along a polyline path drawn by the user). If the user drawn line is jagged with erratically spaced line segments, polyline spline smooths the path and creates evenly spaced line segments along the path.
triangulate_polygons triangulate_polygons converts a closed polyline into a triangulated surface. This surface can be extruded or used by the distance to 2d area module to perform areal subsetting of 3D models. Polylines with WIDTH in AutoCAD DWG files are converted by import_cad into triangle strips of the specified width. As you zoom in on polylines with width, the apparent width will change, whereas the apparent width of lines DOES NOT change. However, once they are triangles, they DO NOT define a closed area and therefore would not work with triangulate_polygons.
triangle refinement triangle refinement is primarily for use with distance to surface. It can subdivide triangular and quadrilateral cells until none of the sides of the output triangles exceed a user specified length (a default value is calculated as 5% of the x-y extent of your input surface). This increases the accuracy of distance to surface especially when the input surface comes from create_tin and the nodes used to create the TIN are poorly spaced. It can also correct the normals of a surface. It does this by organizing all of the triangles and quadrilaterals in a surface into disjoint patches, and then allowing the user to select which patches have normals that need to be flipped. The maximum number of triangles in a patch is 130,000, any triangles above this number will be considered to be in the next patch.
tubes The tubes module is used to produce open or closed tubes of constant or data dependent radius using 3D lines or polylines as input. Tube size, number of sides and data dependent coloring is possible. Rotation of the tubes are done with the Phase slider (or type-in), which is specified in degrees. There are two methods used to maintain continuity of the tube orientation as the path meanders along a 3D path. These are specified as the Phase Determination method:
volumetric_tunnel The volumetric_tunnel module allows you to create a volumetric tunnel model that is defined by a polygonal surface cross-section along a complex 3DĀ path. Once this volumetric grid is defined, it can be used as input to various modules to map analyte and/or geologic data onto the tunnel. These include: 3d estimation: external grid port: to map analytical data lithologic modeling: external grid port: to map lithologic data interp_data to map analytical data interp_cell_data: to map stratigraphic or lithologic material data The requirements for the tunnel path and cross-section are:
cross_section_tubes The cross_section_tubes module is used to produce open or closed tubes of user defined cross-section and constant or data dependent radius using 3D lines or polylines as input for the centerline and a single 2D polyline as the cross-section of the tubes. Module Input Ports Input Field [Field] Accepts a field with or without data containing lines which represent the paths of the tubes. Input Cross Section Field [Field] Accepts a field which has the cross-section of the tubes. Rotation of the cross-section is done with the Phase slider (or type-in), which is specified in degrees. There are two methods used to maintain continuity of the tube orientation as the path meanders along a 3D path. These are specified as the Phase Determination method:
extrude The extrude module accepts any mesh and adds one to the dimensionality of the input by extruding the mesh in the Z direction. The interface enables changing the height scale for extruded cells and extruding by a constant, any nodal or cell data component. This module is often used with the import vector gis module to convert polygonal shapefiles into extruded volumetric cells.
drive_glyphs The drive_glyph module provides a way to move any object (glyph or object from Read_DXF, etc.) along multiple paths to create a ādrivingā animation. Module Input Ports drive_glyphs has three input ports. Data passed to the first port is the paths to follow (normally from read_lines). The second port accepts the glyph or vehicle to drive, usually read in with the read glyph module.
place_glyph General Module Function The place_glyph module is used to place a single scalable geometric objects (glyph) at an interactively determined location.
glyphs at nodes The glyphs at nodes module is used to place geometric objects (glyphs) at nodal locations. The glyphs can be scaled, rotated and colored based on the input data. If the input data is a vector, the glyph can be scaled and rotated to represent the direction and absolute magnitude of the vector field. In a scalar data field, the objects can be scaled based on the magnitude of the scalar. The glyphs can represent the data field of one data component while being colored by another data component. Arrow glyphs are commonly used in vector fields to produce visualizations of the vector field.
create_fault_surface The create_fault_surface module creates a 3D grid that is aligned to a specified strike and dip. Module Input Ports Z Scale [Number] Accepts Z Scale (vertical exaggeration). Input Field [Field] Accepts a field to extract its extent Module Output Ports Z Scale [Number] Outputs Z Scale (vertical exaggeration) to other modules OutputĀ Field [Field / Minor] Outputs the surface Fault Surface [Renderable]: Outputs to the viewer
create_grid The create_grid module produces a 2D or 3D uniform grid that can be used for any purpose. A typical use is starting points for 3d streamlines or advector. In 2D (default) mode it creates a rectangle of user adjustable grid resolution and orientation. In 3D mode it creates a box (3D grid). The number of nodes will depend on the X, Y &Ā optional ZĀ resolutions as well as the cell type specified.
Subsections of Geometry
draw_lines
The draw_lines module enables you to create both 2D and 3D lines interactively with the mouse.
The mouse gesture for line creation is: depress the Ctrl key and then click the left mouse button on any pickable object in the viewer. The first click establishes the beginning point of the line segment and the second click establishes each successive point.
draw_lines allows adding of points that are outside the model extents, undoing of the last picked point, and the clearing of all picked points. Unlike most modules which create mesh data to used by other modules, the draw_lines module receives input from the viewer, and also passes on field data to be used by other modules.
There are two drawing modes:
Top View Mode creates 2D lines which are always at Z=0.0. You must be in a Top View to draw with this mode, but you may pick points anywhere in the viewer screen.
Object Mode creates 3D lines which are drawn by probing objects in your model. You cannot draw at a point without having an object there or specifying a coordinate using the x-y-z type-ins.
NOTE: Because draw_lines saves your lines with your application, when an application is saved, the purple port is automatically disconnected from the viewer. This ensures that when you load an application the resulting objects (lines, fence-diagrams, etc.) will look exactly the same as when you saved the application. However, if you wish to draw new lines you will need to reconnect the purple port from the viewer.
Module Input Ports
- View [View] Connects to the viewer to receive the extent of all objects in the viewer for scaling lines and drawing on objects.
Module Output Ports
- OutputĀ Field [Field / minor] Outputs the field with the scaling and exploding applied.
- Sample Data [Renderable]: Outputs to the viewer.
polyline processing
The polyline processing module accepts a 3D polyline and can either increase or decrease the number of line segments of the polyline. A splining algorithm smooths the line trajectory once the number of points are specified. This module is useful for applications such as a fly over application (along a polyline path drawn by the user). If the user drawn line is jagged with erratically spaced line segments, polyline spline smooths the path and creates evenly spaced line segments along the path.
Module Input Ports
- Input Field [Field] Accepts a 3D polyline field
Module Output Ports
- OutputĀ Data [Field] Outputs the splined lines
- Output Object [Renderable]: Outputs to the viewer
triangulate_polygons
triangulate_polygons converts a closed polyline into a triangulated surface. This surface can be extruded or used by the distance to 2d area module to perform areal subsetting of 3D models.
Polylines with WIDTH in AutoCAD DWG files are converted by import_cad into triangle strips of the specified width. As you zoom in on polylines with width, the apparent width will change, whereas the apparent width of lines DOES NOT change. However, once they are triangles, they DO NOT define a closed area and therefore would not work with triangulate_polygons.
Module Input Ports
- Input Field [Field] Accepts a data field representing closed polygon(s).
Module Output Ports
- OutputĀ Field [Field] Outputs the surface(s) field
- Output Object [Renderable]: Outputs to the viewer.
triangle refinement
triangle refinement is primarily for use with distance to surface. It can subdivide triangular and quadrilateral cells until none of the sides of the output triangles exceed a user specified length (a default value is calculated as 5% of the x-y extent of your input surface). This increases the accuracy of distance to surface especially when the input surface comes from create_tin and the nodes used to create the TIN are poorly spaced. It can also correct the normals of a surface. It does this by organizing all of the triangles and quadrilaterals in a surface into disjoint patches, and then allowing the user to select which patches have normals that need to be flipped. The maximum number of triangles in a patch is 130,000, any triangles above this number will be considered to be in the next patch.
Removing small cells is used to remove extremely small cells (based on area in your coordinate units squared) that sometimes are generated with CAD triangulation routines that might have their normal vectors reversed and would contribute to poor cutting surface definition. Try this option if you find that distance to surface is giving anomalous results.
The maximum edge length allows the maximum length of each triangle side to be set for when the Split Cells option is set.
The ability to fix normals is used to check to that all of the triangles in selected patches of the surface have the same normal vector direction. If the normal is backwards, you can flip the normal of the patch in two ways. The first way is Alt + Right click on a cell in the patch that you wish to flip and then click the Add patch to flip list button. You only need to do this for one cell in each patch. Another way to do this is to set the Cell ID and Cell Data value of a cell in the patch you wish to flip. The Cell Id and Cell Data values must be obtained from the surface being output from triangle refinement, and not the surface being input.
Module Input Ports
- Input Field [Field] Accepts a data field.
Module Output Ports
- OutputĀ Field [Field] Outputs the refined grid.
- Sample Data [Renderable]: Outputs to the viewer.
tubes
The tubes module is used to produce open or closed tubes of constant or data dependent radius using 3D lines or polylines as input. Tube size, number of sides and data dependent coloring is possible.
Rotation of the tubes are done with the Phase slider (or type-in), which is specified in degrees. There are two methods used to maintain continuity of the tube orientation as the path meanders along a 3D path. These are specified as the Phase Determination method:
- Force Z Up:Ā is the default and is most appropriate for paths that stay relatively horizontal. This option keeps the tube faces aligned with the Z axis and therefore with a slope of 30 degrees, the effective cross sectional area of the tube would be reduced by cos(30) which would be a 14% reduction. However for the typical slopes found with tunneling this effect is quite minimal and this option keeps the tube perfectly aligned.
- Perpendicular Extrusions: keeps the tube cross-section aligned with the tube (extrusion)Ā path and therefore preserves the cross-section no matter what the path. However, tube rotation creep is possible.
Module Input Ports
- Input Field [Field] Accepts a field with or without data containing lines which represent the paths of the tubes.
Module Output Ports
- OutputĀ Field [Field] Outputs the field as tubes.
- Output Object [Renderable]: Outputs to the viewer.
volumetric_tunnel
The volumetric_tunnel module allows you to create a volumetric tunnel model that is defined by a polygonal surface cross-section along a complex 3DĀ path. Once this volumetric grid is defined, it can be used as input to various modules to map analyte and/or geologic data onto the tunnel. These include:
- 3d estimation: external grid port: to map analytical data
- lithologic modeling: external grid port: to map lithologic data
- interp_data to map analytical data
- interp_cell_data: to map stratigraphic or lithologic material data
The requirements for the tunnel path and cross-section are:
- The path must be defined by a line input to the Right input port.
- The tunnel cross-section is defined by a surface input to the Left input port.
- The cross-section should be defined in the X-Y plane at Z = 0 (2D)
- The coordinates (size) of the cross-section should be actual scale in the same units as the tunnel path (generally feet or meters).
- Do not use cm for cross-section and meters for path.
- Generally, the X-Y Origin (0, 0) should lie within the cross-section and should represent where the tunnel path should be.
cross_section_tubes
The cross_section_tubes module is used to produce open or closed tubes of user defined cross-section and constant or data dependent radius using 3D lines or polylines as input for the centerline and a single 2D polyline as the cross-section of the tubes.
Module Input Ports
- Input Field [Field] Accepts a field with or without data containing lines which represent the paths of the tubes.
- Input Cross Section Field [Field] Accepts a field which has the cross-section of the tubes.
Rotation of the cross-section is done with the Phase slider (or type-in), which is specified in degrees. There are two methods used to maintain continuity of the tube orientation as the path meanders along a 3D path. These are specified as the Phase Determination method:
- Force Z Up:Ā is the default and is most appropriate for paths that stay relatively horizontal. This option keeps the tube cross-section aligned with the Z axis and therefore with a slope of 30 degrees, the effective cross sectional area of the tube would be reduced by cos(30) which would be a 14% reduction. However for the typical slopes found with tunneling this effect is quite minimal and this option keeps the tube perfectly aligned.
- Perpendicular Extrusions: keeps the tube cross-section aligned with the tube (extrusion)Ā path and therefore preserves the cross-section no matter what the path. However, cross-section rotation creep is possible.
The cross section field input must be a closed polyline that is drawn in the X-Y plane in the correct size. It should be balanced about the origin in X, usually with the Y axis (X=0) at the floor of the tunnel. This results in the tunnel being created such that the tunnel path will be at the centerline FLOOR of the tunnel as shown in the picture below.
This tube was created with an EVSĀ Line File (.elf) that was very simple and is shown below:
LINE
-10 0 0
-10 7 0
-7 10 0
7 10 0
10 7 0
10 0 0
CLOSE
END
As you can see, all of the Z coordinates are zero since they are irrelevant. This shape is balanced about the Y axis and is all Y >= 0
Module Output Ports
- OutputĀ Field [Field] Outputs the subsetted field as faces.
- Output Object [Renderable]: Outputs to the viewer.
extrude
The extrude module accepts any mesh and adds one to the dimensionality of the input by extruding the mesh in the Z direction. The interface enables changing the height scale for extruded cells and extruding by a constant, any nodal or cell data component. This module is often used with the import vector gis module to convert polygonal shapefiles into extruded volumetric cells.
When Node Data Component is chosen, the output cells will be extruded by the Scale Factor times the value of whichever nodal data component is selected on the right. With nodal data extrusion you must select “Positive Extrusions Only” or “Negative Extrusions Only”. Since each node of a triangle or quadrilateral can have different values, it is possible for a single cell to have both positive and negative data values at its nodes. If this type of cell is extruded both directions, the cell topology can become tangled.
For this reason, nodal data extrusions must be limited to one direction. To extrude in both directions, merely use two extrude modules in parallel, one set to positive and the other to negative.
Module Input Ports
- Input Field [Field] Accepts a field with or without data
Module Output Ports
- OutputĀ Field [Field / Minor] Outputs the field
- Output Object [Renderable]: Outputs to the viewer
drive_glyphs
The drive_glyph module provides a way to move any object (glyph or object from Read_DXF, etc.) along multiple paths to create a “driving” animation.
Module Input Ports
drive_glyphs has three input ports.
Data passed to the first port is the paths to follow (normally from read_lines).
The second port accepts the glyph or vehicle to drive, usually read in with the read glyph module.
The third port is a float parameter for the position of the glyphs.
Module Output Ports
drive_glyph has three output ports.
The leftmost output port is a float parameter for the position of the glyphs along the input paths.
The center port is the animated glyphs.
The right output port is the animated glyphs in a renderable form for the viewer.
place_glyph
General Module Function
The place_glyph module is used to place a single scalable geometric objects (glyph) at an interactively determined location.
glyphs at nodes
The glyphs at nodes module is used to place geometric objects (glyphs) at nodal locations. The glyphs can be scaled, rotated and colored based on the input data. If the input data is a vector, the glyph can be scaled and rotated to represent the direction and absolute magnitude of the vector field. In a scalar data field, the objects can be scaled based on the magnitude of the scalar. The glyphs can represent the data field of one data component while being colored by another data component. Arrow glyphs are commonly used in vector fields to produce visualizations of the vector field.
Module Input Ports
- Z Scale [Number] Accepts Z Scale (vertical exaggeration).
- Input Field [Field] Accepts a field with scalar or vector data.
- Input Glyph [Field] Accepts a field representing the glyphs
Module Output Ports
- OutputĀ Field [Field] Outputs the glyphs
- Output Object [Renderable]: Outputs to the viewer.
create_fault_surface
The create_fault_surface module creates a 3D grid that is aligned to a specified strike and dip.
Module Input Ports
- Z Scale [Number] Accepts Z Scale (vertical exaggeration).
- Input Field [Field] Accepts a field to extract its extent
Module Output Ports
- Z Scale [Number] Outputs Z Scale (vertical exaggeration) to other modules
- OutputĀ Field [Field / Minor] Outputs the surface
- Fault Surface [Renderable]: Outputs to the viewer
create_grid
The create_grid module produces a 2D or 3D uniform grid that can be used for any purpose. A typical use is starting points for 3d streamlines or advector. In 2D (default) mode it creates a rectangle of user adjustable grid resolution and orientation. In 3D mode it creates a box (3D grid). The number of nodes will depend on the X, Y &Ā optional ZĀ resolutions as well as the cell type specified.
Module Input Ports
- Input Field [Field] Accepts a field to extract its extent and properly set the application origin. Do not use this module without input to this field, which can be as simple as post samples.
Module Output Ports
- OutputĀ Field [Field / Minor] Outputs the surface
- Surface [Renderable]: Outputs to the viewer
