Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::Window Class Reference

The Window class is a concept class for window-related enum classes. More...

#include <hps.h>

Public Types

enum  Driver : uint32_t {
  Driver::Default3D,
  Driver::OpenGL,
  Driver::OpenGL2,
  Driver::DirectX9,
  Driver::DirectX11,
  Driver::OpenGL1Deprecated
}
 Enumerates the types of supported display drivers. More...
 
enum  UpdateStatus : uint32_t {
  UpdateStatus::InProgress,
  UpdateStatus::Completed,
  UpdateStatus::TimedOut,
  UpdateStatus::Interrupted,
  UpdateStatus::Failed
}
 Enumerates the status that can be returned when performing an update. More...
 
enum  UpdateType : uint32_t {
  UpdateType::Default,
  UpdateType::Complete,
  UpdateType::Refresh,
  UpdateType::CompileOnly,
  UpdateType::Exhaustive
}
 Controls the type of update that Visualize will attempt to perform. More...
 
enum  Mobility : uint32_t {
  Mobility::Locked,
  Mobility::Floating,
  Mobility::FixedRatio,
  Mobility::Free
}
 Enumerates the mobility modes (i.e., resizing and positioning behaviors) for stand-alone windows. More...
 
enum  FrameSize : uint32_t {
  FrameSize::Single,
  FrameSize::Double
}
 Dimensions of the Window Frame. More...
 
enum  FrameOptions : uint32_t {
  FrameOptions::Inset,
  FrameOptions::Overlay
}
 Window Frame Positioning. More...
 
enum  ImageFormat : uint32_t {
  ImageFormat::Default,
  ImageFormat::RGBA,
  ImageFormat::RGB,
  ImageFormat::Jpeg,
  ImageFormat::Png
}
 The native image format for off-screen windows. More...
 

Private Member Functions

 Window ()
 

Detailed Description

The Window class is a concept class for window-related enum classes.

Member Enumeration Documentation

◆ Driver

enum HPS::Window::Driver : uint32_t
strong

Enumerates the types of supported display drivers.

We recommend that you use the Default3D driver type, and provide end-users with the ability to manually select from a range of 3d drivers in a driver-pulldown list. This will allow them to potentially work around graphics-card-specific problems that occur with a specific driver type.

Enumerator
Default3D 

Visualize will perform runtime query of the 3D capabilities of the Operating System and graphics card and automatically choose a display driver.

Under Windows, preference will be given to DirectX API, followed by OpenGL. Under all other platforms, only the OpenGL API is supported.

OpenGL 

This is an alias for OpenGL2.

OpenGL2 

Shader-based driver which supports OpenGL 2.X+ Available on Windows, Linux, Mac OS X, iOS and Android.

DirectX9 
Deprecated:
(DirectX9 has been deprecated and will be removed from a future version; please use the DirectX11 driver instead.) Shader-based driver which support DirectX 9.0c Available on Windows.
DirectX11 

Shader-based driver which supports DirectX 10.X+ Available on Windows.

OpenGL1Deprecated 
Deprecated:
(OpenGL1 has been deprecated and will be removed from a future version; please use the OpenGL2 driver instead.) Fixed-function driver which supports OpenGL 1.X+ Any functionality that requires shaders will not be supported when using this driver.

Available on Windows, Linux and Mac OS X.

◆ FrameOptions

enum HPS::Window::FrameOptions : uint32_t
strong

Window Frame Positioning.

Enumerator
Inset 

Window Frame Positioning.

Overlay 

Window Frame Positioning.

◆ FrameSize

enum HPS::Window::FrameSize : uint32_t
strong

Dimensions of the Window Frame.

Enumerator
Single 

Window Frame Size.

Double 

Window Frame Size.

◆ ImageFormat

enum HPS::Window::ImageFormat : uint32_t
strong

The native image format for off-screen windows.

Enumerator
Default 

Image Format.

RGBA 

Image Format.

RGB 

Image Format.

Jpeg 

Image Format.

Png 

Image Format.

◆ Mobility

enum HPS::Window::Mobility : uint32_t
strong

Enumerates the mobility modes (i.e., resizing and positioning behaviors) for stand-alone windows.

Enumerator
Locked 

The stand-alone window cannot be moved or resized.

Floating 

The stand-alone window can be moved, but cannot be resized.

FixedRatio 

The stand-alone window can be moved and resized, but the aspect ratio cannot be changed.

Free 

The stand-alone window can be moved and resized, and the aspect ratio can be changed.

◆ UpdateStatus

enum HPS::Window::UpdateStatus : uint32_t
strong

Enumerates the status that can be returned when performing an update.

Enumerator
InProgress 

Update is not done yet.

Completed 

Update was successfully completed.

TimedOut 

Update timed out before it could be completed.

Interrupted 

Update was interrupted.

Failed 

Update failed.

◆ UpdateType

enum HPS::Window::UpdateType : uint32_t
strong

Controls the type of update that Visualize will attempt to perform.

For information regarding static model regeneration for each specific UpdateType, please see Performance Considerations in the Rendering section of the programming guide.

Enumerator
Default 

Makes sure that the screen is up-to-date with respect to the internal scene graph. Allows Visualize to automatically perform optimizations.

Complete 

Redraws the entire scene regardless of whether any changes occurred in the scene-graph which may have triggered (required) an update.

It should only be used in specific situations where an update is required due to factors external to the scene-graph. An example would be the situation where GUI event-handling logic encounters a 'GUI window expose' event which Visualize is not aware of, but the scene needs to be forcefully redrawn to repair (via a complete redraw) the exposed portion of the window.

Refresh 

Pulls the back buffer onto the screen. This is a useful way to update the screen after an expose event like when a window that was occluding your scene is moved away.

CompileOnly 

Only compiles static trees and display lists.

Exhaustive 

Will perform a complete update and also rebuild static trees and display lists that are enabled in the scene-graph.

This should typically only be performed for the first update following a file load, or the effective equivalent, such as loading/creating another model inside an existing scene-graph that has the static setting.

Constructor & Destructor Documentation

◆ Window()

HPS::Window::Window ( )
inlineprivate

The documentation for this class was generated from the following file: