Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/physics/src/ogrebullet/Constraints/OgreBulletDynamicsHingeConstraint.cpp @ 1971

Last change on this file since 1971 was 1971, checked in by rgrieder, 16 years ago

Added OgreBullet to the repository. The revision was 2493 (ogreaddons), trunk.

  • Property svn:eol-style set to native
File size: 3.5 KB
Line 
1/***************************************************************************
2
3This source file is part of OGREBULLET
4(Object-oriented Graphics Rendering Engine Bullet Wrapper)
5For the latest info, see http://www.ogre3d.org/phpBB2addons/viewforum.php?f=10
6
7Copyright (c) 2007 tuan.kuranes@gmail.com (Use it Freely, even Statically, but have to contribute any changes)
8
9
10
11This program is free software; you can redistribute it and/or modify it under
12the terms of the GPL General Public License with runtime exception as published by the Free Software
13Foundation; either version 2 of the License, or (at your option) any later
14version.
15
16This program is distributed in the hope that it will be useful, but WITHOUT
17ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18FOR A PARTICULAR PURPOSE. See the GPL General Public License with runtime exception for more details.
19
20You should have received a copy of the GPL General Public License with runtime exception along with
21this program; if not, write to the Free Software Foundation, Inc., 59 Temple
22Place - Suite 330, Boston, MA 02111-1307, USA, or go to
23http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
24-----------------------------------------------------------------------------
25*/
26
27#include "OgreBulletDynamics.h"
28
29#include "OgreBulletDynamicsWorld.h"
30#include "OgreBulletDynamicsRigidBody.h"
31#include "OgreBulletDynamicsConstraint.h"
32#include "Constraints/OgreBulletDynamicsHingeConstraint.h"
33
34using namespace Ogre;
35
36namespace OgreBulletDynamics
37{
38    // -------------------------------------------------------------------------
39    HingeConstraint::HingeConstraint(RigidBody * rbA, RigidBody * rbB, const Vector3& pivotInA,
40        const Vector3& pivotInB, const Vector3& axisInA, const Vector3& axisInB):
41        TypedConstraint(rbA, rbB)
42    {
43        btVector3 vec[4];
44        vec[0] = OgreBulletCollisions::OgreBtConverter::to(pivotInA);
45        vec[1] = OgreBulletCollisions::OgreBtConverter::to(pivotInB);
46        vec[2] = OgreBulletCollisions::OgreBtConverter::to(axisInA);
47        vec[3] = OgreBulletCollisions::OgreBtConverter::to(axisInB);
48       
49        mConstraint = new btHingeConstraint(
50            *rbA->getBulletRigidBody (),
51            *rbB->getBulletRigidBody (),
52            vec[0], vec[1], vec[2], vec[3]);
53/*
54        mConstraint = new btHingeConstraint(
55            *rbA->getBulletRigidBody (),
56            *rbB->getBulletRigidBody (),
57            OgreBulletCollisions::OgreBtConverter::to(pivotInA),
58            OgreBulletCollisions::OgreBtConverter::to(pivotInB),
59            OgreBulletCollisions::OgreBtConverter::to(axisInA),
60            OgreBulletCollisions::OgreBtConverter::to(axisInB));*/
61    }
62    // -------------------------------------------------------------------------
63        HingeConstraint::HingeConstraint(RigidBody * rbA, 
64            const Vector3& pivotInA, 
65            const Vector3&  axisInA):
66    TypedConstraint(rbA)
67    {
68        btVector3 vec[2];
69        vec[0] = OgreBulletCollisions::OgreBtConverter::to(pivotInA);
70        vec[1] = OgreBulletCollisions::OgreBtConverter::to(axisInA);
71
72        mConstraint = new btHingeConstraint(*rbA->getBulletRigidBody (),
73            vec[0], vec[1]);
74
75/*
76        mConstraint = new btHingeConstraint(*rbA->getBulletRigidBody (),
77            OgreBulletCollisions::OgreBtConverter::to(pivotInA),
78            OgreBulletCollisions::OgreBtConverter::to(axisInA));*/
79    }
80    // -------------------------------------------------------------------------
81    HingeConstraint::~HingeConstraint()
82    {
83    }
84}
Note: See TracBrowser for help on using the repository browser.