1//
2// SPDX-License-Identifier: BSD-3-Clause
3// Copyright (c) Contributors to the OpenEXR Project.
4//
5
6
7#ifndef INCLUDED_IMF_VEC_ATTRIBUTE_H
8#define INCLUDED_IMF_VEC_ATTRIBUTE_H
9
10//-----------------------------------------------------------------------------
11//
12// class V2iAttribute
13// class V2fAttribute
14// class V2dAttribute
15// class V3iAttribute
16// class V3fAttribute
17// class V3dAttribute
18//
19//-----------------------------------------------------------------------------
20
21#include "ImfExport.h"
22#include "ImfNamespace.h"
23
24#include "ImfAttribute.h"
25#include <ImathVec.h>
26
27
28#if defined(_MSC_VER)
29// suppress warning about non-exported base classes
30#pragma warning (push)
31#pragma warning (disable : 4251)
32#pragma warning (disable : 4275)
33#endif
34
35OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
36
37typedef TypedAttribute<IMATH_NAMESPACE::V2i> V2iAttribute;
38typedef TypedAttribute<IMATH_NAMESPACE::V2f> V2fAttribute;
39typedef TypedAttribute<IMATH_NAMESPACE::V2d> V2dAttribute;
40typedef TypedAttribute<IMATH_NAMESPACE::V3i> V3iAttribute;
41typedef TypedAttribute<IMATH_NAMESPACE::V3f> V3fAttribute;
42typedef TypedAttribute<IMATH_NAMESPACE::V3d> V3dAttribute;
43
44#ifndef COMPILING_IMF_VECTOR_ATTRIBUTE
45extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V2i>;
46extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V2f>;
47extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V2d>;
48extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V3i>;
49extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V3f>;
50extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V3d>;
51#endif
52
53
54OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
55
56
57#if defined(_MSC_VER)
58// suppress warning about non-exported base classes
59#pragma warning (pop)
60#endif
61
62#endif
63

source code of include/OpenEXR/ImfVecAttribute.h