35 |
using namespace Vob; |
using namespace Vob; |
36 |
|
|
37 |
RootCoords root; |
RootCoords root; |
38 |
|
Transform *rootPtr = &root; |
39 |
|
|
40 |
void testTranslateXYZ() { |
void testTranslateXYZ() { |
41 |
typedef HierarchicalTransform<TranslateXYZ_Explicit> T; |
typedef PrimitiveHierarchicalTransform<TranslateXYZ_Explicit> T; |
42 |
T t; |
T t; |
43 |
float pars[3] = { 1.5, 2.5, 3.5 }; |
float pars[3] = { 1.5, 2.5, 3.5 }; |
44 |
BOOST_CHECK_EQUAL(t.getNParams(), 3); |
BOOST_CHECK_EQUAL(t.getNParams(), 3); |
45 |
t.setParams(&root, 0, pars); |
t.setParams((const Transform**)&rootPtr, pars); |
46 |
ZPt p = t.transform(ZPt(100,200,300)); |
ZPt p = t.transform(ZPt(100,200,300)); |
47 |
BOOST_CHECK_CLOSE(p.x+.0, 101.5, .001); |
BOOST_CHECK_CLOSE(p.x+.0, 101.5, .001); |
48 |
BOOST_CHECK_CLOSE(p.y+.0, 202.5, .001); |
BOOST_CHECK_CLOSE(p.y+.0, 202.5, .001); |
63 |
} |
} |
64 |
|
|
65 |
void testDependent_UnitSqBox() { |
void testDependent_UnitSqBox() { |
66 |
typedef HierarchicalTransform<Box_Explicit> T1; |
typedef PrimitiveHierarchicalTransform<Box_Explicit> T1; |
67 |
typedef HierarchicalTransform<UnitSqBox> T2; |
typedef PrimitiveHierarchicalTransform<UnitSqBox> T2; |
68 |
T1 t1; |
T1 t1; |
69 |
|
T1 *t1p = &t1; |
70 |
T2 t2; |
T2 t2; |
71 |
float pars[2] = {100, 200}; |
float pars[2] = {100, 200}; |
72 |
t1.setParams(&root, 0, pars); |
t1.setParams((const Transform**)&rootPtr, pars); |
73 |
t2.setParams(&t1, 0, pars); |
t2.setParams((const Transform**)&t1p, pars); |
74 |
ZPt p = t2.transform(ZPt(0,0,0)); |
ZPt p = t2.transform(ZPt(0,0,0)); |
75 |
BOOST_CHECK_CLOSE(p.x+.0, 0., .001); |
BOOST_CHECK_CLOSE(p.x+.0, 0., .001); |
76 |
BOOST_CHECK_CLOSE(p.y+.0, 0., .001); |
BOOST_CHECK_CLOSE(p.y+.0, 0., .001); |
85 |
float params[100]; |
float params[100]; |
86 |
|
|
87 |
template<class T> void code(T t__) { |
template<class T> void code(T t__) { |
88 |
typedef HierarchicalTransform<T> H; |
typedef PrimitiveHierarchicalTransform<T> H; |
89 |
H *t = new H(); |
H *t = new H(); |
90 |
t->setParams(&root, 0, params); |
t->setParams((const Transform**)&rootPtr, params); |
91 |
delete t; |
delete t; |
92 |
} |
} |
93 |
|
|