Katana Plug-in APIs 0.1

FnManipulatorHandleSuite.h

00001 // Copyright (c) 2016 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef FNVIEWER_FNMANIPULATORHANDLESUITE_H
00004 #define FNVIEWER_FNMANIPULATORHANDLESUITE_H
00005 
00006 #include <stdint.h>
00007 
00008 extern "C"
00009 {
00010     typedef struct FnManipulatorHandlePluginStruct* FnManipulatorHandlePluginHandle;
00011     typedef struct FnManipulatorHandleHostStruct* FnManipulatorHandleHostHandle;
00012 
00013     struct FnManipulatorPluginSuite_v1; // Forward declaration
00014 
00015     #include <FnAttribute/suite/FnAttributeSuite.h>
00016 
00017     #include "FnManipulatorSuite.h"
00018 
00019 
00020     #define FnManipulatorHandlePluginSuite_version 1
00021     #define FnManipulatorHandleHostSuite_version 1
00022 
00023     struct FnManipulatorHandlePluginSuite_v1
00024     {
00025         FnManipulatorHandlePluginHandle (*create)(
00026             FnManipulatorHandleHostHandle hostHandle);
00027 
00028         void (*destroy)(FnManipulatorHandlePluginHandle handle);
00029 
00030         int (*event)(FnManipulatorHandlePluginHandle handle,
00031             FnAttributeHandle eventAttrHandle);
00032 
00033         void (*draw)(FnManipulatorHandlePluginHandle handle);
00034 
00035         void (*pickerDraw)(FnManipulatorHandlePluginHandle handle,
00036             int64_t pickerId);
00037 
00038         void (*setOption)( FnManipulatorHandlePluginHandle handle,
00039             uint64_t optionId, FnAttributeHandle attr);
00040 
00041         FnAttributeHandle (*getOption)( FnManipulatorHandlePluginHandle handle,
00042             uint64_t optionId);
00043 
00044         void (*cancelManipulation)(FnManipulatorHandlePluginHandle handle);
00045     };
00046 
00047     struct FnManipulatorHandleHostSuite_v1
00048     {
00049         void (*getManipulator)(
00050             FnManipulatorHandleHostHandle handle,
00051             FnManipulatorHostHandle* manipulatorHostHandle,
00052             FnManipulatorPluginHandle* manipulatorPluginHandle,
00053             FnManipulatorPluginSuite_v1** manipulatorPluginSuite);
00054 
00055         FnAttributeHandle (*getXform)(FnManipulatorHandleHostHandle handle);
00056 
00057         void (*setLocalXform)(FnManipulatorHandleHostHandle handle,
00058             FnAttributeHandle xformAttr);
00059 
00060         FnAttributeHandle (*getLocalXform)(
00061             FnManipulatorHandleHostHandle handle);
00062 
00063         int (*event)(FnManipulatorHandleHostHandle handle,
00064             FnAttributeHandle eventAttrHandle);
00065 
00066         void (*draw)(FnManipulatorHandleHostHandle handle);
00067 
00068         void (*pickerDraw)(FnManipulatorHandleHostHandle handle,
00069             int64_t pickerId);
00070 
00071         void (*setActive)(FnManipulatorHandleHostHandle handle,
00072             uint8_t active);
00073 
00074         uint8_t (*isActive)(FnManipulatorHandleHostHandle handle);
00075 
00076         void (*setHovered)(FnManipulatorHandleHostHandle handle,
00077             uint8_t hovered);
00078 
00079         uint8_t (*isHovered)(FnManipulatorHandleHostHandle handle);
00080 
00081         void (*cancelManipulation)(FnManipulatorHandleHostHandle handle);
00082     };
00083 
00084 }
00085 
00086 #endif //FNVIEWER_FNMANIPULATORHANDLESUITE_H
 All Classes Functions Variables Typedefs Enumerations Enumerator