1//
2// SPDX-License-Identifier: BSD-3-Clause
3// Copyright (c) Contributors to the OpenEXR Project.
4//
5
6
7#ifndef INCLUDED_IMF_MATRIX_ATTRIBUTE_H
8#define INCLUDED_IMF_MATRIX_ATTRIBUTE_H
9
10//-----------------------------------------------------------------------------
11//
12// class M33fAttribute
13// class M33dAttribute
14// class M44fAttribute
15// class M44dAttribute
16//
17//-----------------------------------------------------------------------------
18
19#include "ImfExport.h"
20#include "ImfNamespace.h"
21
22#include "ImfAttribute.h"
23#include <ImathMatrix.h>
24
25
26#if defined(_MSC_VER)
27// suppress warning about non-exported base classes
28#pragma warning (push)
29#pragma warning (disable : 4251)
30#pragma warning (disable : 4275)
31#endif
32
33
34OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
35
36
37typedef TypedAttribute<IMATH_NAMESPACE::M33f> M33fAttribute;
38typedef TypedAttribute<IMATH_NAMESPACE::M33d> M33dAttribute;
39typedef TypedAttribute<IMATH_NAMESPACE::M44f> M44fAttribute;
40typedef TypedAttribute<IMATH_NAMESPACE::M44d> M44dAttribute;
41
42#ifndef COMPILING_IMF_MATRIX_ATTRIBUTE
43extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::M33f>;
44extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::M33d>;
45extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::M44f>;
46extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::M44d>;
47#endif
48
49OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
50
51#if defined(_MSC_VER)
52#pragma warning(pop)
53#endif
54
55#endif
56

source code of include/OpenEXR/ImfMatrixAttribute.h