MaterialX 1.38.2
OiioImageLoader.h
Go to the documentation of this file.
1//
2// TM & (c) 2017 Lucasfilm Entertainment Company Ltd. and Lucasfilm Ltd.
3// All rights reserved. See LICENSE.txt for license.
4//
5
6#ifndef MATERIALX_OIIOIMAGELOADER_H
7#define MATERIALX_OIIOIMAGELOADER_H
8
11
13
14namespace MaterialX
15{
16
18using OiioImageLoaderPtr = std::shared_ptr<class OiioImageLoader>;
19
22class MX_RENDER_API OiioImageLoader : public ImageLoader
23{
24 public:
26 {
27 // Set all extensions supported by OpenImageIO
28 _extensions.insert(BMP_EXTENSION);
29 _extensions.insert(GIF_EXTENSION);
30 _extensions.insert(HDR_EXTENSION);
31 _extensions.insert(JPG_EXTENSION);
32 _extensions.insert(JPEG_EXTENSION);
33 _extensions.insert(PIC_EXTENSION);
34 _extensions.insert(PNG_EXTENSION);
35 _extensions.insert(PSD_EXTENSION);
36 _extensions.insert(TGA_EXTENSION);
37 _extensions.insert(EXR_EXTENSION);
38 _extensions.insert(TIF_EXTENSION);
39 _extensions.insert(TIFF_EXTENSION);
40 _extensions.insert(TX_EXTENSION);
41 _extensions.insert(TXT_EXTENSION);
42 _extensions.insert(TXR_EXTENSION);
43 }
44 virtual ~OiioImageLoader() { }
45
47 static OiioImageLoaderPtr create() { return std::make_shared<OiioImageLoader>(); }
48
50 bool saveImage(const FilePath& filePath,
51 ConstImagePtr image,
52 bool verticalFlip = false) override;
53
55 ImagePtr loadImage(const FilePath& filePath) override;
56};
57
58} // namespace MaterialX
59
60#endif
shared_ptr< const Image > ConstImagePtr
A shared pointer to a const image.
Definition: Image.h:27
shared_ptr< Image > ImagePtr
A shared pointer to an image.
Definition: Image.h:24
Image handler interfaces.
std::shared_ptr< class OiioImageLoader > OiioImageLoaderPtr
Shared pointer to an OiioImageLoader.
Definition: OiioImageLoader.h:18
A generic file path, supporting both syntactic and file system operations.
Definition: File.h:28
Abstract base class for file-system image loaders.
Definition: ImageHandler.h:93
OpenImageIO image file loader.
Definition: OiioImageLoader.h:23
static OiioImageLoaderPtr create()
Create a new OpenImageIO image loader.
Definition: OiioImageLoader.h:47