Workspace 7.0.2
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
CSIRO::Rendering Namespace Reference

Rendering of meshed models.

Namespaces

namespace  SceneItemLibraryWidgetPrivate
 
namespace  SceneItemTypes
 
namespace  ShaderLibraryWidgetPrivate
 
namespace  Ui
 

Classes

class  AddSceneItem
 A SceneInteraction that adds a new scene item to an existing transform. More...
 
class  AmbientLight
 Simple ambient light. More...
 
class  AmbientLightBuilder
 Operation to build a AmbientLight object. More...
 
class  Annotation
 Represents an item in a scene that is purely text. More...
 
class  AxesImageBuilder
 Operation to create an image overlay of a set of axes. More...
 
class  BillboardImageShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  BillboardImageShaderBuilder
 Operation to build a BillboardImageShader object. More...
 
class  BlinnPhongShader
 A basic Blinn-Phong specular shader which can be attached to meshmodels. More...
 
class  BlinnPhongShaderBuilder
 Operation to build a BlinnPhongShader object. More...
 
class  CalculateSceneBoundingBox
 Operation for calculating the bounding box of a scene's contents. More...
 
class  Camera
 Defines a positionable, orientable camera for a scene. More...
 
class  CameraBuilder
 Operation to build a Camera object. More...
 
class  CameraInteractionEvent
 Event raised during camera interaction. More...
 
class  CameraInteractionOptions
 An object group containing options for camera interactions. More...
 
class  CameraInteractionsFactory
 Factory class for creating QueuedInteractions for the various camera interaction scenarios. More...
 
class  CameraObserverStateChangedEvent
 
class  CameraUpdateEvent
 Event raised to update one or more specific properties of a camera. More...
 
class  CheckerImage2D
 Operation supplying a 2D texture image of a checker pattern. More...
 
class  ClipRegion
 Defines a region in 3D space which is to be used for clipping models in a scene. More...
 
class  ClipRegionBuilder
 Operation that constructs a ClipRegion. ClipRegions are used to clip areas of 3D space in a Scene. More...
 
class  ColorGL
 
class  ColorStateShader
 A shader that interprets a node state as a RGBA color for each node. More...
 
class  ComponentBasedFlyTo
 
class  ControlSettings
 Represents a selection event in a renderer. More...
 
class  CreateAnnotation
 Creates an annotation to be placed in a Scene. More...
 
class  CreateAxesModel
 
class  CreateCircleImage
 Operation to create a circle image parametrically. More...
 
class  CreateClipRegion
 Operation that constructs a ClipRegion. ClipRegions are used to clip areas of 3D space in a Scene. More...
 
class  CreateColorStateShader
 Operation to build a ColorStateShader object. More...
 
class  CreateControlPointMesh
 Create a mesh from Transforms (including a hierarchy) representing control points. More...
 
class  CreateSuperquadricMesh
 Creates a superquadric mesh from a set of parameters. More...
 
class  CustomRenderFunction
 Base class for a custom rendering functor. More...
 
class  DepthShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  DepthShaderBuilder
 Operation to build a DepthShader object. More...
 
class  DirectionalLight
 Defines a directional light which is a source at infinity with no edge fall-off or attentuation. More...
 
class  DirectionalLightBuilder
 Operation to build a DirectionalLight object. More...
 
class  ElementColoringShader
 A shader which colors a model based using an element mapper and a color scale. More...
 
class  ElementColoringShaderBuilder
 Operation to build a ElementColoringShader object. More...
 
class  ExpiryCache
 Template class for a cache that removes items as soon as it exceeds maximum capacity. It uses shared pointers, so items will only be physically deleted once they go out of scope. More...
 
class  FindDisplay
 Find display number by its UID. More...
 
class  FitCameraViewToMesh
 Adjusts a camera's transform in order to position it so that it can see the entire mesh. More...
 
class  FocusOnSceneItem
 A SceneInteraction that focuses the camera on a scene item. More...
 
class  GenerateProjectiveTextureCoordinates
 Operation to project a Texture2D onto a model. More...
 
class  GetMeshModelInstanceLod
 Returns a particular Level of Detail (LOD) mesh associated with a MeshModelInstance. LOD meshes can be retrieved by LOD number or by distance value. More...
 
class  GetModelsFromScene
 Returns the set of models within a scene, optionally confined to a specific bounding region. More...
 
class  GetModelsUnderTransform
 Returns the set of models under a transform, optionally confined to a specific bounding region. More...
 
class  GetSceneItemTransform
 Get the transforms (local and global) of a SceneItem. More...
 
class  GetVisibleModelsFromScene
 Returns the set of models in a scene that are visible from a particular camera's point of view. More...
 
class  GlobalMatrixModifiedEvent
 
class  Glyph
 Result type for a call to Glypher::getGlyph() More...
 
class  Glypher
 Base class for glyphers to be used with a MeshModelInstance. More...
 
class  GridScaleBuilder
 Creates a grid-scale mesh model to be used in a 3d scene. More...
 
class  HighlightElementShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  HighlightNodeShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  ImageToSceneOverlayAdaptor
 
class  ImageToSceneOverlayAdaptorDialog
 Dialog for configuring how an image is adapted to a scene overlay. More...
 
class  ImageToSceneOverlayAdaptorFactory
 Factory for the int to QString adaptor. More...
 
struct  ImageTypeSelect
 
struct  ImageTypeSelect< ColorArray >
 
struct  ImageTypeSelect< DataAnalysis::Array3dInteger >
 
struct  ImageTypeSelect< DataAnalysis::Image3d >
 
struct  ImageTypeSelect< QImage >
 
class  KeyControlBinding
 Key control binding. More...
 
class  LambertShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  LambertShaderBuilder
 Operation to build a LambertShader object. More...
 
class  Light
 Base class for all light types supported in a Scene. More...
 
class  LightAttenuationFactors
 Put a one-line description of your datatype here. More...
 
class  LightsProcessor
 Base class for all objects that can process the lights in a Scene. More...
 
class  LinearMatrixFlyTo
 
class  LinearSpatialPartitioningTree
 A Linear spatial partitioning tree is a quadtree or octree compressed into a single contiguous array. More...
 
class  LineOfSightShader
 A shader designed to output line of sight information from a camera. More...
 
class  Manipulator
 Base class for manipulators in a renderer. A manipulator is an object that can be interacted with (e.g. with the mouse, or keyboard) to modify a SceneItem. More...
 
class  ManipulatorInteractionsFactory
 
class  ManipulatorProcessor
 
class  ManipulatorTargetOperation
 An Operation that creates SceneItems that can be the target of a SceneItemManipulationEvent. More...
 
class  MeshModelInstance
 Holds a mesh model plus optional sub-items defining its appearance. More...
 
class  MeshModelInstanceBuilder
 Builds a MeshModelInstance from a name and a model ID. More...
 
class  MeshSelectionWidget
 A modal dialog that gets the filename and reader type of a mesh model the user wants to add to a scene. More...
 
class  MouseControlBinding
 Mouse control binding. More...
 
class  MouseControlBindingEditor
 A widget for editing a mouse control binding. More...
 
class  NodeColoringShader
 A shader which colors a model based using a node mapper and a color scale. More...
 
class  NodeColoringShaderBuilder
 Operation to build a NodeColoringShader object. More...
 
class  NoiseImage2D
 Operation supplying a 2D texture image of semi-random noise. More...
 
class  NormalShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  NormalShaderBuilder
 Operation to build a NormalShader object. More...
 
class  NoTexture
 
class  NullShader
 
class  ObjSceneReader
 Provides an operation for reading OBJ files. More...
 
class  OctreeShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  OctreeShaderBuilder
 Operation to build a OctreeShader object. More...
 
class  Pick
 Represents a selection event in a renderer. More...
 
class  PickedItem
 Represents an item that has been 'picked' (interactively selected) in a scene. More...
 
class  PickFilter
 A class representing a filter for the type of things we are to pick. More...
 
class  PlaybackControlWidget
 Widget for controlling playback of a scene. More...
 
class  PlaybackControlWidgetConnector
 
class  PlaybackControlWidgetDesigner
 Qt Designer support for PlaybackControlWidget. More...
 
class  PlaybackControlWidgetFactory
 
class  PlotGrid3dBuilder
 Creates a grid cube mesh in 3 dimensions which acts as the axes and scale for 3D plots. More...
 
class  PlotGrid3dRenderOptions
 Data structure containing series of options which allow user to configure which physical features of a 3D grid plot are rendered. More...
 
class  PointLight
 Defines a point light source at specific position with attentuation. More...
 
class  PointLightBuilder
 Operation to build a PointLight object. More...
 
class  ProjectTexture2D
 Operation to project a Texture2D onto a model. More...
 
class  Quaternion
 Quaternion class for handling spherical interpolation. More...
 
class  QueuedInteraction
 
class  RadialGridBuilder
 Creates a 2D radial grid Mesh::MeshModel to be used in a 3D scene. More...
 
class  RemoveSceneItem
 A SceneInteraction that removes a scene item from the scene. More...
 
class  RenderFilter
 A class representing a filter for the type of things we want to render. More...
 
class  RenderGlyphCallback
 Base class for callbacks that need to be invoked per-glyph. This allows users of a particular shader program to change uniform values on a per-glyph basis if need-be. More...
 
class  RenderImageToScreen
 Operation to render an image to a specific screen. More...
 
class  RenderingPlugin
 WorkspacePlugin singleton class for this module. More...
 
class  RenderingPluginDesigner
 WorkspacePlugin singleton class for this module. More...
 
class  RenderingSettings
 Class representing the settings specific to the rendering plugin. More...
 
class  RenderingSettingsPluginConfig
 Provides a configuration widget for the rendering plugin. More...
 
class  RenderingSettingsWidget
 Provides a view of settings relating to the rendering plugin. More...
 
class  RenderSettings
 Encapsulates the settings required for rendering. More...
 
class  RenderViewFrustumToMesh
 Renders a camera's view frustum to a MeshModelInstance so that it can be used in a custom location. More...
 
class  RodGlypher
 Glypher that produces z-axis (particle space) aligned rods at each node. More...
 
class  RodGlypherBuilder
 Operation to build a RodGlypher object. More...
 
class  RodMesher
 Creates a mesh for a rod. More...
 
class  RotateManipulator
 
class  ScaleManipulator
 
class  Scene
 Scene class which can hold lights, cameras and transforms. More...
 
class  SceneBoundingBoxCalculator
 Utility class for calculating the bounding box of a scene. More...
 
class  SceneBuilder
 Builds a Scene from a list of SceneItem objects. More...
 
class  SceneEditorWidget
 A widget encompassing the WSGLWidget, SceneInteractionWidget and SceneItemPropertiesWidget. More...
 
class  SceneEditorWidgetDesigner
 Qt Designer support for GLWidget. More...
 
class  SceneEditorWidgetFactory
 Widget factory for the SceneEditorWidget. More...
 
class  SceneInteraction
 
class  SceneInteractionWidget
 A tree widget that allows users to view and modify a scene hierarchy defined in the workspace. More...
 
class  SceneInteractionWidgetConnector
 Widget connector for the SceneInteractionWidget. More...
 
class  SceneInteractionWidgetDesigner
 Qt Designer support for GLWidget. More...
 
class  SceneInteractionWidgetFactory
 Widget factory for the SceneInteractionWidget. More...
 
class  SceneInteractionWidgetItem
 Class representing an individual scene item in the tree. Note that QTreeWidgetItem is not a QObject so we can't start adding signals and slots to it (https://stackoverflow.com/questions/19053355/error-when-connecting-a-qtreewidgetitem) More...
 
class  SceneItem
 Base class for all types that can be added as a child of a Transform. More...
 
class  SceneItemInstance
 Creates an instance of a SceneItem in a scene, including all of its children. More...
 
class  SceneItemInstanceBuilder
 Creates a SceneItemInstance; a type of SceneItem that instances (duplicates without copying) another SceneItem located elsewhere in the Scene. More...
 
class  SceneItemLabelChanged
 A SceneInteraction the lets an operation update itself when it's label changes. More...
 
class  SceneItemLibrary
 Library containing scene items, allowing scene item instances to be stored with identifiers, and be instanced elsewhere in a scene. More...
 
class  SceneItemLibraryBuilder
 Generates a SceneItemLibrary from a list of SceneItem and SceneItemLibrary inputs. More...
 
class  SceneItemLibraryWidget
 Widget for editing the contents of a SceneItemLibrary. Added as an additional tab to the operation properties dialog. More...
 
class  SceneItemManipulationEvent
 Base class for scene item manipulation. More...
 
class  SceneItemProcessor
 Abstract base class for all objects that can process a Scene. More...
 
class  SceneItemPropertiesWidget
 A widget for editing the properties of a scene item, including it's name and relevant inputs. More...
 
class  SceneItemPropertiesWidgetDesigner
 Qt Designer support for GLWidget. More...
 
class  SceneItemType
 An abstract base class for the types of scene items or 'nodes' that make up the scene interaction tree. More...
 
class  SceneItemTypeManager
 Manager for SceneItemType classes. More...
 
class  SceneItemTypeSingleton
 SceneItemType singleton class template. More...
 
class  SceneItemTypeSingletonTraits
 SceneItemType singleton class template. More...
 
class  SceneOverlay
 Specialization of DataAnalysis::ImageOverlay for use as an overlay on a rendered scene. More...
 
class  SceneProcessor
 Abstract base class for all objects that can process a Scene. More...
 
class  SceneRenderer
 Base class anything that renders a scene. More...
 
class  SceneRendererContext
 Represents the context for a given renderer, in which all its state information is stored. More...
 
class  SceneRendererTypeId
 Class used to uniquely identify each type of renderer available in the workspace. More...
 
class  SceneTransformProcessor
 Processes a Scene, iterating over each item in its item tree and updating its global transform information if required. More...
 
class  ScreenNumberWidget
 Restricts the selection of screens to the available range. More...
 
class  ScreenNumberWidgetConnector
 
class  ScreenNumberWidgetDesigner
 Qt Designer support for ScreenNumberWidget. More...
 
class  ScreenNumberWidgetFactory
 
class  ScreenSerialNumberWidget
 Restricts the selection of screens to the available range. More...
 
class  ScreenSerialNumberWidgetConnector
 
class  ScreenSerialNumberWidgetDesigner
 Qt Designer support for ScreenSerialNumberWidget. More...
 
class  ScreenSerialNumberWidgetFactory
 
class  SelectedMeshWidget
 Widget for viewing information about the selected mesh in a rendering window. More...
 
class  SelectedMeshWidgetDesigner
 Qt Designer support for SelectedMeshWidget. More...
 
class  SetSceneItemLibraryBuilderInputsCmd
 Command class for adding an input to an input array. More...
 
class  SetShaderLibraryBuilderInputsCmd
 Command class for adding an input to an input array. More...
 
class  Shader
 Interface for shaders, which are used to control the appearance of objects drawn by a renderer. Generally, developers will not want to derive from this directly, rather they will want to derive from TypedShader, and create one or more specific derivations of the ShaderImplementation class. More...
 
class  ShaderImplementation
 Base class for shader implementations. Associated with a specific factory. More...
 
class  ShaderImplementationFactory
 
class  ShaderImplementationFactoryTraits
 Traits class for shaderimpls of type T. More...
 
class  ShaderLibrary
 Library containing shader objects, allowing shader instances to be stored with identifiers. More...
 
class  ShaderLibraryBuilder
 Generates a ShaderLibrary from a list of Shader and ShaderLibrary inputs. More...
 
class  ShaderLibraryWidget
 Widget for editing the contents of a ShaderLibrary. Added as an additional tab to the operation properties dialog. More...
 
class  SphereGlypher
 Glypher that produces spheres at each node of a model. More...
 
class  SphereGlypherBuilder
 Operation to build a SphereGlypher object. More...
 
class  SphericalMatrixFlyTo
 
class  SplitAndLodPointCloud
 A functor that splits a point cloud into multiple sub-regions (patches) and computes multiple levels of detail (LODs) for each. More...
 
class  SplitAndLodPointCloudOp
 Splits a point cloud model into multiple sub-models, creating multiple levels of detail (LOD) for each. More...
 
class  SpotLight
 Defines a spot light which is a source at specific position with edge fall-off and attentuation. More...
 
class  SpotLightBuilder
 Operation to build a SpotLight object. More...
 
class  SquareGlypher
 Glypher that produces squares at each node of a model,. More...
 
class  SquareGlypherBuilder
 Operation to build a SquareGlypher object. More...
 
class  StreakGlypher
 Glypher that produces streaks at each node of a model. More...
 
class  StreakGlypherBuilder
 Operation to build a SuperquadricGlypher object. More...
 
class  StreakMeshGenerator
 
class  StretchToSphereTexture
 Take a 2D rectangular image and stretch it for use as a texture for a sphere. More...
 
class  SuperquadricGlypher
 Glypher that produces superquadrics at each node of a model. More...
 
class  SuperquadricGlypherBuilder
 Operation to build a SuperquadricGlypher object. More...
 
class  SuperquadricMesher
 Creates a mesh for a superquadric. More...
 
class  SymbolShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  Texture2D
 Generic 2D image texture. More...
 
class  Texture2DBuilder
 Operation to build a Texture2D object. More...
 
class  Texture3D
 Generic 3D image texture. More...
 
class  Texture3DBuilder
 Operation to build a Texture2D object. More...
 
class  TextureCoordShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  TextureCoordShaderBuilder
 Operation to build a TextureCoordShader object. More...
 
class  TextureImage
 Dimension-and-format-dependent texture image, used as a returned type by Texturizer. More...
 
class  TextureProjectionShader
 A basic lambertian shader which can be attached to meshmodels. More...
 
class  TextureProjectionShaderBuilder
 Operation to build a TextureProjectionShader object. More...
 
class  Texturizer
 Base class for texturizers to be used with a MeshModelInstance. More...
 
class  ThreadSafeQueue
 A queue that operates in a threadsafe manner, queueing and dequeing appropriately regardless of the calling thread. More...
 
class  Transform
 Provides a transformable item to be placed in a Scene. More...
 
class  TransformBuilder
 Operation to build a Transform object. More...
 
class  TransformManipulationEvent
 Event raised for manipulating transforms. More...
 
class  TransformManipulator
 Base class for manipulators in a renderer. A manipulator is an object that can be interacted with (e.g. with the mouse, or keyboard) to modify a SceneItem. More...
 
class  TransformManipulatorUndoCommand
 Command class for undoing transform manipulation actions in a scene widget. More...
 
class  TransformToTransformGroupAdaptor
 Adapts a Rendering::Transform's world matrix to a Mesh::TransformGroup. More...
 
class  TranslateManipulator
 
class  TypedSceneRenderer
 Special typed scenerenderer class which saves subclasses from having to implement functionality for retrieving the unique identifier for their renderer. More...
 
class  TypedShader
 Template shader class that manages the mapping between a shader type and the its renderer-specific implementations. More...
 
class  TypedShaderImplementation
 Templated base-class for shader implementations that are specific to a particular renderer type and specific to a single shader type. Uses the curiously recurring template pattern to manage the factories associated with the derived implementation class. More...
 
class  TypedShaderImplementationFactory
 
class  VectorGlypher
 Glypher that produces vectors at each node of a model, scaled and oriented based on a specific state of that particular node / element. If no node state is available, a default value will be used. More...
 
class  VectorGlypherBuilder
 Operation to build a VectorGlypher object. More...
 
class  VolumeShader
 Volume shader for rendering 3D volume data. More...
 
class  VolumeShaderBuilder
 Operation to build a VolumeShader object. More...
 
class  WSGLAnnotation
 
class  WSGLBlinnPhongLightingCapability
 
class  WSGLBlinnPhongShaderImplementation
 
class  WSGLBufferObjectCache
 The WSGLBufferObjectCache is a cache which manages the allocation and storage of WSGLBufferObjectCacheItem (cache items). More...
 
class  WSGLBufferObjectCacheItem
 
class  WSGLBufferObjectCacheItemPtr
 Holder class for managing items in a WSGLBufferObjectCache. More...
 
class  WSGLCacheCapacityExceededException
 Exception class for when a WSGLBufferObjectCache's size is exceeded during memory allocation. More...
 
class  WSGLClippingCapability
 
class  WSGLColorStateShaderImplementation
 
class  WSGLContext
 Manages the data shared within an OpenGL context. More...
 
class  WSGLContextRegistry
 Class for maintaining a registry of WSGLContexts. More...
 
class  WSGLDepthPeelingCapability
 
class  WSGLDepthShaderImplementation
 
class  WSGLElementArrayProperties
 
class  WSGLElementColoringShaderImplementation
 
class  WSGLFacetedGeometry
 Struct for containing the geometry of the model when it is faceted (i.e. broken up into individual elements. More...
 
class  WSGLGeometry
 Encapsulates the geometry of an OpenGL rendered item. More...
 
class  WSGLGlyphSet
 
class  WSGLGlyphSuperSet
 A set of glyph sets. More...
 
class  WSGLGridWidget
 Widget for rendering grids using OpenGL. More...
 
class  WSGLGridWidgetConnector
 Widget connector for WSGLGridWidget. More...
 
class  WSGLGridWidgetDesigner
 Qt Designer support for GLWidget. More...
 
class  WSGLGridWidgetFactory
 Factory for WSGL grid widgets. More...
 
class  WSGLHighlightElementShaderImplementation
 A shader implementation of the highlight element shader. More...
 
class  WSGLHighlightNodeShaderImplementation
 A shader implementation of the highlight element shader. More...
 
class  WSGLInnerGlowShader
 Shader for rendering an internal glow on objects in a scene. This shader can only be used in a WSGL renderer directly - it is not a general shader able to be used in the Workspace. More...
 
class  WSGLInstancedItem
 Special type of render item for rendering items that are drawn many times in different parts of the scene, slightly differently. More...
 
class  WSGLInvalidBufferException
 Exception thrown when an invalid buffer is assigned or used. More...
 
class  WSGLLambertLightingCapability
 
class  WSGLLambertShaderImplementation
 
struct  WSGLLayer
 
class  WSGLLightsProcessor
 Lights processor which outputs appropriate OpenGL commands for each enabled light in a scene. More...
 
class  WSGLLoadingScreen
 Renders a loading screen to the currently bound framebuffer. More...
 
class  WSGLModelProcessingThread
 A thread for asynchronously processing OpenGL model updates. More...
 
class  WSGLModelProcessor
 Model processor which converts a MeshModelInterface into an OpenGL instance of a model (WSGLRenderItem). More...
 
class  WSGLModelUpdateInfo
 Descriptor class for queueing model updates via the ModelProcessingThread. More...
 
class  WSGLNodeColoringShaderImplementation
 
class  WSGLNodeGeometry
 Struct for containing the geometry of the model when it is faceted (i.e. broken up into individual elements. More...
 
class  WSGLNormalShaderImplementation
 
class  WSGLOctreeShaderImplementation
 
class  WSGLOffscreenRender
 Operation to render a Scene to an off-screen image. More...
 
class  WSGLOffscreenRenderBuffer
 
class  WSGLPickElementShader
 A shader implementation of a hardware picking shader. More...
 
class  WSGLPickModelShader
 A shader implementation of a hardware picking shader. More...
 
class  WSGLPickNodeShader
 A shader implementation of a hardware picking shader. More...
 
class  WSGLRenderElementsFilter
 A filtering class for including / excluding specific parts of a render item during a render call. More...
 
class  WSGLRenderer
 Renders a scene using OpenGL. More...
 
class  WSGLRendererSettingsDialog
 
class  WSGLRendererSettingsWidget
 
class  WSGLRenderItem
 Memento-like structure for holding everything we need to know in order to render some geometry in the scene. More...
 
class  WSGLRenderQueueBuilder
 Responsible for creating an ordered queue of WSGLRenderItem for use by the WSGLRenderer. More...
 
class  WSGLSceneItemSymbolLibrary
 Contains a set of mesh model 'symbols', which can be used to represent the set of SceneItems that are not MeshModelInstances. The symbol library contains its own MeshModelLibrary, as well as a MeshModelSource and MeshModelInstance for each symbol. More...
 
class  WSGLScreenSpaceAmbientOcclusion
 Class for using Screen Space Ambient Occlusion (SSAO) within an OpenGL renderer. More...
 
class  WSGLScreenSpaceAmbientOcclusionCapability
 This class allows other shaders to add the capability to support Screen Space Ambient Occlusion (SSAO). More...
 
class  WSGLScreenSpaceLayers
 Encapsulates the screen space layers used for rendering. More...
 
class  WSGLShaderProgram
 Represents an OpenGL shader program present on a particular context. More...
 
class  WSGLShaderProgramCapability
 Base class for all capabilities that can be added to a shader program. More...
 
class  WSGLShaderProgramCapabilityId
 Class used for uniquely identifying a shader program capability. More...
 
class  WSGLShaderProgramManager
 
class  WSGLSparseOctree
 
class  WSGLSurfaceRepresentationEffect
 
class  WSGLSymbolShaderImplementation
 
class  WSGLTexture
 Encapsulates the state attached to an OpenGL texture. More...
 
class  WSGLTextureBinder
 
class  WSGLTextureCoordShaderImplementation
 
class  WSGLTextureProjectionShaderImplementation
 OpenGL implementation of the WSGLTextureProjectionShader. More...
 
class  WSGLTransformCapability
 
class  WSGLTransformNotInvertibleException
 
class  WSGLTransparencyDialog
 
class  WSGLTypedShaderProgramCapability
 
class  WSGLVertexArrayProperties
 
class  WSGLVolumeShaderImplementation
 
class  WSGLWidget
 Widget for interactive rendering of a Scene object using OpenGL. More...
 
class  WSGLWidgetConnector
 Widget connector for GLWidget. More...
 
class  WSGLWidgetDesigner
 Qt Designer support for GLWidget. More...
 
class  WSGLWidgetFactory
 Factory for scene widgets. More...
 

Typedefs

typedef QList< const WSGLShaderProgramCapabilityId * > CapabilityIdList
 
typedef QList< WSGLShaderProgramCapability * > CapabilityList
 
typedef QList< ClipRegion * > ClipRegionList
 
typedef QVector< unsigned > ColorArray
 
using ElementGlyphSets = QMap< const Mesh::ElementType::Type *, WSGLGlyphSetPtr >
 
typedef QHash< const Mesh::ElementType::Type *, QString > ElementIdMap
 
typedef QMap< CameraInteractionsFactory::InteractionType, KeyControlBindingKeyBindingMap
 
using LightList = QList< Light * >
 
typedef QMap< CameraInteractionsFactory::InteractionType, MouseControlBindingMouseBindingMap
 
typedef QMap< QString, PickedItemPickedItemMap
 
using PickQueue = QVector< QRect >
 
using ViewFrustumPlanes = std::array< QVector4D, 6 >
 Array of 4D vectors, each representing one the view frustum planes in normalised form.
 
using WSGLAnnotationList = QList< WSGLAnnotation >
 
using WSGLGeometryCache = QHash< QString, QSharedPointer< WSGLGeometry > >
 
using WSGLGeometryPtr = QSharedPointer< WSGLGeometry >
 
using WSGLGlyphSetCache = ExpiryCache< QString, WSGLGlyphSuperSet >
 
using WSGLGlyphSetPtr = QSharedPointer< WSGLGlyphSet >
 
using WSGLGlyphSuperSetPtr = QSharedPointer< WSGLGlyphSuperSet >
 
typedef std::vector< WSGLLayerWSGLLayers
 
using WSGLNormalsCache = ExpiryCache< QString, Mesh::MultiNodeNormals >
 
typedef QVector< WSGLRenderItem * > WSGLRenderQueue
 
using WSGLTextureCache = QHash< QString, QSharedPointer< WSGLTexture > >
 
using WSGLTexturePtr = QSharedPointer< WSGLTexture >
 
using WSGWidget = FakeWsglWidget
 

Enumerations

enum  RenderTargetType { None = 0 , Models = 1 , Nodes = 2 , Elements = 3 }
 Target types for picking and / or rendering of items in the WSGLWidget. More...
 
enum  RodGlypherTargetType { Node = 0 , Segment = 1 }
 The target type (node or segment element type) for the glyph. More...
 
enum  SurfaceRepresentation {
  DisplayHidden , DisplayBoundingBox , DisplayPoints , DisplayWireframe ,
  DisplaySolidWithEdges , DisplaySolid
}
 A set of basic ways to represent a mesh model's nodes and elements. More...
 
enum  ViewFrustumPlane {
  FrustumNear , FrustumFar , FrustumLeft , FrustumRight ,
  FrustumBottom , FrustumTop
}
 An enum representing the 6 bounding planes of the view frustum. More...
 

Functions

bool aabbIntersectsFrustum (const ViewFrustumPlanes &viewFrustumPlanes, const Mesh::BoundingBoxMinimal &box)
 
void addKeyBinding (KeyBindingMap &map, const KeyControlBinding &binding)
 
void addMouseBinding (MouseBindingMap &map, const MouseControlBinding &binding)
 
Mesh::TransformMatrix adjustScaleToPixelSize (const Mesh::TransformMatrix &matWorld, const Mesh::TransformMatrix &matView, const Mesh::TransformMatrix &matViewInv, const Mesh::TransformMatrix &matProj, int viewportWidth, int viewportHeight, double pixelSize)
 
double calcFieldOfViewX (double fieldOfViewY, double aspectRatio)
 
double calcViewNormalizedDistance (const Mesh::BoundingBoxMinimal &worldViewAabb, const Camera &viewCamera)
 
void getViewFrustumPlanes (const Mesh::TransformMatrix &projMatrix, const Mesh::TransformMatrix &viewMatrix, ViewFrustumPlanes &frustumPlanes)
 
bool isFirstIdParentOfSecondId (const QString &parentPath, QString potentialChild)
 
QVector2D normDevCoordsToScreenCoords (const QVector2D &normDevCoords, int screenWidth, int screenHeight)
 
bool operator!= (const ColorGL &lhs, const ColorGL &rhs)
 
bool operator< (const WSGLModelProcessingThread::QueuedUpdate &lhs, const WSGLModelProcessingThread::QueuedUpdate &rhs)
 
bool operator== (const ColorGL &lhs, const ColorGL &rhs)
 
bool pointInsideFrustum (const ViewFrustumPlanes &viewFrustumPlanes, const Mesh::Vector3d &point)
 
 Q_DECLARE_OPERATORS_FOR_FLAGS (WSGLRenderQueueBuilderImpl::States)
 
uint qHash (const SplitAndLodPointCloudImpl::PatchIndex &key, uint seed=0)
 
Mesh::Vector3d screenCoordsToNormDevCoords (const Mesh::Vector3d &screenCoords, int screenWidth, int screenHeight)
 
Mesh::Vector3d screenCoordsToWorldCoords (const Mesh::Vector3d &screenCoords, int screenWidth, int screenHeight, const Mesh::TransformMatrix &viewProjInv)
 
Mesh::Line screenCoordsToWorldLine (const QVector2D &screenCoords, int screenWidth, int screenHeight, const Mesh::TransformMatrix &viewProjInv)
 
void swap (WSGLRenderItem &lhs, WSGLRenderItem &rhs)
 
bool wsglGoodFramebufferState ()
 
bool wsglGoodFramebufferState (const char *file, int line)
 
bool wsglGoodShaderProgramState ()
 
bool wsglGoodShaderProgramState (const char *file, int line)
 
bool wsglGoodState ()
 
bool wsglGoodState (const char *file, int line)
 

Variables

const int maxNumPatchesPerDimension = 50
 

Typedef Documentation

◆ CapabilityIdList

◆ CapabilityList

◆ ClipRegionList

typedef QList<ClipRegion*> ClipRegionList

◆ ColorArray

typedef QVector< unsigned > ColorArray

◆ ElementGlyphSets

◆ ElementIdMap

typedef QHash<const Mesh::ElementType::Type*, QString> ElementIdMap

◆ KeyBindingMap

◆ LightList

using LightList = QList<Light*>

◆ MouseBindingMap

◆ PickedItemMap

typedef QMap< QString, PickedItem > PickedItemMap

◆ PickQueue

typedef QVector< QRect > PickQueue

◆ ViewFrustumPlanes

using ViewFrustumPlanes = std::array<QVector4D, 6>

The planes are indexed as per the ViewFrustumPlane enum.

◆ WSGLAnnotationList

◆ WSGLGeometryCache

using WSGLGeometryCache = QHash<QString, QSharedPointer<WSGLGeometry> >

◆ WSGLGeometryPtr

using WSGLGeometryPtr = QSharedPointer<WSGLGeometry>

◆ WSGLGlyphSetCache

◆ WSGLGlyphSetPtr

using WSGLGlyphSetPtr = QSharedPointer<WSGLGlyphSet>

◆ WSGLGlyphSuperSetPtr

using WSGLGlyphSuperSetPtr = QSharedPointer<WSGLGlyphSuperSet>

◆ WSGLLayers

typedef std::vector<WSGLLayer> WSGLLayers

◆ WSGLNormalsCache

◆ WSGLRenderQueue

typedef QVector< WSGLRenderItem * > WSGLRenderQueue

◆ WSGLTextureCache

using WSGLTextureCache = QHash<QString, QSharedPointer<WSGLTexture> >

◆ WSGLTexturePtr

using WSGLTexturePtr = QSharedPointer<WSGLTexture>

◆ WSGWidget

using WSGWidget = FakeWsglWidget

Enumeration Type Documentation

◆ RenderTargetType

Enumerator
None 
Models 
Nodes 
Elements 

◆ RodGlypherTargetType

Enumerator
Node 
Segment 

◆ SurfaceRepresentation

Enumerator
DisplayHidden 

Don't show anything at all.

DisplayBoundingBox 

Show only a bounding box around the model.

DisplayPoints 

Show only the points in the model.

DisplayWireframe 

Show all elements as a wireframe.

DisplaySolidWithEdges 

Show all elements as solid surfaces and draw element edges.

DisplaySolid 

Show all elements as solid surfaces with smooth element edges.

See also
setEdgeBreakAngle()

◆ ViewFrustumPlane

Enumerator
FrustumNear 
FrustumFar 
FrustumLeft 
FrustumRight 
FrustumBottom 
FrustumTop 

Function Documentation

◆ aabbIntersectsFrustum()

CSIRO_RENDERING_API bool aabbIntersectsFrustum ( const ViewFrustumPlanes viewFrustumPlanes,
const Mesh::BoundingBoxMinimal box 
)
Parameters
viewFrustumPlanesThe 6 view frustum planes to test against.
boxThe bounding box to test.
Returns
true if the box is within the frustum.

◆ addKeyBinding()

void addKeyBinding ( KeyBindingMap map,
const KeyControlBinding binding 
)
Parameters
map
binding

◆ addMouseBinding()

void addMouseBinding ( MouseBindingMap map,
const MouseControlBinding binding 
)
Parameters
map
binding

◆ adjustScaleToPixelSize()

Mesh::TransformMatrix adjustScaleToPixelSize ( const Mesh::TransformMatrix matWorld,
const Mesh::TransformMatrix matView,
const Mesh::TransformMatrix matViewInv,
const Mesh::TransformMatrix matProj,
int  viewportWidth,
int  viewportHeight,
double  pixelSize 
)
Parameters
matWorldWorld transform of an object
matViewView matrix (inverse of the camera world matrix)
matViewInvInverse of the view matrix
matProjProjection matrix
viewportWidthWidth of the viewport being rendered in pixels
viewportHeightHeight of the viewport being rendered in pixels
pixelSizeDesired size of the object in pixels
Returns
An alternative world transform that will scale the object to the specified size in pixels when rendered to a viewport with the supplied dimensions and using the supplied view and projection matrices.

◆ calcFieldOfViewX()

double calcFieldOfViewX ( double  fieldOfViewY,
double  aspectRatio 
)
inline
Parameters
fieldOfViewYThe vertical field of view in degrees
aspectRatioThe aspect ratio
Returns
The horizontal field of view in degrees

◆ calcViewNormalizedDistance()

double calcViewNormalizedDistance ( const Mesh::BoundingBoxMinimal worldViewAabb,
const Camera viewCamera 
)
inline
Parameters
worldViewAabbThe bounding box of the object in world-view space.
viewCameraThe current view camera.
Returns
The distance to the object, adjusted for the camera's field of view.

◆ getViewFrustumPlanes()

CSIRO_RENDERING_API void getViewFrustumPlanes ( const Mesh::TransformMatrix projMatrix,
const Mesh::TransformMatrix viewMatrix,
ViewFrustumPlanes frustumPlanes 
)
Parameters
projMatrixThe projection matrix used to define the view volume.
viewMatrixThe view matrix representing the transform into view space from world space.
frustumPlanes(out) Array of 6 frustum planes that bound the view volume (in world space).

◆ isFirstIdParentOfSecondId()

bool isFirstIdParentOfSecondId ( const QString &  parentPath,
QString  potentialChild 
)
Parameters
parentPathParent (path) id under consideration
potentialChildThe (path) id which we are testing to see if it is a parent of parentPath
Returns
Returns true if the potentialChild lives "under" the parentPath - for example, the child may represent a Workspace operation which contains various MeshModelInstances, the later being children of the former. See https://jira.csiro.au/browse/WORKSPACE-7858

The routine iterates over removing trailing {uuid} sections of the the potentialChild, comparing against the potential parent. Returns true if there is a match.

Example: parentPath = {abc123} potential child = {abc123}/{def456}/mesh Function returns true

◆ normDevCoordsToScreenCoords()

QVector2D normDevCoordsToScreenCoords ( const QVector2D &  normDevCoords,
int  screenWidth,
int  screenHeight 
)
inline
Parameters
normDevCoordsNormalized device coordinates in the range [-1,1]. These are often also referred to as "clip space" coordinates, and can be computed as: PROJ_MATRIX * VIEW_MATRIX * WORLD_MATRIX * COORD
screenWidthThe width of the screen in pixels
screenHeightThe height of the screen in pixels
Note
Providing coords outside the valid ranges will not fail, instead, NDC coords outside the range will be provided.
Returns
The coordinates in screen-space that correspond to the input device coordinates.

Converts clip-space coordinates (normalized device coordinates) to screen coordinates (i.e. pixel coordinates in screen space).

◆ operator!=()

bool operator!= ( const ColorGL lhs,
const ColorGL rhs 
)
inline

◆ operator<()

bool operator< ( const WSGLModelProcessingThread::QueuedUpdate &  lhs,
const WSGLModelProcessingThread::QueuedUpdate &  rhs 
)

◆ operator==()

bool operator== ( const ColorGL lhs,
const ColorGL rhs 
)
inline

◆ pointInsideFrustum()

CSIRO_RENDERING_API bool pointInsideFrustum ( const ViewFrustumPlanes viewFrustumPlanes,
const Mesh::Vector3d point 
)
Parameters
viewFrustumPlanesThe 6 view frustum planes to test against.
pointThe point to test.
Returns
true if the point is within the frustum, false otherwise.

◆ Q_DECLARE_OPERATORS_FOR_FLAGS()

Q_DECLARE_OPERATORS_FOR_FLAGS ( WSGLRenderQueueBuilderImpl::States  )

◆ qHash()

uint qHash ( const SplitAndLodPointCloudImpl::PatchIndex key,
uint  seed = 0 
)
inline
Parameters
keyPrimaryKeyValue to hash.
seedThe seed value to initialise the hash function.

Internal qHash implementation for generating unique hash keys for PrimaryKeyValues.

Returns
A unique unsigned integer hash key for key.

◆ screenCoordsToNormDevCoords()

Mesh::Vector3d screenCoordsToNormDevCoords ( const Mesh::Vector3d screenCoords,
int  screenWidth,
int  screenHeight 
)
inline
Parameters
screenCoordsCoordinates in screen space (x,y,z), where x is in the range [0,width), y is in the range [0,height) and z (depth) is in the range [0,1], 0 being near, 1 being far.
screenWidthWidth of the screen in pixels.
screenHeightHeight of the screen in pixels.
Returns
Normalized device coordinates; coordinates in clip space in the range [-1,1]

Converts screen-space coordinates to normalized device coordinates (clip-space coordinates) in the range [-1,1]. The z component

◆ screenCoordsToWorldCoords()

Mesh::Vector3d screenCoordsToWorldCoords ( const Mesh::Vector3d screenCoords,
int  screenWidth,
int  screenHeight,
const Mesh::TransformMatrix viewProjInv 
)
inline
Parameters
screenCoordsCoordinates in screen space x=[0,width), y=[0,height), z=[0,1].
screenWidthWidth of the screen in pixels.
screenHeightHeight of the screen in pixels.
viewProjInvInverse of the ViewProjection matrix, which is computed as: INVERSE( PROJ_MATRIX * VIEW_MATRIX )
Returns
World-space coordinates (in 3 dimensions) that correspond to the input screen-space coordinates.

Converts screen-space coordinates to world coordinates, using the inverse projection-view matrix. The z-component of the screenCoords parameter represents the depth in screen-space; between 0 (on the near plane) and 1 (on the far plane).

◆ screenCoordsToWorldLine()

Mesh::Line screenCoordsToWorldLine ( const QVector2D &  screenCoords,
int  screenWidth,
int  screenHeight,
const Mesh::TransformMatrix viewProjInv 
)
inline
Parameters
screenCoordsCoordinates in screen space x=[0,width), y=[0,height), z=[0,1].
screenWidthWidth of the screen in pixels.
screenHeightHeight of the screen in pixels.
viewProjInvInverse of the ViewProjection matrix, which is computed as: INVERSE( PROJ_MATRIX * VIEW_MATRIX )
Returns
A line that runs from the near plane to the far plane of the view frustum, matching the input screen-space coordinates.

It is not possible to simply convert screen-space coordinates to world-space coordinates without specifying the required depth. If the depth is not known (i.e. only x and y coordinates are specified), then the world-space equivalent of the screen-space coordinates is actually a line that runs from the near plane of the view frustum to the far plane. This function converts the input screen-space coordinates into such a line.

◆ swap()

void swap ( WSGLRenderItem lhs,
WSGLRenderItem rhs 
)

◆ wsglGoodFramebufferState() [1/2]

bool wsglGoodFramebufferState ( )
inline

◆ wsglGoodFramebufferState() [2/2]

bool CSIRO_RENDERING_API wsglGoodFramebufferState ( const char *  file,
int  line 
)
Returns
True if the currently bound framebuffer object is in a good state (complete), false otherwise.

◆ wsglGoodShaderProgramState() [1/2]

bool wsglGoodShaderProgramState ( )
inline

◆ wsglGoodShaderProgramState() [2/2]

bool CSIRO_RENDERING_API wsglGoodShaderProgramState ( const char *  file,
int  line 
)
Returns
True if the currently bound shader program is in a good state, false otherwise.

◆ wsglGoodState() [1/2]

bool wsglGoodState ( )
inline

◆ wsglGoodState() [2/2]

bool CSIRO_RENDERING_API wsglGoodState ( const char *  file,
int  line 
)
Returns
True if there are no OpenGL errors, false if otherwise (an error message will also be printed. Note that errors accumulate, so calling this may indicate an error occurred some time earlier.

Note that this will always return true in a release build.

Variable Documentation

◆ maxNumPatchesPerDimension

const int maxNumPatchesPerDimension = 50