LightInterpreter.LightInterpreter Class Reference


Detailed Description

The LightInterpreter is responsible for managing the lights and shadows in a given document.

#include <class_light_interpreter_1_1_light_interpreter.h>

Inheritance diagram for LightInterpreter.LightInterpreter:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  __init__ ()
  activate ()
  Abstract - to be implemented by the subclasses.
  deactivate ()
  Abstract - to be implemented by the subclasses.
  onNodeDeleted ()
  onNodeBoundingBoxValid ()
  getCurrentLightPosition ()
  GroundShadowMoveStart ()
  GroundShadowMoveStop ()
  GroundShadowMove ()
  GroundShadowMoveEatEvent ()
  This method is tied to events that should not be passed to other interpreters while ground shadow positioning is active.
  GroundShadowPositioningExit ()
  HilightPositioningBeginDrag ()
  HilightPositioningEndDrag ()
  HilightPositioningDrag ()
  LightPositioningBeginDrag ()
  LightPositioningEndDrag ()
  LightPositioningDrag ()
  LightPositioningEatEvent ()
  This method is tied to events that should not be passed to other interpreters while light positioning is active.
  LightPositioningExit ()
  configureEventMapping ()
  Abstract - to be implemented by the subclasses.
  frame ()
  APPLICATION_CLOSE_SCENE ()
  APPLICATION_MODE_CHANGED ()
  Do not show light grips in the presentation mode.
  APPLICATION_VIEW_POSITION_AND_SIZE_CHANGED ()
  ALTERNATIVE_SET_CHANGED ()
  DOCUMENT_LOADED ()
  ENVIRONMENT_EXPOSURE_CHANGED ()
  ENVIRONMENT_CHANGED ()
  applyAccentLightIntensity ()
  SET_3D_UI_ROOT ()
  NODE_CREATED ()
  NAVIGATION_POSITION ()
  MODEL_IMPORT_ALLDONE ()
  CLIENT_CONNECTION_STATUS ()
  Turn off the light grips when in spectating mode.
  ENVIRONMENT_LOADING_DONE ()
  Applies the current environment's light attributes to the models in the scene.
  ENVIRONMENT_ROOT_TRANSFORM_CHANGED ()
  LIGHT_INTERACTIVE_POSITION_START ()
  LIGHT_INTERACTIVE_POSITION_END ()
  LIGHT_SET_DIRECTION ()
  LIGHT_SET_POSITION ()
  LIGHT_RESET_POSITION ()
  Resets the light position to the default in the current environment.
  APPEARANCE_PARAMETER_CHANGE ()
  We will only process this for the lighting change.
  LIGHT_CREATE ()
  Creates a light and select it.
  LIGHT_ADD_NODES ()
  Associates the given targets with the given light.
  LIGHT_REMOVE_NODES ()
  Disassociates the given targets from the given light.
  LIGHT_SELECT_ASSIGNED ()
  Select objects that are linked to the light.
  CLIP_SHOW_GRIPS ()
  Turn on/off showing of all the visible clip grips.
  LIGHT_SHOW_GRIPS ()
  Turn on/off showing of all the visible light grips.
  LIGHT_GRIPS_SET_SIZE ()
  SCREENSHOT_PREPARE ()
  Hide the light grips when snapping the screen.
  SCREENSHOT_SAVED ()
  Restore the light grips when necessary.
  SHOT_RECORDING_CLEANUP ()
  Restore the light grips when necessary.
  REMOVED ()
  DUPLICATED ()
  SHADOW_SET_CASTER_OBJECTS ()
  SHADOW_SET_CASTER ()
  SHADOW_SET_RECEIVER_OBJECTS ()
  SHADOW_SET_RECEIVER ()
  SHADOW_SET_RECEIVER_TYPE ()
  SHADOW_LIGHT_REQUEST_PARAMETERS ()
  Currently there is only one set of supported parameters.
  SHADOW_LIGHT_REQUEST_LIST ()
  SHADOW_LIGHT_REQUEST_LIST_EXTRA ()
  SHADOW_LIGHT_DELETE ()
  SHADOW_LIGHT_CREATE ()
  SHADOW_LIGHT_CREATE_EXTRA ()
  SHADOW_RECEIVER_REPLACE ()
  SHADOW_LIGHT_SWITCH ()
  SHADOW_SET_SOFT_SHADOW ()
  SHADOW_SELECT_ALL_CASTERS ()
  SHADOW_SET_RESOLUTION ()
  SHADOW_SET_INTENSITY ()
  SHADOW_SET_ENABLE_TRANSPARENCY ()
  SHADOW_SET_ALPHA_THRESHOLD ()
  TRANSLATE_WORLDSPACE_DONE ()
  GEOMETRY_TRANSFORM_CHANGED ()
  LIGHT_DIRECTION_CHANGED ()
  LIGHT_VISIBILITY_CHANGED ()
  LIGHT_POSITION_CHANGED ()
  APPEARANCE_PARAMETER_CHANGED ()
  RT_SWITCH ()
  SHADOW_SET_COLOR ()
  SHADOW_SET_SOFTNESS ()
  SHADOW_SET_ENABLE_SOFT_EDGES ()
  SHADOW_SET_FALLOFF_RANGE ()
  SHADOW_SET_FALLOFF_POWER ()
  SHADOW_POSITION_START ()
  SHADOW_POSITION_END ()
  APPLICATION_LOAD_SCENE_IMPORTS_COMPLETE ()
  After all models are loaded rebind any shadow generator nodes in case they were refering to caster objects that hadn't loaded yet.
  GROUP_COLLAPSED ()
  Given a list of newly created collapsed nodes, make sure that these nodes have the same lighting properties as their member leaves.
  GROUP_EXPANDED ()
  STAGE_OPENED ()
  STAGE_ACTIVE_LIST ()
  VIEWER_LAYOUT ()
  LIGHT_AUTO_SET_PARAMETERS ()
  LIGHT_AUTO_SET_POSITION ()
  LIGHT_AUTO_SET_ROTATE ()
  LIGHT_INTERACTIVE_TRANSFORMING_START ()
  LIGHT_INTERACTIVE_TRANSFORMING_END ()
  LIGHT_SET_GLOBAL_PHYSICAL_SCALE ()
  SecondaryLookAtBeginDrag ()
  This is called when the user clicks down to start positioning the light point of interest by dragging the mouse.
  SecondaryLookAtEndDrag ()
  This is called when the user releases the mouse button after dragging.
  SecondaryLookAtDrag ()
  This is called when the user is dragging the mouse when positioning the light point of interest.
  SecondaryHilightPositioningBeginDrag ()
  This is called when the user clicks down to start positioning the light's highlight by dragging the mouse.
  SecondaryHilightPositioningEndDrag ()
  This is called when the user releases the mouse button after dragging.
  SecondaryHilightPositioningDrag ()
  This is called when the user is dragging the mouse when positioning the light's highlight.
  SecondaryLightPositioningBeginDrag ()
  This is called when the user clicks down to start positioning the light by dragging the mouse.
  SecondaryLightPositioningEndDrag ()
  This is called when the user releases the mouse button after dragging.
  SecondaryLightPositioningDrag ()
  This is called while the user drags the mouse.

Member Function Documentation

LightInterpreter.LightInterpreter.__init__ ( )
LightInterpreter.LightInterpreter.activate ( )

Abstract - to be implemented by the subclasses.

Performs the operations necessary to place this interpreter into a ready, active state. Ensure that this base class implementation is called by the subclass implementation.

Reimplemented from MessageInterpreter.MessageInterpreter.

LightInterpreter.LightInterpreter.deactivate ( )

Abstract - to be implemented by the subclasses.

Performs the operations necessary to place this interpreter into a passive state. Ensure that this base class implementation is called by the subclass implementation.

Reimplemented from MessageInterpreter.MessageInterpreter.

LightInterpreter.LightInterpreter.onNodeDeleted ( )
LightInterpreter.LightInterpreter.onNodeBoundingBoxValid ( )
LightInterpreter.LightInterpreter.getCurrentLightPosition ( )
LightInterpreter.LightInterpreter.GroundShadowMoveStart ( )
LightInterpreter.LightInterpreter.GroundShadowMoveStop ( )
LightInterpreter.LightInterpreter.GroundShadowMove ( )
LightInterpreter.LightInterpreter.GroundShadowMoveEatEvent ( )

This method is tied to events that should not be passed to other interpreters while ground shadow positioning is active.

We want to consume some events because during ground shadow positioning we don't want the overlay ui to highlight or context menus to work.

The only thing the user is able to do is left mouse + drag + release to position the ground shadow.

LightInterpreter.LightInterpreter.GroundShadowPositioningExit ( )
LightInterpreter.LightInterpreter.HilightPositioningBeginDrag ( )
LightInterpreter.LightInterpreter.HilightPositioningEndDrag ( )
LightInterpreter.LightInterpreter.HilightPositioningDrag ( )
LightInterpreter.LightInterpreter.LightPositioningBeginDrag ( )
LightInterpreter.LightInterpreter.LightPositioningEndDrag ( )
LightInterpreter.LightInterpreter.LightPositioningDrag ( )
LightInterpreter.LightInterpreter.LightPositioningEatEvent ( )

This method is tied to events that should not be passed to other interpreters while light positioning is active.

We want to consume some events because during light positioning we don't want the overlay ui to highlight or context menus to work.

The only thing the user is able to do is left mouse + drag + release to position the light.

LightInterpreter.LightInterpreter.LightPositioningExit ( )
LightInterpreter.LightInterpreter.configureEventMapping ( )

Abstract - to be implemented by the subclasses.

Configures the event mapping table with the events handled by this interpreter, and their respective actions

Reimplemented from MessageInterpreter.MessageInterpreter.

LightInterpreter.LightInterpreter.frame ( )
LightInterpreter.LightInterpreter.APPLICATION_CLOSE_SCENE ( )
LightInterpreter.LightInterpreter.APPLICATION_MODE_CHANGED ( )

Do not show light grips in the presentation mode.

LightInterpreter.LightInterpreter.APPLICATION_VIEW_POSITION_AND_SIZE_CHANGED ( )
LightInterpreter.LightInterpreter.ALTERNATIVE_SET_CHANGED ( )
LightInterpreter.LightInterpreter.DOCUMENT_LOADED ( )
LightInterpreter.LightInterpreter.ENVIRONMENT_EXPOSURE_CHANGED ( )
LightInterpreter.LightInterpreter.ENVIRONMENT_CHANGED ( )
LightInterpreter.LightInterpreter.applyAccentLightIntensity ( )
LightInterpreter.LightInterpreter.SET_3D_UI_ROOT ( )
LightInterpreter.LightInterpreter.NODE_CREATED ( )
LightInterpreter.LightInterpreter.NAVIGATION_POSITION ( )
LightInterpreter.LightInterpreter.MODEL_IMPORT_ALLDONE ( )
LightInterpreter.LightInterpreter.CLIENT_CONNECTION_STATUS ( )

Turn off the light grips when in spectating mode.

LightInterpreter.LightInterpreter.ENVIRONMENT_LOADING_DONE ( )

Applies the current environment's light attributes to the models in the scene.

LightInterpreter.LightInterpreter.ENVIRONMENT_ROOT_TRANSFORM_CHANGED ( )
LightInterpreter.LightInterpreter.LIGHT_INTERACTIVE_POSITION_START ( )
LightInterpreter.LightInterpreter.LIGHT_INTERACTIVE_POSITION_END ( )
LightInterpreter.LightInterpreter.LIGHT_SET_DIRECTION ( )
LightInterpreter.LightInterpreter.LIGHT_SET_POSITION ( )
LightInterpreter.LightInterpreter.LIGHT_RESET_POSITION ( )

Resets the light position to the default in the current environment.

LightInterpreter.LightInterpreter.APPEARANCE_PARAMETER_CHANGE ( )

We will only process this for the lighting change.

LightInterpreter.LightInterpreter.LIGHT_CREATE ( )

Creates a light and select it.

If there are any objects selected in the scene link them with a new light.

LightInterpreter.LightInterpreter.LIGHT_ADD_NODES ( )

Associates the given targets with the given light.

Any lights in the target list are ignored, since it has no meaning to assign a light to another light.

If any of the targets is a group, then the light is assigned to its leaves.

LightInterpreter.LightInterpreter.LIGHT_REMOVE_NODES ( )

Disassociates the given targets from the given light.

If any of the targets is a group, then the light removes its applicable leaves from is association.

LightInterpreter.LightInterpreter.LIGHT_SELECT_ASSIGNED ( )

Select objects that are linked to the light.

LightInterpreter.LightInterpreter.CLIP_SHOW_GRIPS ( )

Turn on/off showing of all the visible clip grips.

LightInterpreter.LightInterpreter.LIGHT_SHOW_GRIPS ( )

Turn on/off showing of all the visible light grips.

LightInterpreter.LightInterpreter.LIGHT_GRIPS_SET_SIZE ( )
LightInterpreter.LightInterpreter.SCREENSHOT_PREPARE ( )

Hide the light grips when snapping the screen.

LightInterpreter.LightInterpreter.SCREENSHOT_SAVED ( )

Restore the light grips when necessary.

LightInterpreter.LightInterpreter.SHOT_RECORDING_CLEANUP ( )

Restore the light grips when necessary.

LightInterpreter.LightInterpreter.REMOVED ( )
LightInterpreter.LightInterpreter.DUPLICATED ( )
LightInterpreter.LightInterpreter.SHADOW_SET_CASTER_OBJECTS ( )
LightInterpreter.LightInterpreter.SHADOW_SET_CASTER ( )
LightInterpreter.LightInterpreter.SHADOW_SET_RECEIVER_OBJECTS ( )
LightInterpreter.LightInterpreter.SHADOW_SET_RECEIVER ( )
LightInterpreter.LightInterpreter.SHADOW_SET_RECEIVER_TYPE ( )
LightInterpreter.LightInterpreter.SHADOW_LIGHT_REQUEST_PARAMETERS ( )

Currently there is only one set of supported parameters.

It's likely that this method will later take a shadow generator node name as an argument and return the parameters specific to that node.

LightInterpreter.LightInterpreter.SHADOW_LIGHT_REQUEST_LIST ( )
LightInterpreter.LightInterpreter.SHADOW_LIGHT_REQUEST_LIST_EXTRA ( )
LightInterpreter.LightInterpreter.SHADOW_LIGHT_DELETE ( )
LightInterpreter.LightInterpreter.SHADOW_LIGHT_CREATE ( )
LightInterpreter.LightInterpreter.SHADOW_LIGHT_CREATE_EXTRA ( )
LightInterpreter.LightInterpreter.SHADOW_RECEIVER_REPLACE ( )
LightInterpreter.LightInterpreter.SHADOW_LIGHT_SWITCH ( )
LightInterpreter.LightInterpreter.SHADOW_SET_SOFT_SHADOW ( )
LightInterpreter.LightInterpreter.SHADOW_SELECT_ALL_CASTERS ( )
LightInterpreter.LightInterpreter.SHADOW_SET_RESOLUTION ( )
LightInterpreter.LightInterpreter.SHADOW_SET_INTENSITY ( )
LightInterpreter.LightInterpreter.SHADOW_SET_ENABLE_TRANSPARENCY ( )
LightInterpreter.LightInterpreter.SHADOW_SET_ALPHA_THRESHOLD ( )
LightInterpreter.LightInterpreter.TRANSLATE_WORLDSPACE_DONE ( )
LightInterpreter.LightInterpreter.GEOMETRY_TRANSFORM_CHANGED ( )
LightInterpreter.LightInterpreter.LIGHT_DIRECTION_CHANGED ( )
LightInterpreter.LightInterpreter.LIGHT_VISIBILITY_CHANGED ( )
LightInterpreter.LightInterpreter.LIGHT_POSITION_CHANGED ( )
LightInterpreter.LightInterpreter.APPEARANCE_PARAMETER_CHANGED ( )
LightInterpreter.LightInterpreter.RT_SWITCH ( )
LightInterpreter.LightInterpreter.SHADOW_SET_COLOR ( )
LightInterpreter.LightInterpreter.SHADOW_SET_SOFTNESS ( )
LightInterpreter.LightInterpreter.SHADOW_SET_ENABLE_SOFT_EDGES ( )
LightInterpreter.LightInterpreter.SHADOW_SET_FALLOFF_RANGE ( )
LightInterpreter.LightInterpreter.SHADOW_SET_FALLOFF_POWER ( )
LightInterpreter.LightInterpreter.SHADOW_POSITION_START ( )
LightInterpreter.LightInterpreter.SHADOW_POSITION_END ( )
LightInterpreter.LightInterpreter.APPLICATION_LOAD_SCENE_IMPORTS_COMPLETE ( )

After all models are loaded rebind any shadow generator nodes in case they were refering to caster objects that hadn't loaded yet.

LightInterpreter.LightInterpreter.GROUP_COLLAPSED ( )

Given a list of newly created collapsed nodes, make sure that these nodes have the same lighting properties as their member leaves.

If any leaf was illuminated by the environment lighting, then the collapsed node will be too.

If any leaf was illuminated by a scene light such as a spot light, then the collapsed node will be too.

If any leaf was clipped by a clip light such as a clip plane, then the collapsed node will be too.

If any leaf was a shadow receiver or caster, then the collapsed node will be too.

LightInterpreter.LightInterpreter.GROUP_EXPANDED ( )
LightInterpreter.LightInterpreter.STAGE_OPENED ( )
LightInterpreter.LightInterpreter.STAGE_ACTIVE_LIST ( )
LightInterpreter.LightInterpreter.VIEWER_LAYOUT ( )
LightInterpreter.LightInterpreter.LIGHT_AUTO_SET_PARAMETERS ( )
LightInterpreter.LightInterpreter.LIGHT_AUTO_SET_POSITION ( )
LightInterpreter.LightInterpreter.LIGHT_AUTO_SET_ROTATE ( )
LightInterpreter.LightInterpreter.LIGHT_INTERACTIVE_TRANSFORMING_START ( )
LightInterpreter.LightInterpreter.LIGHT_INTERACTIVE_TRANSFORMING_END ( )
LightInterpreter.LightInterpreter.LIGHT_SET_GLOBAL_PHYSICAL_SCALE ( )
LightInterpreter.LightInterpreter.SecondaryLookAtBeginDrag ( )

This is called when the user clicks down to start positioning the light point of interest by dragging the mouse.

LightInterpreter.LightInterpreter.SecondaryLookAtEndDrag ( )

This is called when the user releases the mouse button after dragging.

LightInterpreter.LightInterpreter.SecondaryLookAtDrag ( )

This is called when the user is dragging the mouse when positioning the light point of interest.

LightInterpreter.LightInterpreter.SecondaryHilightPositioningBeginDrag ( )

This is called when the user clicks down to start positioning the light's highlight by dragging the mouse.

LightInterpreter.LightInterpreter.SecondaryHilightPositioningEndDrag ( )

This is called when the user releases the mouse button after dragging.

LightInterpreter.LightInterpreter.SecondaryHilightPositioningDrag ( )

This is called when the user is dragging the mouse when positioning the light's highlight.

Move the light and its center of interest so that the highlight is at the intersection point on the surface.

LightInterpreter.LightInterpreter.SecondaryLightPositioningBeginDrag ( )

This is called when the user clicks down to start positioning the light by dragging the mouse.

LightInterpreter.LightInterpreter.SecondaryLightPositioningEndDrag ( )

This is called when the user releases the mouse button after dragging.

LightInterpreter.LightInterpreter.SecondaryLightPositioningDrag ( )

This is called while the user drags the mouse.


LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter
LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter LightInterpreter.LightInterpreter