11 #ifndef __GA_AIFTuple__
12 #define __GA_AIFTuple__
40 virtual int getTupleSize(
const GA_Attribute *attrib)
const = 0;
60 const int32 *data,
int len,
int index=0)
const = 0;
62 const int64 *data,
int len,
int index=0)
const = 0;
111 int start=0,
int tuple_size=-1)
const
112 {
return templatedGetRange(attrib, range, result,
start, tuple_size); }
117 int start=0,
int tuple_size=-1)
const
118 {
return templatedGetRange(attrib, range, result,
start, tuple_size); }
123 int start=0,
int tuple_size=-1)
const
124 {
return templatedGetRange(attrib, range, result,
start, tuple_size); }
129 int start=0,
int tuple_size=-1)
const
130 {
return templatedGetRange(attrib, range, result,
start, tuple_size); }
135 template <
typename T>
143 return getRange(attrib, range, result,
start, 1);
145 template <
typename T>
153 return getRange(attrib, range, (S *)result,
start, T::tuple_size);
161 std::vector<int32> &data,
162 int start=0,
int tuple_size=-1)
const
163 {
return templatedContainerGetRange(attrib, range, data,
start, tuple_size); }
168 std::vector<int64> &data,
169 int start=0,
int tuple_size=-1)
const
170 {
return templatedContainerGetRange(attrib, range, data,
start, tuple_size); }
175 std::vector<fpreal32> &data,
176 int start=0,
int tuple_size=-1)
const
177 {
return templatedContainerGetRange(attrib, range, data,
start, tuple_size); }
182 std::vector<fpreal64> &data,
183 int start=0,
int tuple_size=-1)
const
184 {
return templatedContainerGetRange(attrib, range, data,
start, tuple_size); }
187 template <
typename T>
190 int start,
int tuple_size)
const;
191 template <
typename T>
192 bool templatedContainerGetRange(
const GA_Attribute *attrib,
194 int start,
int tuple_size)
const;
215 int32 data,
int comp=-1)
const = 0;
217 int64 data,
int comp=-1)
const = 0;
219 fpreal32 data,
int comp=-1)
const = 0;
221 fpreal64 data,
int comp=-1)
const = 0;
224 int32 data,
int comp=-1)
const = 0;
226 int64 data,
int comp=-1)
const = 0;
228 fpreal32 data,
int comp=-1)
const = 0;
230 fpreal64 data,
int comp=-1)
const = 0;
238 int start = 0)
const = 0;
241 int start = 0)
const = 0;
244 int start = 0)
const = 0;
247 int start = 0)
const = 0;
251 int start = 0)
const = 0;
254 int start = 0)
const = 0;
257 int start = 0)
const = 0;
260 int start = 0)
const = 0;
275 int tuple_size=-1)
const
276 {
return templatedSetRange(attrib, it, data,
start, tuple_size); }
281 int tuple_size=-1)
const
282 {
return templatedSetRange(attrib, it, data,
start, tuple_size); }
287 int tuple_size=-1)
const
288 {
return templatedSetRange(attrib, it, data,
start, tuple_size); }
293 int tuple_size=-1)
const
294 {
return templatedSetRange(attrib, it, data,
start, tuple_size); }
300 template <
typename T>
309 return setRange(attrib, range, data,
start, 1);
311 template <
typename T>
320 return setRange(attrib, range, (S *)data,
start, T::tuple_size);
325 template <
typename T>
328 int start,
int tuple_size)
const;
336 int component=-1)
const = 0;
340 int component=-1)
const = 0;
Definition of a geometry attribute.
virtual bool getRange(const GA_Attribute *attrib, const GA_Range &range, fpreal32 *result, int start=0, int tuple_size=-1) const
bool setRangeTuple(GA_Attribute *attrib, const GA_Range &range, const T *data, int start=0, typename SYS_DisableIf< SYS_IsArithmetic_v< T > >::type *dummy=0) const
virtual bool setRange(GA_Attribute *attrib, const GA_Range &it, const fpreal64 *data, int start=0, int tuple_size=-1) const
Class which stores the default values for a GA_Attribute.
getFileOption("OpenEXR:storage") storage
virtual bool setRange(GA_Attribute *attrib, const GA_Range &it, const fpreal32 *data, int start=0, int tuple_size=-1) const
GLboolean GLboolean GLboolean GLboolean a
**But if you need a result
virtual bool getRange(const GA_Attribute *attrib, const GA_Range &range, int32 *result, int start=0, int tuple_size=-1) const
A range of elements in an index-map.
virtual bool getRange(const GA_Attribute *attrib, const GA_Range &range, int64 *result, int start=0, int tuple_size=-1) const
virtual bool setRange(GA_Attribute *attrib, const GA_Range &it, const int32 *data, int start=0, int tuple_size=-1) const
virtual bool getRange(const GA_Attribute *attrib, const GA_Range &range, fpreal64 *result, int start=0, int tuple_size=-1) const
constexpr enabler dummy
An instance to use in EnableIf.
bool isNan(const float x)
Return true if x is a NaN (Not-A-Number) value.
virtual bool getRangeInContainer(const GA_Attribute *attrib, const GA_Range &range, std::vector< fpreal64 > &data, int start=0, int tuple_size=-1) const
bool getRangeTuple(const GA_Attribute *attrib, const GA_Range &range, T *result, int start=0, typename SYS_EnableIf< SYS_IsArithmetic_v< T > >::type *dummy=0) const
bool getRangeTuple(const GA_Attribute *attrib, const GA_Range &range, T *result, int start=0, typename SYS_DisableIf< SYS_IsArithmetic_v< T > >::type *dummy=0) const
virtual bool setRange(GA_Attribute *attrib, const GA_Range &it, const int64 *data, int start=0, int tuple_size=-1) const
virtual bool getRangeInContainer(const GA_Attribute *attrib, const GA_Range &range, std::vector< fpreal32 > &data, int start=0, int tuple_size=-1) const
bool setRangeTuple(GA_Attribute *attrib, const GA_Range &range, const T *data, int start=0, typename SYS_EnableIf< SYS_IsArithmetic_v< T > >::type *dummy=0) const
virtual bool getRangeInContainer(const GA_Attribute *attrib, const GA_Range &range, std::vector< int32 > &data, int start=0, int tuple_size=-1) const
Generic Attribute Interface class to access an attribute as a tuple.
virtual bool getRangeInContainer(const GA_Attribute *attrib, const GA_Range &range, std::vector< int64 > &data, int start=0, int tuple_size=-1) const