Graphics Display Kit
1 Architectural Overview
1.1 Introduction 2
1.2 Base types 4
1.3 Editors 7
1.4 Components 9
1.5 Graphics Display Kit module execution 10
1.6 Rendering subsystem 12
1.6.1 Background 12
1.6.2 View render routine 14
1.6.3 3D camera render routine 15
1.6.4 2D camera render routine 15
1.6.5 Object render routine 16
1.6.6 Object draw routine 17
1.6.7 Supported render methods 17
2 Tutorials
2.1 Before you begin 2
2.1.1 Essential parts of an application 2
2.1.2 Two ways to build each part of an application 3
2.1.3 Completed tutorials 3
2.1.4 Location of objects 3
2.2 Creating a view 4
2.2.1 Starting up 4
2.2.2 Create the view 5
2.2.3 Create a window 5
2.2.4 Render an object 6
2.2.5 Clean up 7
2.3 Creating an object 8
2.3.1 Starting up 9
2.3.2 Create the data object 9
2.3.3 Create a view and window 9
2.3.4 Render an object 10
2.3.5 Clean up 11
2.4 Creating a view's window 12
2.4.1 Starting up 12
2.4.2 Instance and connect the UI objects 12
2.4.3 Create a view 13
2.4.4 Create an object and generate field data 14
2.4.5 Clean up 14
2.5 Adding to a view's pull-down menus 15
2.5.1 Starting up 16
2.5.2 Create a window and a view 16
2.5.3 Create view and light editors 16
2.5.4 Create an object and generate field data 17
2.5.5 Clean up 18
2.6 Viewing multiple objects from one set of data 19
2.6.1 Starting up 19
2.6.2 Instance Viewer3D 19
2.6.3 Create four objects 19
2.6.4 Manipulate the objects 21
2.6.5 Explore Uviewer3D's capabilities 21
2.6.6 Clean up 23
2.7 Creating an object hierarchy 24
2.7.1 Starting up 24
2.7.2 Instance Uviewer3D 24
2.7.3 Create the object hierarchy 24
2.7.4 Manipulate the objects 26
2.7.5 Clean up 26
2.8 Creating a custom transformation editor 27
2.8.1 Starting up 28
2.8.2 Construct the base application 28
2.8.3 Resize the view's rendering panel 28
2.8.4 Create the transform editor 30
2.8.5 Look at MyXformEditor 32
2.8.6 Create sliders and connect them to the panel 33
2.8.7 Connect the sliders to GDxform_edit 35
2.8.8 Configure GDxform_edit 37
2.8.9 Try the application 38
2.8.10 Clean up 38
2.9 Adding interactors to a view 39
2.9.1 Starting up 39
2.9.2 Create a window and a view 39
2.9.3 Create an object and generate field data 39
2.9.4 Provide access to view information 40
2.9.5 Create the interactor and trackball editor 40
2.9.6 Explore the trackball editor's capabliities 42
2.9.7 Clean up 44
2.10 Modifying a camera for annotation 45
2.10.1 Starting up 45
2.10.2 Instance Uviewer 45
2.10.3 Create an object and generate field data 45
2.10.4 Modify the 2D camera 46
2.10.5 Add some annotation 46
2.10.6 Add a legend 47
2.10.7 Clean up 48
2.11 Adding a second view window 49
2.11.1 Starting up 49
2.11.2 Instance Uviewer3D 49
2.11.3 Create a second view window 49
2.11.4 Create two objects and generate field data 52
2.11.5 Use the editors 53
2.11.6 Clean up 53
2.12 Using accelerate mode in a view 54
2.12.1 Starting up 55
2.12.2 Instance the example network, Accel2DGlyph 55
2.12.3 Investigate the controls that affect accelerate mode 56
2.12.4 Move the dynamic object 57
2.12.5 Compare rendering performance 58
2.12.6 Clean up 58
3 Assembling a Graphics Display Kit application
3.1 Introduction 2
3.1.1 Parts of an application 2
3.1.2 Two ways to build each part 3
3.1.3 Application program interface 3
3.2 Graphics Display Kit objects 4
3.2.1 Base objects 4
3.2.2 Application components 8
3.2.3 Alternate objects 9
3.2.3.1 Rendering object bounds 10
3.2.3.2 Rendering data with different attributes 10
3.2.3.3 Rendering some other data 12
3.2.3.4 Force rendering with 2D primitives 13
3.3 Datamaps 14
3.3.1 Base objects 15
3.3.2 Using DataObject to provide a datamap 18
3.3.3 Example: Replacing DefaultDatamap in DataObject 19
3.3.3.1 Starting up 19
3.3.3.2 Create the network 19
3.3.3.3 Read the data 20
3.3.3.4 Display the datamap editor 20
3.3.3.5 Replace the datamap 21
3.3.3.6 Cleanup 21
3.4 Views 22
3.4.1 Base objects 22
3.4.2 Application components 25
3.5 Virtual palettes 26
3.5.1 Relationship with other components 28
3.5.2 Color allocation scheme 29
3.5.3 Color allocation examples 30
3.5.4 Standard virtual palettes 32
3.5.5 Using an X11 standard colormap 32
3.5.6 Example: Using a ramp 33
3.5.6.1 Starting up 33
3.5.6.2 Configure the virtual palette 33
3.5.6.3 Configure the object 34
3.5.6.4 Modify the datamap 35
3.5.6.5 Change the ramp size 35
3.5.6.6 Clean up 36
3.6 Window 37
3.6.1 Base objects 37
3.6.2 Application components 38
3.7 Editors 39
3.7.1 Base objects 39
3.7.2 What an edit object looks like 41
3.7.3 Application components 42
4
Render methods
4.1 Overview 2
4.2 Structured field rendering 3
4.3 Unstructured field rendering 6
4.4 "Tiled" field rendering 9
4.5 Text rendering 12
4.6 Object cache 15
5 Interactivity
5.1 Introduction 2
5.2 Constructing the drawing 3
5.3 Mapping the drawing 7
5.4 Editing the drawing 10
5.5 Converting vector data to raster data 13
5.6 Components 14
5.7 Examples 15
5.8 Sketch in a 2D view, display in a 3D view 16
5.8.1 Starting up 16
5.8.2 Instance the example 17
5.8.3 Construct the drawing 17
5.8.4 View the drawing in the 3D view 18
5.8.5 Cleanup 19
5.9 Sketch and edit in a 2D view 20
5.9.1 Starting up 20
5.9.2 Instance the example 21
5.9.3 Construct the drawing 21
5.9.4 Edit the drawing 22
5.9.5 Cleanup 23
5.10 Draw a region of interest (ROI) 24
5.10.1 Starting up 24
5.10.2 Instance the example 24
5.10.3 Construct the drawing 25
5.10.4 Convert the polygons to a raster mask 26
5.10.5 Edit the drawing 27
5.10.6 Cleanup 28
5.11 Crop a 3D region 29
5.11.1 Starting up 29
5.11.2 Instance the example 29
5.11.3 Select a region from the image 30
5.11.4 View the region in the 3D view 31
5.11.5 Edit the region 31
5.11.6 Cleanup 32
5.12 Cropping a 2D region 33
5.12.1 Starting up 33
5.12.2 Instance the example 33
5.12.3 Select a region from the image 34
5.12.4 View the region in the second 2D view 35
5.12.5 Edit the region 35
5.12.6 Cleanup 36
5.13 Probe a location in a 2D view 37
5.13.1 Starting up 37
5.13.2 Instance the example 37
5.13.3 Probe the image 37
5.13.4 Cleanup 39
5.14 Probe a value in a 2D view 40
5.14.1 Starting up 40
5.14.2 Instance the example 40
5.14.3 Probe the image 41
5.14.4 Cleanup 42
5.15 Probe locations on a 2D line 43
5.15.1 Starting up 43
5.15.2 Instance the example 44
5.15.3 Probe the slice 44
5.15.4 Cleanup 45
5.16 Measure images 46
5.16.1 Starting up 46
5.16.2 Instance the example 47
5.16.3 Probe the slice 47
5.16.4 Cleanup 48
5.17 Place annotation interactively 49
5.17.1 Starting up 49
5.17.2 Instance the example 49
5.17.3 Annotate the image 50
5.17.4 Cleanup 51
5.18 Calculating Image Statistics 52
5.18.1 Starting up 52
5.18.2 Instance the example 52
5.18.3 Select a region from the image 53
5.18.4 Examining the image statistics 54
5.18.5 Cleanup 54
6 Geometry API User Guide
6.1 Introduction 57
6.2 Fundamentals 57
6.3 Creating Geometry 57
6.3 GeomObjs 58
6.3 Mesh Objects 58
6.3 Polyhedron Objects 58
6.3 Polytriangle Objects 59
6.3 Sphere Objects 59
6.3 Label Objects 59
6.3 Routine Listing 59
6.3 Object Creation Routines 59
6.3 Object Utility Routines 60
6.3 Object Texture-Mapping Routines 60
6.3 Object File Utilities 61
6.3 Object Debugging Routines 61
6.3 Example 61
6.3 GEOMedit_list 62
3. GEOMinit_edit_list Routines 63
3. Example 63
6.4 Converting Geometry 65
6.4 Exposure to the Object Manager 65
6.5 Geometry API conversion routines 67
6.5 Header Files 68
6.5 The V file 68
6.6 Restrictions 69
6.6 Geometry Primitives 69
6.6 Meshes and Polyhedron 69
6.6 Labels 69
6.6 Primitive data and vertex data 69
6.6 Extents 69
6.6 Object Attribute 70
6.6 FORTRAN API 70
6.7 Example Express Module 71
6.7 The "V" module definition 71
6.7 The C source code 72
6.8 The Geometry API Reference 82
IMPORTANT: Geometry Object Library 82
IMPORTANT: Description 82
IMPORTANT: Object Creation Routines 83
IMPORTANT: Creating an Object 83
IMPORTANT: Extents 83
IMPORTANT: Flags 84
IMPORTANT: User Supplied Primitive Data 84
IMPORTANT: User Supplied Vertex Data 84
IMPORTANT: Object Utility Routines 94
IMPORTANT: Object Property Routines 97
IMPORTANT: Object Texture Mapping Routines 98
IMPORTANT: Object Vertex Transparency Routines 99
IMPORTANT: Object File Utilities 99
IMPORTANT: Object Debugging Facilities 100
IMPORTANT: AVS Module Interface Routines 101
IMPORTANT: Edit Lists 101
IMPORTANT: Object Transformations 103
IMPORTANT: Light Transformations 103
IMPORTANT: Camera Transformations 104
A
Obsolete Graphics Display Kit objects
A.1 CameraEditor 2
A.2 ClickSketch 4
A.3 ContinuousSketch 8
A.4 Datamap components 12
A.4.1 DefaultLinearRange 12
A.4.2 DefaultStepRange 12
A.4.3 DefaultLinear 12
A.4.4 GreyScale 13
A.4.5 VolumeRender 13
A.4.6 HotMetal 14
A.4.7 CyanYellowRed 15
A.5 DrawCursor2D 16
A.6 DrawLine2D 18
A.7 EditMesh 20
A.8 GeomAttribPopup 22
A.9 ImageAttrPopup 23
A.10 LightAttribPopup 25
A.11 LightInfoEditor 26
A.12 LineAttribPopup 28
A.13 MaterialPopup 29
A.14 ModesEditor 31
A.15 ObjCmdList 33
A.16 Obj2DCmdList 34
A.17 ObjectEditor 35
A.18 ObjectEditors 37
A.19 Object2DEditors 39
A.20 ObjectSelector 41
A.21 OutputEditor 43
A.22 OutputField 45
A.23 OutputFile 48
A.24 PropsEditor 51
A.25 SimpleCmdList 53
A.26 SimpleEditors 54
A.27 SimpleViewer 56
A.28 SimpleViewer2D 58
A.29 SimpleViewer3D 60
A.30 StandAloneDatamapEditor 62
A.31 SurfConvPopup 63
A.32 TextureEditor 65
A.33 TrackEditor 67
A.34 Vector2Raster 69
A.35 View 71
A.36 View2D 73
A.37 View3D 75
A.38 ViewCmdList 77
A.39 View2DCmdList 78
A.40 ViewEditor 79
A.41 ViewEditors 81
A.42 View2DEditors 83
A.43 Viewer 85
A.44 Viewer2D 87
A.45 Viewer3D 89
A.46 ViewUI 91
A.47 XformEditor 93