Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef PRESSURESENSOR_H_
00014 #define PRESSURESENSOR_H_
00015
00016 #include <osg/Vec3d>
00017 #include <osg/Node>
00018 #include <osg/Matrix>
00019 #include <osg/Group>
00020
00021 #include <boost/random.hpp>
00022
00023 class PressureSensor
00024 {
00025
00026 public:
00027 std::string name;
00028
00035 PressureSensor(std::string sensor_name, osg::Node *parent, osg::Matrixd rMl, double std = 0) :
00036 name(sensor_name), parent_(parent), rMl_(rMl), std_(std)
00037 {
00038 node_ = new osg::Node();
00039 parent->asGroup()->addChild(node_);
00040 }
00041
00042 double getMeasurement();
00043
00044 double getStandardDeviation()
00045 {
00046 return std_;
00047 }
00048
00049 virtual ~PressureSensor()
00050 {
00051 }
00052
00053 private:
00054 osg::ref_ptr<osg::Node> parent_;
00055 osg::Matrixd rMl_;
00056 double std_;
00057 osg::ref_ptr<osg::Node> node_;
00058
00059 boost::mt19937 rng_;
00060 };
00061
00062 #endif