Katana Plug-in APIs 0.1
Public Member Functions | Static Public Member Functions | Protected Member Functions

GLScalePlaneHandle Class Reference

A handle to scale the selected object along YZ, XZ and XY planes. More...

#include <FnGLScalePlaneHandle.h>

Inheritance diagram for GLScalePlaneHandle:
Foundry::Katana::ViewerUtils::GLTransformManipulatorHandle Foundry::Katana::ViewerUtils::GLManipulatorHandle Foundry::Katana::ViewerAPI::ManipulatorHandle Foundry::Katana::ViewerAPI::ManipulatorHandlePluginBase

List of all members.

Public Member Functions

 GLScalePlaneHandle ()
virtual ~GLScalePlaneHandle ()
void draw ()
void pickerDraw (int64_t pickerId)
void setup (const IMATH_NAMESPACE::V3d &normal)
virtual
FnKat::ViewerUtils::Orientation 
getOrientation ()

Static Public Member Functions

static
Foundry::Katana::ViewerAPI::ManipulatorHandle
create ()
static void flush ()

Protected Member Functions

virtual std::string getComponentName ()
bool getDraggingPlane (Foundry::Katana::ViewerAPI::Vec3d &origin, Foundry::Katana::ViewerAPI::Vec3d &normal)
void drag (const Foundry::Katana::ViewerAPI::Vec3d &initialPointOnPlane, const Foundry::Katana::ViewerAPI::Vec3d &previousPointOnPlane, const Foundry::Katana::ViewerAPI::Vec3d &currentPointOnPlane, const Foundry::Katana::ViewerAPI::Vec2i &initialMousePosition, const Foundry::Katana::ViewerAPI::Vec2i &previousMousePosition, const Foundry::Katana::ViewerAPI::Vec2i &currentMousePosition, bool isFinal)
void applyXformToLocation (const std::string &locationPath, const IMATH_NAMESPACE::M44d &xform, bool isFinal)

Detailed Description

A handle to scale the selected object along YZ, XZ and XY planes.

This class represents a single handle that can be used to scale an object along an plane. The handle is represented by square. Dragging the square will scale the object along the plane the square is drawn onto.


Constructor & Destructor Documentation

GLScalePlaneHandle::GLScalePlaneHandle ( )

Constructor.

Referenced by create().

virtual GLScalePlaneHandle::~GLScalePlaneHandle ( ) [virtual]

Destructor.


Member Function Documentation

void GLScalePlaneHandle::applyXformToLocation ( const std::string &  locationPath,
const IMATH_NAMESPACE::M44d &  xform,
bool  isFinal 
) [protected, virtual]

Applies the given scale transform to the given location.

Implements Foundry::Katana::ViewerUtils::GLTransformManipulatorHandle.

static Foundry::Katana::ViewerAPI::ManipulatorHandle* GLScalePlaneHandle::create ( ) [inline, static]

Creates a new instance of GLScalePlaneHandle.

References GLScalePlaneHandle().

void GLScalePlaneHandle::drag ( const Foundry::Katana::ViewerAPI::Vec3d initialPointOnPlane,
const Foundry::Katana::ViewerAPI::Vec3d previousPointOnPlane,
const Foundry::Katana::ViewerAPI::Vec3d currentPointOnPlane,
const Foundry::Katana::ViewerAPI::Vec2i initialMousePosition,
const Foundry::Katana::ViewerAPI::Vec2i previousMousePosition,
const Foundry::Katana::ViewerAPI::Vec2i currentMousePosition,
bool  isFinal 
) [protected, virtual]

Detects the amount of rotation in either orbital or linear drag, depending on the direction of axis in relation to the camera direction, and applies the rotation to the manipulated locations.

Reimplemented from Foundry::Katana::ViewerUtils::GLTransformManipulatorHandle.

void GLScalePlaneHandle::draw ( ) [virtual]

Draws the handle.

Reimplemented from Foundry::Katana::ViewerUtils::GLTransformManipulatorHandle.

static void GLScalePlaneHandle::flush ( ) [inline, static]

Flushes any cached data.

virtual std::string GLScalePlaneHandle::getComponentName ( ) [inline, protected, virtual]

The transform component: xform.interactive.scale

Implements Foundry::Katana::ViewerUtils::GLTransformManipulatorHandle.

bool GLScalePlaneHandle::getDraggingPlane ( Foundry::Katana::ViewerAPI::Vec3d origin,
Foundry::Katana::ViewerAPI::Vec3d normal 
) [protected, virtual]

Gets the dragging plane's origin and normal. The origin is always the same as in the whole manipulator and the normal is given by the normal of the plane handle in world space.

Reimplemented from Foundry::Katana::ViewerUtils::GLManipulatorHandle.

virtual FnKat::ViewerUtils::Orientation GLScalePlaneHandle::getOrientation ( ) [inline, virtual]

Forces the handle to only use object space orientation.

Reimplemented from Foundry::Katana::ViewerUtils::GLTransformManipulatorHandle.

void GLScalePlaneHandle::pickerDraw ( int64_t  pickerId) [virtual]

Draws the manipulator with a specific selection picker ID. Typically this id is converted to a color value, and the handle is then drawn with flat shading, so it can be identified in a look-up table.

Reimplemented from Foundry::Katana::ViewerUtils::GLTransformManipulatorHandle.

void GLScalePlaneHandle::setup ( const IMATH_NAMESPACE::V3d &  normal)

Initializes the meshes. Called at handle creation.


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