|
Katana Plug-in APIs 0.1
|
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
1.7.3