//--------------------------------------------------------------------------------- // Slider joint example //--------------------------------------------------------------------------------- TA::Physics& physics = TA::Physics::GetInstance(); // Create to boxes and add a hinge joint between them TA::DynamicObject* pObjectA = TA::DynamicObject::CreateNew(); TA::AABB aabb( TA::Vec3(0.0f, 0.0f, 0.0f), // center TA::Vec3(0.5f, 0.5f, 0.5f)); // extent pObjectA->InitialiseAsABox(aabb); // Move the object to positoin pObjectA->SetPosition(TA::Vec3(2.0f, 3.0f, 0.0f)); TA::Vec3 v3SliderStartPosition = pObjectA->GetPosition(); TA::Vec3 v3SliderEndPosition = pObjectA->GetPosition() + TA::Vec3(-4.0f, -4.0f, 0.0f); TA::PhysicsJoint& physicsJoint = pObjectA->AddJoint(0); // joint to world physicsJoint.InitialiseSlider( pObjectA->GetPosition(), // Position on object A to put the joint in world space v3SliderStartPosition, // Start position of slider v3SliderEndPosition); // End positoin of slider pObjectA->SetRotationDisabled(true); // Add the object to the simulation. (This doesn't have to be done last) physics.AddDynamicObject(pObjectA);