Support Forum       G3D Web Page     
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
G3D::SceneEditorWindow Class Reference

Inherits G3D::GuiWindow.

Public Types

enum  CloseAction {
  NO_CLOSE,
  IGNORE_CLOSE,
  HIDE_ON_CLOSE,
  REMOVE_ON_CLOSE
}
 Controls the behavior when the close button is pressed (if there is one). More...
 
enum  ModalEffect {
  MODAL_EFFECT_NONE,
  MODAL_EFFECT_DARKEN,
  MODAL_EFFECT_DESATURATE,
  MODAL_EFFECT_LIGHTEN
}
 Controls rendering of the screen behind the window when this is a modal dialog. More...
 

Public Member Functions

virtual GuiDraweraddDrawer (const GuiText &caption="", GuiDrawer::Side side=GuiDrawer::RIGHT_SIDE)
 Drawers are like windows that slide out of the side of another GuiWindow. More...
 
virtual Rect2D bounds () const
 Inherited from Surface2D. More...
 
const GuiTextcaption () const
 
const Rect2DclientRect () const
 Interior bounds of the window, absolute on the OSWindow in GUI pixels. More...
 
virtual void close ()
 Take the specified close action. More...
 
virtual bool contains (const Point2 &renderingPoint) const
 True if this point is within the region that the window considers for event delivery. More...
 
virtual float depth () const
 Inherited from Surface2D. More...
 
bool enabled () const
 
virtual void fireEvent (const GEvent &event)
 Fire an event on the containing window. More...
 
bool focused () const
 Is this window in focus on the WidgetManager? More...
 
bool hasMouseOver () const
 Is the mouse currently over this window? More...
 
WidgetManagermanager () const
 
const shared_ptr< ThirdPersonManipulator > & manipulator () const
 
const Vector2minSize () const
 
bool morphing () const
 Returns true while a morph is in progress. More...
 
virtual void morphTo (const Rect2D &r)
 Causes the window to change shape and/or position to meet the specified location. More...
 
virtual void moveTo (const Vector2 &position)
 
virtual void moveToCenter ()
 Move to the center of the screen. More...
 
virtual void onAfterEvents ()
 Invoked after all onEvent handlers for the current frame and before onUserInput for any other Widget. More...
 
virtual void onAI ()
 
virtual void onBeforeGraphics ()
 Invoked by WidgetManager immediately before GApp::onGraphics runs. More...
 
virtual bool onEvent (const GEvent &event) override
 The event is in OSWindow coordinates, NOT relative to this GuiWindow's rect. More...
 
virtual void onNetwork ()
 
virtual void onPose (Array< shared_ptr< Surface > > &surfaceArray, Array< shared_ptr< Surface2D > > &surface2DArray) override
 
Appends a posed model for this object to the array, if it has a graphic representation. More...
 
virtual void onSimulation (RealTime rdt, SimTime sdt, SimTime idt) override
 
virtual void onUserInput (UserInput *ui)
 
virtual void pack ()
 Resize the pane so that all of its controls are visible and so that there is no wasted space, then resize the window around the pane. More...
 
GuiPanepane ()
 
const GuiPanepane () const
 
float pixelScale () const
 Size of a GUI pixel in rendering pixels. More...
 
virtual float positionalEventZ (const Point2 &pixel) const
 The camera-space z position that this Widget considers this pixel to be at. More...
 
bool preventEntitySelect () const
 
const Rect2Drect () const
 Window bounds, including shadow and glow, absolute on the OSWindow in GUI pixels. More...
 
bool resizable () const
 Can this window be resized by the user? More...
 
const SceneVisualizationSettingssceneVisualizationSettings () const
 
shared_ptr< EntityselectedEntity () const
 
String selectedSceneName () const
 
void selectEntity (const shared_ptr< Entity > &e)
 
virtual void setCaption (const GuiText &text)
 
virtual void setDepth (float d)
 Called by the WidgetManager. More...
 
virtual void setEnabled (bool e)
 
void setExpanded (bool e)
 
void setManager (WidgetManager *m) override
 Called by the WidgetManager when this module is added to it. More...
 
virtual void setMinSize (const Vector2 &guiPixelSize)
 
void setPreventEntitySelect (bool b)
 
virtual void setRect (const Rect2D &r) override
 
Set the border bounds relative to the OSWindow. More...
 
virtual void setResizable (bool r)
 
void setShowLightSources (bool showLightSources)
 
void setSimulationPaused (bool p)
 
void setSimulationTimeScale (float t)
 
void setStyle (GuiTheme::WindowStyle style)
 Change the window style. More...
 
virtual void setVisible (bool v)
 Hide this entire window. More...
 
void showModal (OSWindow *osWindow, ModalEffect m=MODAL_EFFECT_DESATURATE)
 Blocks until the dialog is closed (visible = false) More...
 
void showModal (const shared_ptr< GuiWindow > &parent, ModalEffect m=MODAL_EFFECT_DESATURATE)
 
bool simulationPaused () const
 
const shared_ptr< GuiTheme > & theme () const
 
bool visible () const
 
virtual OSWindowwindow () const
 Returns the operating system window that is currently rendering this Widget. More...
 

Static Public Member Functions

static shared_ptr< SceneEditorWindowcreate (GApp *app, shared_ptr< Scene > scene, shared_ptr< GuiTheme > theme)
 
static shared_ptr< GuiWindowcreate (const GuiText &windowTitle, const shared_ptr< GuiTheme > &theme=shared_ptr< GuiTheme >(), const Rect2D &rect=Rect2D::xywh(100, 100, 100, 50), GuiTheme::WindowStyle style=GuiTheme::NORMAL_WINDOW_STYLE, CloseAction close=NO_CLOSE)
 As controls are added, the window will automatically grow to contain them as needed. More...
 
static void sort (Array< shared_ptr< Surface2D >> &array)
 Sorts from farthest to nearest. More...
 
static void sortAndRender (RenderDevice *rd, Array< shared_ptr< Surface2D >> &array)
 Calls sort, RenderDevice::push2D, and then render on all elements. More...
 

Protected Types

enum  { CONTROL_WIDTH = 180 }
 

Protected Member Functions

 SceneEditorWindow (GApp *app, shared_ptr< Scene > scene, shared_ptr< GuiTheme > theme)
 
float aoBias () const
 
int aoBlurRadius () const
 
int aoBlurStepSize () const
 
float aoDepthPeelSeparationHint () const
 
float aoEdgeSharpness () const
 
bool aoEnabled () const
 
float aoIntensity () const
 
bool aoMonotonicallyDecreasingBilateralWeights () const
 
int aoNumSamples () const
 
float aoRadius () const
 
void aoSetBias (float f)
 
void aoSetBlurRadius (int i)
 
void aoSetBlurStepSize (int i)
 
void aoSetDepthPeelSeparationHint (float f)
 
void aoSetEdgeSharpness (float f)
 
void aoSetEnabled (bool b)
 
void aoSetIntensity (float f)
 
void aoSetMonotonicallyDecreasingBilateralWeights (bool b)
 
void aoSetNumSamples (int i)
 
void aoSetRadius (float f)
 
void aoSetTemporalFilterFalloffEnd (float f)
 
void aoSetTemporalFilterFalloffStart (float f)
 
void aoSetTemporalFilterHysteresis (float f)
 
void aoSetTemporallyVarySamples (bool b)
 
void aoSetUseDepthPeelBuffer (bool b)
 
void aoSetUseNormalBuffer (bool b)
 
void aoSetUseNormalsInBlur (bool b)
 
float aoTemporalFilterFalloffEnd () const
 
float aoTemporalFilterFalloffStart () const
 
float aoTemporalFilterHysteresis () const
 
bool aoTemporallyVarySamples () const
 
bool aoUseDepthPeelBuffer () const
 
bool aoUseNormalBuffer () const
 
bool aoUseNormalsInBlur () const
 
void changeCameraCallback ()
 Invoked by the GUI. More...
 
void changeKeyFocus (GuiControl *oldControl, GuiControl *newControl)
 Fires events and updates keyFocusGuiControl. More...
 
void checkForChanges ()
 Checks to see if the scene changed. More...
 
void duplicateSelectedEntity ()
 Invoked by the GUI. More...
 
bool editingSpline () const
 
void hideModal ()
 
void increaseBounds (const Vector2 &extent)
 Called by GuiPane::increaseBounds() More...
 
void loadSceneCallback ()
 Invoked by the GUI. More...
 
void makeGUI (GApp *app)
 
void onConvertToSplineTrack ()
 
void onDrawerButton ()
 
void onEntityDropDownAction ()
 
virtual void onMouseButtonDown (const GEvent &event)
 Invoked from the default onEvent when a mouse click hits the back of a window that is not completely transparent. More...
 
void onRateChange ()
 
void onRemoveTrack ()
 
void onSelectEntity ()
 Invoked when m_selectedEntity changes. More...
 
bool processMouseButtonDownEventForFocusChangeAndWindowDrag (const GEvent &event)
 Resolve the mouse button down event. More...
 
virtual void render (RenderDevice *rd) const
 Inherited from Surface2D. More...
 
virtual void renderBackground (RenderDevice *rd) const
 
void resetTime ()
 Callback. More...
 
virtual bool resizeFrameContains (const Point2 &guiPoint) const
 Does the resize area of the window contain this mouse point? More...
 
void saveSceneCallback ()
 Invoked by the GUI. More...
 
CFrame selectedEntityFrame () const
 Callback for the GuiFrameBox. More...
 
String selEntityMaterialName () const
 
String selEntityMeshName () const
 
String selEntityModelName () const
 
String selEntityName () const
 
String selEntityPartName () const
 
void selEntitySetMaterialName (const String &k)
 
void selEntitySetMeshName (const String &k)
 
void selEntitySetModelName (const String &k)
 
void selEntitySetName (const String &k)
 
void selEntitySetPartName (const String &k)
 
int selPrimIndex () const
 
void selSetPrimIndex (const int k)
 
void selSetU (const float k)
 
void selSetV (const float k)
 
float selU () const
 
float selV () const
 
void setKeyFocusControl (GuiControl *c)
 
void setKeyFocusOnNextControl ()
 Called when tab is pressed. More...
 
void setSelectedEntityFrame (const CFrame &f)
 Callback for the GuiFrameBox. More...
 

Static Protected Member Functions

template<class T , class ... ArgTypes>
static shared_ptr< T > createShared (ArgTypes &&... args)
 Like std::make_shared, but works for protected constructors. More...
 

Protected Attributes

Rect2D dragOriginalRect
 
Vector2 dragStart
 Position at which the drag started. More...
 
bool inDrag
 True when the window is being dragged. More...
 
bool inResize
 
GuiControlkeyFocusGuiControl
 
bool m_advanceSimulation
 
GuiPanem_aoPane
 
GAppm_app
 
GuiDropDownListm_cameraDropDownList
 
Rect2D m_clientRect
 Client rect bounds in GUI pixels, absolute on the OSWindow, but at the redefined scale. More...
 
CloseAction m_closeAction
 
ControlButton m_closeButton
 
float m_depth
 
Array< GuiDrawer * > m_drawerArray
 
GuiButtonm_drawerButton
 Button to expand and contract additional manual controls. More...
 
GuiPanem_drawerButtonPane
 The button must be in its own pane so that it can float over the expanded pane. More...
 
GuiText m_drawerCollapseCaption
 
GuiText m_drawerExpandCaption
 
bool m_enabled
 
GuiDropDownListm_entityList
 
GuiPanem_entityPane
 Selection information for an entity. More...
 
bool m_expanded
 If true, the window is big enough to show all controls. More...
 
bool m_focused
 
GuiPanem_frameEditor
 Only one of frameEditor, trackEditor, and splineEditor is visible at a time. More...
 
RealTime m_lastStructuralChangeTime
 Last time that the GUI was updated from the Scene. More...
 
WidgetManagerm_manager
 The manager, set by setManager(). More...
 
shared_ptr< ThirdPersonManipulatorm_manipulator
 For manipulating control points and frames. More...
 
Vector2 m_minSize
 
_internal::Morph m_morph
 
bool m_mouseOver
 
bool m_mouseVisible
 
GuiPanem_perEntityPane
 Custom controls added by each entity. More...
 
float m_pixelScale
 Size of a GUI pixel in rendering pixels. More...
 
shared_ptr< PhysicsFrameSplineEditorm_popupSplineEditor
 
bool m_preventEntitySelect
 
GuiDropDownListm_rateDropDownList
 
Rect2D m_rect
 Window border bounds in GUI pixels. More...
 
bool m_resizable
 
GuiPanem_rootPane
 
GuiButtonm_saveButton
 
shared_ptr< Scenem_scene
 
GuiDropDownListm_sceneDropDownList
 
GuiCheckBoxm_sceneLockBox
 
shared_ptr< Entitym_selectedEntity
 
Model::HitInfo m_selectionInfo
 
bool m_showCameras
 
bool m_showLightBounds
 
bool m_showLightSources
 
float m_simTimeScale
 
GuiPanem_splineEditor
 
shared_ptr< Surfacem_splineSurface
 When editing a spline, this is the surface used for rendering. More...
 
GuiTheme::WindowStyle m_style
 
GuiTabPanem_tabPane
 
GuiText m_text
 Window label. More...
 
shared_ptr< GuiThemem_theme
 
GuiPanem_trackEditor
 
bool m_visible
 Is this window visible? More...
 
SceneVisualizationSettings m_visualizationSettings
 
Modalmodal
 
GuiControlmouseOverGuiControl
 

Static Protected Attributes

static const Vector2 s_defaultWindowSize
 
static const Vector2 s_expandedWindowSize
 

Friends

class _internal::EntitySelectWidget
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
CONTROL_WIDTH 

◆ CloseAction

Controls the behavior when the close button is pressed (if there is one).

NO_CLOSE - Do not show the close button IGNORE_CLOSE - Fire G3D::GEvent::GUI_CLOSE event but take no further action HIDE_ON_CLOSE - Set the window visibility to false and fire G3D::GEvent::GUI_CLOSE REMOVE_ON_CLOSE - Remove this GuiWindow from its containing WidgetManager and fire G3D::GEvent::GUI_CLOSE with a nullptr window argument (since the window may be garbage collected before the event is received).

Enumerator
NO_CLOSE 
IGNORE_CLOSE 
HIDE_ON_CLOSE 
REMOVE_ON_CLOSE 

◆ ModalEffect

Controls rendering of the screen behind the window when this is a modal dialog.

Enumerator
MODAL_EFFECT_NONE 
MODAL_EFFECT_DARKEN 
MODAL_EFFECT_DESATURATE 
MODAL_EFFECT_LIGHTEN 

Constructor & Destructor Documentation

◆ SceneEditorWindow()

G3D::SceneEditorWindow::SceneEditorWindow ( GApp app,
shared_ptr< Scene scene,
shared_ptr< GuiTheme theme 
)
protected

Member Function Documentation

◆ addDrawer()

virtual GuiDrawer* G3D::GuiWindow::addDrawer ( const GuiText caption = "",
GuiDrawer::Side  side = GuiDrawer::RIGHT_SIDE 
)
inlinevirtualinherited

Drawers are like windows that slide out of the side of another GuiWindow.

Drawers are initially sized based on the side of the window that they slide out of, but they can be explicitly sized. Multiple drawers can be attached to the same side, however it is up to the caller to ensure that they do not overlap.

Parameters
sideSide that the drawer sticks out of

◆ aoBias()

float G3D::SceneEditorWindow::aoBias ( ) const
protected

◆ aoBlurRadius()

int G3D::SceneEditorWindow::aoBlurRadius ( ) const
protected

◆ aoBlurStepSize()

int G3D::SceneEditorWindow::aoBlurStepSize ( ) const
protected

◆ aoDepthPeelSeparationHint()

float G3D::SceneEditorWindow::aoDepthPeelSeparationHint ( ) const
protected

◆ aoEdgeSharpness()

float G3D::SceneEditorWindow::aoEdgeSharpness ( ) const
protected

◆ aoEnabled()

bool G3D::SceneEditorWindow::aoEnabled ( ) const
protected

◆ aoIntensity()

float G3D::SceneEditorWindow::aoIntensity ( ) const
protected

◆ aoMonotonicallyDecreasingBilateralWeights()

bool G3D::SceneEditorWindow::aoMonotonicallyDecreasingBilateralWeights ( ) const
protected

◆ aoNumSamples()

int G3D::SceneEditorWindow::aoNumSamples ( ) const
protected

◆ aoRadius()

float G3D::SceneEditorWindow::aoRadius ( ) const
protected

◆ aoSetBias()

void G3D::SceneEditorWindow::aoSetBias ( float  f)
protected

◆ aoSetBlurRadius()

void G3D::SceneEditorWindow::aoSetBlurRadius ( int  i)
protected

◆ aoSetBlurStepSize()

void G3D::SceneEditorWindow::aoSetBlurStepSize ( int  i)
protected

◆ aoSetDepthPeelSeparationHint()

void G3D::SceneEditorWindow::aoSetDepthPeelSeparationHint ( float  f)
protected

◆ aoSetEdgeSharpness()

void G3D::SceneEditorWindow::aoSetEdgeSharpness ( float  f)
protected

◆ aoSetEnabled()

void G3D::SceneEditorWindow::aoSetEnabled ( bool  b)
protected

◆ aoSetIntensity()

void G3D::SceneEditorWindow::aoSetIntensity ( float  f)
protected

◆ aoSetMonotonicallyDecreasingBilateralWeights()

void G3D::SceneEditorWindow::aoSetMonotonicallyDecreasingBilateralWeights ( bool  b)
protected

◆ aoSetNumSamples()

void G3D::SceneEditorWindow::aoSetNumSamples ( int  i)
protected

◆ aoSetRadius()

void G3D::SceneEditorWindow::aoSetRadius ( float  f)
protected

◆ aoSetTemporalFilterFalloffEnd()

void G3D::SceneEditorWindow::aoSetTemporalFilterFalloffEnd ( float  f)
protected

◆ aoSetTemporalFilterFalloffStart()

void G3D::SceneEditorWindow::aoSetTemporalFilterFalloffStart ( float  f)
protected

◆ aoSetTemporalFilterHysteresis()

void G3D::SceneEditorWindow::aoSetTemporalFilterHysteresis ( float  f)
protected

◆ aoSetTemporallyVarySamples()

void G3D::SceneEditorWindow::aoSetTemporallyVarySamples ( bool  b)
protected

◆ aoSetUseDepthPeelBuffer()

void G3D::SceneEditorWindow::aoSetUseDepthPeelBuffer ( bool  b)
protected

◆ aoSetUseNormalBuffer()

void G3D::SceneEditorWindow::aoSetUseNormalBuffer ( bool  b)
protected

◆ aoSetUseNormalsInBlur()

void G3D::SceneEditorWindow::aoSetUseNormalsInBlur ( bool  b)
protected

◆ aoTemporalFilterFalloffEnd()

float G3D::SceneEditorWindow::aoTemporalFilterFalloffEnd ( ) const
protected

◆ aoTemporalFilterFalloffStart()

float G3D::SceneEditorWindow::aoTemporalFilterFalloffStart ( ) const
protected

◆ aoTemporalFilterHysteresis()

float G3D::SceneEditorWindow::aoTemporalFilterHysteresis ( ) const
protected

◆ aoTemporallyVarySamples()

bool G3D::SceneEditorWindow::aoTemporallyVarySamples ( ) const
protected

◆ aoUseDepthPeelBuffer()

bool G3D::SceneEditorWindow::aoUseDepthPeelBuffer ( ) const
protected

◆ aoUseNormalBuffer()

bool G3D::SceneEditorWindow::aoUseNormalBuffer ( ) const
protected

◆ aoUseNormalsInBlur()

bool G3D::SceneEditorWindow::aoUseNormalsInBlur ( ) const
protected

◆ bounds()

virtual Rect2D G3D::GuiWindow::bounds ( ) const
virtualinherited

Inherited from Surface2D.

Reimplemented from G3D::Widget.

◆ caption()

const GuiText& G3D::GuiWindow::caption ( ) const
inlineinherited

◆ changeCameraCallback()

void G3D::SceneEditorWindow::changeCameraCallback ( )
protected

Invoked by the GUI.

◆ changeKeyFocus()

void G3D::GuiWindow::changeKeyFocus ( GuiControl oldControl,
GuiControl newControl 
)
protectedinherited

Fires events and updates keyFocusGuiControl.

◆ checkForChanges()

void G3D::SceneEditorWindow::checkForChanges ( )
protected

Checks to see if the scene changed.

If the scene did change, then this method updates the SceneEditorWindow GUI.

◆ clientRect()

const Rect2D& G3D::GuiWindow::clientRect ( ) const
inlineinherited

Interior bounds of the window, absolute on the OSWindow in GUI pixels.

◆ close()

virtual void G3D::GuiWindow::close ( )
virtualinherited

Take the specified close action.

May be overriden.

Reimplemented in G3D::ArticulatedModelSpecificationEditorDialog.

◆ contains()

virtual bool G3D::GuiWindow::contains ( const Point2 renderingPoint) const
virtualinherited

True if this point is within the region that the window considers for event delivery.

Allows irregular window shapes. Default implementation returns true for all points inside rect().

Parameters
renderingPointin rendering pixels (not GUI pixels)

◆ create() [1/2]

static shared_ptr<SceneEditorWindow> G3D::SceneEditorWindow::create ( GApp app,
shared_ptr< Scene scene,
shared_ptr< GuiTheme theme 
)
static

◆ create() [2/2]

static shared_ptr<GuiWindow> G3D::GuiWindow::create ( const GuiText windowTitle,
const shared_ptr< GuiTheme > &  theme = shared_ptr< GuiTheme >(),
const Rect2D rect = Rect2D::xywh(100, 100, 100, 50),
GuiTheme::WindowStyle  style = GuiTheme::NORMAL_WINDOW_STYLE,
CloseAction  close = NO_CLOSE 
)
staticinherited

As controls are added, the window will automatically grow to contain them as needed.

◆ createShared()

template<class T , class ... ArgTypes>
static shared_ptr<T> G3D::ReferenceCountedObject::createShared ( ArgTypes &&...  args)
inlinestaticprotectedinherited

Like std::make_shared, but works for protected constructors.

Call as createShared<myclass>.

◆ depth()

virtual float G3D::GuiWindow::depth ( ) const
virtualinherited

Inherited from Surface2D.

Controls the depth of objects when rendering. Subclasses may override this but it can interfere with the normal handling of rendering and event delivery. depth = 0 is usually the "top" widget and depth = 1 is usually the "bottom" widget.

Reimplemented from G3D::Widget.

◆ duplicateSelectedEntity()

void G3D::SceneEditorWindow::duplicateSelectedEntity ( )
protected

Invoked by the GUI.

◆ editingSpline()

bool G3D::SceneEditorWindow::editingSpline ( ) const
protected

◆ enabled()

bool G3D::GuiWindow::enabled ( ) const
inlineinherited

◆ fireEvent()

virtual void G3D::Widget::fireEvent ( const GEvent event)
virtualinherited

Fire an event on the containing window.

Reimplemented in G3D::WidgetManager.

◆ focused()

bool G3D::GuiWindow::focused ( ) const
inlineinherited

Is this window in focus on the WidgetManager?

◆ hasMouseOver()

bool G3D::GuiWindow::hasMouseOver ( ) const
inlineinherited

Is the mouse currently over this window?

◆ hideModal()

void G3D::GuiWindow::hideModal ( )
protectedinherited

◆ increaseBounds()

void G3D::GuiWindow::increaseBounds ( const Vector2 extent)
protectedinherited

◆ loadSceneCallback()

void G3D::SceneEditorWindow::loadSceneCallback ( )
protected

Invoked by the GUI.

◆ makeGUI()

void G3D::SceneEditorWindow::makeGUI ( GApp app)
protected

◆ manager()

WidgetManager* G3D::GuiWindow::manager ( ) const
inlineinherited

◆ manipulator()

const shared_ptr<ThirdPersonManipulator>& G3D::SceneEditorWindow::manipulator ( ) const
inline

◆ minSize()

const Vector2& G3D::GuiWindow::minSize ( ) const
inlineinherited

◆ morphing()

bool G3D::GuiWindow::morphing ( ) const
inlineinherited

Returns true while a morph is in progress.

◆ morphTo()

virtual void G3D::GuiWindow::morphTo ( const Rect2D r)
virtualinherited

Causes the window to change shape and/or position to meet the specified location.

The window will not respond to drag events while it is morphing.

◆ moveTo()

virtual void G3D::GuiWindow::moveTo ( const Vector2 position)
virtualinherited

◆ moveToCenter()

virtual void G3D::GuiWindow::moveToCenter ( )
virtualinherited

Move to the center of the screen.

◆ onAfterEvents()

virtual void G3D::Widget::onAfterEvents ( )
inlinevirtualinherited

Invoked after all onEvent handlers for the current frame and before onUserInput for any other Widget.

Reimplemented in G3D::WidgetManager, and G3D::GameController.

◆ onAI()

virtual void G3D::GuiWindow::onAI ( )
inlinevirtualinherited

Reimplemented from G3D::Widget.

Reimplemented in G3D::VideoRecordDialog.

◆ onBeforeGraphics()

virtual void G3D::Widget::onBeforeGraphics ( )
inlinevirtualinherited

Invoked by WidgetManager immediately before GApp::onGraphics runs.

Reimplemented in G3D::WidgetManager, G3D::CallbackWidget, and G3D::XRWidget.

◆ onConvertToSplineTrack()

void G3D::SceneEditorWindow::onConvertToSplineTrack ( )
protected

◆ onDrawerButton()

void G3D::SceneEditorWindow::onDrawerButton ( )
protected

◆ onEntityDropDownAction()

void G3D::SceneEditorWindow::onEntityDropDownAction ( )
protected

◆ onEvent()

virtual bool G3D::SceneEditorWindow::onEvent ( const GEvent event)
overridevirtual

The event is in OSWindow coordinates, NOT relative to this GuiWindow's rect.

Reimplemented from G3D::GuiWindow.

◆ onMouseButtonDown()

virtual void G3D::GuiWindow::onMouseButtonDown ( const GEvent event)
protectedvirtualinherited

Invoked from the default onEvent when a mouse click hits the back of a window that is not completely transparent.

Parameters
eventIn rendering (not GUI) coordinates.

◆ onNetwork()

virtual void G3D::GuiWindow::onNetwork ( )
inlinevirtualinherited

Reimplemented from G3D::Widget.

Reimplemented in G3D::Discovery::Client.

◆ onPose()

virtual void G3D::SceneEditorWindow::onPose ( Array< shared_ptr< Surface > > &  surfaceArray,
Array< shared_ptr< Surface2D > > &  surface2DArray 
)
overridevirtual


Appends a posed model for this object to the array, if it has a graphic representation.

The posed model appended is allowed to reference the agent and is allowed to mutate if the agent is mutated.

Reimplemented from G3D::GuiWindow.

◆ onRateChange()

void G3D::SceneEditorWindow::onRateChange ( )
protected

◆ onRemoveTrack()

void G3D::SceneEditorWindow::onRemoveTrack ( )
protected

◆ onSelectEntity()

void G3D::SceneEditorWindow::onSelectEntity ( )
protected

Invoked when m_selectedEntity changes.

◆ onSimulation()

virtual void G3D::SceneEditorWindow::onSimulation ( RealTime  rdt,
SimTime  sdt,
SimTime  idt 
)
overridevirtual

Reimplemented from G3D::GuiWindow.

◆ onUserInput()

virtual void G3D::GuiWindow::onUserInput ( UserInput ui)
virtualinherited

Reimplemented from G3D::Widget.

Reimplemented in G3D::CameraControlWindow.

◆ pack()

virtual void G3D::GuiWindow::pack ( )
virtualinherited

Resize the pane so that all of its controls are visible and so that there is no wasted space, then resize the window around the pane.

See also
G3D::GuiPane::pack

◆ pane() [1/2]

GuiPane* G3D::GuiWindow::pane ( )
inlineinherited

◆ pane() [2/2]

const GuiPane* G3D::GuiWindow::pane ( ) const
inlineinherited

◆ pixelScale()

float G3D::GuiWindow::pixelScale ( ) const
inlineinherited

Size of a GUI pixel in rendering pixels.

Default is 1.0f

Set greater than 1 on high-DPI displays to enlarge the GUI for this window only. Mouse events will be divided by this scale and graphics commands will be multiplied by it.

See also
G3D::G3DSpecification::defaultGuiWindowPixelScale

◆ positionalEventZ()

virtual float G3D::Widget::positionalEventZ ( const Point2 pixel) const
inlinevirtualinherited

The camera-space z position that this Widget considers this pixel to be at.

Used for positional event (e.g., mouse click) delivery. Higher means closer.

Large negative values are far away. 0 is the closest 3D object. Values greater than zero are used for 2D objects. Returning fnan() [the default] requests the WidgetManager to set hte positionalEventZ to the object's normal event zorder.

See the implementation of ControlPointEditor::positionalEventZ for an example of how to use this with a 3D object.

Reimplemented in G3D::ControlPointEditor.

◆ preventEntitySelect()

bool G3D::SceneEditorWindow::preventEntitySelect ( ) const
inline

◆ processMouseButtonDownEventForFocusChangeAndWindowDrag()

bool G3D::GuiWindow::processMouseButtonDownEventForFocusChangeAndWindowDrag ( const GEvent event)
protectedinherited

Resolve the mouse button down event.

Called from onEvent.
This is handled specially because it can change the focus. event is in rendering coordinates (not GUI coordinates)

◆ rect()

const Rect2D& G3D::GuiWindow::rect ( ) const
inlineinherited

Window bounds, including shadow and glow, absolute on the OSWindow in GUI pixels.

◆ render()

virtual void G3D::GuiWindow::render ( RenderDevice rd) const
protectedvirtualinherited

Inherited from Surface2D.

Reimplemented from G3D::Widget.

Reimplemented in G3D::GuiMenu.

◆ renderBackground()

virtual void G3D::GuiWindow::renderBackground ( RenderDevice rd) const
protectedvirtualinherited

◆ resetTime()

void G3D::SceneEditorWindow::resetTime ( )
protected

Callback.

◆ resizable()

bool G3D::GuiWindow::resizable ( ) const
inlineinherited

Can this window be resized by the user?

◆ resizeFrameContains()

virtual bool G3D::GuiWindow::resizeFrameContains ( const Point2 guiPoint) const
protectedvirtualinherited

Does the resize area of the window contain this mouse point?

◆ saveSceneCallback()

void G3D::SceneEditorWindow::saveSceneCallback ( )
protected

Invoked by the GUI.

◆ sceneVisualizationSettings()

const SceneVisualizationSettings& G3D::SceneEditorWindow::sceneVisualizationSettings ( ) const
inline

◆ selectedEntity()

shared_ptr<Entity> G3D::SceneEditorWindow::selectedEntity ( ) const
inline

◆ selectedEntityFrame()

CFrame G3D::SceneEditorWindow::selectedEntityFrame ( ) const
protected

Callback for the GuiFrameBox.

◆ selectedSceneName()

String G3D::SceneEditorWindow::selectedSceneName ( ) const

◆ selectEntity()

void G3D::SceneEditorWindow::selectEntity ( const shared_ptr< Entity > &  e)

◆ selEntityMaterialName()

String G3D::SceneEditorWindow::selEntityMaterialName ( ) const
protected

◆ selEntityMeshName()

String G3D::SceneEditorWindow::selEntityMeshName ( ) const
protected

◆ selEntityModelName()

String G3D::SceneEditorWindow::selEntityModelName ( ) const
protected

◆ selEntityName()

String G3D::SceneEditorWindow::selEntityName ( ) const
protected

◆ selEntityPartName()

String G3D::SceneEditorWindow::selEntityPartName ( ) const
protected

◆ selEntitySetMaterialName()

void G3D::SceneEditorWindow::selEntitySetMaterialName ( const String k)
inlineprotected

◆ selEntitySetMeshName()

void G3D::SceneEditorWindow::selEntitySetMeshName ( const String k)
inlineprotected

◆ selEntitySetModelName()

void G3D::SceneEditorWindow::selEntitySetModelName ( const String k)
inlineprotected

◆ selEntitySetName()

void G3D::SceneEditorWindow::selEntitySetName ( const String k)
inlineprotected

◆ selEntitySetPartName()

void G3D::SceneEditorWindow::selEntitySetPartName ( const String k)
inlineprotected

◆ selPrimIndex()

int G3D::SceneEditorWindow::selPrimIndex ( ) const
protected

◆ selSetPrimIndex()

void G3D::SceneEditorWindow::selSetPrimIndex ( const int  k)
inlineprotected

◆ selSetU()

void G3D::SceneEditorWindow::selSetU ( const float  k)
inlineprotected

◆ selSetV()

void G3D::SceneEditorWindow::selSetV ( const float  k)
inlineprotected

◆ selU()

float G3D::SceneEditorWindow::selU ( ) const
protected

◆ selV()

float G3D::SceneEditorWindow::selV ( ) const
protected

◆ setCaption()

virtual void G3D::GuiWindow::setCaption ( const GuiText text)
virtualinherited

◆ setDepth()

virtual void G3D::Widget::setDepth ( float  d)
inlinevirtualinherited

Called by the WidgetManager.

This is the depth that the Widget is expected to use when posed as a Surface2D. Subclasses may override or ignore this but it can interfere with the normal handling of rendering.

◆ setEnabled()

virtual void G3D::GuiWindow::setEnabled ( bool  e)
inlinevirtualinherited

◆ setExpanded()

void G3D::SceneEditorWindow::setExpanded ( bool  e)

◆ setKeyFocusControl()

void G3D::GuiWindow::setKeyFocusControl ( GuiControl c)
protectedinherited

◆ setKeyFocusOnNextControl()

void G3D::GuiWindow::setKeyFocusOnNextControl ( )
protectedinherited

Called when tab is pressed.

◆ setManager()

void G3D::SceneEditorWindow::setManager ( WidgetManager m)
overridevirtual

Called by the WidgetManager when this module is added to it.

The argument may be nullptr

Reimplemented from G3D::Widget.

◆ setMinSize()

virtual void G3D::GuiWindow::setMinSize ( const Vector2 guiPixelSize)
inlinevirtualinherited

◆ setPreventEntitySelect()

void G3D::SceneEditorWindow::setPreventEntitySelect ( bool  b)
inline

◆ setRect()

virtual void G3D::SceneEditorWindow::setRect ( const Rect2D rectInGUIPixels)
overridevirtual


Set the border bounds relative to the OSWindow.

The window may render outside the bounds because of drop shadows and glows.

Reimplemented from G3D::GuiWindow.

◆ setResizable()

virtual void G3D::GuiWindow::setResizable ( bool  r)
inlinevirtualinherited

◆ setSelectedEntityFrame()

void G3D::SceneEditorWindow::setSelectedEntityFrame ( const CFrame f)
protected

Callback for the GuiFrameBox.

◆ setShowLightSources()

void G3D::SceneEditorWindow::setShowLightSources ( bool  showLightSources)
inline

◆ setSimulationPaused()

void G3D::SceneEditorWindow::setSimulationPaused ( bool  p)
inline

◆ setSimulationTimeScale()

void G3D::SceneEditorWindow::setSimulationTimeScale ( float  t)
inline

◆ setStyle()

void G3D::GuiWindow::setStyle ( GuiTheme::WindowStyle  style)
inlineinherited

Change the window style.

May lead to inconsistent layout.

◆ setVisible()

virtual void G3D::GuiWindow::setVisible ( bool  v)
inlinevirtualinherited

Hide this entire window.

The window cannot have focus if it is not visible.

Removing the GuiWindow from the WidgetManager is more efficient than making it invisible.

Referenced by G3D::PhysicsFrameSplineEditor::setEnabled().

◆ showModal() [1/2]

void G3D::GuiWindow::showModal ( OSWindow osWindow,
ModalEffect  m = MODAL_EFFECT_DESATURATE 
)
inherited

Blocks until the dialog is closed (visible = false)

See also
hideModal. Do not call between RenderDevice::beginFrame and RenderDevice::endFrame.

◆ showModal() [2/2]

void G3D::GuiWindow::showModal ( const shared_ptr< GuiWindow > &  parent,
ModalEffect  m = MODAL_EFFECT_DESATURATE 
)
inherited

◆ simulationPaused()

bool G3D::SceneEditorWindow::simulationPaused ( ) const
inline

◆ sort()

static void G3D::Surface2D::sort ( Array< shared_ptr< Surface2D >> &  array)
staticinherited

Sorts from farthest to nearest.

◆ sortAndRender()

static void G3D::Surface2D::sortAndRender ( RenderDevice rd,
Array< shared_ptr< Surface2D >> &  array 
)
staticinherited

Calls sort, RenderDevice::push2D, and then render on all elements.

◆ theme()

const shared_ptr<GuiTheme>& G3D::GuiWindow::theme ( ) const
inlineinherited

◆ visible()

bool G3D::GuiWindow::visible ( ) const
inlineinherited

◆ window()

virtual OSWindow* G3D::Widget::window ( ) const
virtualinherited

Returns the operating system window that is currently rendering this Widget.

Reimplemented in G3D::WidgetManager.

Referenced by G3D::FullScreenWidget::bounds().

Friends And Related Function Documentation

◆ _internal::EntitySelectWidget

friend class _internal::EntitySelectWidget
friend

Member Data Documentation

◆ dragOriginalRect

Rect2D G3D::GuiWindow::dragOriginalRect
protectedinherited

◆ dragStart

Vector2 G3D::GuiWindow::dragStart
protectedinherited

Position at which the drag started.

◆ inDrag

bool G3D::GuiWindow::inDrag
protectedinherited

True when the window is being dragged.

◆ inResize

bool G3D::GuiWindow::inResize
protectedinherited

◆ keyFocusGuiControl

GuiControl* G3D::GuiWindow::keyFocusGuiControl
protectedinherited

◆ m_advanceSimulation

bool G3D::SceneEditorWindow::m_advanceSimulation
protected

◆ m_aoPane

GuiPane* G3D::SceneEditorWindow::m_aoPane
protected

◆ m_app

GApp* G3D::SceneEditorWindow::m_app
protected

◆ m_cameraDropDownList

GuiDropDownList* G3D::SceneEditorWindow::m_cameraDropDownList
protected

◆ m_clientRect

Rect2D G3D::GuiWindow::m_clientRect
protectedinherited

Client rect bounds in GUI pixels, absolute on the OSWindow, but at the redefined scale.

Referenced by G3D::GuiWindow::clientRect().

◆ m_closeAction

CloseAction G3D::GuiWindow::m_closeAction
protectedinherited

◆ m_closeButton

ControlButton G3D::GuiWindow::m_closeButton
protectedinherited

◆ m_depth

float G3D::Widget::m_depth
protectedinherited

◆ m_drawerArray

Array<GuiDrawer*> G3D::GuiWindow::m_drawerArray
protectedinherited

◆ m_drawerButton

GuiButton* G3D::SceneEditorWindow::m_drawerButton
protected

Button to expand and contract additional manual controls.

◆ m_drawerButtonPane

GuiPane* G3D::SceneEditorWindow::m_drawerButtonPane
protected

The button must be in its own pane so that it can float over the expanded pane.

◆ m_drawerCollapseCaption

GuiText G3D::SceneEditorWindow::m_drawerCollapseCaption
protected

◆ m_drawerExpandCaption

GuiText G3D::SceneEditorWindow::m_drawerExpandCaption
protected

◆ m_enabled

bool G3D::GuiWindow::m_enabled
protectedinherited

◆ m_entityList

GuiDropDownList* G3D::SceneEditorWindow::m_entityList
protected

◆ m_entityPane

GuiPane* G3D::SceneEditorWindow::m_entityPane
protected

Selection information for an entity.

◆ m_expanded

bool G3D::SceneEditorWindow::m_expanded
protected

If true, the window is big enough to show all controls.

◆ m_focused

bool G3D::GuiWindow::m_focused
protectedinherited

Referenced by G3D::GuiWindow::focused().

◆ m_frameEditor

GuiPane* G3D::SceneEditorWindow::m_frameEditor
protected

Only one of frameEditor, trackEditor, and splineEditor is visible at a time.

◆ m_lastStructuralChangeTime

RealTime G3D::SceneEditorWindow::m_lastStructuralChangeTime
protected

Last time that the GUI was updated from the Scene.

◆ m_manager

WidgetManager* G3D::Widget::m_manager
protectedinherited

The manager, set by setManager().

This cannot be a reference counted pointer because that would create a cycle between the Widget and its manager.

Referenced by G3D::Widget::manager(), G3D::GuiWindow::manager(), G3D::Widget::setManager(), and G3D::GuiWindow::setVisible().

◆ m_manipulator

shared_ptr<ThirdPersonManipulator> G3D::SceneEditorWindow::m_manipulator
protected

For manipulating control points and frames.

Referenced by manipulator().

◆ m_minSize

Vector2 G3D::GuiWindow::m_minSize
protectedinherited

◆ m_morph

_internal::Morph G3D::GuiWindow::m_morph
protectedinherited

◆ m_mouseOver

bool G3D::GuiWindow::m_mouseOver
protectedinherited

◆ m_mouseVisible

bool G3D::GuiWindow::m_mouseVisible
protectedinherited

◆ m_perEntityPane

GuiPane* G3D::SceneEditorWindow::m_perEntityPane
protected

Custom controls added by each entity.

◆ m_pixelScale

float G3D::GuiWindow::m_pixelScale
protectedinherited

Size of a GUI pixel in rendering pixels.

Referenced by G3D::GuiWindow::pixelScale().

◆ m_popupSplineEditor

shared_ptr<PhysicsFrameSplineEditor> G3D::SceneEditorWindow::m_popupSplineEditor
protected

◆ m_preventEntitySelect

bool G3D::SceneEditorWindow::m_preventEntitySelect
protected

◆ m_rateDropDownList

GuiDropDownList* G3D::SceneEditorWindow::m_rateDropDownList
protected

◆ m_rect

Rect2D G3D::GuiWindow::m_rect
protectedinherited

Window border bounds in GUI pixels.

Actual rendering may be outside these bounds.

Referenced by G3D::GuiWindow::rect().

◆ m_resizable

bool G3D::GuiWindow::m_resizable
protectedinherited

◆ m_rootPane

GuiPane* G3D::GuiWindow::m_rootPane
protectedinherited

Referenced by G3D::GuiWindow::pane().

◆ m_saveButton

GuiButton* G3D::SceneEditorWindow::m_saveButton
protected

◆ m_scene

shared_ptr<Scene> G3D::SceneEditorWindow::m_scene
protected

◆ m_sceneDropDownList

GuiDropDownList* G3D::SceneEditorWindow::m_sceneDropDownList
protected

◆ m_sceneLockBox

GuiCheckBox* G3D::SceneEditorWindow::m_sceneLockBox
protected

◆ m_selectedEntity

shared_ptr<Entity> G3D::SceneEditorWindow::m_selectedEntity
protected

Referenced by selectedEntity().

◆ m_selectionInfo

Model::HitInfo G3D::SceneEditorWindow::m_selectionInfo
protected

◆ m_showCameras

bool G3D::SceneEditorWindow::m_showCameras
protected

◆ m_showLightBounds

bool G3D::SceneEditorWindow::m_showLightBounds
protected

◆ m_showLightSources

bool G3D::SceneEditorWindow::m_showLightSources
protected

Referenced by setShowLightSources().

◆ m_simTimeScale

float G3D::SceneEditorWindow::m_simTimeScale
protected

Referenced by setSimulationTimeScale().

◆ m_splineEditor

GuiPane* G3D::SceneEditorWindow::m_splineEditor
protected

◆ m_splineSurface

shared_ptr<Surface> G3D::SceneEditorWindow::m_splineSurface
protected

When editing a spline, this is the surface used for rendering.

◆ m_style

GuiTheme::WindowStyle G3D::GuiWindow::m_style
protectedinherited

◆ m_tabPane

GuiTabPane* G3D::SceneEditorWindow::m_tabPane
protected

◆ m_text

GuiText G3D::GuiWindow::m_text
protectedinherited

Window label.

Referenced by G3D::GuiWindow::caption().

◆ m_theme

shared_ptr<GuiTheme> G3D::GuiWindow::m_theme
protectedinherited

Referenced by G3D::GuiWindow::theme().

◆ m_trackEditor

GuiPane* G3D::SceneEditorWindow::m_trackEditor
protected

◆ m_visible

bool G3D::GuiWindow::m_visible
protectedinherited

Is this window visible?

Referenced by G3D::GuiWindow::setVisible(), and G3D::GuiWindow::visible().

◆ m_visualizationSettings

SceneVisualizationSettings G3D::SceneEditorWindow::m_visualizationSettings
protected

◆ modal

Modal* G3D::GuiWindow::modal
protectedinherited

◆ mouseOverGuiControl

GuiControl* G3D::GuiWindow::mouseOverGuiControl
protectedinherited

◆ s_defaultWindowSize

const Vector2 G3D::SceneEditorWindow::s_defaultWindowSize
staticprotected

◆ s_expandedWindowSize

const Vector2 G3D::SceneEditorWindow::s_expandedWindowSize
staticprotected

documentation generated on Wed Nov 24 2021 08:02:00 using doxygen 1.8.15