MaterialX 1.38.10
Loading...
Searching...
No Matches
OiioImageLoader.h
Go to the documentation of this file.
1//
2// Copyright Contributors to the MaterialX Project
3// SPDX-License-Identifier: Apache-2.0
4//
5
6#ifndef MATERIALX_OIIOIMAGELOADER_H
7#define MATERIALX_OIIOIMAGELOADER_H
8
11
13
14MATERIALX_NAMESPACE_BEGIN
15
17using OiioImageLoaderPtr = std::shared_ptr<class OiioImageLoader>;
18
21class MX_RENDER_API OiioImageLoader : public ImageLoader
22{
23 public:
25 {
26 // Set all extensions supported by OpenImageIO
27 _extensions.insert(BMP_EXTENSION);
28 _extensions.insert(GIF_EXTENSION);
29 _extensions.insert(HDR_EXTENSION);
30 _extensions.insert(JPG_EXTENSION);
31 _extensions.insert(JPEG_EXTENSION);
32 _extensions.insert(PIC_EXTENSION);
33 _extensions.insert(PNG_EXTENSION);
34 _extensions.insert(PSD_EXTENSION);
35 _extensions.insert(TGA_EXTENSION);
36 _extensions.insert(EXR_EXTENSION);
37 _extensions.insert(TIF_EXTENSION);
38 _extensions.insert(TIFF_EXTENSION);
39 _extensions.insert(TX_EXTENSION);
40 _extensions.insert(TXT_EXTENSION);
41 _extensions.insert(TXR_EXTENSION);
42 }
43 virtual ~OiioImageLoader() { }
44
46 static OiioImageLoaderPtr create() { return std::make_shared<OiioImageLoader>(); }
47
49 bool saveImage(const FilePath& filePath,
50 ConstImagePtr image,
51 bool verticalFlip = false) override;
52
54 ImagePtr loadImage(const FilePath& filePath) override;
55};
56
57MATERIALX_NAMESPACE_END
58
59#endif
shared_ptr< const Image > ConstImagePtr
A shared pointer to a const image.
Definition: Image.h:26
shared_ptr< Image > ImagePtr
A shared pointer to an image.
Definition: Image.h:23
Image handler interfaces.
std::shared_ptr< class OiioImageLoader > OiioImageLoaderPtr
Shared pointer to an OiioImageLoader.
Definition: OiioImageLoader.h:17
A generic file path, supporting both syntactic and file system operations.
Definition: File.h:27
Abstract base class for file-system image loaders.
Definition: ImageHandler.h:108
virtual ImagePtr loadImage(const FilePath &filePath)
Load an image from the file system.
Definition: ImageHandler.cpp:46
virtual bool saveImage(const FilePath &filePath, ConstImagePtr image, bool verticalFlip=false)
Save an image to the file system.
Definition: ImageHandler.cpp:41
OpenImageIO image file loader.
Definition: OiioImageLoader.h:22
static OiioImageLoaderPtr create()
Create a new OpenImageIO image loader.
Definition: OiioImageLoader.h:46