Katana Plug-in APIs 0.1
Public Member Functions

Foundry::Katana::ViewerAPI::ManipulatorWrapper Class Reference

Wrapper class for a Manipulator plug-in. More...

#include <FnManipulator.h>

Inheritance diagram for Foundry::Katana::ViewerAPI::ManipulatorWrapper:
Foundry::Katana::ViewerAPI::ManipulatorPluginBase

List of all members.

Public Member Functions

template<class T >
T * getPluginInstance ()
 Gets a pointer to the real plugin instance.
void draw ()
 Draws the Manipulator.
bool event (FnEventWrapper eventData)
 Triggers the processing of UI events on this Manipulator.
void pickerDraw (int64_t pickerId)
 Draws the Manipulator 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

Wrapper class for a Manipulator plug-in.


Member Function Documentation

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

Draws the Manipulator.

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

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

Triggers the processing of UI events on this Manipulator.

Parameters:
eventDataThe event data (see FnEventWrapper).
Returns:
True if the event has been handled, false otherwise.
template<class T >
T* Foundry::Katana::ViewerAPI::ManipulatorWrapper::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 Manipulator 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::ManipulatorWrapper::pickerDraw ( int64_t  pickerId)

Draws the Manipulator 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