5 #ifndef INCLUDED_OCIO_OPENCOLORAPPHELPERS_H
6 #define INCLUDED_OCIO_OPENCOLORAPPHELPERS_H
10 #ifndef OCIO_NAMESPACE
11 #error This header cannot be used directly. Use <OpenColorIO/OpenColorIO.h> instead.
113 virtual void setRole(
const char * role) noexcept = 0;
114 virtual const char * getRole()
const noexcept = 0;
121 virtual void setIncludeColorSpaces(
bool include) noexcept = 0;
122 virtual bool getIncludeColorSpaces()
const noexcept = 0;
135 virtual void setIncludeNamedTransforms(
bool include) noexcept = 0;
136 virtual bool getIncludeNamedTransforms()
const noexcept = 0;
143 virtual void setTreatNoCategoryAsAny(
bool value) noexcept = 0;
144 virtual bool getTreatNoCategoryAsAny()
const noexcept = 0;
150 virtual void setAppCategories(
const char * appCategories) noexcept = 0;
151 virtual const char * getAppCategories()
const noexcept = 0;
157 virtual void setEncodings(
const char * encodings) noexcept = 0;
158 virtual const char * getEncodings()
const noexcept = 0;
165 virtual void setUserCategories(
const char * userCategories) noexcept = 0;
166 virtual const char * getUserCategories()
const noexcept = 0;
173 virtual void setIncludeRoles(
bool include) noexcept = 0;
174 virtual bool getIncludeRoles()
const noexcept = 0;
189 virtual void addColorSpace(
const char *
name) noexcept = 0;
191 virtual size_t getNumAddedColorSpaces()
const noexcept = 0;
192 virtual const char * getAddedColorSpace(
size_t index)
const noexcept = 0;
193 virtual void clearAddedColorSpaces() noexcept = 0;
232 virtual size_t getNumColorSpaces()
const noexcept = 0;
237 virtual const char *
getName(
size_t idx)
const noexcept = 0;
242 virtual const char * getUIName(
size_t idx)
const noexcept = 0;
248 virtual size_t getIndexFromName(
const char *
name)
const noexcept = 0;
249 virtual size_t getIndexFromUIName(
const char * name)
const noexcept = 0;
251 virtual const char *
getDescription(
size_t idx)
const noexcept = 0;
252 virtual const char * getFamily(
size_t idx)
const noexcept = 0;
258 virtual size_t getNumHierarchyLevels(
size_t idx)
const noexcept = 0;
259 virtual const char * getHierarchyLevel(
size_t idx,
size_t i)
const noexcept = 0;
262 virtual const char * getNameFromUIName(
const char * uiName)
const noexcept = 0;
264 virtual const char * getUINameFromName(
const char * name)
const noexcept = 0;
278 namespace ColorSpaceHelpers
289 const char * transformFilePath,
290 const char * categories,
291 const char * connectionColorSpaceName);
295 namespace DisplayViewHelpers
307 const char * workingName,
308 const char * displayName,
309 const char * viewName,
314 const char * workingName,
315 const char * displayName,
316 const char * viewName,
328 const char * displayName,
329 const char * viewName,
330 const char * lookDefinition,
331 const char * colorSpaceName,
332 const char * colorSpaceFamily,
333 const char * colorSpaceDescription,
334 const char * categories,
335 const char * transformFilePath,
336 const char * connectionColorSpaceName);
343 const char * displayName,
344 const char * viewName);
399 virtual void setLooksOverrideEnabled(
bool enable) = 0;
400 virtual bool getLooksOverrideEnabled()
const = 0;
415 virtual void setLooksOverride(
const char * looks) = 0;
416 virtual const char * getLooksOverride()
const = 0;
458 virtual void setSliderMinEdge(
float sliderMixingMinEdge) noexcept = 0;
461 virtual float getSliderMinEdge()
const noexcept = 0;
464 virtual void setSliderMaxEdge(
float sliderMixingMaxEdge) noexcept = 0;
467 virtual float getSliderMaxEdge()
const noexcept = 0;
470 virtual float sliderToMixing(
float sliderUnits)
const noexcept = 0;
473 virtual float mixingToSlider(
float mixingUnits)
const noexcept = 0;
497 virtual size_t getNumMixingSpaces()
const noexcept = 0;
498 virtual const char * getMixingSpaceUIName(
size_t idx)
const = 0;
499 virtual size_t getSelectedMixingSpaceIdx()
const noexcept = 0;
500 virtual void setSelectedMixingSpaceIdx(
size_t idx) = 0;
501 virtual void setSelectedMixingSpace(
const char * mixingSpace) = 0;
503 virtual bool isPerceptuallyUniform()
const noexcept = 0;
506 virtual size_t getNumMixingEncodings()
const noexcept = 0;
507 virtual const char * getMixingEncodingName(
size_t idx)
const = 0;
508 virtual size_t getSelectedMixingEncodingIdx()
const noexcept = 0;
509 virtual void setSelectedMixingEncodingIdx(
size_t idx) = 0;
510 virtual void setSelectedMixingEncoding(
const char * mixingEncoding) = 0;
516 const char * displayName,
517 const char * viewName,
521 virtual MixingSlider & getSlider(
float sliderMixingMinEdge,
522 float sliderMixingMaxEdge) noexcept = 0;
549 STRATEGY_PREFER_INPUT = 0,
569 void setBaseConfigName(
const char * baseConfig);
570 const char * getBaseConfigName()
const;
574 void setInputConfigName(
const char * inputConfig);
575 const char * getInputConfigName()
const;
579 void setOutputName(
const char * outputName);
580 const char * getOutputName()
const;
592 void setInputFamilyPrefix(
const char * prefix);
593 const char * getInputFamilyPrefix()
const;
597 void setBaseFamilyPrefix(
const char * prefix);
598 const char * getBaseFamilyPrefix()
const;
602 void setInputFirst(
bool enabled);
603 bool isInputFirst()
const;
607 void setErrorOnConflict(
bool enabled);
608 bool isErrorOnConflict()
const;
613 void setAvoidDuplicates(
bool enabled);
614 bool isAvoidDuplicates()
const;
620 void setAdjustInputReferenceSpace(
bool enabled);
621 bool isAdjustInputReferenceSpace()
const;
626 void setName(
const char * mergedConfigName);
630 void setDescription(
const char * mergedConfigDesc);
634 void addEnvironmentVar(
const char *
name,
const char * defaultValue);
636 int getNumEnvironmentVars()
const;
637 const char * getEnvironmentVar(
int index)
const;
638 const char * getEnvironmentVarValue(
int index)
const;
641 void setSearchPath(
const char *
path);
642 void addSearchPath(
const char *
path);
643 const char * getSearchPath()
const;
646 void setActiveDisplays(
const char * displays);
650 void setActiveViews(
const char * views);
654 void setInactiveColorSpaces(
const char * colorspaces);
655 const char * getInactiveColorSpaces()
const;
660 void setRoles(MergeStrategies strategy);
664 void setFileRules(MergeStrategies strategy);
665 MergeStrategies getFileRules()
const;
670 void setDisplayViews(MergeStrategies strategy);
671 MergeStrategies getDisplayViews()
const;
675 void setViewTransforms(MergeStrategies strategy);
676 MergeStrategies getViewTransforms()
const;
679 void setLooks(MergeStrategies strategy);
685 void setColorspaces(MergeStrategies strategy);
686 MergeStrategies getColorspaces()
const;
689 void setNamedTransforms(MergeStrategies strategy);
690 MergeStrategies getNamedTransforms()
const;
705 Impl * getImpl() {
return m_impl; }
706 const Impl * getImpl()
const {
return m_impl; }
788 void setSearchPath(
const char *
path);
790 void addSearchPath(
const char * path);
792 int getNumSearchPaths()
const;
793 const char * getSearchPath(
int index)
const;
802 void setWorkingDir(
const char * dirname);
803 const char * getWorkingDir()
const;
807 int getNumConfigMergingParameters()
const;
826 int getNumMergedConfigs()
const;
829 void serialize(std::ostream& os)
const;
832 void setVersion(
unsigned int major,
unsigned int minor);
833 unsigned int getMajorVersion()
const;
834 unsigned int getMinorVersion()
const;
849 Impl * getImpl() {
return m_impl; }
850 const Impl * getImpl()
const {
return m_impl; }
855 namespace ConfigMergingHelpers
890 #endif // INCLUDED_OCIO_OPENCOLORAPPHELPERS_H
OCIOEXPORT void AddDisplayView(ConfigRcPtr &config, const char *displayName, const char *viewName, const char *lookDefinition, const char *colorSpaceName, const char *colorSpaceFamily, const char *colorSpaceDescription, const char *categories, const char *transformFilePath, const char *connectionColorSpaceName)
PXL_API const char * getDescription(const ColorSpace *space)
Return the description of the color space.
OCIOEXPORT void RemoveDisplayView(ConfigRcPtr &config, const char *displayName, const char *viewName)
PXL_API void getActiveViews(UT_StringArray &names)
Returns the list of active views.
IMF_EXPORT IMATH_NAMESPACE::V3f direction(const IMATH_NAMESPACE::Box2i &dataWindow, const IMATH_NAMESPACE::V2f &pixelPosition)
GLsizei const GLfloat * value
GLsizei const GLchar *const * path
OCIO_SHARED_PTR< ColorSpaceMenuParameters > ColorSpaceMenuParametersRcPtr
OCIO_SHARED_PTR< const Transform > ConstTransformRcPtr
GLenum GLenum GLsizei const GLuint GLboolean enabled
OCIO_SHARED_PTR< const ConfigMerger > ConstConfigMergerRcPtr
GLenum const GLfloat * params
OCIO_SHARED_PTR< LegacyViewingPipeline > LegacyViewingPipelineRcPtr
OCIOEXPORT ConstProcessorRcPtr GetProcessor(const ConstConfigRcPtr &config, const ConstContextRcPtr &context, const char *workingName, const char *displayName, const char *viewName, const ConstMatrixTransformRcPtr &channelView, TransformDirection direction)
OCIO_SHARED_PTR< const ColorSpaceMenuParameters > ConstColorSpaceMenuParametersRcPtr
PXL_API void getRoles(UT_StringArray &names)
Returns a list of the supported roles.
OCIO_SHARED_PTR< const Context > ConstContextRcPtr
OCIOEXPORT ConstProcessorRcPtr GetIdentityProcessor(const ConstConfigRcPtr &config)
Get an identity processor containing only the ExposureContrastTransforms.
Use only the input elements for that section of the config.
PXL_API const char * getName(const ColorSpace *space)
Return the name of the color space.
OCIO_SHARED_PTR< MixingColorSpaceManager > MixingColorSpaceManagerRcPtr
Combine elements of the base and input configs, with the base taking priority.
OPENVDB_API void setVersion(std::ios_base &, const VersionId &libraryVersion, uint32_t fileVersion)
Associate specific file format and library version numbers with the given stream. ...
OCIOEXPORT void AddColorSpace(ConfigRcPtr &config, const char *name, const char *transformFilePath, const char *categories, const char *connectionColorSpaceName)
OCIO_SHARED_PTR< const Processor > ConstProcessorRcPtr
GLuint const GLchar * name
GA_API const UT_StringHolder transform
OCIO_SHARED_PTR< const DisplayViewTransform > ConstDisplayViewTransformRcPtr
OCIO_SHARED_PTR< ColorSpaceMenuHelper > ColorSpaceMenuHelperRcPtr
OCIO_SHARED_PTR< const Config > ConstConfigRcPtr
OCIO_SHARED_PTR< const MatrixTransform > ConstMatrixTransformRcPtr
OCIOEXPORT ConfigRcPtr MergeConfigs(const ConfigMergingParametersRcPtr ¶ms, const ConstConfigRcPtr &baseConfig, const ConstConfigRcPtr &inputConfig)
Merge the input into the base config, using the supplied merge parameters.
OCIO_SHARED_PTR< Config > ConfigRcPtr
LeafData & operator=(const LeafData &)=delete
OCIO_SHARED_PTR< ConfigMerger > ConfigMergerRcPtr
OCIOEXPORT std::ostream & operator<<(std::ostream &, const ColorSpaceMenuParameters &)
Use only the base elements for that section of the config.
PXL_API void getLooks(UT_StringArray &looks)
Returns a list of looks (color transforms)
PXL_API void getActiveDisplays(UT_StringArray &names)
Returns the list of active displays.
OCIO_SHARED_PTR< ConfigMergingParameters > ConfigMergingParametersRcPtr
OCIO_SHARED_PTR< const ColorSpace > ConstColorSpaceRcPtr
OCIOEXPORT ConfigRcPtr MergeColorSpace(const ConfigMergingParametersRcPtr ¶ms, const ConstConfigRcPtr &baseConfig, const ConstColorSpaceRcPtr &colorspace)
Merge a single color space into the base config, using the supplied merge parameters.