Open 3D Engine Atom Gem API Reference 24.09.2
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::RPI::ViewGroup Class Referencefinal

#include <ViewGroup.h>

Classes

struct  Descriptor
 
struct  ViewData
 

Public Member Functions

 AZ_TYPE_INFO (ViewGroup, "{C1AD45ED-03E2-41E0-9DC7-779B4B1842FF}")
 
 AZ_CLASS_ALLOCATOR (ViewGroup, AZ::SystemAllocator)
 
void Init (const Descriptor &desc)
 Initialization which involves caching the descriptor and XR system related properties if applicable.
 
void CreateMainView (AZ::Name name)
 Create the main non-stereoscopic view.
 
void CreateStereoscopicViews (AZ::Name name)
 Create all stereoscopic views.
 
void Activate ()
 Activate this view group which involves connecting the handlers to the views.
 
void Deactivate ()
 Deactivate this view group which involves dis-connecting the handlers from the views.
 
void SetView (const AZ::RPI::ViewPtr view, ViewType viewType=ViewType::Default)
 Set the View pointer for the provided view type.
 
void SetCameraTransform (const AZ::Matrix3x4 &cameraTransform, ViewType viewType=ViewType::Default)
 Set the view transform for the view associated with a view type.
 
void SetViewToClipMatrix (const AZ::Matrix4x4 &viewToClipMatrix, ViewType viewType=ViewType::Default)
 Set the projection transform for the view associated with a view type.
 
void SetStereoscopicViewToClipMatrix (const AZ::Matrix4x4 &viewToClipMatrix, bool reverseDepth=true, ViewType viewType=ViewType::Default)
 Set the stereoscopic projection transform for the view associated with a view type.
 
void ConnectViewMatrixChangedEvent (MatrixChangedEvent::Handler &handler, ViewType viewType=ViewType::Default)
 Allow calling code to connect a handler to an event that is signaled when the view transform is updated.
 
void ConnectProjectionMatrixChangedEvent (MatrixChangedEvent::Handler &handler, ViewType viewType=ViewType::Default)
 Allow calling code to connect a handler to an event that is signaled when the projection transform is updated.
 
void SignalViewMatrixChangedEvent (const AZ::Matrix4x4 &matrix, ViewType viewType=ViewType::Default)
 Allow calling code to signal the event associated with view transform of the view associated with viewType.
 
void SignalProjectionMatrixChangedEvent (const AZ::Matrix4x4 &matrix, ViewType viewType=ViewType::Default)
 Allow calling code to signal the event associated with projection transform of the view associated with viewType.
 
void ConnectViewMatrixChangedHandler (ViewType viewType=ViewType::Default)
 Allow calling code to connect the internal handler to the view transform event of the view associated with viewType.
 
void ConnectProjectionMatrixChangedHandler (ViewType viewType=ViewType::Default)
 Allow calling code to connect the internal handler to the projection transform event of the view associated with viewType.
 
void DisconnectViewMatrixHandler (ViewType viewType=ViewType::Default)
 Allow calling code to disconnect the handler related to the view transform of the view associated with viewType.
 
void DisconnectProjectionMatrixHandler (ViewType viewType=ViewType::Default)
 Allow calling code to disconnect the handler related to the projection transform of the view associated with viewType.
 
bool IsAnyViewEnabled () const
 Returns true if this group contains an active view.
 
bool IsViewInGroup (const AZ::RPI::ViewPtr view) const
 Returns true if a view exists within this view group.
 
bool IsViewGroupViewsSame (const AZ::RPI::ViewGroupPtr viewGroup) const
 Returns true if all the views within viewGroup matches the one in this group.
 
uint32_t GetNumViews () const
 Return the number of stereoscopic views.
 
AZ::RPI::ViewPtr GetView (ViewType viewType=ViewType::Default) const
 Return the view pointer associated with the provided view type.
 

Detailed Description

This class is responsible for managing stereoscopic and non-stereoscopic views. It also allows calling code to provide handlers or functions to be called in case the projection or view matrix changes.


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