Viewer Location Events

group FnViewerLocationEvent
struct ViewerLocationStateChanges
#include <FnViewerLocationEvent.h>

Struct containing Viewer Location Event state changes.

Public Functions

inline ViewerLocationStateChanges()

Default constructor.

inline explicit ViewerLocationStateChanges(FnViewerLocationEventBitField flags)

Constructor for creating a ViewerLocationStateChanges object based on a given viewer location event bit field of flags.

Parameters:

flags – The viewer location event bit field to parse in order to initialize the new object’s boolean member variables.

Public Members

bool locationRemoved

The scene graph location and all descendants have been removed from the scene graph.

bool attributesUpdated

The location has either been newly added, or its attributes have been updated. As ‘xform’ attributes are included, this is always true if localXformUpdated is true.

bool localXformUpdated

The local xform as been updated (the local matrix and/or its ‘isAbsolute’ state).

bool excludedChanged

The ‘excluded’ property has changed (see ViewerLocationEvent).

bool descendantsHiddenChanged

The ‘descendantsHidden’ property has changed (see ViewerLocationEvent).

struct ViewerLocationEvent
#include <FnViewerLocationEvent.h>

Struct describing a Viewer Location Event.

Public Functions

inline ViewerLocationEvent()

Default constructor.

inline explicit ViewerLocationEvent(const FnViewerLocationEventStruct &cStruct)

Constructor for creating a ViewerLocationEvent based on a given viewer location event data structure.

Parameters:

cStruct – The viewer location event data structure to copy.

inline FnViewerLocationEventStruct getCStruct() const
Returns:

A viewer location event data structure containing the details of this viewer location event.

Public Members

std::string locationPath

Scene graph location path (always provided).

FnAttribute::GroupAttribute attributes

Location attributes (always provided).

FnAttribute::DoubleAttribute localXformMatrix

Location local transform as a 4x4 matrix (16 value DoubleAttribute) if one exists (always provided), otherwise an invalid attribute (which should be interpreted as an identity matrix, or otherwise ignored).

bool localXformIsAbsolute

True if the local transform is reset to identity using the ‘origin’ attribute convention. If true, the location’s ancestors’ transforms do not contribute to the global transform of this location and its descendants.

bool excluded

A location can be ‘excluded’ if it is not explicitly made visible, but a descendant location is. A location is also excluded if it is explicitly hidden or has a hidden ancestor. In these cases, any representation of the non-leaf location should not be drawn.

bool descendantsHidden

This property determines whether or not Viewer proxies are displayed, and is provided for use by custom proxy implementations. It is true if all of the location’s potential [non-virtual] descendants are explicitly hidden, or it has none to hide. This property is determined when the location is produced, and cannot rely on the final number of existing children once they are also cooked: i.e. this property be false for leaf locations that have potential children are deleted when cooked.

bool isVirtualLocation

Virtual locations are not part of the scene graph, but are generated as additional children based on location attributes, such as Viewer proxy locations. Note that location paths of virtual locations should always be distinguishable from real scene graph location paths.

ViewerLocationStateChanges stateChanges

Location state changes signalled by this event.