00001 #ifndef IPSA_SOCOLLISIONSHAPEPLANE_H 00002 #define IPSA_SOCOLLISIONSHAPEPLANE_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 "SoCollisionShape.h" 00029 00030 #include <Inventor/fields/SoSFVec3f.h> 00031 #include <Inventor/fields/SoSFFloat.h> 00032 00033 00034 class IPSA_IMPORT_EXPORT SoCollisionShapePlane : public SoCollisionShape 00035 { 00036 SO_KIT_HEADER(SoCollisionShapePlane); 00037 00038 public: 00039 // Constructor 00040 SoCollisionShapePlane(const SbString& nodeName = ""); 00041 00042 virtual SoCollisionShape* copy(SbBool copyConnections) const; 00043 static void initClass(); 00044 00045 virtual void updateGeomPosition(const SbMatrix& mm); 00046 00047 // Plane 00048 SoSFVec3f normal; 00049 SoSFFloat distance; 00050 00051 protected: 00052 virtual dGeomID cGeom(const SbMatrix& mm); 00053 virtual void updateVisualisationAndOdeProperties(); 00054 }; 00055 00056 #endif
Generated on Sat Mar 10 20:00:14 2012 for IPSA by 1.5.8 |