Coverage Report

Created: 2026-04-01 07:24

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openexr/src/lib/OpenEXR/ImfMatrixAttribute.cpp
Line
Count
Source
1
//
2
// SPDX-License-Identifier: BSD-3-Clause
3
// Copyright (c) Contributors to the OpenEXR Project.
4
//
5
6
//-----------------------------------------------------------------------------
7
//
8
//  class M33fAttribute
9
//  class M33dAttribute
10
//  class M44fAttribute
11
//  class M44dAttribute
12
//
13
//-----------------------------------------------------------------------------
14
#include "ImfExport.h"
15
#include <ImathExport.h>
16
#include <ImathNamespace.h>
17
18
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
19
template <class V> class IMF_EXPORT_TEMPLATE_TYPE Matrix33;
20
template <class V> class IMF_EXPORT_TEMPLATE_TYPE Matrix44;
21
IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
22
23
#define COMPILING_IMF_MATRIX_ATTRIBUTE
24
25
#include "ImfMatrixAttribute.h"
26
27
#if defined(_MSC_VER)
28
// suppress warning about non-exported base classes
29
#    pragma warning(disable : 4251)
30
#    pragma warning(disable : 4275)
31
#endif
32
33
OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER
34
35
using namespace OPENEXR_IMF_INTERNAL_NAMESPACE;
36
37
template <>
38
IMF_EXPORT const char*
39
M33fAttribute::staticTypeName ()
40
1
{
41
1
    return "m33f";
42
1
}
43
44
template <>
45
IMF_EXPORT void
46
M33fAttribute::writeValueTo (
47
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
48
0
{
49
0
    Xdr::write<StreamIO> (os, _value[0][0]);
50
0
    Xdr::write<StreamIO> (os, _value[0][1]);
51
0
    Xdr::write<StreamIO> (os, _value[0][2]);
52
53
0
    Xdr::write<StreamIO> (os, _value[1][0]);
54
0
    Xdr::write<StreamIO> (os, _value[1][1]);
55
0
    Xdr::write<StreamIO> (os, _value[1][2]);
56
57
0
    Xdr::write<StreamIO> (os, _value[2][0]);
58
0
    Xdr::write<StreamIO> (os, _value[2][1]);
59
0
    Xdr::write<StreamIO> (os, _value[2][2]);
60
0
}
61
62
template <>
63
IMF_EXPORT void
64
M33fAttribute::readValueFrom (
65
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
66
0
{
67
0
    Xdr::read<StreamIO> (is, _value[0][0]);
68
0
    Xdr::read<StreamIO> (is, _value[0][1]);
69
0
    Xdr::read<StreamIO> (is, _value[0][2]);
70
71
0
    Xdr::read<StreamIO> (is, _value[1][0]);
72
0
    Xdr::read<StreamIO> (is, _value[1][1]);
73
0
    Xdr::read<StreamIO> (is, _value[1][2]);
74
75
0
    Xdr::read<StreamIO> (is, _value[2][0]);
76
0
    Xdr::read<StreamIO> (is, _value[2][1]);
77
0
    Xdr::read<StreamIO> (is, _value[2][2]);
78
0
}
79
80
template <>
81
IMF_EXPORT const char*
82
M33dAttribute::staticTypeName ()
83
1
{
84
1
    return "m33d";
85
1
}
86
87
template <>
88
IMF_EXPORT void
89
M33dAttribute::writeValueTo (
90
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
91
0
{
92
0
    Xdr::write<StreamIO> (os, _value[0][0]);
93
0
    Xdr::write<StreamIO> (os, _value[0][1]);
94
0
    Xdr::write<StreamIO> (os, _value[0][2]);
95
96
0
    Xdr::write<StreamIO> (os, _value[1][0]);
97
0
    Xdr::write<StreamIO> (os, _value[1][1]);
98
0
    Xdr::write<StreamIO> (os, _value[1][2]);
99
100
0
    Xdr::write<StreamIO> (os, _value[2][0]);
101
0
    Xdr::write<StreamIO> (os, _value[2][1]);
102
0
    Xdr::write<StreamIO> (os, _value[2][2]);
103
0
}
104
105
template <>
106
IMF_EXPORT void
107
M33dAttribute::readValueFrom (
108
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
109
0
{
110
0
    Xdr::read<StreamIO> (is, _value[0][0]);
111
0
    Xdr::read<StreamIO> (is, _value[0][1]);
112
0
    Xdr::read<StreamIO> (is, _value[0][2]);
113
114
0
    Xdr::read<StreamIO> (is, _value[1][0]);
115
0
    Xdr::read<StreamIO> (is, _value[1][1]);
116
0
    Xdr::read<StreamIO> (is, _value[1][2]);
117
118
0
    Xdr::read<StreamIO> (is, _value[2][0]);
119
0
    Xdr::read<StreamIO> (is, _value[2][1]);
120
0
    Xdr::read<StreamIO> (is, _value[2][2]);
121
0
}
122
123
template <>
124
IMF_EXPORT const char*
125
M44fAttribute::staticTypeName ()
126
1
{
127
1
    return "m44f";
128
1
}
129
130
template <>
131
IMF_EXPORT void
132
M44fAttribute::writeValueTo (
133
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
134
0
{
135
0
    Xdr::write<StreamIO> (os, _value[0][0]);
136
0
    Xdr::write<StreamIO> (os, _value[0][1]);
137
0
    Xdr::write<StreamIO> (os, _value[0][2]);
138
0
    Xdr::write<StreamIO> (os, _value[0][3]);
139
140
0
    Xdr::write<StreamIO> (os, _value[1][0]);
141
0
    Xdr::write<StreamIO> (os, _value[1][1]);
142
0
    Xdr::write<StreamIO> (os, _value[1][2]);
143
0
    Xdr::write<StreamIO> (os, _value[1][3]);
144
145
0
    Xdr::write<StreamIO> (os, _value[2][0]);
146
0
    Xdr::write<StreamIO> (os, _value[2][1]);
147
0
    Xdr::write<StreamIO> (os, _value[2][2]);
148
0
    Xdr::write<StreamIO> (os, _value[2][3]);
149
150
0
    Xdr::write<StreamIO> (os, _value[3][0]);
151
0
    Xdr::write<StreamIO> (os, _value[3][1]);
152
0
    Xdr::write<StreamIO> (os, _value[3][2]);
153
0
    Xdr::write<StreamIO> (os, _value[3][3]);
154
0
}
155
156
template <>
157
IMF_EXPORT void
158
M44fAttribute::readValueFrom (
159
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
160
0
{
161
0
    Xdr::read<StreamIO> (is, _value[0][0]);
162
0
    Xdr::read<StreamIO> (is, _value[0][1]);
163
0
    Xdr::read<StreamIO> (is, _value[0][2]);
164
0
    Xdr::read<StreamIO> (is, _value[0][3]);
165
166
0
    Xdr::read<StreamIO> (is, _value[1][0]);
167
0
    Xdr::read<StreamIO> (is, _value[1][1]);
168
0
    Xdr::read<StreamIO> (is, _value[1][2]);
169
0
    Xdr::read<StreamIO> (is, _value[1][3]);
170
171
0
    Xdr::read<StreamIO> (is, _value[2][0]);
172
0
    Xdr::read<StreamIO> (is, _value[2][1]);
173
0
    Xdr::read<StreamIO> (is, _value[2][2]);
174
0
    Xdr::read<StreamIO> (is, _value[2][3]);
175
176
0
    Xdr::read<StreamIO> (is, _value[3][0]);
177
0
    Xdr::read<StreamIO> (is, _value[3][1]);
178
0
    Xdr::read<StreamIO> (is, _value[3][2]);
179
0
    Xdr::read<StreamIO> (is, _value[3][3]);
180
0
}
181
182
template <>
183
IMF_EXPORT const char*
184
M44dAttribute::staticTypeName ()
185
1
{
186
1
    return "m44d";
187
1
}
188
189
template <>
190
IMF_EXPORT void
191
M44dAttribute::writeValueTo (
192
    OPENEXR_IMF_INTERNAL_NAMESPACE::OStream& os, int version) const
193
0
{
194
0
    Xdr::write<StreamIO> (os, _value[0][0]);
195
0
    Xdr::write<StreamIO> (os, _value[0][1]);
196
0
    Xdr::write<StreamIO> (os, _value[0][2]);
197
0
    Xdr::write<StreamIO> (os, _value[0][3]);
198
199
0
    Xdr::write<StreamIO> (os, _value[1][0]);
200
0
    Xdr::write<StreamIO> (os, _value[1][1]);
201
0
    Xdr::write<StreamIO> (os, _value[1][2]);
202
0
    Xdr::write<StreamIO> (os, _value[1][3]);
203
204
0
    Xdr::write<StreamIO> (os, _value[2][0]);
205
0
    Xdr::write<StreamIO> (os, _value[2][1]);
206
0
    Xdr::write<StreamIO> (os, _value[2][2]);
207
0
    Xdr::write<StreamIO> (os, _value[2][3]);
208
209
0
    Xdr::write<StreamIO> (os, _value[3][0]);
210
0
    Xdr::write<StreamIO> (os, _value[3][1]);
211
0
    Xdr::write<StreamIO> (os, _value[3][2]);
212
0
    Xdr::write<StreamIO> (os, _value[3][3]);
213
0
}
214
215
template <>
216
IMF_EXPORT void
217
M44dAttribute::readValueFrom (
218
    OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int size, int version)
219
0
{
220
0
    Xdr::read<StreamIO> (is, _value[0][0]);
221
0
    Xdr::read<StreamIO> (is, _value[0][1]);
222
0
    Xdr::read<StreamIO> (is, _value[0][2]);
223
0
    Xdr::read<StreamIO> (is, _value[0][3]);
224
225
0
    Xdr::read<StreamIO> (is, _value[1][0]);
226
0
    Xdr::read<StreamIO> (is, _value[1][1]);
227
0
    Xdr::read<StreamIO> (is, _value[1][2]);
228
0
    Xdr::read<StreamIO> (is, _value[1][3]);
229
230
0
    Xdr::read<StreamIO> (is, _value[2][0]);
231
0
    Xdr::read<StreamIO> (is, _value[2][1]);
232
0
    Xdr::read<StreamIO> (is, _value[2][2]);
233
0
    Xdr::read<StreamIO> (is, _value[2][3]);
234
235
0
    Xdr::read<StreamIO> (is, _value[3][0]);
236
0
    Xdr::read<StreamIO> (is, _value[3][1]);
237
0
    Xdr::read<StreamIO> (is, _value[3][2]);
238
0
    Xdr::read<StreamIO> (is, _value[3][3]);
239
0
}
240
241
template class IMF_EXPORT_TEMPLATE_INSTANCE
242
    TypedAttribute<IMATH_NAMESPACE::M33f>;
243
template class IMF_EXPORT_TEMPLATE_INSTANCE
244
    TypedAttribute<IMATH_NAMESPACE::M33d>;
245
template class IMF_EXPORT_TEMPLATE_INSTANCE
246
    TypedAttribute<IMATH_NAMESPACE::M44f>;
247
template class IMF_EXPORT_TEMPLATE_INSTANCE
248
    TypedAttribute<IMATH_NAMESPACE::M44d>;
249
250
OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_EXIT