Visual Kinematics, Inc.

VisTools Programmer Manual
Data Structures, Visualization Algorithms and Mesh Generation
Version 4.5.4
June 2021

Copyright © 1994-2021 Visual Kinematics, Inc.


DevTools VglTools VisTools VdmTools VfeTools VfsTools VfxTools

Table of Contents

1. Visualization Modules, Part I
1.1 Module Summary
1.2 Computational Cells
1.3 Element Types
1.4 Element Coordinate Systems
1.5 Mathematical Data Types
1.6 Complex Numbers
1.7 Compiling and Linking a VisTools Application
1.8 Attribute Objects, Data Interpolation, Isovalue Clipping and Topology
1.9 A First Program - C Version
1.10 A First Program - C++ Version
1.11 A First Program - FORTRAN Version
1.12 A First Program - C# Version
2. Attributes - CoordSys,Units,VisContext
2.1 Coordinate Systems - CoordSys
2.2 Function Descriptions
2.3 Units - Units
2.4 Function Descriptions
2.5 Visualization Context - VisContext
2.6 Function Descriptions
3. Color and Transparency Mapping - Levels,ColorMap,TransMap,Legend
3.1 Map Field Magnitude to Level - Levels
3.2 Function Descriptions
3.3 Color Mapping - ColorMap
3.4 Function Descriptions
3.5 Transparency Mapping - TransMap
3.6 Function Descriptions
3.7 Color and Transparency Mapping Diagrams - Legend
3.8 Attribute Objects
3.9 Function Descriptions
4. Isosurface Clipping, Data Interpolation - IsoClip,DataInt,PrmClp
4.1 Isosurface Clipping - IsoClip
4.2 Function Descriptions
4.3 Data Interpolation - DataInt
4.4 Function Descriptions
4.5 Graphics Primitive Clipping - PrmClp
4.6 Function Descriptions
5. Discrete Markers and Values - Mark,Value
5.1 Markers - Mark
5.2 Attribute Objects
5.3 Function Descriptions
5.4 Values - Value
5.5 Attribute Objects
5.6 Function Descriptions
6. Wire Frame and Shaded Surface Rendering - Edge,Face,Cell
6.1 Wire Frame Rendering - Edge
6.2 Attribute Objects
6.3 Function Descriptions
6.4 Shaded Surface - Face
6.5 Attribute Objects
6.6 Function Descriptions
6.7 Shaded Solid - Cell
6.8 Attribute Objects
6.9 Function Descriptions
7. Isovalues - Segment,Contour,Threshold,IsoLabel
7.1 1D Domains - Segment
7.2 Attribute Objects
7.3 Function Descriptions
7.4 2D Domains - Contour
7.5 Attribute Objects
7.6 Function Descriptions
7.7 3D Domains - Threshold
7.8 Attribute Objects
7.9 Function Descriptions
7.10 Contour Line Labelling - IsoLabel
7.11 Attribute Objects
7.12 Function Descriptions
8. Tangent Curve Generation - Trace,Stream
8.1 2D Domains - Trace
8.2 Attribute Objects
8.3 Function Descriptions
8.4 3D Domains - Stream
8.5 Attribute Objects
8.6 Function Descriptions
9. Annotation - Axis,Billboard,Dimension,Font,Glyph,Tess,Triad
9.1 Annotated Axes - Axis
9.2 Attribute Objects
9.3 Function Descriptions
9.4 Billboard Displays - Billboard
9.5 Attribute Objects
9.6 Function Descriptions
9.7 Dimensioning - Dimension
9.8 Attribute Objects
9.9 Function Descriptions
9.10 Stroked Text - Font
9.11 Attribute Objects
9.12 Function Descriptions
9.13 Markers and Glyphs - Glyph
9.14 Attribute Objects
9.15 Function Descriptions
9.16 Tesselation Tools - Tess
9.17 Attribute Objects
9.18 Function Descriptions
9.19 Coordinate System Triads - Triad
9.20 Attribute Objects
9.21 Function Descriptions
10. Manipulators - HandleBox,PolyBox,WorkPlane
10.1 Handle Box - HandleBox
10.2 Attribute Objects
10.3 Function Descriptions
10.4 Poly Box - PolyBox
10.5 Attribute Objects
10.6 Function Descriptions
10.7 Work Plane - WorkPlane
10.8 Attribute Objects
10.9 Function Descriptions
11. Beam Elements and Beam Sections - BeamElem,BeamSect
11.1 Beam Elements - BeamElem
11.2 Attribute Objects
11.5 Function Descriptions
11.4 Beam Section Properties - BeamSect
11.5 Attribute Objects
11.6 Function Descriptions
12. Shell Elements and Shell Walls - ShellElem,ShellWall
12.1 Shell Elements - ShellElem
12.2 Attribute Objects
12.3 Function Descriptions
12.4 Shell Thickness Properties - ShellWall
12.5 Attribute Objects
12.6 Function Descriptions
13. Rigid, Mass, Spring and Gap Elements - RigidElem,MassElem,DiscElem,GapElem
13.1 Rigid Elements - RigidElem
13.2 Attribute Objects
13.3 Function Descriptions
13.4 Mass Elements - MassElem
13.5 Attribute Objects
13.6 Function Descriptions
13.7 Spring and Dashpot Elements - DiscElem
13.8 Attribute Objects
13.9 Function Descriptions
13.10 Gap Elements - GapElem
13.11 Attribute Objects
13.12 Function Descriptions
14. Drawing Functions - DrawFun
14.1 Drawing Function Summary
14.2 Function Descriptions
14.3 Summary of Drawing Functions
14.4 Draw Function API - OpenGL
15. Examples
15.1 Example 1, Draw Isosurfaces and Volume Fringes in Hex and Tet
15.2 Example 2, Draw Legends
15.3 Example 3, Draw Vectors at Vertices of a Hexahedron
15.4 Example 3a, Tensor Computations Using Mark
15.5 Example 4, Draw Fringes on Threshold Surfaces
15.6 Example 4a, Draw Fringes on Contour Lines
15.7 Example 5, Tangent Curve Generation in a Plane
15.8 Example 5a, Stream Ribbon Generation in a Tri-Parabolic Hexahedron
15.9 Example 6, Using Stroked Fonts
15.10 Example 7, Using Glyphs
15.11 Example 7a, Draw Displacement Restraints Using Glyph
15.12 Example 8, Drawing Axes
15.13 Example 9, Clip Finite Element Faces to Isosurfaces
15.14 Example 9a, Clip Finite Elements to a Volume
15.15 Example 9b, Clip Graphics Primitives to Isosurfaces Using PrmClp
15.16 Example 10, Draw Contours on Element Faces Using Contour
15.17 Example 10a, Draw Isosurfaces in Element Using Threshold
15.18 Example 10b, Draw Mesh Section Using Contour and Threshold
15.19 Example 10c, Draw Contour Line Labels Using IsoLabel
15.20 Example 11, Display Scalar, Vector and Tensor Markers
15.21 Example 11a, Draw Distributed Loads
15.22 Example 12, Draw Triads
15.23 Example 13, Compute and Draw a TEE Beam Section
15.24 Example 13a, Compute and Draw a User Defined Beam Section
15.25 Example 13b, Draw a TEE and GEOMETRY Beam Element
15.26 Example 13c, Compute and Plot Strain on a TEE Beam Section
15.27 Example 13d, Contour Stress on a TEE Beam Element
15.28 Example 13e, Draw TEE Beam Element Bending Moment Diagram
15.29 Example 13f, Compute Composite Beam Section Properties
15.30 Example 13g, Draw TEE Beam Element with Local Axis Orientations
15.31 Example 14, Compute and Draw a Three Layer Shell Wall
15.32 Example 14a, Draw a Three Layer Parabolic Triangular Shell Element
15.33 Example 14b, Contour Plot and Cutting Plane 3D Monocoque Shell Elements
15.34 Example 15, Draw a Simple Billboard
15.35 Example 15a, Draw a Fancy Billboard
15.36 Example 16, Draw Dimensioning Annotation
15.37 Example 17, Using Coordinate Systems - CoordSys
15.38 Example 18, Draw Rigid Elements Using RigidElem
15.39 Example 18a, Draw Mass Elements Using MassElem
15.40 Example 18b, Draw Spring and Dashpot Elements Using DiscElem
15.41 Example 18c, Draw Gap Elements Using GapElem
15.42 Example 19, Draw a 2D Polygon Using Tess
15.43 Example 19a, Triangulate a Planar Slice of a Bounded Tesselation
16. Global Modules, Part II
16.1 Module Summary
17. Grid Topology and Geometry - Connect,GridFun
17.1 Finite Element (Unstructured) Grids - Connect
17.2 Node and Element Editing and Element Adjacency Query
17.3 Node and Element Associations
17.4 Element, Element Face, Element Edge and Node Groups
17.5 Element Face Normals and Edge Tangents
17.6 Geometric Tesselation
17.7 Parallel Functions
17.8 Attribute Objects
17.9 Function Descriptions
17.10 Grid Topology and Geometry Query Functions - GridFun
17.11 Function Descriptions
18. Entity Sets and Identifier Translation - Group,IdTran
18.1 Entity Sets - Group
18.2 Function Descriptions
18.3 Entity Identifier Translation - IdTran
18.4 Function Descriptions
19. Data Manipulation - ElemDat,State,History,RedMat,ZState
19.1 Element Face and Edge Data - ElemDat
19.2 Attribute Objects
19.3 Function Descriptions
19.4 Results Manipulation - State
19.5 Local Coordinate Systems
19.6 Parallel Functions
19.7 Attribute Objects
19.8 Function Descriptions
19.9 History Results Manipulation - History
19.10 Attribute Objects
19.11 Function Descriptions
19.12 System Degree of Freedom Data - RedMat
19.13 Function Descriptions
19.14 Results Compression - ZState
19.15 Attribute Objects
19.16 Function Descriptions
20. Space and Range Searching - Space,Range
20.1 Spatial Searching - Space
20.2 Attribute Objects
20.3 Function Descriptions
20.4 Range Searching - Range
20.5 Attribute Objects
20.6 Function Descriptions
21. Loads and Constraints - LCase,RCase,MCase,ICase
21.1 Load Case - LCase
21.2 Function Descriptions
21.3 Restraint Case - RCase
21.4 Function Descriptions
21.5 Multipoint Constraint Case - MCase
21.6 Function Descriptions
21.7 Initial Condition Case - ICase
21.8 Function Descriptions
22. Contact Pairs and Surfaces - CPair,ASurf
22.1 Contact Pair - CPair
22.2 Function Descriptions
22.3 Analytic Surface - ASurf
22.4 Function Descriptions
23. Properties and Functions - GProp,EProp,MProp,SProp,TCurve,RProp,UProp
23.1 Global Properties - GProp
23.2 Function Descriptions
23.3 Element Properties - EProp
23.4 Function Descriptions
23.5 Material Properties - MProp
23.6 Function Descriptions
23.7 Solution Properties - SProp
23.8 Function Descriptions
23.8 Tabular Functions - TCurve
23.10 Function Descriptions
23.11 Results Properties - RProp
23.12 Function Descriptions
23.13 User Defined Properties - UProp
23.14 Function Descriptions
24. Utilities - Model,ElemChk,MassPrp
24.1 Finite Element Model - Model
24.2 Function Descriptions
24.3 Element Checking - ElemChk
24.4 Shape Parameters
24.5 Attribute Objects
24.6 Function Descriptions
24.7 Mass Properties - MassPrp
24.8 Attribute Objects
24.9 Function Descriptions
25. Examples - Global Modules
25.1 Example 21, Translate Entity Identifiers Using IdTran
25.2 Example 22, Generate an Element Group Object
25.3 Example 23, Element Connectivity and Adjacency Using Connect
25.4 Example 23a, Using a GridFun Object with Example 23
25.5 Example 24, Generate Element Face and Edge Groups
25.6 Example 24a, Convert Linear Elements to Parabolic Elements
25.7 Example 25, Node Results Data Using State
25.8 Example 25a, Node History Results Data Using History
25.9 Example 25b, Element Node Scalar Section Results Using History
25.10 Example 25c, Element Face and Face Node Results Using State
25.11 Example 26, Element and Node Results Data
25.12 Example 26a, Element Face Node Data Using ElemDat
25.13 Example 26b, Element Face Node Normals Using ElemDat
25.14 Example 26c, Averaging Element Node Data within Groups
25.15 Example 26d, Computing Gradient of Normal Stress
25.16 Example 27, Perform Space Searches Using Space
25.17 Example 27a, Intersection and Interpolation
25.18 Example 28, Perform Range Searches Using Range
25.19 Example 29, Node and Element Associations
25.20 Example 30, Demo Visualizer Progressive Example
25.21 Example 31, Perform Element Checking Using ElemChk
25.22 Example 31a, Compute Model Mass Properties Using MassPrp
25.23 Example 32, Manage Loads Using LCase
25.24 Example 32a, Manage Contact Pairs Using CPair
25.25 Example 32b, Manage Analytic Surfaces Using ASurf
25.26 Example 32c, Manage Complex Loads Using LCase
25.27 Example 33, Manage Constraints Using RCase and MCase
25.28 Example 33a, Manage Initial Conditions Using ICase
25.29 Example 33b, Manage Complex Constraints Using RCase
25.30 Example 34, Manage Element Properties Using EProp
25.31 Example 34a, Composite Shell and General Beam Property Using EProp
25.32 Example 35, Manage Material Properties Using MProp
25.33 Example 36, Manage Solution Properties Using SProp
25.34 Example 37, Manage Tabular Functions Using TCurve
25.35 Example 38, Manage Results Properties Using RProp
25.36 Example 38a, Export Simple Finite Element Model and Results
25.37 Example 38b, Export Simple CFD Finite Element Model and Results
25.38 Example 39, Export a Simple Linear Static Solveable Model
25.39 Example 39a, Structural Finite Element Model Using Model
25.40 Example 39b, Traverse and Print Contents of a Model object
25.41 Example 39c, Heat Transfer Finite Element Model Using Model
25.42 Example 40vdm, Compute Shell and Beam Local Coordinate Systems
25.43 Example 53, Manage System Degree of Freedom Data Using RedMat
25.44 Example 55, Computational Features of Edge, Face, Cell
25.45 Example 56, Using Units - Units
25.46 Example 57, Compress and Uncompress Coordinate Field with ZState
25.47 Example 58vdm, Compress and Uncompress Results with ZState
25.48 Example 59vgl, Demonstrate Parallel Contour and Threshold Generation
26. Mesh Generation Modules, Part III
26.1 Module Summary
26.2 Controlling Mesh Size
26.3 Monitoring Meshing Progress
26.4 Use of the Connect object
27. Mapped Mesh Generation - MapMesh,ExtMesh
27.1 Mapped Mesh Generation - MapMesh
27.2 Function Descriptions
27.3 Extruded Mesh Generation - ExtMesh
27.4 Function Descriptions
28. 2D Plane Mesh Generation - TriMesh
28.1 Function Descriptions
29. 3D Curve and Surface Mesh Generation - CurvMesh,SurfMesh
29.1 Curve Mesh Generation - CurvMesh
29.2 Function Descriptions
29.3 Surface Mesh Generation - SurfMesh
29.4 Conic Section Geometry
29.5 Mapped Mesh Regions
29.6 Non-manifold Geometry, Voids and Inclusions
29.7 Periodic Meshes
29.8 Function Descriptions
30. 3D Volume Mesh Generation - TetMesh,VolMesh
30.1 Tetrahedral Mesh Generation - TetMesh
30.2 Non-manifold Geometry, Voids, Inclusions and Hard Nodes and Edges
30.3 Mesh Refinement and Adaptivity
30.4 Function Descriptions
30.5 Volume Mesh Generation - VolMesh
30.6 Function Descriptions
31. Examples - Mesh Generation Modules
31.1 Example 41, Generate a Mapped Mesh
31.2 Example 41a, Generate a Multiple Patch Mapped Mesh
31.3 Example 42, Generate an Extruded Mesh
31.4 Example 42a, Generate an Extruded Mesh along Normals
31.5 Example 42b, Generate Extruded Boundary Layer with Interior TetMesh
31.6 Example 42c, Generate an Extruded Mesh with Interface Layers
31.7 Example 43, Generate a 2D Planar Tri Mesh
31.8 Example 43a, Generate a 2D Planar Tri Mesh with Parabolic Lines
31.9 Example 43b, Generate a 2D Planar Tri Mesh with Sizing Function
31.10 Example 43c, Generate a 2D Planar Quad Mesh
31.11 Example 43d, Refine a 2D Planar Tri Mesh
31.12 Example 43e, Refine a 2D Planar Tri Mesh as an Orphan Mesh
31.13 Example 43f, Generate a 2D Planar Tri Mesh with Sizing
31.14 Example 43g, Generate a 2D Planar Tri Mesh with Interior Sizing
31.15 Example 44, Generate a 3D Volume Tet Mesh
31.16 Example 44a, Generate a 3D Volume Tet Mesh with Interior Features
31.17 Example 44b, Generate a 3D Volume Tet Mesh of a Simple Cube
31.18 Example 44c, Refine a 3D Volume Tet Mesh as an Orphan Mesh
31.19 Example 44d, Successively Refine a 3D Linear Tet Mesh
31.20 Example 44e, Successively Refine a 3D Parabolic Tet Mesh
31.21 Example 45, Generate a Surface Mesh and Tet Mesh
31.22 Example 45a, Generate Surface and 3D Volume Tet Mesh with Sizing
31.23 Example 46, Generate 3D Curve Mesh Using CurvMesh
31.24 Example 47, Generate 3D Surface Mesh Using SurfMesh
31.25 Example 47a, Generate 3D Surface Mesh with Associations
31.26 Example 47b, Generate 3D Surface Mesh with Normals and Associations
31.27 Example 47c, Generate a Non-Manifold 3D Surface Mesh with Sizing
31.28 Example 47d, Generate a 3D Surface Mesh with Trimming Loop
31.29 Example 48, Generate 3D Volume Tet Mesh from an STL File
31.30 Example 48a, Generate an Anisotropic Surface Mesh and Tet Mesh
31.31 Example 48b, Generate a Surface Mesh and Tet Mesh, Non-manifold Solid
31.32 Example 48c, Refine a non-Manifold 3D Volume Tet Mesh
31.33 Example 48d, Generate a Tet Mesh, Non-manifold Solid
31.34 Example 48e, Generate a Hybrid Boundary and Volumetric Mesh
31.35 Example 48f, Generate a Surface Mesh and Pyr/Tet Mesh Interior Sizing
31.36 Example 48g, Generate a Surface Mesh, Curve Mesh and Tet Mesh
31.37 Example 49, Generate 3D Volume Tet Model and Write to .vdm File
31.38 Example 50, Generate a 3D Volume Tet Mesh with No Interior Points
31.39 Example 51, Tesselate and Mesh a Bounded Region in a Plane
31.40 Example 52acis, Illustrate ACIS Interface to SurfMesh and TetMesh
31.41 Example 52capri, Illustrate CAPRI Interface to SurfMesh and TetMesh
31.42 Example 52pk, Illustrate Parasolid Interface to SurfMesh and TetMesh
31.43 Example 52occ, Illustrate OpenCASCADE Interface to SurfMesh and TetMesh
31.44 Example 60, Generate a 3D Surface Mesh with User Nodes
31.45 Example 60a, Refine a 3D Surface Mesh
31.46 Example 61, Generate a Mixed Volumetric and Boundary Mesh
31.47 Example 61a, Generate a Mixed Shape 3D Volume Mesh
31.48 Example 61b, Generate a Mixed Order 3D Volume Mesh
31.49 Example 62, Generate a Quad Surface Mesh and Tet Volume Mesh
32. Release Notes
32.1 Bug fixes
32.2 New features and changes
32.3 Existing Application Programming Interface Changes
32.4 Known problems and limitations

Development Toolkits


Visual Kinematics, Inc.
14395 Saratoga Ave.
Suite 110
Saratoga, CA 95070
U.S.A.
tel: (408) 867-6285
fax: (408) 867-7218
email: info@vki.com
URL: http://www.vki.com