True Axis Physics SDK 1.2.0.1 Beta Documentation
www.trueaxis.com

SliderJointExample.cpp

Example of setting up a slider joint.

//---------------------------------------------------------------------------------
// 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);


© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.