Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef MULTIBEAMSENSOR_H_
00014 #define MULTIBEAMSENSOR_H_
00015
00016 #include "VirtualCamera.h"
00017
00018 class MultibeamSensor
00019 {
00020 struct Remap
00021 {
00022 int pixel1, pixel2;
00023 double weight1, weight2;
00024 double distort;
00025 };
00026
00027 public:
00028 std::vector<VirtualCamera> vcams;
00029 std::string name, parentLinkName;
00030 int numpixels, camPixels, nCams;
00031 double range, initAngle, finalAngle, angleIncr, camsFOV;
00032 osg::ref_ptr<osg::Geode> geode;
00033 std::vector<Remap> remapVector;
00034 osg::Node *trackNode;
00035
00036 MultibeamSensor(osg::Group *uwsim_root, std::string name, std::string parentName, osg::Node *trackNode, double initAngle, double finalAngle,
00037 double alpha, double range, unsigned int mask, int visible,unsigned int ARMask);
00038 void preCalcTable();
00039 int getTFTransform(tf::Pose & pose, std::string & parent);
00040 };
00041
00042 #endif