11 #ifndef __GA_Transform__
12 #define __GA_Transform__
49 template <
typename FLOAT_T>
60 template<
typename FLOAT_T2>
68 template<
typename FLOAT_T2>
83 myIM.scale(-1, -1, -1);
93 myQ.updateFromArbitraryMatrix(m3);
142 { myTransformPageF(*
this, ctx, start, end); }
145 { myTransformPageD(*
this, ctx, start, end); }
148 { myTransformF(*
this, ctx, offset); }
151 { myTransformD(*
this, ctx, offset); }
170 template<
typename FLOAT_T>
175 UT_ASSERT_P(!myIsDouble == (
sizeof(FLOAT_T) == 4));
195 void setupFunctions();
197 GAtransformF myTransformF;
198 GAtransformD myTransformD;
199 GAtransformPageF myTransformPageF;
200 GAtransformPageD myTransformPageD;
219 void addAttributes(
bool keep_lengths=
false);
224 bool keep_lenghts=
false);
229 bool keep_lengths=
false);
231 void clearAttributes();
248 Transform<fpreal32> &m)
const;
250 Transform<fpreal64> &m)
const;
252 Transform<fpreal32> &m32,
253 Transform<fpreal64> &m64)
const;
257 Transform<fpreal32> &m32,
258 Transform<fpreal64> &m64)
const;
275 template <
typename FLOAT_T>
276 void updateTransform(Transform<FLOAT_T> &xform)
const
279 xform.computeInverse();
281 xform.computeQuaternion();
Definition of a geometry attribute.
Data has no numeric representation.
UT_ASSERT_COMPILETIME(BRAY_EVENT_MAXFLAGS<=32)
Attribute Interface class to perform numeric operations on attributes.
A range of elements in an index-map.
GA_API const UT_StringHolder transform
Container class for all geometry.
Generic Attribute Interface class to access an attribute as a tuple.
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter