|
Katana Plug-in APIs 0.1
|
00001 #ifndef FnGeolibServicesBuiltOpArgsUtil_H 00002 #define FnGeolibServicesBuiltOpArgsUtil_H 00003 00004 #include <FnAttribute/FnAttribute.h> 00005 00006 #include <FnGeolibServices/FnGeolibServicesAPI.h> 00007 #include <FnGeolibServices/ns.h> 00008 #include <FnGeolibServices/suite/FnBuiltInOpArgsUtilSuite.h> 00009 00010 #include <FnPluginSystem/FnPluginSystem.h> 00011 00012 FNGEOLIBSERVICES_NAMESPACE_ENTER 00013 { 00023 class FNGEOLIBSERVICES_API StaticSceneCreateOpArgsBuilder 00024 { 00025 public: 00026 StaticSceneCreateOpArgsBuilder(bool pathsAreAbsolute); 00027 00028 ~StaticSceneCreateOpArgsBuilder(); 00029 00030 FnAttribute::GroupAttribute build(); 00031 00032 void createEmptyLocation(const std::string & locationPath, 00033 const std::string & locationType = ""); 00034 00035 void setAttrAtLocation(const std::string & locationPath, 00036 const std::string & attrName, FnAttribute::Attribute attr); 00037 00038 void setAttrsAtLeafStateForLocation(const std::string & locationPath, 00039 bool state); 00040 00041 void addSubOpAtLocation(const std::string & locationPath, 00042 const std::string & opType, FnAttribute::GroupAttribute opArgs); 00043 00044 void skipLocalActionsIfInputExistsAtLocation( 00045 const std::string & locationPath, bool state); 00046 00047 00048 private: 00049 // no copy/assign 00050 StaticSceneCreateOpArgsBuilder(const StaticSceneCreateOpArgsBuilder& rhs); 00051 StaticSceneCreateOpArgsBuilder& operator=(const StaticSceneCreateOpArgsBuilder& rhs); 00052 00053 static const FnBuiltInOpArgsUtilHostSuite_v1 * _getSuite(); 00054 00055 StaticSceneCreateOpArgsBuilderHandle m_handle; 00056 }; 00057 00058 00063 class FNGEOLIBSERVICES_API AttributeSetOpArgsBuilder 00064 { 00065 public: 00066 AttributeSetOpArgsBuilder(); 00067 00068 ~AttributeSetOpArgsBuilder(); 00069 00070 FnAttribute::GroupAttribute build(); 00071 00072 void setLocationPaths( 00073 const FnAttribute::StringAttribute & locationPathsAttr, 00074 const std::string & batch="" ); 00075 00076 void setLocationPaths( const std::vector<std::string> & locationPaths, 00077 const std::string & batch="" ); 00078 00079 void setCEL( const FnAttribute::StringAttribute & celAttr, 00080 const std::string & batch="" ); 00081 00082 void setCEL( const std::vector<std::string> & cel, 00083 const std::string & batch="" ); 00084 00085 void setAttr( const std::string & attrName, 00086 const FnAttribute::Attribute & attr, 00087 const std::string & batch="", 00088 const bool inherit=true ); 00089 00090 void deleteAttr( const std::string & attrName, 00091 const std::string & batch="" ); 00092 00093 void addSubOp( const std::string & opType, 00094 const FnAttribute::GroupAttribute & opArgs, 00095 const std::string & batch="" ); 00096 00097 private: 00098 // no copy/assign 00099 AttributeSetOpArgsBuilder(const AttributeSetOpArgsBuilder& rhs); 00100 AttributeSetOpArgsBuilder& operator=(const AttributeSetOpArgsBuilder& rhs); 00101 00102 static const FnBuiltInOpArgsUtilHostSuite_v1 * _getSuite(); 00103 00104 AttributeSetOpArgsBuilderHandle m_handle; 00105 }; 00107 } 00108 FNGEOLIBSERVICES_NAMESPACE_EXIT 00109 00110 00111 00112 00113 #endif
1.7.3