SensingCartesian.cpp
Go to the documentation of this file.00001 /* ============================================================ 00002 * 00003 * This file is a part of RCI project 00004 * 00005 * Copyright (C) 2011 by Arne Nordmann <anordman at cor-lab dot uni-bielefeld dot de> 00006 * 00007 * This file may be licensed under the terms of the 00008 * GNU Lesser General Public License Version 3 (the ``LGPL''), 00009 * or (at your option) any later version. 00010 * 00011 * Software distributed under the License is distributed 00012 * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either 00013 * express or implied. See the LGPL for the specific language 00014 * governing rights and limitations. 00015 * 00016 * You should have received a copy of the LGPL along with this 00017 * program. If not, go to http://www.gnu.org/licenses/lgpl.html 00018 * or write to the Free Software Foundation, Inc., 00019 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00020 * 00021 * The development of this software was supported by: 00022 * CoR-Lab, Research Institute for Cognition and Robotics 00023 * Bielefeld University 00024 * 00025 * ============================================================ */ 00026 00027 #include "rci/SensingCartesian.h" 00028 00029 namespace rci { 00030 00031 OrientationPtr OrientationSensing::getOrientation() const { 00032 if (!orientation) { 00033 throw std::runtime_error("No orientation given yet"); 00034 } 00035 return this->orientation; 00036 } 00037 00038 void OrientationSensing::updateOrientation(OrientationPtr orient) { 00039 this->orientation = orient; 00040 } 00041 00042 OrientationSensing::OrientationSensing() : 00043 orientation() { 00044 } 00045 00046 OrientationSensing::~OrientationSensing() { 00047 } 00048 00049 TranslationPtr TranslationSensing::getTranslation() const { 00050 if (!translation) { 00051 throw std::runtime_error("No translation given yet"); 00052 } 00053 return this->translation; 00054 } 00055 00056 void TranslationSensing::updateTranslation(TranslationPtr translat) { 00057 this->translation = translat; 00058 } 00059 00060 TranslationSensing::TranslationSensing() : 00061 translation() { 00062 } 00063 00064 TranslationSensing::~TranslationSensing() { 00065 } 00066 00067 PosePtr PoseSensing::getPose() const { 00068 if (!translation) { 00069 throw std::runtime_error("Pose incomplete; no translation given yet."); 00070 } 00071 if (!orientation) { 00072 throw std::runtime_error("Pose incomplete; no orientation given yet."); 00073 } 00074 return PosePtr(new Pose(translation, orientation)); 00075 } 00076 00077 void PoseSensing::updatePose(PosePtr pose) { 00078 if (pose == NULL) { 00079 throw std::runtime_error("[PoseSensing::updatePose] Got null pointer!"); 00080 } 00081 this->updateTranslation(pose->getTranslation()); 00082 this->updateOrientation(pose->getOrientation()); 00083 } 00084 00085 void PoseSensing::updatePose(TranslationPtr transl, OrientationPtr orient) { 00086 this->updateTranslation(transl); 00087 this->updateOrientation(orient); 00088 } 00089 00090 PoseSensing::PoseSensing() : 00091 TranslationSensing(), OrientationSensing() { 00092 } 00093 00094 PoseSensing::~PoseSensing() { 00095 } 00096 00097 TranslationalVelocityPtr TranslationalVelocitySensing::getTranslationalVelocity() const { 00098 if (!veltranslational) { 00099 throw std::runtime_error("No translational velocity given yet"); 00100 } 00101 return this->veltranslational; 00102 } 00103 00104 void TranslationalVelocitySensing::updateTranslationalVelocity( 00105 TranslationalVelocityPtr tvel) { 00106 this->veltranslational = tvel; 00107 } 00108 00109 TranslationalVelocitySensing::TranslationalVelocitySensing() : 00110 veltranslational() { 00111 } 00112 00113 TranslationalVelocitySensing::~TranslationalVelocitySensing() { 00114 } 00115 00116 RotationalVelocityPtr RotationalVelocitySensing::getRotationalVelocity() const { 00117 if (!velrotational) { 00118 throw std::runtime_error("No rotational velocity given yet"); 00119 } 00120 return this->velrotational; 00121 } 00122 00123 void RotationalVelocitySensing::updateRotationalVelocity( 00124 RotationalVelocityPtr rvel) { 00125 this->velrotational = rvel; 00126 } 00127 00128 RotationalVelocitySensing::RotationalVelocitySensing() : 00129 velrotational() { 00130 } 00131 00132 RotationalVelocitySensing::~RotationalVelocitySensing() { 00133 } 00134 00135 void CartesianVelocitySensing::updateVelocity(TranslationalVelocityPtr transvel, 00136 RotationalVelocityPtr rotvel) { 00137 this->updateTranslationalVelocity(transvel); 00138 this->updateRotationalVelocity(rotvel); 00139 } 00140 00141 VelocityPtr CartesianVelocitySensing::getVelocity() { 00142 throw std::runtime_error("Not yet implemented"); 00143 } 00144 00145 CartesianVelocitySensing::CartesianVelocitySensing() : 00146 TranslationalVelocitySensing(), RotationalVelocitySensing() { 00147 } 00148 00149 CartesianVelocitySensing::~CartesianVelocitySensing() { 00150 } 00151 00152 TranslationalAccelerationPtr TranslationalAccelerationSensing::getTranslationalAcceleration() const { 00153 if (!acctranslational) { 00154 throw std::runtime_error("No translational acceleration given yet"); 00155 } 00156 return this->acctranslational; 00157 } 00158 00159 void TranslationalAccelerationSensing::updateTranslationalAcceleration( 00160 TranslationalAccelerationPtr tacc) { 00161 this->acctranslational = tacc; 00162 } 00163 00164 TranslationalAccelerationSensing::TranslationalAccelerationSensing() : 00165 acctranslational() { 00166 } 00167 00168 TranslationalAccelerationSensing::~TranslationalAccelerationSensing() { 00169 } 00170 00171 RotationalAccelerationPtr RotationalAccelerationSensing::getRotationalAcceleration() const { 00172 if (!accrotational) { 00173 throw std::runtime_error("No rotational acceleration given yet"); 00174 } 00175 return this->accrotational; 00176 } 00177 00178 void RotationalAccelerationSensing::updateRotationalAcceleration( 00179 RotationalAccelerationPtr racc) { 00180 this->accrotational = racc; 00181 } 00182 00183 RotationalAccelerationSensing::RotationalAccelerationSensing() : 00184 accrotational() { 00185 } 00186 00187 RotationalAccelerationSensing::~RotationalAccelerationSensing() { 00188 } 00189 00190 void CartesianAccelerationSensing::updateAcceleration( 00191 TranslationalAccelerationPtr transacc, 00192 RotationalAccelerationPtr rotacc) { 00193 this->updateTranslationalAcceleration(transacc); 00194 this->updateRotationalAcceleration(rotacc); 00195 } 00196 00197 AccelerationPtr CartesianAccelerationSensing::getAcceleration() { 00198 throw std::runtime_error("Not yet implemented"); 00199 } 00200 00201 CartesianAccelerationSensing::CartesianAccelerationSensing() : 00202 TranslationalAccelerationSensing(), RotationalAccelerationSensing() { 00203 } 00204 00205 CartesianAccelerationSensing::~CartesianAccelerationSensing() { 00206 } 00207 00208 }
Generated on Thu Aug 2 14:02:47 2012 for RCI by 1.6.3