Katana Plug-in APIs 0.1
Public Member Functions

Foundry::Katana::ViewerAPI::ManipulatorHandleWrapper Class Reference

The ManipulatorHandle class accessed by other plugins. More...

#include <FnManipulatorHandle.h>

Inheritance diagram for Foundry::Katana::ViewerAPI::ManipulatorHandleWrapper:
Foundry::Katana::ViewerAPI::ManipulatorHandlePluginBase

List of all members.

Public Member Functions

template<class T >
T * getPluginInstance ()
 Gets a pointer to the real plugin instance.
void setActive (bool active)
 Sets if the Handle is currently active.
void setHovered (bool hovered)
 Sets if the Handle is currently being hovered by the mouse.
void cancelManipulation ()
 Cancels the manipulation.
void draw ()
 Draws the Manipulator Handle.
bool event (FnEventWrapper eventData)
void pickerDraw (int64_t pickerId)
 Draws the Manipulator Handle for picking.
void setOption (OptionIdGenerator::value_type optionId, FnAttribute::Attribute attr)
 Sets a generic option.
FnAttribute::Attribute getOption (OptionIdGenerator::value_type optionId)
 Gets a generic option.
void setOption (const std::string &name, FnAttribute::Attribute attr)
 Sets a generic option.
FnAttribute::Attribute getOption (const std::string &name)
 Gets a generic option.

Detailed Description

The ManipulatorHandle class accessed by other plugins.


Member Function Documentation

void Foundry::Katana::ViewerAPI::ManipulatorHandleWrapper::cancelManipulation ( )

Cancels the manipulation.

This is called just before the handle is destroyed to revert any pending transform changes that haven't yet been applied while dragging.

void Foundry::Katana::ViewerAPI::ManipulatorHandleWrapper::draw ( )

Draws the Manipulator Handle.

This should be called with the correct GL context since the final image will be rendered on the main framebuffer.

bool Foundry::Katana::ViewerAPI::ManipulatorHandleWrapper::event ( FnEventWrapper  eventData)

Processes the UI events on this ManipulatorHandle.

Parameters:
eventDataThe event data (see FnEventWrapper).
Returns:
True if the event has been handled, false otherwise.
template<class T >
T* Foundry::Katana::ViewerAPI::ManipulatorHandleWrapper::getPluginInstance ( ) [inline]

Gets a pointer to the real plugin instance.

WARNING: This function purposely breaks the compiler agnostic pattern of the Katana plugin API, so it needs to be used with care. This performs a dynamic cast to the real type so the implications of what that means in different circumstances should be understood. If the caller and plugin instance are not contained in the same shared library the RTTI check may fail.

This function allows a plugin wrapper to return the actual plugin class. The plugin is returned as a pointer to a child class of ManipulatorHandle that is a registerd plugin. The type of that child class needs to be specified in the template, so that it can be properly cast. If the specified type doesn't match the plugin type then NULL is returned.

void Foundry::Katana::ViewerAPI::ManipulatorHandleWrapper::pickerDraw ( int64_t  pickerId)

Draws the Manipulator Handle for picking.

This should be called with the correct GL context since the final image will be rendered on the main framebuffer.

Parameters:
pickerIdThe first ID assigned to this manipulator by the picker.

The documentation for this class was generated from the following file:
 All Classes Functions Variables Typedefs Enumerations Enumerator