Katana Plug-in APIs 0.1

FnViewerDelegateSuite.h

00001 // Copyright (c) 2016 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef FNVIEWER_FNVIEWERDELEGATESUITE_H
00004 #define FNVIEWER_FNVIEWERDELEGATESUITE_H
00005 
00006 #include <FnAttribute/suite/FnAttributeSuite.h>
00007 #include <FnGeolib/suite/FnGeolibRuntimeSuite.h>
00008 
00009 #include "FnViewportSuite.h"
00010 #include "FnViewerDelegateComponentSuite.h"
00011 
00012 struct FnViewportPluginStruct;
00013 typedef struct FnViewportPluginStruct* FnViewportPluginHandle;
00014 struct FnViewportHostStruct;
00015 typedef FnViewportHostStruct* FnViewportHostHandle;
00016 
00017 extern "C"
00018 {
00019     typedef struct FnViewerDelegatePluginStruct* FnViewerDelegatePluginHandle;
00020     typedef struct FnViewerDelegateHostStruct* FnViewerDelegateHostHandle;
00021 
00022     struct FnViewportPluginSuite_v2;                     // Forward declaration
00023     struct FnViewerDelegateComponentPluginSuite_v2;      // Forward declaration
00024 
00025     enum {
00026         kFnViewerLocationEvent_localXformIsAbsolute                 = 1u << 0,
00027         kFnViewerLocationEvent_excluded                             = 1u << 1,
00028         kFnViewerLocationEvent_descendantsHidden                    = 1u << 2,
00029         kFnViewerLocationEvent_isVirtualLocation                    = 1u << 3,
00030 
00031         kFnViewerLocationEvent_locationRemoved                      = 1u << 16,
00032         kFnViewerLocationEvent_attributesUpdated                    = 1u << 17,
00033         kFnViewerLocationEvent_localXformUpdated                    = 1u << 18,
00034         kFnViewerLocationEvent_excludedChanged                      = 1u << 19,
00035         kFnViewerLocationEvent_descendantsHiddenChanged             = 1u << 20,
00036     };
00037     typedef uint32_t FnViewerLocationEventBitField;
00038 
00039     struct FnViewerLocationEventStruct
00040     {
00041         const char* locationPath;
00042         FnAttributeHandle attributes;
00043         FnAttributeHandle localXformMatrix;
00044         FnViewerLocationEventBitField flags;
00045     };
00046 
00047     enum FnViewerDelegateSceneView
00048     {
00049         kFnViewerDelegatePrimary,
00050         kFnViewerDelegateSources,
00051         kFnViewerDelegateLookThrough,
00052 
00053         kFnViewerDelegateMax,
00054     };
00055 
00056     #define FnViewerDelegatePluginSuite_version 3
00057     #define FnViewerDelegateHostSuite_version 4
00058 
00059     struct FnViewerDelegatePluginSuite_v3
00060     {
00061         FnViewerDelegatePluginHandle (*create)(
00062             FnViewerDelegateHostHandle hostHandle);
00063 
00064         void (*destroy)(FnViewerDelegatePluginHandle handle);
00065 
00066         void (*locationEvent)(FnViewerDelegatePluginHandle handle,
00067             FnViewerLocationEventStruct* event, uint8_t locationHandled);
00068 
00069         void (*sourceLocationEvent)(FnViewerDelegatePluginHandle handle,
00070             FnViewerLocationEventStruct* event);
00071 
00072         void (*locationsSelected)(FnViewerDelegatePluginHandle handle,
00073             const char** locationPaths, int64_t numPaths);
00074 
00075         void (*setOption)( FnViewerDelegatePluginHandle handle,
00076             uint64_t optionId, FnAttributeHandle attr);
00077 
00078         FnAttributeHandle (*getOption)( FnViewerDelegatePluginHandle handle,
00079             uint64_t optionId);
00080 
00081         void (*freeze)(FnViewerDelegatePluginHandle handle);
00082 
00083         void (*thaw)(FnViewerDelegatePluginHandle handle);
00084 
00085         void (*setup)(FnViewerDelegatePluginHandle handle);
00086 
00087         void (*cleanup)(FnViewerDelegatePluginHandle handle);
00088 
00089         int (*isProcessing)(FnViewerDelegatePluginHandle handle);
00090 
00091         FnAttributeHandle (*getBounds)(FnViewerDelegatePluginHandle handle,
00092             const char* location);
00093         FnAttributeHandle (*computeExtent)(FnViewerDelegatePluginHandle handle,
00094             const char* location);
00095     };
00096 
00097     struct FnViewerDelegateHostSuite_v2
00098     {
00099         void (*setViewOp)(FnViewerDelegateHostHandle handle, FnGeolibOpId opId);
00100 
00101         FnAttributeHandle (*getAttributes)(FnViewerDelegateHostHandle handle,
00102                                            const char* locationPath,
00103                                            FnViewerDelegateSceneView sceneView);
00104 
00105         FnAttributeHandle (*getLocalXform)(FnViewerDelegateHostHandle handle,
00106                                            const char* locationPath,
00107                                            uint8_t* isAbsolute,
00108                                            FnViewerDelegateSceneView sceneView);
00109 
00110         FnAttributeHandle (*getWorldXform)(FnViewerDelegateHostHandle handle,
00111                                            const char* locationPath,
00112                                            FnViewerDelegateSceneView sceneView);
00113 
00114         FnAttributeHandle (*getParentXform)(
00115             FnViewerDelegateHostHandle handle,
00116             const char* locationPath,
00117             FnViewerDelegateSceneView sceneView);
00118 
00119         FnAttributeHandle (*getPartialXform)(
00120             FnViewerDelegateHostHandle handle,
00121             const char* locationPath,
00122             const char* groupName,
00123             const char* componentName,
00124             int includeComponent,
00125             FnViewerDelegateSceneView sceneView);
00126 
00127         void (*openLocations)(FnViewerDelegateHostHandle handle,
00128                               const char** locationPath,
00129                               int64_t numPaths);
00130 
00131         void (*closeLocations)(FnViewerDelegateHostHandle handle,
00132                                const char** locationPath,
00133                                int64_t numPaths);
00134 
00135         void (*pinLocations)(FnViewerDelegateHostHandle handle,
00136                              const char** locationPath,
00137                              int64_t numPaths);
00138 
00139         void (*unpinLocations)(FnViewerDelegateHostHandle handle,
00140                                const char** locationPath,
00141                                int64_t numPaths);
00142 
00143         void (*activateSourceLocations)(FnViewerDelegateHostHandle handle,
00144                                         const char** locationPath,
00145                                         int64_t numPaths);
00146 
00147         void (*deactivateSourceLocations)(FnViewerDelegateHostHandle handle,
00148                                           const char** locationPath,
00149                                           int64_t numPaths);
00150 
00151         void (*setWorkingSetVisibilityEnabled)(
00152             FnViewerDelegateHostHandle handle,
00153             uint8_t workingSetVisibilityEnabled);
00154 
00155         uint8_t (*getWorkingSetVisibilityEnabled)(
00156             FnViewerDelegateHostHandle handle);
00157 
00158         void (*setVisibilityWorkingSet)(FnViewerDelegateHostHandle handle,
00159                                         FnAttributeHandle workingSetAttr);
00160 
00161         void (*selectLocation)(FnViewerDelegateHostHandle handle,
00162                                const char* locationPath);
00163 
00164         void (*selectLocations)(FnViewerDelegateHostHandle handle,
00165                                 const char** locationPath,
00166                                 int64_t numPaths);
00167 
00168         FnAttributeHandle (*getSelectedLocations)(
00169             FnViewerDelegateHostHandle handle);
00170 
00171         FnAttributeHandle (*getCompatibleManipulatorsInfo)(
00172             FnViewerDelegateHostHandle handle,
00173             const char** locationPaths,
00174             int64_t numPaths);
00175 
00176         FnAttributeHandle (*callPythonCallback)(
00177             FnViewerDelegateHostHandle handle,
00178             const char* name,
00179             FnAttributeHandle message);
00180 
00181         void (*addComponent)(
00182             FnViewerDelegateHostHandle handle,
00183             const char* pluginName,
00184             const char* name,
00185             FnViewerDelegateComponentHostHandle* componentHostHandle,
00186             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00187             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00188 
00189         void (*getComponentByName)(
00190             FnViewerDelegateHostHandle handle,
00191             const char* name,
00192             FnViewerDelegateComponentHostHandle* componentHostHandle,
00193             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00194             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00195 
00196         void (*getComponentByIndex)(
00197             FnViewerDelegateHostHandle handle,
00198             unsigned int index,
00199             FnViewerDelegateComponentHostHandle* componentHostHandle,
00200             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00201             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00202 
00203         void (*removeComponentByName)(FnViewerDelegateHostHandle handle,
00204                                       const char* name);
00205 
00206         void (*removeComponentByIndex)(FnViewerDelegateHostHandle handle,
00207                                        unsigned int index);
00208 
00209         unsigned int (*getNumberOfComponents)(
00210             FnViewerDelegateHostHandle handle);
00211 
00212         const char* (*getComponentName)(FnViewerDelegateHostHandle handle,
00213                                         unsigned int index);
00214 
00215         void (*addViewport)(FnViewerDelegateHostHandle handle,
00216                             FnViewportHostHandle viewportHandle,
00217                             const char* name);
00218 
00219         void (*getViewportByName)(
00220             FnViewerDelegateHostHandle handle,
00221             const char* name,
00222             FnViewportHostHandle* viewportHostHandle,
00223             FnViewportPluginHandle* viewportPluginHandle,
00224             FnViewportPluginSuite_v2** viewportPluginSuite);
00225 
00226         void (*getViewportByIndex)(
00227             FnViewerDelegateHostHandle handle,
00228             unsigned int index,
00229             FnViewportHostHandle* viewportHostHandle,
00230             FnViewportPluginHandle* viewportPluginHandle,
00231             FnViewportPluginSuite_v2** viewportPluginSuite);
00232 
00233         void (*removeViewportByName)(FnViewerDelegateHostHandle handle,
00234                                      const char* name);
00235 
00236         void (*removeViewportByIndex)(FnViewerDelegateHostHandle handle,
00237                                       unsigned int index);
00238 
00239         unsigned int (*getNumberOfViewports)(FnViewerDelegateHostHandle handle);
00240 
00241         const char* (*getViewportName)(FnViewerDelegateHostHandle handle,
00242                                        unsigned int index);
00243 
00244         int (*setManipulatedAttribute)(FnViewerDelegateHostHandle handle,
00245                                        const char* locationPath,
00246                                        const char* attrName,
00247                                        FnAttributeHandle valueAttrHandle,
00248                                        int isFinal);
00249 
00250         void (*openManipulationGroup)(FnViewerDelegateHostHandle handle,
00251                                       const char* locationPath);
00252 
00253         void (*closeManipulationGroup)(FnViewerDelegateHostHandle handle,
00254                                        const char* locationPath);
00255 
00256         void (*setBoundingBoxesEnabled)(FnViewerDelegateHostHandle handle,
00257                                         uint8_t enabled);
00258 
00259         void (*setProxyGeometryEnabled)(FnViewerDelegateHostHandle handle,
00260                                         uint8_t enabled);
00261 
00262         FnAttributeHandle (*getDescendantLocations)(
00263             FnViewerDelegateHostHandle handle,
00264             const char* locationPath);
00265 
00266         FnAttributeHandle (*getLiveAttributes)(
00267             FnViewerDelegateHostHandle handle,
00268             const char* locationPath,
00269             FnViewerDelegateSceneView sceneView);
00270 
00271         FnAttributeHandle (*getCookedAttributes)(
00272             FnViewerDelegateHostHandle handle,
00273             const char* locationPath,
00274             FnViewerDelegateSceneView sceneView);
00275 
00276         int (*isProcessing)(FnViewerDelegateHostHandle handle);
00277 
00278         FnAttributeHandle (*computeMergedExtent)(
00279             FnViewerDelegateHostHandle handle,
00280             const char** locations,
00281             int64_t locationCount,
00282             const char* excludeLocation);
00283 
00284         void (*insertComponent)(
00285             FnViewerDelegateHostHandle handle,
00286             const char* pluginName,
00287             const char* name,
00288             unsigned int index,
00289             FnViewerDelegateComponentHostHandle* componentHostHandle,
00290             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00291             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00292 
00293         int (*getComponentIndex)(FnViewerDelegateHostHandle handle,
00294                                  const char* name);
00295 
00296         void (*hideLocations)(FnViewerDelegateHostHandle handle,
00297             const char** locationPath, uint64_t numPaths);
00298 
00299         void (*unhideLocations)(FnViewerDelegateHostHandle handle,
00300             const char** locationPath, uint64_t numPaths);
00301 
00302         void (*unhideAllLocations)(FnViewerDelegateHostHandle handle);
00303 
00304         FnAttributeHandle (*getHiddenLocations)(
00305             FnViewerDelegateHostHandle handle);
00306     };
00307 
00308     struct FnViewerDelegateHostSuite_v3
00309     {
00310         void (*setViewOp)(FnViewerDelegateHostHandle handle,FnGeolibOpId opId);
00311 
00312         FnAttributeHandle (*getAttributes)(
00313             FnViewerDelegateHostHandle handle, const char* locationPath,
00314             FnViewerDelegateSceneView sceneView);
00315 
00316         FnAttributeHandle (*getLocalXform)(
00317             FnViewerDelegateHostHandle handle, const char* locationPath,
00318             uint8_t* isAbsolute, FnViewerDelegateSceneView sceneView);
00319 
00320         FnAttributeHandle (*getWorldXform)(
00321             FnViewerDelegateHostHandle handle, const char* locationPath,
00322             FnViewerDelegateSceneView sceneView);
00323 
00324         FnAttributeHandle (*getParentXform)(
00325             FnViewerDelegateHostHandle handle, const char* locationPath,
00326             FnViewerDelegateSceneView sceneView);
00327 
00328         FnAttributeHandle (*getPartialXform)(
00329             FnViewerDelegateHostHandle handle, const char* locationPath,
00330             const char* groupName, const char* componentName,
00331             int includeComponent, FnViewerDelegateSceneView sceneView,
00332             int includeParentXform, int includeBeforeGroup,
00333             int includeAfterGroup);
00334 
00335         void (*openLocations)(FnViewerDelegateHostHandle handle,
00336             const char** locationPath, int64_t numPaths);
00337 
00338         void (*closeLocations)(FnViewerDelegateHostHandle handle,
00339             const char** locationPath, int64_t numPaths);
00340 
00341         void (*pinLocations)(FnViewerDelegateHostHandle handle,
00342             const char** locationPath, int64_t numPaths);
00343 
00344         void (*unpinLocations)(FnViewerDelegateHostHandle handle,
00345             const char** locationPath, int64_t numPaths);
00346 
00347         void (*activateSourceLocations)(FnViewerDelegateHostHandle handle,
00348             const char** locationPath, int64_t numPaths);
00349 
00350         void (*deactivateSourceLocations)(FnViewerDelegateHostHandle handle,
00351             const char** locationPath, int64_t numPaths);
00352 
00353         void (*setWorkingSetVisibilityEnabled)(
00354             FnViewerDelegateHostHandle handle,
00355             uint8_t workingSetVisibilityEnabled);
00356 
00357         uint8_t (*getWorkingSetVisibilityEnabled)(
00358                 FnViewerDelegateHostHandle handle);
00359 
00360         void (*setVisibilityWorkingSet)(FnViewerDelegateHostHandle handle,
00361                 FnAttributeHandle workingSetAttr);
00362 
00363         void (*selectLocation)(FnViewerDelegateHostHandle handle,
00364             const char* locationPath);
00365 
00366         void (*selectLocations)(FnViewerDelegateHostHandle handle,
00367             const char** locationPath, int64_t numPaths);
00368 
00369         FnAttributeHandle (*getSelectedLocations)(
00370             FnViewerDelegateHostHandle handle);
00371 
00372         FnAttributeHandle (*getCompatibleManipulatorsInfo)(
00373             FnViewerDelegateHostHandle handle, const char** locationPaths,
00374             int64_t numPaths);
00375 
00376         FnAttributeHandle (*callPythonCallback)(
00377             FnViewerDelegateHostHandle handle, const char* name,
00378             FnAttributeHandle message);
00379 
00380         void (*addComponent)(
00381             FnViewerDelegateHostHandle handle, const char* pluginName,
00382             const char* name,
00383             FnViewerDelegateComponentHostHandle* componentHostHandle,
00384             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00385             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00386 
00387         void (*getComponentByName)(
00388             FnViewerDelegateHostHandle handle, const char* name,
00389             FnViewerDelegateComponentHostHandle* componentHostHandle,
00390             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00391             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00392 
00393         void (*getComponentByIndex)(
00394             FnViewerDelegateHostHandle handle, unsigned int index,
00395             FnViewerDelegateComponentHostHandle* componentHostHandle,
00396             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00397             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00398 
00399         void (*removeComponentByName)( FnViewerDelegateHostHandle handle,
00400             const char* name );
00401 
00402         void (*removeComponentByIndex)( FnViewerDelegateHostHandle handle,
00403             unsigned int index );
00404 
00405         unsigned int (*getNumberOfComponents)(
00406             FnViewerDelegateHostHandle handle );
00407 
00408         const char* (*getComponentName)( FnViewerDelegateHostHandle handle,
00409             unsigned int index );
00410 
00411         void (*addViewport)(FnViewerDelegateHostHandle handle,
00412             FnViewportHostHandle viewportHandle,
00413             const char* name);
00414 
00415         void (*getViewportByName)(
00416             FnViewerDelegateHostHandle handle, const char* name,
00417             FnViewportHostHandle* viewportHostHandle,
00418             FnViewportPluginHandle* viewportPluginHandle,
00419             FnViewportPluginSuite_v2** viewportPluginSuite);
00420 
00421         void (*getViewportByIndex)(
00422             FnViewerDelegateHostHandle handle, unsigned int index,
00423             FnViewportHostHandle* viewportHostHandle,
00424             FnViewportPluginHandle* viewportPluginHandle,
00425             FnViewportPluginSuite_v2** viewportPluginSuite);
00426 
00427         void (*removeViewportByName)(FnViewerDelegateHostHandle handle,
00428             const char* name);
00429 
00430         void (*removeViewportByIndex)(FnViewerDelegateHostHandle handle,
00431             unsigned int index);
00432 
00433         unsigned int (*getNumberOfViewports)(
00434             FnViewerDelegateHostHandle handle);
00435 
00436         const char* (*getViewportName)(FnViewerDelegateHostHandle handle,
00437             unsigned int index);
00438 
00439         int (*setManipulatedAttribute)( FnViewerDelegateHostHandle handle,
00440             const char* locationPath, const char* attrName,
00441             FnAttributeHandle valueAttrHandle, int isFinal);
00442 
00443         void (*openManipulationGroup)(FnViewerDelegateHostHandle handle,
00444             const char* locationPath);
00445 
00446         void (*closeManipulationGroup)(FnViewerDelegateHostHandle handle,
00447             const char* locationPath);
00448 
00449         void (*setBoundingBoxesEnabled)(FnViewerDelegateHostHandle handle,
00450             uint8_t enabled);
00451 
00452         void (*setProxyGeometryEnabled)(FnViewerDelegateHostHandle handle,
00453             uint8_t enabled);
00454 
00455         FnAttributeHandle (*getDescendantLocations)(
00456             FnViewerDelegateHostHandle handle,
00457             const char* locationPath);
00458 
00459         FnAttributeHandle (*getLiveAttributes)(
00460             FnViewerDelegateHostHandle handle,
00461             const char* locationPath,
00462             FnViewerDelegateSceneView sceneView);
00463 
00464         FnAttributeHandle (*getCookedAttributes)(
00465             FnViewerDelegateHostHandle handle,
00466             const char* locationPath,
00467             FnViewerDelegateSceneView sceneView);
00468 
00469         int (*isProcessing)(FnViewerDelegateHostHandle handle);
00470 
00471         FnAttributeHandle (*computeMergedExtent)(
00472             FnViewerDelegateHostHandle handle, const char** locations,
00473             int64_t locationCount, const char* excludeLocation);
00474 
00475         void (*insertComponent)(
00476             FnViewerDelegateHostHandle handle, const char* pluginName,
00477             const char* name, unsigned int index,
00478             FnViewerDelegateComponentHostHandle* componentHostHandle,
00479             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00480             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00481 
00482         int (*getComponentIndex)(FnViewerDelegateHostHandle handle,
00483             const char* name);
00484 
00485         void (*hideLocations)(FnViewerDelegateHostHandle handle,
00486             const char** locationPath, uint64_t numPaths);
00487 
00488         void (*unhideLocations)(FnViewerDelegateHostHandle handle,
00489             const char** locationPath, uint64_t numPaths);
00490 
00491         void (*unhideAllLocations)(FnViewerDelegateHostHandle handle);
00492 
00493         FnAttributeHandle (*getHiddenLocations)(
00494                 FnViewerDelegateHostHandle handle);
00495     };
00496 
00497     struct FnViewerDelegateHostSuite_v4
00498     {
00499         void (*setViewOp)(
00500             FnViewerDelegateHostHandle handle, FnGeolibOpId opId,
00501             FnGeolibTransactionHandle txnHandle);
00502 
00503         FnAttributeHandle (*getAttributes)(
00504             FnViewerDelegateHostHandle handle, const char* locationPath,
00505             FnViewerDelegateSceneView sceneView);
00506 
00507         FnAttributeHandle (*getLocalXform)(
00508             FnViewerDelegateHostHandle handle, const char* locationPath,
00509             uint8_t* isAbsolute, FnViewerDelegateSceneView sceneView);
00510 
00511         FnAttributeHandle (*getWorldXform)(
00512             FnViewerDelegateHostHandle handle, const char* locationPath,
00513             FnViewerDelegateSceneView sceneView);
00514 
00515         FnAttributeHandle (*getParentXform)(
00516             FnViewerDelegateHostHandle handle, const char* locationPath,
00517             FnViewerDelegateSceneView sceneView);
00518 
00519         FnAttributeHandle (*getPartialXform)(
00520             FnViewerDelegateHostHandle handle, const char* locationPath,
00521             const char* groupName, const char* componentName,
00522             int includeComponent, FnViewerDelegateSceneView sceneView,
00523             int includeParentXform, int includeBeforeGroup,
00524             int includeAfterGroup);
00525 
00526         void (*openLocations)(FnViewerDelegateHostHandle handle,
00527             const char** locationPath, int64_t numPaths);
00528 
00529         void (*closeLocations)(FnViewerDelegateHostHandle handle,
00530             const char** locationPath, int64_t numPaths);
00531 
00532         void (*pinLocations)(FnViewerDelegateHostHandle handle,
00533             const char** locationPath, int64_t numPaths);
00534 
00535         void (*unpinLocations)(FnViewerDelegateHostHandle handle,
00536             const char** locationPath, int64_t numPaths);
00537 
00538         void (*activateSourceLocations)(FnViewerDelegateHostHandle handle,
00539             const char** locationPath, int64_t numPaths);
00540 
00541         void (*deactivateSourceLocations)(FnViewerDelegateHostHandle handle,
00542             const char** locationPath, int64_t numPaths);
00543 
00544         void (*setWorkingSetVisibilityEnabled)(
00545             FnViewerDelegateHostHandle handle,
00546             uint8_t workingSetVisibilityEnabled);
00547 
00548         uint8_t (*getWorkingSetVisibilityEnabled)(
00549                 FnViewerDelegateHostHandle handle);
00550 
00551         void (*setVisibilityWorkingSet)(FnViewerDelegateHostHandle handle,
00552                 FnAttributeHandle workingSetAttr);
00553 
00554         void (*selectLocation)(FnViewerDelegateHostHandle handle,
00555             const char* locationPath);
00556 
00557         void (*selectLocations)(FnViewerDelegateHostHandle handle,
00558             const char** locationPath, int64_t numPaths);
00559 
00560         FnAttributeHandle (*getSelectedLocations)(
00561             FnViewerDelegateHostHandle handle);
00562 
00563         FnAttributeHandle (*getCompatibleManipulatorsInfo)(
00564             FnViewerDelegateHostHandle handle, const char** locationPaths,
00565             int64_t numPaths);
00566 
00567         FnAttributeHandle (*callPythonCallback)(
00568             FnViewerDelegateHostHandle handle, const char* name,
00569             FnAttributeHandle message);
00570 
00571         void (*addComponent)(
00572             FnViewerDelegateHostHandle handle, const char* pluginName,
00573             const char* name,
00574             FnViewerDelegateComponentHostHandle* componentHostHandle,
00575             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00576             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00577 
00578         void (*getComponentByName)(
00579             FnViewerDelegateHostHandle handle, const char* name,
00580             FnViewerDelegateComponentHostHandle* componentHostHandle,
00581             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00582             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00583 
00584         void (*getComponentByIndex)(
00585             FnViewerDelegateHostHandle handle, unsigned int index,
00586             FnViewerDelegateComponentHostHandle* componentHostHandle,
00587             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00588             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00589 
00590         void (*removeComponentByName)( FnViewerDelegateHostHandle handle,
00591             const char* name);
00592 
00593         void (*removeComponentByIndex)( FnViewerDelegateHostHandle handle,
00594             unsigned int index);
00595 
00596         unsigned int (*getNumberOfComponents)(
00597             FnViewerDelegateHostHandle handle);
00598 
00599         const char* (*getComponentName)( FnViewerDelegateHostHandle handle,
00600             unsigned int index);
00601 
00602         void (*addViewport)(FnViewerDelegateHostHandle handle,
00603             FnViewportHostHandle viewportHandle,
00604             const char* name);
00605 
00606         void (*getViewportByName)(
00607             FnViewerDelegateHostHandle handle, const char* name,
00608             FnViewportHostHandle* viewportHostHandle,
00609             FnViewportPluginHandle* viewportPluginHandle,
00610             FnViewportPluginSuite_v2** viewportPluginSuite);
00611 
00612         void (*getViewportByIndex)(
00613             FnViewerDelegateHostHandle handle, unsigned int index,
00614             FnViewportHostHandle* viewportHostHandle,
00615             FnViewportPluginHandle* viewportPluginHandle,
00616             FnViewportPluginSuite_v2** viewportPluginSuite);
00617 
00618         void (*removeViewportByName)(FnViewerDelegateHostHandle handle,
00619             const char* name);
00620 
00621         void (*removeViewportByIndex)(FnViewerDelegateHostHandle handle,
00622             unsigned int index);
00623 
00624         unsigned int (*getNumberOfViewports)(
00625             FnViewerDelegateHostHandle handle);
00626 
00627         const char* (*getViewportName)(FnViewerDelegateHostHandle handle,
00628             unsigned int index);
00629 
00630         int (*setManipulatedAttribute)( FnViewerDelegateHostHandle handle,
00631             const char* locationPath, const char* attrName,
00632             FnAttributeHandle valueAttrHandle, int isFinal);
00633 
00634         void (*openManipulationGroup)(FnViewerDelegateHostHandle handle,
00635             const char* locationPath);
00636 
00637         void (*closeManipulationGroup)(FnViewerDelegateHostHandle handle,
00638             const char* locationPath);
00639 
00640         void (*setBoundingBoxesEnabled)(FnViewerDelegateHostHandle handle,
00641             uint8_t enabled);
00642 
00643         void (*setProxyGeometryEnabled)(FnViewerDelegateHostHandle handle,
00644             uint8_t enabled);
00645 
00646         FnAttributeHandle (*getDescendantLocations)(
00647             FnViewerDelegateHostHandle handle,
00648             const char* locationPath);
00649 
00650         FnAttributeHandle (*getLiveAttributes)(
00651             FnViewerDelegateHostHandle handle,
00652             const char* locationPath,
00653             FnViewerDelegateSceneView sceneView);
00654 
00655         FnAttributeHandle (*getCookedAttributes)(
00656             FnViewerDelegateHostHandle handle,
00657             const char* locationPath,
00658             FnViewerDelegateSceneView sceneView);
00659 
00660         int (*isProcessing)(FnViewerDelegateHostHandle handle);
00661 
00662         FnAttributeHandle (*computeMergedExtent)(
00663             FnViewerDelegateHostHandle handle, const char** locations,
00664             int64_t locationCount, const char* excludeLocation);
00665 
00666         void (*insertComponent)(
00667             FnViewerDelegateHostHandle handle, const char* pluginName,
00668             const char* name, unsigned int index,
00669             FnViewerDelegateComponentHostHandle* componentHostHandle,
00670             FnViewerDelegateComponentPluginHandle* componentPluginHandle,
00671             FnViewerDelegateComponentPluginSuite_v2** componentPluginSuite);
00672 
00673         int (*getComponentIndex)(FnViewerDelegateHostHandle handle,
00674             const char* name);
00675 
00676         void (*hideLocations)(FnViewerDelegateHostHandle handle,
00677             const char** locationPath, uint64_t numPaths);
00678 
00679         void (*unhideLocations)(FnViewerDelegateHostHandle handle,
00680             const char** locationPath, uint64_t numPaths);
00681 
00682         void (*unhideAllLocations)(FnViewerDelegateHostHandle handle);
00683 
00684         FnAttributeHandle (*getHiddenLocations)(
00685                 FnViewerDelegateHostHandle handle);
00686     };
00687 }
00688 
00689 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator