Add Geometries
This commit is contained in:
@@ -164,13 +164,12 @@ int main()
|
||||
|
||||
{ // test parent-child relationship
|
||||
ContainerBox Parent;
|
||||
Parent.SetOrigin(Vector3f(1,1,1));
|
||||
Parent.SetSize(Vector3f(2,2,2));
|
||||
Parent.SetPosition(Vector3f(1,1,1));
|
||||
Parent.Scale(Vector3f(2,2,2));
|
||||
|
||||
ContainerBox Child;
|
||||
Child.SetParent(&Parent);
|
||||
Child.SetOrigin(Vector3f(1,1,1));
|
||||
Child.SetSize(Vector3f(2,2,2));
|
||||
Child.SetPosition(Vector3f(0,0,0));
|
||||
|
||||
HPoint3f pt = Child.GetLocalPoint(HPoint3f(0,0,0));
|
||||
HPoint3f wp = Child.GetWorldPoint(pt);
|
||||
@@ -178,16 +177,18 @@ int main()
|
||||
|
||||
pt = HPoint3f(1,1,1);
|
||||
wp = Child.GetWorldPoint(pt);
|
||||
TEST0( Vector4f0(wp - HPoint3f(2,2,2)) );
|
||||
TEST0( Vector4f0(wp - HPoint3f(3,3,3)) );
|
||||
|
||||
pt = HPoint3f(1,2,3);
|
||||
Parent.Rotate(Vector3f(M_PI,0,0));
|
||||
pt = HPoint3f(1,1,1);
|
||||
wp = Child.GetWorldPoint(pt);
|
||||
std::cout << "Child.GetWorldPoint(HPoint3f(1,2,3)): " << wp << std::endl;
|
||||
TEST0( Vector4f0(wp - HPoint3f(2,3,4)) );
|
||||
TEST0( Vector4f0(wp - HPoint3f(3,-1,-1)) );
|
||||
|
||||
pt = HPoint3f(1,2,3);
|
||||
Child.Rotate(Vector3f(M_PI,0,0));
|
||||
pt = HPoint3f(1,1,1);
|
||||
wp = Child.GetWorldPoint(pt);
|
||||
TEST0( Vector4f0(wp - HPoint3f(2,3,4)) );
|
||||
TEST0( Vector4f0(wp - HPoint3f(3,3,3)) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -92,6 +92,36 @@ int main()
|
||||
|
||||
|
||||
|
||||
// CYLINDRICAL GEOMETRY TESTING
|
||||
{
|
||||
CylindricalGeometry cyl;
|
||||
Vector3f cyl_pt(5.0f, M_PI_2, 3.0f);
|
||||
Vector3f lin = cyl.ToLinear(cyl_pt);
|
||||
TEST0( Vector4f0(lin.homogeneous() - HPoint3f(0.0f, 5.0f, 3.0f)) );
|
||||
Vector3f recovered = cyl.FromLinear(lin);
|
||||
TEST0( Vector4f0(recovered.homogeneous() - cyl_pt.homogeneous()) );
|
||||
}
|
||||
|
||||
// SPHERICAL GEOMETRY TESTING
|
||||
{
|
||||
SphericalGeometry sph;
|
||||
Vector3f sph_pt(5.0f, M_PI_2, M_PI);
|
||||
Vector3f lin = sph.ToLinear(sph_pt);
|
||||
TEST0( Vector4f0(lin.homogeneous() - HPoint3f(-5.0f, 0.0f, 0.0f)) );
|
||||
Vector3f recovered = sph.FromLinear(Vector3f(-5.0f, 0.0f, 0.0f));
|
||||
TEST0( Vector4f0(recovered.homogeneous() - sph_pt.homogeneous()) );
|
||||
}
|
||||
|
||||
// TOROIDAL GEOMETRY TESTING
|
||||
{
|
||||
ToroidalGeometry tor(10.0f);
|
||||
Vector3f tor_pt(1.0f, M_PI_2, M_PI);
|
||||
Vector3f lin = tor.ToLinear(tor_pt);
|
||||
TEST0( Vector4f0(lin.homogeneous() - HPoint3f(-10.0f, 0.0f, 1.0f)) );
|
||||
Vector3f recovered = tor.FromLinear(Vector3f(-10.0f, 0.0f, 1.0f));
|
||||
TEST0( Vector4f0(recovered.homogeneous() - tor_pt.homogeneous()) );
|
||||
}
|
||||
|
||||
END_TESTING;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user