00001 #ifndef IPSA_SOJOINTBALL_H 00002 #define IPSA_SOJOINTBALL_H 00003 /* 00004 * Copyright (c) 2004, University of Braunschweig (for members see AUTHORS file) 00005 * Copyright (c) 2007, 2008, 2009, University of Karlsruhe (for members see AUTHORS file) 00006 * Copyright (c) 2011, Karlsruhe Institute of Technology (for members see AUTHORS file) 00007 * 00008 * ISC License 00009 * 00010 * Permission to use, copy, modify, and/or distribute this software for any 00011 * purpose with or without fee is hereby granted, provided that the above 00012 * copyright notice and this permission notice appear in all copies. 00013 * 00014 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 00015 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 00016 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 00017 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 00018 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00019 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 00020 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00021 */ 00022 00027 #include "IPSA.h" 00028 #include "SoJoint.h" 00029 00030 #include <Inventor/fields/SoSFVec3f.h> 00031 00032 class IPSA_IMPORT_EXPORT SoJointBall : public SoJoint 00033 { 00034 SO_KIT_HEADER(SoJointBall); 00035 00036 public: 00037 // Constructor 00038 SoJointBall(const SbString& BodyOne = "", const SbString& BodyTwo = "", const SbString& nodeName = ""); 00039 00040 static void initClass(); 00041 00042 virtual void setParams(); 00043 00044 SoSFVec3f soAnchor; 00045 SoSFFloat CFM; 00046 SoSFFloat ERP; 00047 00048 protected: 00049 virtual void createOdeJoint(const dWorldID soWorldId); 00050 virtual void updateOdeJointProperties(const SbMatrix& modelMatrix); 00051 virtual SoNode* createVisualisation(); 00052 }; 00053 00054 #endif 00055
Generated on Sat Mar 10 20:00:14 2012 for IPSA by 1.5.8 |