Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/physics_new/src/ogrebullet/Dynamics/Constraints/OgreBulletDynamics6DofConstraint.h @ 2119

Last change on this file since 2119 was 2119, checked in by rgrieder, 15 years ago

Merged physics branch into physics_new branch.

  • Property svn:eol-style set to native
File size: 2.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#ifndef _OGREBULLETDYNAMICS_SixDofConstraint_H
27#define _OGREBULLETDYNAMICS_SixDofConstraint_H
28
29#include "OgreBulletDynamicsPreRequisites.h"
30
31#include "OgreBulletDynamicsConstraint.h"
32
33
34namespace OgreBulletDynamics
35{
36    // -------------------------------------------------------------------------
37    // SixDofConstraint  class
38    class SixDofConstraint : public TypedConstraint
39    {
40    public:
41        SixDofConstraint(RigidBody * rbA, RigidBody * rbB, 
42            const Ogre::Vector3& FrameInAVector, const Ogre::Quaternion& FrameInAOrientation,
43            const Ogre::Vector3& FrameInBVector, const Ogre::Quaternion& FrameInBOrientation);
44
45                void    setLinearLowerLimit(const Ogre::Vector3& linearLower);
46                void    setLinearUpperLimit(const Ogre::Vector3& linearUpper);
47                void    setAngularLowerLimit(const Ogre::Vector3& angularLower);
48                void    setAngularUpperLimit(const Ogre::Vector3& angularUpper);
49
50                void    setLimit(const int axis, const Ogre::Real lo, const Ogre::Real hi);
51                //! Test limit
52                /*!
53                - free means upper < lower,
54                - locked means upper == lower
55                - limited means upper > lower
56                - limitIndex: first 3 are linear, next 3 are angular
57                */
58                bool     isLimited(int limitIndex);
59
60        virtual ~SixDofConstraint();
61
62    };
63}
64#endif //_OGREBULLETDYNAMICS_SixDofConstraint_H
65
Note: See TracBrowser for help on using the repository browser.