00001 00002 // Title : IKPosition.h 00003 // Project : OSCAR 00004 // Created : 02/10/2003 12:53:41 PM 00005 // Author : Chetan Kapoor 00006 // Platforms : All 00007 // Copyright : Copyright© The University of Texas at Austin, 2002. All rights reserved. 00008 // 00009 // This software and documentation constitute an unpublished work 00010 // and contain valuable trade secrets and proprietary information 00011 // belonging to University. None of the foregoing material may be 00012 // copied or duplicated or disclosed without the express, written 00013 // permission of University. UNIVERSITY EXPRESSLY DISCLAIMS ANY 00014 // AND ALL WARRANTIES CONCERNING THIS SOFTWARE AND DOCUMENTATION, 00015 // INCLUDING ANY WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 00016 // PARTICULAR PURPOSE, AND WARRANTIES OF PERFORMANCE, AND ANY WARRANTY 00017 // THAT MIGHT OTHERWISE ARISE FROM COURSE OF DEALING OR USAGE OF TRADE. 00018 // NO WARRANTY IS EITHER EXPRESS OR IMPLIED WITH RESPECT TO THE USE OF 00019 // THE SOFTWARE OR DOCUMENTATION. Under no circumstances shall 00020 // University be liable for incidental, special, indirect, direct or 00021 // consequential damages or loss of profits, interruption of business, 00022 // or related expenses which may arise from use of software or documentation, 00023 // including but not limited to those resulting from defects in software 00024 // and/or documentation, or loss or inaccuracy of data of any kind. 00025 // 00026 // Purpose : Specifies the Interface for Position Level Inverse Kinematics 00027 //----------------------------------------------------------------------------- 00028 // 00029 // $Revisions$ 00030 // 00031 // $Log: IKPosition.h,v $ 00032 // Revision 1.4 2005/03/14 21:53:34 pmarch 00033 // Added to namespace OSCAR and removed "RR" from front of class names. 00034 // 00035 // Revision 1.3 2004/07/23 22:20:29 chetan 00036 // Made changes to compile with Warning Level 4 and also under the latest C++ standard 00037 // 00038 // Revision 1.2 2004/05/26 20:15:33 pmarch 00039 // Added /defgroup and /ingroup tags. 00040 // 00041 // Revision 1.1 2003/08/18 21:04:02 mtisius 00042 // Initial commit of inverse kinematics 00043 // 00044 // 00046 #ifndef IKPosition_hpp 00047 #define IKPosition_hpp 00048 00049 #include "Base/Base.h" 00050 #include "Math/JointVector.h" 00051 #include "Math/Xform.h" 00052 #include "InverseKinematics/IKErrors.h" 00053 00055 namespace OSCAR { 00066 class IKPosition : public virtual Base 00067 { 00068 00069 public: 00070 00080 IKPosition(OSCARError& err = DUMMY_ERROR(noError), const String& name = String(" ")); 00081 00089 IKPosition(const IKPosition& rhs); 00090 00096 virtual ~IKPosition(); 00097 00110 virtual bool GetJointPosition(const Xform& handXform, JointVector& jointPositionSolution) = 0; 00111 00124 virtual bool GetJointPosition(const HandPose& handPose, JointVector& jointPositionSolution) = 0; 00125 00133 IKPosition& operator=(const IKPosition& ikp); 00134 }; 00135 00136 #include "InverseKinematics/IKPosition.ipp" 00137 00138 } 00139 #endif // IKPosition_hpp
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |