OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Enumerations
CSVRender Namespace Reference

Classes

class  CameraController
 
class  FreeCameraController
 
class  OrbitCameraController
 
class  Cell
 
class  CellArrowTag
 
class  CellArrow
 
class  CellBorder
 
class  CellMarkerTag
 
class  CellMarker
 Marker to display cell coordinates. More...
 
class  CellWater
 
class  EditMode
 
class  InstanceMode
 
class  InstanceMoveMode
 
class  InstanceSelectionMode
 
class  Lighting
 
class  LightingBright
 
class  LightingDay
 
class  LightingNight
 
class  ObjectTag
 
class  ObjectMarkerTag
 
class  Object
 
class  OrbitCameraMode
 
class  PagedWorldspaceWidget
 
class  PathgridNodeCallback
 
class  PathgridTag
 
class  Pathgrid
 
class  PathgridMode
 
class  PathgridSelectionMode
 
class  PreviewWidget
 
class  RenderWidget
 
class  SceneWidget
 Extension of RenderWidget to support lighting mode selection & toolbar. More...
 
class  CompositeViewer
 
class  SelectionMode
 
class  TagBase
 
class  TerrainStorage
 A bridge between the terrain component and OpenCS's terrain data storage. More...
 
class  UnpagedWorldspaceWidget
 
struct  WorldspaceHitResult
 
class  WorldspaceWidget
 

Enumerations

enum  Mask {
  Mask_UpdateVisitor = 0x1, Mask_Reference = 0x2, Mask_Pathgrid = 0x4, Mask_Water = 0x8,
  Mask_Fog = 0x10, Mask_Terrain = 0x20, Mask_ParticleSystem = 0x100, Mask_Lighting = 0x200,
  Mask_CellMarker = 0x10000, Mask_CellArrow = 0x20000, Mask_CellBorder = 0x40000
}
 

Enumeration Type Documentation

Node masks used on the OSG scene graph in OpenMW-CS.

Note
See the respective file in OpenMW (apps/openmw/mwrender/vismask.hpp) for general usage hints about node masks. Node masks used for controlling visibility of game objects.
Any node in the OSG scene graph can have a node mask. When traversing the scene graph,
the node visitor's traversal mask is bitwise AND'ed with the node mask. If the result of this test is 0, then the node and all its child nodes are not processed.
Important traversal masks are the camera's cull mask (determines what is visible),
the update visitor mask (what is updated) and the intersection visitor mask (what is selectable through mouse clicks or other intersection tests).
In practice, it can be useful to make a "hierarchy" out of the node masks - e.g. in OpenMW,
all 3D rendering nodes are child of a Scene Root node with Mask_Scene. When we do not want 3D rendering, we can just omit Mask_Scene from the traversal mask, and do not need to omit all the individual element masks (water, sky, terrain, etc.) since the traversal will already have stopped at the Scene root node.
The comments within the VisMask enum should give some hints as to what masks are commonly "child" of
another mask, or what type of node this mask is usually set on.
Note
The mask values are not serialized within models, nor used in any other way that would break backwards compatibility if the enumeration values were to be changed. Feel free to change them when it makes sense.
Enumerator
Mask_UpdateVisitor 
Mask_Reference 
Mask_Pathgrid 
Mask_Water 
Mask_Fog 
Mask_Terrain 
Mask_ParticleSystem 
Mask_Lighting 
Mask_CellMarker 
Mask_CellArrow 
Mask_CellBorder