00001 #ifndef IPSA_SOPHYSICSTRIMESH_H 00002 #define IPSA_SOPHYSICSTRIMESH_H 00003 /* 00004 * Copyright (c) 2007, 2008, 2009, University of Karlsruhe (for members see AUTHORS file) 00005 * Copyright (c) 2011, Karlsruhe Institute of Technology (for members see AUTHORS file) 00006 * 00007 * ISC License 00008 * 00009 * Permission to use, copy, modify, and/or distribute this software for any 00010 * purpose with or without fee is hereby granted, provided that the above 00011 * copyright notice and this permission notice appear in all copies. 00012 * 00013 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 00014 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 00015 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 00016 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 00017 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00018 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 00019 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00020 */ 00021 00026 #include "IPSA.h" 00027 #include "SoPhysics.h" 00028 00029 class IPSA_IMPORT_EXPORT SoPhysicsTriMesh : public SoPhysics 00030 { 00031 SO_KIT_HEADER(SoPhysicsTriMesh); 00032 00033 public: 00034 // Constructor 00035 SoPhysicsTriMesh(const SbString& nodeName = ""); 00036 00037 SoBaseKit* copy(SbBool copyConnections) const; 00038 static void initClass(); 00039 00040 protected: 00041 virtual void updateOIPosition(); 00042 virtual dMass getInitialMass(); 00043 00044 private: 00045 dReal matrix_dblbuff[ 16 * 2 ]; // 1st & 2nd matrix buffer 00046 bool matrixbuf0; // If false: use 1st matrix buffer, otherwise 2nd 00047 bool dblbfilled; // If false: double buffer is empty 00048 }; 00049 00050 #endif
Generated on Sat Mar 10 20:00:14 2012 for IPSA by 1.5.8 |