Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

OgreRefAppJointSubtypes.h

Go to the documentation of this file.
00001 /*
00002 -----------------------------------------------------------------------------
00003 This source file is part of the OGRE Reference Application, a layer built
00004 on top of OGRE(Object-oriented Graphics Rendering Engine)
00005 For the latest info, see http://www.ogre3d.org/
00006 
00007 Copyright (c) 2000-2005 The OGRE Team
00008 Also see acknowledgements in Readme.html
00009 
00010 This program is free software; you can redistribute it and/or modify it under
00011 the terms of the GNU Lesser General Public License as published by the Free Software
00012 Foundation; either version 2 of the License, or (at your option) any later
00013 version.
00014 
00015 This program is distributed in the hope that it will be useful, but WITHOUT
00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
00018 
00019 You should have received a copy of the GNU Lesser General Public License along with
00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
00022 http://www.gnu.org/copyleft/lesser.txt.
00023 -----------------------------------------------------------------------------
00024 */
00025 #ifndef __REFAPP_JOINTSUBTYPES_H__
00026 #define __REFAPP_JOINTSUBTYPES_H__
00027 
00028 #include "OgreRefAppPrerequisites.h"
00029 #include "OgreRefAppJoint.h"
00030 
00031 namespace OgreRefApp {
00032 
00034     class _OgreRefAppExport BallJoint : public Joint
00035     {
00036     public:
00037         BallJoint(Joint::JointType jtype, ApplicationObject* obj1, ApplicationObject* obj2);
00038         ~BallJoint() {}
00044         void setAnchorPosition(const Vector3& point);
00045 
00050         void setAxes(const Vector3& primaryAxis, const Vector3& secondaryAxis = Vector3::ZERO) {}
00051     protected:
00052     };
00053 
00055     class _OgreRefAppExport SliderJoint : public Joint
00056     {
00057     public:
00058         SliderJoint(Joint::JointType jtype, ApplicationObject* obj1, ApplicationObject* obj2);
00059         ~SliderJoint() {}
00064         void setAnchorPosition(const Vector3& point) {}
00065 
00076         void setAxes(const Vector3& primaryAxis, const Vector3& secondaryAxis = Vector3::ZERO);
00077     protected:
00078     };
00079 
00081     class _OgreRefAppExport HingeJoint : public Joint
00082     {
00083     public:
00084         HingeJoint(Joint::JointType jtype, ApplicationObject* obj1, ApplicationObject* obj2);
00085         ~HingeJoint() {}
00088         void setAnchorPosition(const Vector3& point);
00089 
00100         void setAxes(const Vector3& primaryAxis, const Vector3& secondaryAxis = Vector3::ZERO);
00101     protected:
00102     };
00103 
00105     class _OgreRefAppExport UniversalJoint : public Joint
00106     {
00107     public:
00108         UniversalJoint(Joint::JointType jtype, ApplicationObject* obj1, ApplicationObject* obj2);
00109         ~UniversalJoint() {}
00112         void setAnchorPosition(const Vector3& point);
00113 
00124         void setAxes(const Vector3& primaryAxis, const Vector3& secondaryAxis = Vector3::ZERO);
00125     protected:
00126     };
00127 
00129     class _OgreRefAppExport Hinge2Joint : public Joint
00130     {
00131     public:
00132         Hinge2Joint(Joint::JointType jtype, ApplicationObject* obj1, ApplicationObject* obj2);
00133         ~Hinge2Joint() {}
00136         void setAnchorPosition(const Vector3& point);
00137 
00148         void setAxes(const Vector3& primaryAxis, const Vector3& secondaryAxis = Vector3::ZERO);
00149     protected:
00150     };
00151 
00152 }
00153 
00154 #endif

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:37:47 2006