|
Katana Plug-in APIs 0.1
|
00001 #ifndef FnGeolibSetupInterface_H 00002 #define FnGeolibSetupInterface_H 00003 00004 #include <string> 00005 #include <vector> 00006 00007 #include <FnAttribute/FnAttribute.h> 00008 00009 #include <FnGeolib/FnGeolibAPI.h> 00010 #include <FnGeolib/op/ns.h> 00011 #include <FnGeolib/suite/FnGeolibSetupInterfaceSuite.h> 00012 00013 #include <FnPluginSystem/FnPlugin.h> 00014 #include <FnPluginSystem/FnPluginSystem.h> 00015 00016 // This is the GeolibOp client side wrapper for FnGeolibInterfaceSuite_v1. A 00017 // reference to an instance of this is handed to the GeolibOp::setup function. 00018 // This class is not meant to be derived from, just compiled into the Op plug- 00019 // in as a convenience. 00020 00021 FNGEOLIBOP_NAMESPACE_ENTER 00022 { 00023 00029 class FNGEOLIB_API GeolibSetupInterface 00030 { 00031 public: 00032 GeolibSetupInterface(FnGeolibSetupInterfaceHandle interfaceHandle, 00033 FnGeolibSetupInterfaceSuite_v1 *interfaceSuite); 00034 00041 enum ThreadMode 00042 { 00061 ThreadModeConcurrent = kFnKatGeolibThreadModeConcurrent, 00062 00074 ThreadModeGlobalUnsafe = kFnKatGeolibThreadModeGlobalUnsafe 00075 }; 00076 00077 // @cond FN_INTERNAL_DEV 00078 typedef enum ThreadMode ThreadMode; 00079 // @endcond 00080 00088 void setThreading(ThreadMode threadmode); 00089 00098 void setOpsCollapsible( 00099 const FnAttribute::StringAttribute& collapsedOpArgsGroupName); 00100 00101 private: 00102 00104 00105 FnGeolibSetupInterfaceHandle _handle; 00106 FnGeolibSetupInterfaceSuite_v1 *_suite; 00107 00109 }; 00110 } 00111 FNGEOLIBOP_NAMESPACE_EXIT 00112 00113 #endif // FnGeolibSetupInterface_H
1.7.3