|
| plQtOrbitCamViewWidget (plQtEngineDocumentWindow *pOwnerWindow, plEngineViewConfig *pViewConfig, bool bPicking=false) |
|
void | ConfigureFixed (const plVec3 &vCenterPos, const plVec3 &vHalfBoxSize, const plVec3 &vCamPosition) |
|
void | ConfigureRelative (const plVec3 &vCenterPos, const plVec3 &vHalfBoxSize, const plVec3 &vCamDirection, float fCamDistanceScale) |
|
void | SetOrbitVolume (const plVec3 &vCenterPos, const plVec3 &vHalfBoxSize) |
|
plOrbitCameraContext * | GetOrbitCamera () |
|
virtual void | SyncToEngine () override |
| Sends the redraw message to the engine.
|
|
| plQtEngineViewWidget (QWidget *pParent, plQtEngineDocumentWindow *pDocumentWindow, plEngineViewConfig *pViewConfig) |
|
plUInt32 | GetViewID () const |
| Returns the ID of this view.
|
|
plQtEngineDocumentWindow * | GetDocumentWindow () const |
|
void | GetCameraMatrices (plMat4 &out_mViewMatrix, plMat4 &out_mProjectionMatrix) const |
|
void | UpdateCameraInterpolation () |
| Called every frame to move the camera to its current target (focus on selection, etc.)
|
|
void | InterpolateCameraTo (const plVec3 &vPosition, const plVec3 &vDirection, float fFovOrDim, const plVec3 *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 plObjectPickingResult & | PickObject (plUInt16 uiScreenPosX, plUInt16 uiScreenPosY) const |
| Starts a picking operation for the given pixel position in this view. Returns the most recent picking information in the meantime.
|
|
plResult | PickPlane (plUInt16 uiScreenPosX, plUInt16 uiScreenPosY, const plPlane &plane, plVec3 &out_vPosition) const |
| Similar to PickObject, but computes the intersection with the given plane instead.
|
|
void | HandleViewMessage (const plEditorEngineViewMsg *pMsg) |
| Processes incoming messages from the engine that are meant for this particular view. Mostly picking results.
|
|
virtual plPlane | GetFallbackPickingPlane (plVec3 vPointOnPlane=plVec3(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 (const char *szOutputPath) 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.
|
|
plHybridArray< plEditorInputContext *, 8 > | m_InputContexts |
| Add input contexts in the order in which they are supposed to be processed.
|
|
plEngineViewConfig * | m_pViewConfig |
|
static plSizeU32 | 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 plEditorEngineProcessConnection::Event &e) |
|
void | ShowRestartButton (bool bShow) |
|
virtual void | OnOpenContextMenu (QPoint globalPos) |
|
virtual void | HandleMarqueePickingResult (const plViewMarqueePickingResultMsgToEditor *pMsg) |
|
bool | m_bUpdatePickingData |
|
bool | m_bPickTransparent = true |
|
bool | m_bInDragAndDropOperation |
|
plUInt32 | m_uiViewID |
|
plQtEngineDocumentWindow * | m_pDocumentWindow |
|
float | m_fCameraLerp |
|
float | m_fCameraStartFovOrDim |
|
float | m_fCameraTargetFovOrDim |
|
plVec3 | m_vCameraStartPosition |
|
plVec3 | m_vCameraTargetPosition |
|
plVec3 | m_vCameraStartDirection |
|
plVec3 | m_vCameraTargetDirection |
|
plVec3 | m_vCameraUp |
|
plTime | m_LastCameraUpdate |
|
QHBoxLayout * | m_pRestartButtonLayout |
|
QPushButton * | m_pRestartButton |
|
plObjectPickingResult | m_LastPickingResult |
|
static plUInt32 | s_uiNextViewID = 0 |
|
static InteractionContext | s_InteractionContext |
|