Visual Kinematics, Inc.

DevTools Programmer Manual
Software Development System
Version 4.5.4
June 2021

Copyright © 1994-2021 Visual Kinematics, Inc.


Development Toolkits


Table of Contents

1. Introduction
1.1 Application Development Environment
1.2 Directory Structure
1.3 Compiling and Linking DevTools
1.4 The Built-in Make System
1.5 Include Files and Data Types
1.6 Building an Application Using Visual Studio
1.7 Versioning
1.8 C++ Language Bindings
1.9 FORTRAN Language Bindings
1.10 C# Language Bindings
1.11 Parallelization and Thread Safety
1.12 Floating Point Precision
1.13 Base Library
2. Priority Queues - Heap,PQueue
2.1 Heaps - Heap
2.2 Function Descriptions
2.3 Priority Queues - PQueue
2.4 Function Descriptions
3. Error Handling, Memory System, Standard Output, Quadruple Precision - Error,Memory,Print,VQuad
3.1 Error Handling - Error
3.2 Function Descriptions
3.3 Memory System - Memory
3.4 Function Descriptions
3.5 Standard Output - Print
3.6 Function Descriptions
3.7 Quadruple Precision - VQuad
3.8 Function Descriptions
4. Object Collections - List,Stack,Dictionary,HashTable,VHashTable,Tree
4.1 Randomly Accessible Sequences - List
4.2 Function Descriptions
4.3 Last-in First-out Storage - Stack
4.4 Function Descriptions
4.5 Storage Accessed by Name - Dictionary
4.6 Function Descriptions
4.7 Storage Accessed by Integer - HashTable
4.8 Function Descriptions
4.9 Multiple Integer Key Hashtable- VHashTable
4.10 Function Descriptions
4.11 Tree Data Structure - Tree
4.12 Function Descriptions
5. Numeric Type Collections - BitVec,DblVec,FltVec,IntDict,IntHash,IntVHash,IntQue,IntVec
5.1 Bit Vectors - BitVec
5.2 Function Descriptions
5.3 Real Vectors (single FltVec) - DblVec
5.4 Function Descriptions
5.5 Integer Dictionary - IntDict
5.6 Function Descriptions
5.7 Integer Hashtable - IntHash
5.8 Function Descriptions
5.9 Integer, Multiple Integer Key, Hashtable - IntVHash
5.10 Function Descriptions
5.11 Integer Queue - IntQue
5.12 Function Descriptions
5.13 Integer Vector - IntVec
5.14 Function Descriptions
6. Utilities - PropSet,Random,DataTable,Concat,LinkList,StrUtil
6.1 Property Sets - PropSet
6.2 Function Descriptions
6.3 Random Numbers - Random
6.4 Function Descriptions
6.5 Data Tables - DataTable
6.6 Function Descriptions
6.7 Concatenated Storage - Concat
6.8 Function Descriptions
6.9 Linked List Storage - LinkList
6.10 Function Descriptions
6.11 String Utilities - StrUtil
6.12 Function Descriptions
7. Geometry Tools - VertLoc,LineCon,TriCon,ADTree,Pred
7.1 Point Colocation - VertLoc
7.2 Function Descriptions
7.3 Line Connectivity - LineCon
7.4 Function Descriptions
7.5 Triangle Connectivity - TriCon
7.6 Function Descriptions
7.7 Geometric Searching, Alternating Digital Tree - ADTree
7.8 Function Descriptions
7.9 Geometric Predicates - Pred
7.10 Function Descriptions
8. System - MachInfo,PTask,Timer,VSocket
8.1 Machine Information - MachInfo
8.2 Function Descriptions
8.3 Threading - PTask
8.4 Function Descriptions
8.5 Timers - Timer
8.6 Function Descriptions
8.7 Socket Communication - VSocket
8.8 Function Descriptions
9. Text Processing - TextFun,TextTee,PlainText,HTMLText,LaTeXText
9.1 Text Functions - TextFun
9.2 File Operations
9.3 Text Attributes and Modes
9.4 Text Primitives
9.5 Forms and Form Actions
9.6 Function Descriptions
9.7 Text Function Descriptions
9.8 Text Tee - TextTee
9.9 Function Descriptions
9.10 Plain Text Format - PlainText
9.11 Function Descriptions
9.12 HTML Text Format - HTMLText
9.13 Function Descriptions
9.14 LaTeX Text Format - LaTeXText
9.15 Function Descriptions
10. Examples
10.1 Example 1, Demonstration of Object Collections
10.2 Example 2, Demonstration of Numeric Type Collections
10.3 Example 3, Demonstration of Property Sets
10.4 Example 4, Demonstration of Random Number Generation
10.5 Example 5, Creating a Derived Class in C++ Using Base Random Class
10.6 Example 6, Install User Error Handler and Memory Management
10.7 Example 7, Test and Demonstrate Concatenated Storage
10.8 Example 8, Test and Demonstrate a Data Table
10.9 Example 9, Test and Demonstrate a PQueue Object
10.10 Example 9a, Test and Demonstrate Heap Object
10.11 Example 10, Test and Demonstrate TriCon Object
10.12 Example 11, Test and Demonstrate VertLoc Object
10.13 Example 12, Test and Demonstrate LineCon Object
10.14 Example 13, Test and Demonstrate Timer Object
10.15 Example 14, Test and Demonstrate the MachInfo Module
10.16 Example 15, Test and Demonstrate PTask Object
10.17 Example 16, Test and Demonstrate Text Processing and Formatting
10.18 Example 17, Test and Demonstrate LinkList Object
10.19 Example 18, Test and Demonstrate ADTree Object
10.20 Example 21, Purposefully left blank
10.21 Example 22, Test and Demonstrate VSocket Object
10.22 Example 23, Test and Demonstrate Quadruple Precision VQuad Object
10.23 Example 23cc, C++ Operator Overloading for VQuad Object
10.24 Example 24, Test and Demonstrate Tree Object
10.25 Example 25, Test and Demonstrate Pred Object
10.26 Example 26, Test and Demonstrate StrUtil Module
11. Release Notes
11.1 Bug fixes
11.2 New features and changes
11.3 Existing Application Programming Interface Changes
11.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