00001 // rdCMC_Orientation.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // Copyright (c) 2006 Stanford University and Realistic Dynamics, Inc. 00004 // Contributors: Frank C. Anderson, Ph.D. 00005 // 00006 // Permission is hereby granted, free of charge, to any person obtaining 00007 // a copy of this software and associated documentation files (the 00008 // "Software"), to deal in the Software without restriction, including 00009 // without limitation the rights to use, copy, modify, merge, publish, 00010 // distribute, sublicense, and/or sell copies of the Software, and to 00011 // permit persons to whom the Software is furnished to do so, subject 00012 // to the following conditions: 00013 // 00014 // The above copyright notice and this permission notice shall be included 00015 // in all copies or substantial portions of the Software. 00016 // 00017 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00018 // EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 00019 // WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 00020 // PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS, 00021 // CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 00022 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 00023 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH 00024 // THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00025 // 00026 // This software, originally developed by Realistic Dynamics, Inc., was 00027 // transferred to Stanford University on November 1, 2006. 00028 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00029 #ifndef __rdCMCOrientation_h__ 00030 #define __rdCMCOrientation_h__ 00031 00032 00033 //============================================================================ 00034 // INCLUDE 00035 //============================================================================ 00036 #include "rdCMCDLL.h" 00037 #include <OpenSim/Simulation/Model/Model.h> 00038 #include "rdCMC_Task.h" 00039 00040 00041 //============================================================================= 00042 //============================================================================= 00050 class RDCMC_API rdCMC_Orientation : public rdCMC_Task 00051 { 00052 00053 //============================================================================= 00054 // DATA 00055 //============================================================================= 00056 public: 00057 00058 00059 protected: 00060 00061 00062 //============================================================================= 00063 // METHODS 00064 //============================================================================= 00065 //-------------------------------------------------------------------------- 00066 // CONSTRUCTION 00067 //-------------------------------------------------------------------------- 00068 public: 00069 rdCMC_Orientation(); 00070 virtual ~rdCMC_Orientation(); 00071 void setNull(); 00072 00073 //-------------------------------------------------------------------------- 00074 // GET AND SET 00075 //-------------------------------------------------------------------------- 00076 00077 //-------------------------------------------------------------------------- 00078 // COMPUTATIONS 00079 //-------------------------------------------------------------------------- 00080 virtual void computeDesiredAccelerations(); 00081 virtual void computeJacobian(); 00082 virtual void computeEffectiveMassMatrix(); 00083 00084 00085 //============================================================================= 00086 }; // END of class rdCMC_Orientation 00087 //============================================================================= 00088 //============================================================================= 00089 00090 #endif // __rdCMCOrientation_h__ 00091 00092