11#include <MaxUsd/MaxUSDAPI.h>
13#include <pxr/base/tf/declarePtrs.h>
14#include <pxr/base/tf/registryManager.h>
15#include <pxr/base/tf/singleton.h>
16#include <pxr/base/tf/token.h>
17#include <pxr/base/tf/weakBase.h>
18#include <pxr/base/vt/dictionary.h>
23PXR_NAMESPACE_OPEN_SCOPE
63 return GetInstance()._ListJobContexts();
71 TfToken exportDescription;
73 TfToken importDescription;
87 , exportDescription(edsc)
88 , exportEnablerCallback(eef)
89 , importDescription(idsc)
90 , importEnablerCallback(ief)
98 return GetInstance()._GetJobContextInfo(jobContext);
108 const std::string& description,
EnablerFn enablerFct,
bool fromPython =
false);
117 const std::string& description,
EnablerFn enablerFct,
bool fromPython =
false);
122 MaxUSDAPI TfTokenVector _ListJobContexts();
123 MaxUSDAPI
const ContextInfo& _GetJobContextInfo(
const TfToken&);
130#define REGISTER_EXPORT_JOB_CONTEXT(name, niceName, description, enablerFct) \
131 TF_REGISTRY_FUNCTION(MaxUsdJobContextRegistry) \
133 MaxUsdJobContextRegistry::GetInstance().RegisterExportJobContext(name, niceName, description, enablerFct); \
136#define REGISTER_EXPORT_JOB_CONTEXT_FCT(name, niceName, description) \
137 static VtDictionary _ExportJobContextEnabler_##name(); \
138 TF_REGISTRY_FUNCTION(MaxUsdJobContextRegistry) \
140 MaxUsdJobContextRegistry::GetInstance().RegisterExportJobContext( \
141 #name, niceName, description, &_ExportJobContextEnabler_##name); \
143 VtDictionary _ExportJobContextEnabler_##name()
145PXR_NAMESPACE_CLOSE_SCOPE
We provide macros that are entry points into the job context logic.
Definition: JobContextRegistry.h:29
MaxUSDAPI void RegisterImportJobContext(const std::string &jobContext, const std::string &niceName, const std::string &description, EnablerFn enablerFct, bool fromPython=false)
static TfTokenVector ListJobContexts()
Get all registered export job contexts:
Definition: JobContextRegistry.h:61
static const ContextInfo & GetJobContextInfo(const TfToken &jobContext)
Gets the conversion information associated with jobContext on export and import.
Definition: JobContextRegistry.h:96
MaxUSDAPI void RegisterExportJobContext(const std::string &jobContext, const std::string &niceName, const std::string &description, EnablerFn enablerFct, bool fromPython=false)
std::function< VtDictionary()> EnablerFn
Enabler function, returns a dictionary containing all the options for the context.
Definition: JobContextRegistry.h:58
All the information registered for a specific job context.
Definition: JobContextRegistry.h:68