Restructure User's Guide
The current version of the VTK-m User's Guide is structured more like a reference than a guide to get users started. Although the user's guide should also serve as a reference, it should also provide an explanative introduction to concepts in a sensible order. Here is a new proposed chapter order. References to previous chapters are with respect to the version 1.4 User's Guide.
Unit 1: Getting Started
-
Introduction (Chapter 1) -
What VTK-m Provides (Hank will write an outline. Might be integrated in Introduction chapter.) -
Build and Install VTK-m (Chapter 2) -
Hello World (Simple examples of opening a file, writing a file, running a filter, and rendering an image.)
Unit 2: Using VTK-m (what Hank refers to as the control interface)
-
Base Types (Section 6.5.1 and just a little bit of 6.5.2) -
VTK-m Version (Section 6.9) -
Initialization (Section 6.4) -
Data Sets (Chapter 11) -
File I/O (Chapter 3) -
Running Filters (Chapter 4, but flattened to put all filters together, not categorized by types intended for developers) -
Rendering (Chapter 5) -
Error Handling (Section 6.8) -
Managing Devices (Sections 8.1, 8.2, and 8.3 with an emphasis on device ids) -
Timers (Chapter 9) -
Implicit Functions
Unit 3: Developing Algorithms
-
General Approach (Sections 6.1, 6.2, 6.3) -
Basic Array Handles (Intro Chapter 7 + Sections 7.1, 7.6). -
Simple Worklets (Section 12.4, simplified example/figure, psi to N/m^2 example) -
Basic Filter Implementation (Some stuff from Chapter 17)
Unit 4: Advanced Development
-
Advanced Types (Sections 6.5, 6.6, and 6.7) -
Logging (Section 6.10) -
Worklet Type Reference (Sections 12.1 and 12.5) -
Filter Type Reference (Chapter 17) -
Worklet Error Handling (Sections 12.11) -
Math (Chapter 13) -
Working with Cells (Chapter 14) -
Fancy Array Handles (Sections 7.4, 7.5) -
Accessing and Allocating Array Handles (Sections 7.2, 7.3, 7.8, 7.9) -
Global Arrays and Topology (Sections 12.6, 12.7, and 12.8) -
Execution Objects (Section 12.9) -
Locators (Chapter 15) -
Worklet Input to Output Semantics (Section 12.10 + mask) -
Generating Cell Sets (Chapter 16) -
Variant Array Handles (Chapter 10) -
Custom Array Storage (Chapter 18) -
Device Adapter Algorithms (Sections 8.5 and 8.4)
Unit 5: Core Development
-
Try Execute (Chapter 19) -
Implementing Device Adapters (Chapter 20) -
Function Interface Objects (Chapter 21) -
Worklet Arguments (Chapter 22) -
New Worklet Types (Chapter 23 with Section 12.2)
Edited by Kenneth Moreland