Documentation


massSpringNode.h

Go to the documentation of this file.
00001 
00002 //                            massSpringNode.h                                //
00004 //ff03
00005 
00006 #ifndef MASS_SPRING_NODE_H
00007 #define MASS_SPRING_NODE_H
00008 
00009 /*#include <X3DTK/private/X3D_X3DBoundedObject.h>
00010 #include <X3DTK/private/X3D_X3DChildNode.h>*/
00011 #include <animal/engine/massSpringEngine.h>
00012 #include <animal/engine/AnimalEngineNode.h>
00013 
00014 namespace X3DTK
00015 {
00016 
00018   typedef animal::MassSpringEngine< X3DTK::MFFloat, //Masses
00019   X3DTK::MFVec3f, //Velocities
00020   X3DTK::MFFloat, //SpringStiffness
00021   X3DTK::MFInt32, //IndexedSprings
00022   X3DTK::MFVec3f, //Points
00023   float> AMassSpringEngine;
00024 
00025   namespace X3D
00026   {
00027 
00029 
00030     //class MassSpringNode : public EngineNode, public AMassSpringEngine
00031     class MassSpringNode : public AnimalEngineNode<AMassSpringEngine>//, public X4DNode
00032     {
00033     public:
00035       MassSpringNode();
00036 
00038       ~MassSpringNode();
00039 
00042       virtual void init();
00043       virtual void close();
00044 
00046       virtual void updateBoundingBox(){}
00047 
00050       inline Coordinate* getCoordinate() const { return _coordinate; }
00051       void declareOutputs( X3D_X3DNodeList& list ); 
00052       MFVec3f* getCoords();
00053       MFVec3f* getVelocities();
00054       MFFloat* getInvMasses();
00055 
00056     private:
00058       Coordinate* _coordinate;
00060       MFFloat _invMassesX3D;
00062       MFVec3f _velocitiesX3D;
00064       MFFloat _stiffnessesX3D;
00066       MFFloat _restLengthsX3D;
00068       MFInt32 _linksX3D;
00069 
00070       //   /// The integration method to apply
00071       //   SFInt32 _integrationMethod;
00072 
00074       //AMassSpringEngine * _massSpringEngine;
00075 
00077       //SFFloat _dampingRatio;
00078 
00080       //SFFloat _exponentialDamping;
00081 
00083       //SFVec3f _gravity;
00084     };
00085 
00086   }// X3D
00087 }//X3DTK
00088 
00089 #endif
00090 

Generated on Thu Dec 23 13:52:25 2004 by doxygen 1.3.6