|
| xiiQtOrbitCamViewWidget (xiiQtEngineDocumentWindow *pOwnerWindow, xiiEngineViewConfig *pViewConfig, bool bPicking=false) |
|
void | ConfigureFixed (const xiiVec3 &vCenterPos, const xiiVec3 &vHalfBoxSize, const xiiVec3 &vCamPosition) |
|
void | ConfigureRelative (const xiiVec3 &vCenterPos, const xiiVec3 &vHalfBoxSize, const xiiVec3 &vCamDirection, float fCamDistanceScale) |
|
void | SetOrbitVolume (const xiiVec3 &vCenterPos, const xiiVec3 &vHalfBoxSize) |
|
xiiOrbitCameraContext * | GetOrbitCamera () |
|
virtual void | SyncToEngine () override |
| Sends the redraw message to the engine.
|
|
| xiiQtEngineViewWidget (QWidget *pParent, xiiQtEngineDocumentWindow *pDocumentWindow, xiiEngineViewConfig *pViewConfig) |
|
xiiUInt32 | GetViewID () const |
| Returns the ID of this view.
|
|
xiiQtEngineDocumentWindow * | GetDocumentWindow () const |
|
void | GetCameraMatrices (xiiMat4 &out_mViewMatrix, xiiMat4 &out_mProjectionMatrix) const |
|
void | UpdateCameraInterpolation () |
| Called every frame to move the camera to its current target (focus on selection, etc.)
|
|
void | InterpolateCameraTo (const xiiVec3 &vPosition, const xiiVec3 &vDirection, float fFovOrDim, const xiiVec3 *pNewUpDirection=nullptr, bool bImmediate=false) |
| The view's camera will be interpolated to the given coordinates.
|
|
void | SetEnablePicking (bool bEnable) |
| If disabled, no picking takes place in this view.
|
|
void | SetPickTransparent (bool bEnable) |
|
virtual bool | IsPickingAgainstSelectionAllowed () const |
| Disabled during drag&drop operations, to prevent picking against the dragged object.
|
|
void | OpenContextMenu (QPoint globalPos) |
| Supposed to open a context menu at the given position. Derived classes must implement OnOpenContextMenu and do the actual work there.
|
|
const xiiObjectPickingResult & | PickObject (xiiUInt16 uiScreenPosX, xiiUInt16 uiScreenPosY) const |
| Starts a picking operation for the given pixel position in this view. Returns the most recent picking information in the meantime.
|
|
xiiResult | PickPlane (xiiUInt16 uiScreenPosX, xiiUInt16 uiScreenPosY, const xiiPlane &plane, xiiVec3 &out_vPosition) const |
| Similar to PickObject, but computes the intersection with the given plane instead.
|
|
void | HandleViewMessage (const xiiEditorEngineViewMsg *pMsg) |
| Processes incoming messages from the engine that are meant for this particular view. Mostly picking results.
|
|
virtual xiiPlane | GetFallbackPickingPlane (xiiVec3 vPointOnPlane=xiiVec3(0)) const |
| Returns a plane that can be used for picking, when nothing else is available Orthographic views would typically return their projection planes, perspective views may return the ground plane.
|
|
void | TakeScreenshot (xiiStringView sOutputPath) const |
|
|
static const InteractionContext & | GetInteractionContext () |
| Returns the latest information about what viewport the user interacted with.
|
|
static void | SetInteractionContext (const InteractionContext &ctxt) |
| Overrides the InteractionContext with custom values. Mostly useful for injecting procedural user interaction for unit tests.
|
|
xiiHybridArray< xiiEditorInputContext *, 8 > | m_InputContexts |
| Add input contexts in the order in which they are supposed to be processed.
|
|
xiiEngineViewConfig * | m_pViewConfig |
|
static xiiSizeU32 | s_FixedResolution |
|
virtual bool | eventFilter (QObject *object, QEvent *event) override |
| Used to deactivate shortcuts.
|
|
virtual void | paintEvent (QPaintEvent *event) override |
|
virtual QPaintEngine * | paintEngine () const override |
|
virtual void | resizeEvent (QResizeEvent *event) override |
|
virtual void | keyPressEvent (QKeyEvent *e) override |
|
virtual void | keyReleaseEvent (QKeyEvent *e) override |
|
virtual void | mousePressEvent (QMouseEvent *e) override |
|
virtual void | mouseReleaseEvent (QMouseEvent *e) override |
|
virtual void | mouseMoveEvent (QMouseEvent *e) override |
|
virtual void | wheelEvent (QWheelEvent *e) override |
|
virtual void | focusOutEvent (QFocusEvent *e) override |
|
virtual void | dragEnterEvent (QDragEnterEvent *e) override |
|
virtual void | dragLeaveEvent (QDragLeaveEvent *e) override |
|
virtual void | dropEvent (QDropEvent *e) override |
|
void | EngineViewProcessEventHandler (const xiiEditorEngineProcessConnection::Event &e) |
|
void | ShowRestartButton (bool bShow) |
|
void | RecreateEngineViewport () |
|
virtual void | OnOpenContextMenu (QPoint globalPos) |
|
virtual void | HandleMarqueePickingResult (const xiiViewMarqueePickingResultMsgToEditor *pMsg) |
|
bool | m_bUpdatePickingData |
|
bool | m_bPickTransparent = true |
|
bool | m_bInDragAndDropOperation |
|
xiiUInt32 | m_uiViewID |
|
xiiQtEngineDocumentWindow * | m_pDocumentWindow = nullptr |
|
float | m_fCameraLerp |
|
float | m_fCameraStartFovOrDim |
|
float | m_fCameraTargetFovOrDim |
|
xiiVec3 | m_vCameraStartPosition |
|
xiiVec3 | m_vCameraTargetPosition |
|
xiiVec3 | m_vCameraStartDirection |
|
xiiVec3 | m_vCameraTargetDirection |
|
xiiVec3 | m_vCameraUp |
|
xiiTime | m_LastCameraUpdate |
|
QHBoxLayout * | m_pMainLayout = nullptr |
|
QPushButton * | m_pRestartButton = nullptr |
|
QWidget * | m_pViewportWidget = nullptr |
|
xiiObjectPickingResult | m_LastPickingResult |
|
static xiiUInt32 | s_uiNextViewID = 0 |
|
static InteractionContext | s_InteractionContext |
|