Loading...
Searching...
No Matches
fieldTextureData.h
Go to the documentation of this file.
1//
2// Copyright 2021 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_HIO_FIELD_TEXTURE_DATA_H
8#define PXR_IMAGING_HIO_FIELD_TEXTURE_DATA_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/imaging/hio/api.h"
15
16#include "pxr/base/gf/bbox3d.h"
17
18#include "pxr/base/tf/type.h"
19
20#include <memory>
21#include <string>
22
23PXR_NAMESPACE_OPEN_SCOPE
24
25using HioFieldTextureDataSharedPtr = std::shared_ptr<class HioFieldTextureData>;
26
33{
34public:
35 HIO_API
37
38 HIO_API
39 virtual ~HioFieldTextureData();
40
51 HIO_API
52 static HioFieldTextureDataSharedPtr New(
53 std::string const & filePath,
54 std::string const & fieldName,
55 int fieldIndex,
56 std::string const & fieldPurpose,
57 size_t targetMemory);
58
62 virtual const GfBBox3d &GetBoundingBox() const = 0;
63
64 virtual int ResizedWidth() const = 0;
65
66 virtual int ResizedHeight() const = 0;
67
68 virtual int ResizedDepth() const = 0;
69
70 virtual HioFormat GetFormat() const = 0;
71
72 virtual bool Read() = 0;
73
74 virtual bool HasRawBuffer() const = 0;
75
76 virtual unsigned char const * GetRawBuffer() const = 0;
77
78private:
79 // Disallow copies
81 HioFieldTextureData& operator=(const HioFieldTextureData&) = delete;
82
83};
84
90{
91protected:
92 friend class HioFieldTextureData;
93
94 virtual HioFieldTextureDataSharedPtr _New(
95 std::string const & filePath,
96 std::string const & fieldName,
97 int fieldIndex,
98 std::string const & fieldPurpose,
99 size_t targetMemory) const = 0;
100};
101
102
103PXR_NAMESPACE_CLOSE_SCOPE
104
105#endif
Basic type: arbitrarily oriented 3D bounding box.
Definition: bbox3d.h:67
A base class to make HioFieldTextureData objects, implemented by plugins.
An interface class for reading volume files having a transformation.
static HIO_API HioFieldTextureDataSharedPtr New(std::string const &filePath, std::string const &fieldName, int fieldIndex, std::string const &fieldPurpose, size_t targetMemory)
Load Volume Field Data.
virtual const GfBBox3d & GetBoundingBox() const =0
Bounding box describing how 3d texture maps into world space.
Base class of all factory types.
Definition: type.h:56