Introduction
About HOOPS Visualize
Technical Overview
3DGS
MVO
Stream
HIO
OOC
Platform and File Support
Supported Platforms
File Formats
Device Guide
Release Notes
Acknowledgements
Getting Started
Installation contents
Setting a license
Building the sandboxes
Creating a prototype
Defining a scene graph
Developer support
Programming Guides
3DGS
1 Fundamentals
1.1 Library Access
1.2 Application Structure
1.3 Database Structure
1.4 Drivers
1.5 Drawing
1.6 Associating Data
1.7 API Conventions
1.8 Warnings and Errors
1.9 Debugging
1.10 Streamlining
2 Geometry
2.1 Coordinates
2.2 Conventions
2.3 Markers
2.4 Text
2.5 Lines
2.6 Polygons
2.7 Circles and Ellipses
2.8 Shells
2.9 Meshes
2.10 Grids
2.11 Images
2.12 Lights
2.13 Cutting Planes
2.14 NURBS Curves
2.15 NURBS Surfaces
2.16 Cylinders and Polycylinders
2.17 Spheres
2.18 Reference Geometry
3 Viewing and Modelling
3.1 Coordinate Systems
3.2 Cameras
3.3 Matrices
3.4 Windows
4 User Interaction
4.1 Event Loop
4.2 Selection Events
4.3 Window Systems
4.4 Highlighting
4.5 Scene Interaction
5 Materials
5.1 Color
5.2 Texture Mapping
5.3 Environment and Bump Mapping
5.4 Transparency
5.5 Double-Sided Materials
5.6 Skyboxes and Cube Maps
5.7 PBR
6 Rendering
6.1 Hidden Surfaces
6.2 Level of Detail
6.3 Lighting and Color Interpolation
6.4 Atmospheric Attenuation
6.5 Anti-aliasing
6.6 Stereo Viewing
6.7 Shadows
6.8 Reflection Planes
6.9 Hemispheric Ambient Lighting
6.10 Bloom
6.11 Depth of Field
7 Performance Guidelines
7.1 Overview
7.2 Segments
7.3 Geometry
7.4 Rendering
7.5 Memory
8 Intermediate Mode
8.1 Overview
8.2 Examples
8.3 Porting your legacy HOOPS I.M. Code
MVO
1 Introduction
2 Fundamentals
2.1 HDB Database
2.2 HBaseModel
2.3 HBaseView
2.4 Operators
2.5 Selection Sets
3 Annotations
4 File Input/Output and the I/O Manager
4.1 Introduction
4.2 Importing Data
4.3 Exporting Data
4.4 Image I/O Support
4.5 Using the HIO Plugin Architecture
4.6 I/O Progress and Error Reporting
4.7 Custom I/O Handlers
5 Maintaining Constant Framerate
5.1 Framerate Modes
5.2 Customizing Constant Framerate
5.3 Simplification Objects
5.4 Implementation Issues
6 Markup Manager
7 Undo Manager
7.1 Overview
7.2 Using the Undo Manager
7.3 Enhancing the Undo Manager
8 Geometry Manipulator Handles
8.1 Creating Geometry Handles
8.2 Custom Geometry Manipulator Handles
9 HSF Data Streaming
10 Behavior and Animation
10.1 Introduction
10.2 Behavior Manager
10.3 Defining Behaviors
10.4 Retrieving Animation Data
10.5 Sensors
10.6 Exporting Animations
10.7 Animation Collisions
11 XML Read/Write
11.1 Overview
11.2 Parsing XML Data
11.3 Writing XML Data
12 Event Handling
12.1 Overview
12.2 Creating a New Listener Type
12.3 Event Registration
12.4 Creating a new Event
12.5 3D Mouse/Joystick Events
12.6 Timer Events
12.7 Touch Events
13 The Plotting Classes
13.1 Overview
13.2 Pie Charts
13.3 Other 2D Plots
13.4 Labels and Legends
14 Callbacks
15 The PMI Classes
Base Stream
1 Introduction
2 Writing and Reading HSFs
2.1 Writing
2.2 Reading
2.3 Controlling the Reading and Writing Process
2.4 Verifying HSF files
2.5 HOOPS/3dGS Classes
3 Streaming an HSF File
3.1 Basic Streaming
3.2 Performing Streaming on a Separate Thread
4 Customizing the HOOPS Stream File
4.1 Customizing HSF Objects
4.2 Versioning and Storing Additional User Data
4.3 Tagging HSF Objects to Associate User Data
4.4 Remove Opcodes
5 Maximizing Performance
3DGS Stream
1 Introduction
2 Writing and Reading HSFs
2.1 Writing
2.2 Reading
2.3 Controlling the Reading and Writing Process
3 Streaming an HSF File
3.1 Basic streaming
3.2 Streaming on a separate thread
3.3 View dependent streaming
4 Customizing the HOOPS Stream File
4.1 Customizing HSF Objects
4.2 Versioning and Storing Additional User Data
4.3 Tagging HSF Objects to Associate User Data
4.4 Remove Opcodes
5 Maximizing Performance
HIO
AVI
HOOPS Exchange
HOOPS Publish
HTML
DGN Direct
RealDWG
SketchUp
OOC
1 Introduction
2 Preprocessing data
3 Using the point cloud API
4 Sample code
Parasolid
1 Introduction
2 Initialization and shutdown
3 Reading Parasolid files
4 Creating and rendering Parasolid entities
5 Controlling the Visualize-Parasolid mapping
6 Operating on Parasolid entities
API Reference
3DGS
MVO
3DGS Stream
Base Stream
HIO
OOC
Parasolid
Additional Resources
Languages
C/C++
C#
Java
HSF specification
GUI integration
MFC
Winforms
WPF
Qt
Java Swing
Java SWT
Augmented Reality
Virtual Reality
HOOPS Part Viewer
1.0 Overview
2.0 Using the HOOPS 3D Part Viewer
3.0 Keyframe Editor
4.0 Material Editor
Troubleshooting
Dev_Tools
hoops_mvo
source
HImManager.h
Go to the documentation of this file.
1
// Copyright (c) Tech Soft 3D, Inc.
2
//
3
// The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4
// and considered a trade secret as defined under civil and criminal statutes.
5
// Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6
// unauthorized use or misappropriation of its trade secrets. Use of this information
7
// by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8
// a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9
11
15
#ifndef _HIM_MANAGER_H
16
#define _HIM_MANAGER_H
17
18
#ifdef H_PACK_8
19
#pragma pack(push)
20
#pragma pack(8)
21
#endif
22
23
#include "HTools.h"
24
25
26
27
32
#define HImRegisterCallback(callback_name, callback_function) \
33
do{ (HImManager::GetCurrentHImManager())->RegisterOneCallback( \
34
(const char *)callback_name, (void*)callback_function); }while(0);
35
39
#define HImSetCallback(callback_type, callback_name) \
40
do{ (HImManager::GetCurrentHImManager())->SetCallback( \
41
(const char *)callback_type, (const char *)callback_name); }while(0);
42
46
#define HImSetCallbackByKey(segment_key, callback_type, callback_name) \
47
do{ (HImManager::GetCurrentHImManager())->SetCallback( \
48
segment_key, (const char *)callback_type, (const char *)callback_name); }while(0);
49
53
#define HImUnSetOneCallback(callback_type) \
54
do{ (HImManager::GetCurrentHImManager())->UnSetOneCallback( \
55
callback_type); }while(0);
56
61
#define HImUnSetOneCallbackByKey(segment_key, callback_type) \
62
do{ (HImManager::GetCurrentHImManager())->UnSetOneCallback( \
63
segment_key, (const char *)callback_type); }while(0);
64
70
#define HImShowCallback(callback_name, callback_type) \
71
do{ (HImManager::GetCurrentHImManager())->ShowCallback( \
72
(const char *)callback_name, (char *)callback_type); }while(0);
73
74
75
76
77
79
90
class
MVO_API
HImManager
91
{
92
93
public
:
94
95
HImManager
();
96
virtual
~
HImManager
();
97
99
virtual
void
RegisterCallbacks();
100
108
virtual
void
RegisterOneCallback(
const
char
* callback_name,
void
* callback);
109
118
virtual
void
SetCallback(
HC_KEY
segment_key,
const
char
* callback_type,
const
char
* callback_name);
119
128
virtual
void
SetCallback(
const
char
* callback_type,
const
char
* callback_name);
129
137
virtual
void
UnSetOneCallback(
HC_KEY
segment_key,
const
char
* callback_type);
138
145
virtual
void
UnSetOneCallback(
const
char
* callback_type);
146
154
virtual
void
ShowCallback(
const
char
*callback_type,
char
* callback);
155
161
static
HImManager
*GetCurrentHImManager();
162
163
};
164
165
166
#ifdef H_PACK_8
167
#pragma pack(pop)
168
#endif
169
170
#endif
171
172
173
174
175
176
177
HC_KEY
#define HC_KEY
HImManager
The HImManager class serves as a manager for IM callbacks.
Definition:
HImManager.h:90