Katana Plug-in APIs 0.1

FnBuiltInOpArgsUtil.h

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
 All Classes Functions Variables Typedefs Enumerations Enumerator