Coverage Report

Created: 2025-07-16 07:53

/src/openexr/src/lib/OpenEXR/ImfVecAttribute.cpp
Line
Count
Source (jump to first uncovered line)
1
//
2
// SPDX-License-Identifier: BSD-3-Clause
3
// Copyright (c) Contributors to the OpenEXR Project.
4
//
5
6
//-----------------------------------------------------------------------------
7
//
8
//  class V2iAttribute
9
//  class V2fAttribute
10
//  class V2dAttribute
11
//  class V3iAttribute
12
//  class V3fAttribute
13
//  class V3dAttribute
14
//
15
//-----------------------------------------------------------------------------
16
#include "ImfExport.h"
17
#include <ImathExport.h>
18
#include <ImathNamespace.h>
19
20
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
21
template <class V> class IMF_EXPORT_TEMPLATE_TYPE Vec2;
22
template <class V> class IMF_EXPORT_TEMPLATE_TYPE Vec3;
23
IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
24
25
#define COMPILING_IMF_VECTOR_ATTRIBUTE
26
#include "ImfVecAttribute.h"
27
28
#if defined(_MSC_VER)
29
// suppress warning about non-exported base classes
30
#    pragma warning(disable : 4251)
31
#    pragma warning(disable : 4275)
32
#endif
33
34
OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER
35
36
using namespace OPENEXR_IMF_INTERNAL_NAMESPACE;
37
38
template <>
39
IMF_EXPORT const char*
40
V2iAttribute::staticTypeName ()
41
1
{
42
1
    return "v2i";
43
1
}
44
45
template <>
46
IMF_EXPORT void
47
V2iAttribute::writeValueTo (
48
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
49
0
{
50
0
    Xdr::write<StreamIO> (os, _value.x);
51
0
    Xdr::write<StreamIO> (os, _value.y);
52
0
}
53
54
template <>
55
IMF_EXPORT void
56
V2iAttribute::readValueFrom (
57
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
58
0
{
59
0
    Xdr::read<StreamIO> (is, _value.x);
60
0
    Xdr::read<StreamIO> (is, _value.y);
61
0
}
62
63
template <>
64
IMF_EXPORT const char*
65
V2fAttribute::staticTypeName ()
66
46.8k
{
67
46.8k
    return "v2f";
68
46.8k
}
69
70
template <>
71
IMF_EXPORT void
72
V2fAttribute::writeValueTo (
73
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
74
0
{
75
0
    Xdr::write<StreamIO> (os, _value.x);
76
0
    Xdr::write<StreamIO> (os, _value.y);
77
0
}
78
79
template <>
80
IMF_EXPORT void
81
V2fAttribute::readValueFrom (
82
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
83
0
{
84
0
    Xdr::read<StreamIO> (is, _value.x);
85
0
    Xdr::read<StreamIO> (is, _value.y);
86
0
}
87
88
template <>
89
IMF_EXPORT const char*
90
V2dAttribute::staticTypeName ()
91
1
{
92
1
    return "v2d";
93
1
}
94
95
template <>
96
IMF_EXPORT void
97
V2dAttribute::writeValueTo (
98
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
99
0
{
100
0
    Xdr::write<StreamIO> (os, _value.x);
101
0
    Xdr::write<StreamIO> (os, _value.y);
102
0
}
103
104
template <>
105
IMF_EXPORT void
106
V2dAttribute::readValueFrom (
107
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
108
0
{
109
0
    Xdr::read<StreamIO> (is, _value.x);
110
0
    Xdr::read<StreamIO> (is, _value.y);
111
0
}
112
113
template <>
114
IMF_EXPORT const char*
115
V3iAttribute::staticTypeName ()
116
1
{
117
1
    return "v3i";
118
1
}
119
120
template <>
121
IMF_EXPORT void
122
V3iAttribute::writeValueTo (
123
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
124
0
{
125
0
    Xdr::write<StreamIO> (os, _value.x);
126
0
    Xdr::write<StreamIO> (os, _value.y);
127
0
    Xdr::write<StreamIO> (os, _value.z);
128
0
}
129
130
template <>
131
IMF_EXPORT void
132
V3iAttribute::readValueFrom (
133
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
134
0
{
135
0
    Xdr::read<StreamIO> (is, _value.x);
136
0
    Xdr::read<StreamIO> (is, _value.y);
137
0
    Xdr::read<StreamIO> (is, _value.z);
138
0
}
139
140
template <>
141
IMF_EXPORT const char*
142
V3fAttribute::staticTypeName ()
143
1
{
144
1
    return "v3f";
145
1
}
146
147
template <>
148
IMF_EXPORT void
149
V3fAttribute::writeValueTo (
150
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
151
0
{
152
0
    Xdr::write<StreamIO> (os, _value.x);
153
0
    Xdr::write<StreamIO> (os, _value.y);
154
0
    Xdr::write<StreamIO> (os, _value.z);
155
0
}
156
157
template <>
158
IMF_EXPORT void
159
V3fAttribute::readValueFrom (
160
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
161
0
{
162
0
    Xdr::read<StreamIO> (is, _value.x);
163
0
    Xdr::read<StreamIO> (is, _value.y);
164
0
    Xdr::read<StreamIO> (is, _value.z);
165
0
}
166
167
template <>
168
IMF_EXPORT const char*
169
V3dAttribute::staticTypeName ()
170
2
{
171
2
    return "v3d";
172
2
}
173
174
template <>
175
IMF_EXPORT void
176
V3dAttribute::writeValueTo (
177
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
178
0
{
179
0
    Xdr::write<StreamIO> (os, _value.x);
180
0
    Xdr::write<StreamIO> (os, _value.y);
181
0
    Xdr::write<StreamIO> (os, _value.z);
182
0
}
183
184
template <>
185
IMF_EXPORT void
186
V3dAttribute::readValueFrom (
187
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
188
0
{
189
0
    Xdr::read<StreamIO> (is, _value.x);
190
0
    Xdr::read<StreamIO> (is, _value.y);
191
0
    Xdr::read<StreamIO> (is, _value.z);
192
0
}
193
194
template class IMF_EXPORT_TEMPLATE_INSTANCE
195
    TypedAttribute<IMATH_NAMESPACE::V2i>;
196
template class IMF_EXPORT_TEMPLATE_INSTANCE
197
    TypedAttribute<IMATH_NAMESPACE::V2f>;
198
template class IMF_EXPORT_TEMPLATE_INSTANCE
199
    TypedAttribute<IMATH_NAMESPACE::V2d>;
200
template class IMF_EXPORT_TEMPLATE_INSTANCE
201
    TypedAttribute<IMATH_NAMESPACE::V3i>;
202
template class IMF_EXPORT_TEMPLATE_INSTANCE
203
    TypedAttribute<IMATH_NAMESPACE::V3f>;
204
template class IMF_EXPORT_TEMPLATE_INSTANCE
205
    TypedAttribute<IMATH_NAMESPACE::V3d>;
206
207
OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_EXIT