19 #define TT_NO_DEPRECATION_WARNINGS
24 TTErr OrientationDataspace::test(
TTValue& returnedTestInfo)
27 int testAssertionCount = 0;
33 myDataspace.set(
TT(
"dataspace"),
TT(
"orientation"));
51 myDataspace.
set(
TT(
"inputUnit"),
TT(
"euler"));
52 myDataspace.set(
TT(
"outputUnit"),
TT(
"quaternion"));
62 expected[2] =
TTFloat64(-0.7071067811865475);
65 myDataspace.send(
TT(
"convert"), v, v);
67 TTTestAssertion(
"yaw-pitch-roll to quaternion",
68 TTTestFloat64ArrayEquivalence(v, expected),
74 myDataspace.set(
TT(
"inputUnit"),
TT(
"xyza"));
75 myDataspace.set(
TT(
"outputUnit"),
TT(
"quaternion"));
87 expected[2] =
TTFloat64(-0.7071067811865475);
90 myDataspace.send(
TT(
"convert"), v, v);
92 TTTestAssertion(
"axis-angle to quaternion",
93 TTTestFloat64ArrayEquivalence(v, expected),
106 myDataspace.set(
TT(
"inputUnit"),
TT(
"quat"));
107 myDataspace.set(
TT(
"outputUnit"),
TT(
"euler"));
120 myDataspace.send(
TT(
"convert"), v, v);
122 TTTestAssertion(
"quaternion to yaw-pitch-roll",
123 TTTestFloat64ArrayEquivalence(v, expected),
129 myDataspace.set(
TT(
"inputUnit"),
TT(
"quat"));
130 myDataspace.set(
TT(
"outputUnit"),
TT(
"axis"));
140 expected[1] =
TTFloat64(-0.5773502691896258);
141 expected[2] =
TTFloat64(-0.8164965809277260);
144 myDataspace.send(
TT(
"convert"), v, v);
146 TTTestAssertion(
"quaternion to axis-angle",
147 TTTestFloat64ArrayEquivalence(v, expected),
157 myDataspace.set(
TT(
"inputUnit"),
TT(
"euler"));
158 myDataspace.set(
TT(
"outputUnit"),
TT(
"axis"));
167 expected[1] =
TTFloat64(-0.5773502691896258);
168 expected[2] =
TTFloat64(-0.8164965809277260);
171 myDataspace.send(
TT(
"convert"), v, v);
173 TTTestAssertion(
"euler to axis-angle",
174 TTTestFloat64ArrayEquivalence(v, expected),
184 myDataspace.set(
TT(
"inputUnit"),
TT(
"euler"));
185 myDataspace.set(
TT(
"outputUnit"),
TT(
"axis"));
199 myDataspace.send(
TT(
"convert"), v, v);
201 TTTestAssertion(
"yaw rotation to axis-angle",
202 TTTestFloat64ArrayEquivalence(v, expected),
203 testAssertionCount, errorCount);
214 myDataspace.send(
TT(
"convert"), v, v);
216 TTTestAssertion(
"pitch rotation to axis-angle",
217 TTTestFloat64ArrayEquivalence(v, expected),
218 testAssertionCount, errorCount);
230 myDataspace.send(
TT(
"convert"), v, v);
232 TTTestAssertion(
"roll rotation to axis-angle",
233 TTTestFloat64ArrayEquivalence(v, expected),
234 testAssertionCount, errorCount);
238 TTLogMessage(
"OrientationDataspace::test TOTAL FAILURE");
240 testAssertionCount = 1;
243 return TTTestFinish(testAssertionCount, errorCount, returnedTestInfo);
Create and use Jamoma object instances.
double TTFloat64
64 bit floating point number
#define TT
This macro is defined as a shortcut for doing a lookup in the symbol table.
void set(const TTUInt16 index, const T &anElementValue)
DEPRECATED.
void TTFOUNDATION_EXPORT TTLogMessage(TTImmutableCString message,...)
Platform and host independent method for posting log messages.
TTErr
Jamoma Error Codes Enumeration of error codes that might be returned by any of the TTBlue functions a...
void resize(size_type n)
Change the number of elements.
[doxygenAppendixC_copyExample]
The OrientationDataspace converts between different untis describing orientation. ...