Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 4070

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mrpt::hwdrivers::CCameraSensor Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1hwdrivers.html">hwdrivers</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html">CCameraSensor</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::hwdrivers::CCameraSensor Class Reference<div class="ingroups"><a class="el" href="group__mrpt__hwdrivers__grp.html">[mrpt-hwdrivers]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::hwdrivers::CCameraSensor" --><!-- doxytag: inherits="mrpt::utils::CDebugOutputCapable,mrpt::hwdrivers::CGenericSensor" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The central class for camera grabbers in MRPT, implementing the "generic sensor" interface. </p>
<p>This class provides the user with a uniform interface to a variety of other classes which manage only one specific camera "driver" (opencv, ffmpeg, bumblebee,...)</p>
<p>Following the "generic sensor" interface, all the parameters must be passed int the form of a configuration file, which may be also formed on the fly (without being a real config file) as in this example:</p>
<div class="fragment"><pre class="fragment">   <a class="code" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#af64fe6e78c2de4094ed54c555ae67c55" title="Constructor The camera is not open until &quot;initialize&quot; is called.">CCameraSensor</a> myCam;
   <span class="keyword">const</span> <span class="keywordtype">string</span> str =
      <span class="stringliteral">&quot;[CONFIG]\n&quot;</span>
      <span class="stringliteral">&quot;grabber_type=opencv\n&quot;</span>;

   CConfigFileMemory    cfg(str);
   myCam.loadConfig(cfg,<span class="stringliteral">&quot;CONFIG&quot;</span>);
   myCam.initialize();
   CObservationPtr obs = myCam.getNextFrame();
</pre></div><p>Images can be retrieved through the normal "doProcess()" interface, or the specific method "getNextFrame()".</p>
<p>Some notes:</p>
<ul>
<li>"grabber_type" determines the class to use internally for image capturing (see below).</li>
<li>For the meaning of cv_camera_type and other parameters, refer to <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html" title="A class for grabing images from a &quot;OpenCV&quot;-compatible camera, or from an AVI video file...">mrpt::hwdrivers::CImageGrabber_OpenCV</a></li>
<li>For the parameters of dc1394 parameters, refer to generic IEEE1394 documentation, and to <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_options__dc1394.html" title="Options used when creating an dc1394 capture object All but the frame size, framerate, and color_coding can be changed dynamically by CImageGrabber_dc1394::changeCaptureOptions.">mrpt::hwdrivers::TCaptureOptions_dc1394</a>.</li>
<li>If all the existing parameter annoy you, try the function <a class="el" href="namespacemrpt_1_1hwdrivers.html#a9d0c0e836d0abcd45f253b11bc930641" title="Show to the user a list of possible camera drivers and creates and open the selected camera...">prepareVideoSourceFromUserSelection()</a>, which displays a GUI dialog to the user so he/she can choose the desired camera &amp; its parameters.</li>
</ul>
<p>Images can be saved in the "external storage" mode. See setPathForExternalImages and setExternalImageFormat. These methods are called automatically from rawlog-grabber.</p>
<p>These is the list of all accepted parameters:</p>
<div class="fragment"><pre class="fragment">  PARAMETERS IN THE <span class="stringliteral">&quot;.INI&quot;</span>-LIKE CONFIGURATION STRINGS:
 -------------------------------------------------------
   [supplied_section_name]
    <span class="comment">// Select one of the grabber implementations -----------------------</span>
    grabber_type       = opencv | dc1394 | bumblebee | ffmpeg | rawlog | swissranger | kinect

    <span class="comment">// Options for any grabber_type ------------------------------------</span>
    preview_decimation = 0     <span class="comment">// N&lt;=0 (or not present): No preview; N&gt;0, display 1 out of N captured frames.</span>
    preview_reduction  = 0     <span class="comment">// 0 or 1 (or not present): The preview shows the actual image. For 2,3,..., reduces the size of the image by that factor, only for the preview window.</span>
    capture_grayscale  = 0     <span class="comment">// 1:capture in grayscale, whenever the driver allows it. Default=0</span>
    <span class="comment">// For externaly stored images, the format of image files (default=jpg)</span>
    <span class="comment">//external_images_format  = jpg</span>

    <span class="comment">// For externaly stored images: whether to spawn independent threads to save the image files.</span>
    <span class="comment">//external_images_own_thread  = 1   // 0 or 1</span>

    <span class="comment">// If external_images_own_thread=1, this changes the number of threads to launch</span>
    <span class="comment">//  to save image files. The default is determined from mrpt::system::getNumberOfProcessors()</span>
    <span class="comment">//  and should be OK unless you want to save processor time for other things.</span>
    <span class="comment">//external_images_own_thread_count = 2    // &gt;=1</span>

    <span class="comment">// (Only when external_images_format=jpg): Optional parameter to set the JPEG compression quality:</span>
    <span class="comment">//external_images_jpeg_quality = 95    // [1-100]. Default: 95</span>

    <span class="comment">// Pose of the sensor on the robot:</span>
    pose_x=0            ; (meters)
    pose_y=0
    pose_z=0
    pose_yaw=0  ; (Angles in degrees)
    pose_pitch=0
    pose_roll=0

    <span class="comment">// Options for grabber_type= opencv  ------------------------------------</span>
    cv_camera_index  = 0       <span class="comment">// [opencv] Number of camera to open</span>
    cv_camera_type   = <a class="code" href="namespacemrpt_1_1hwdrivers.html#a27396db9daf1bae08f5c8efa20f1d3c4a1b51d1ab5dccdc3b1fee94958b32f355">CAMERA_CV_AUTODETECT</a>
    cv_frame_width   = 640     <span class="comment">// [opencv] Capture width (not present or set to 0 for default)</span>
    cv_frame_height  = 480     <span class="comment">// [opencv] Capture height (not present or set to 0 for default)</span>
    cv_fps           = 15      <span class="comment">// [opencv] IEEE1394 cams only: Capture FPS (not present or 0 for default)</span>
    cv_gain          = 0       <span class="comment">// [opencv] Camera gain, if available (nor present or set to 0 for default).</span>

    <span class="comment">// Options for grabber_type= dc1394 -------------------------------------</span>
    dc1394_camera_guid   = 0 | 0x11223344    <span class="comment">// 0 (or not present): the first camera; A hexadecimal number: The GUID of the camera to open</span>
    dc1394_camera_unit   = 0                            <span class="comment">// 0 (or not present): the first camera; 0,1,2,...: The unit number (within the given GUID) of the camera to open (Stereo cameras: 0 or 1)</span>
    dc1394_frame_width  = 640
    dc1394_frame_height = 480
    dc1394_framerate            = 15                                    <span class="comment">// eg: 7.5, 15, 30, 60, etc... For posibilities see mrpt::hwdrivers::TCaptureOptions_dc1394</span>
    dc1394_mode7         = -1                    <span class="comment">// -1: Ignore, i&gt;=0, set to MODE7_i</span>
    dc1394_color_coding = <a class="code" href="namespacemrpt_1_1hwdrivers.html#af504c946cd40eb9ae8464294429396eca862379c4d647e92a841940ec02f9f02c">COLOR_CODING_YUV422</a>   <span class="comment">// For posibilities see mrpt::hwdrivers::TCaptureOptions_dc1394</span>
    dc1394_shutter              = -1    <span class="comment">// A value, or -1 (or not present) for not to change this parameter in the camera</span>
    dc1394_gain                 = -1    <span class="comment">// A value, or -1 (or not present) for not to change this parameter in the camera</span>
    dc1394_gamma                        = -1    <span class="comment">// A value, or -1 (or not present) for not to change this parameter in the camera</span>
    dc1394_brightness   = -1    <span class="comment">// A value, or -1 (or not present) for not to change this parameter in the camera</span>
    dc1394_exposure             = -1    <span class="comment">// A value, or -1 (or not present) for not to change this parameter in the camera</span>
    dc1394_sharpness            = -1    <span class="comment">// A value, or -1 (or not present) for not to change this parameter in the camera</span>
    dc1394_white_balance        = -1    <span class="comment">// A value, or -1 (or not present) for not to change this parameter in the camera</span>

    <span class="comment">// Options for grabber_type= bumblebee ----------------------------------</span>
    bumblebee_camera_index  = 0       <span class="comment">// [bumblebee] Number of camera within the firewire bus to open (typically = 0)</span>
    bumblebee_frame_width   = 640     <span class="comment">// [bumblebee] Capture width (not present or set to 0 for default)</span>
    bumblebee_frame_height  = 480     <span class="comment">// [bumblebee] Capture height (not present or set to 0 for default)</span>
    bumblebee_fps           = 15      <span class="comment">// [bumblebee] Capture FPS (not present or 0 for default)</span>
    bumblebee_mono          = 0|1     <span class="comment">// [bumblebee] OPTIONAL: If this parameter is present, monocular (0:left, 1:right) images will be grabbed instead of stereo pairs.</span>
    bumblebee_get_rectified = 0|1     <span class="comment">// [bumblebee] Determines if the camera should grab rectified or raw images (1 is the default)</span>

    <span class="comment">// Options for grabber_type= ffmpeg -------------------------------------</span>
    ffmpeg_url             = rtsp:<span class="comment">//127.0.0.1      // [ffmpeg] The video file or IP camera to open</span>

    <span class="comment">// Options for grabber_type= rawlog -------------------------------------</span>
    rawlog_file            = mylog.rawlog          <span class="comment">// [rawlog] This can be used to simulate the capture of images already grabbed in the past in the form of a MRPT rawlog.</span>
    rawlog_camera_sensor_label  = CAMERA1          <span class="comment">// [rawlog] If this field is not present, all images found in the rawlog will be retrieved. Otherwise, only those observations with a matching sensor label.</span>

    <span class="comment">// Options for grabber_type= swissranger -------------------------------------</span>
    sr_use_usb         = <span class="keyword">true</span>           <span class="comment">// True: use USB, false: use ethernet</span>
    sr_IP              = 192.168.2.14    <span class="comment">// If sr_use_usb=false, the camera IP</span>
    sr_grab_grayscale  = <span class="keyword">true</span>            <span class="comment">// whether to save the intensity channel</span>
    sr_grab_3d         = <span class="keyword">true</span>            <span class="comment">// whether to save the 3D points</span>
    sr_grab_range      = <span class="keyword">true</span>            <span class="comment">// whether to save the range image</span>
    sr_grab_confidence = <span class="keyword">true</span>            <span class="comment">// whether to save the confidence image</span>

    <span class="comment">// Options for grabber_type= kinect -------------------------------------</span>
    kinect_grab_intensity  = <span class="keyword">true</span>            <span class="comment">// whether to save the intensity (RGB) channel</span>
    kinect_grab_3d         = <span class="keyword">true</span>            <span class="comment">// whether to save the 3D points</span>
    kinect_grab_range      = <span class="keyword">true</span>            <span class="comment">// whether to save the depth image</span>

    kinect_video_rgb       = <span class="keyword">true</span>            <span class="comment">// Optional. If set to &quot;false&quot;, the IR intensity channel will be grabbed instead of the color RGB channel.</span>
</pre></div><dl class="note"><dt><b>Note:</b></dt><dd>The execution rate (in rawlog-grabber) should be greater than the required capture FPS. </dd>
<dd>
In Linux you may need to execute "chmod 666 /dev/video1394/ * " and "chmod 666 /dev/raw1394" for allowing any user R/W access to firewire cameras. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html" title="A class for grabing images from a &quot;OpenCV&quot;-compatible camera, or from an AVI video file...">mrpt::hwdrivers::CImageGrabber_OpenCV</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber__dc1394.html" title="A class for grabing images from a IEEE1394 (Firewire) camera using the libdc1394-2 library...">mrpt::hwdrivers::CImageGrabber_dc1394</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>, <a class="el" href="namespacemrpt_1_1hwdrivers.html#a9d0c0e836d0abcd45f253b11bc930641" title="Show to the user a list of possible camera drivers and creates and open the selected camera...">prepareVideoSourceFromUserSelection</a> </dd></dl>
</div>
<p><code>#include &lt;<a class="el" href="_c_camera_sensor_8h_source.html">mrpt/hwdrivers/CCameraSensor.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::hwdrivers::CCameraSensor:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1hwdrivers_1_1_c_camera_sensor__inherit__graph.png" border="0" usemap="#mrpt_1_1hwdrivers_1_1_c_camera_sensor_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1hwdrivers_1_1_c_camera_sensor_inherit__map" id="mrpt_1_1hwdrivers_1_1_c_camera_sensor_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html" title="This base class provides a common printf&#45;like method to send debug information to std::cout..." alt="" coords="5,80,227,107"/><area shape="rect" id="node4" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide&#45;variety of sensors designed to be used in the application RawLogGrabbe..." alt="" coords="252,80,468,107"/><area shape="rect" id="node6" href="classmrpt_1_1utils_1_1_c_uncopiable.html" title="The base class of classes that cannot be copied: compile&#45;time errors will be issued on any copy opera..." alt="" coords="279,5,441,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a> { <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2caba0e2689514dd41d48164e021013549a44">ssInitializing</a> =  0, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cabaacc62e94572e3cd3b4b08caad173a489">ssWorking</a>, 
<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2caba8f76c8318736df85b6805ca460f8d262">ssError</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The current state of the sensor.  <a href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classstd_1_1multimap.html">std::multimap</a><br class="typebreak"/>
&lt; <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>, <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">TListObservations</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::pair<br class="typebreak"/>
&lt; <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>, <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a78712e0c40c510978fb8589774056ab3">TListObsPair</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#af64fe6e78c2de4094ed54c555ae67c55">CCameraSensor</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor The camera is not open until "initialize" is called.  <a href="#af64fe6e78c2de4094ed54c555ae67c55"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aef3bc305604a4b2a79cf5d8ea7d44a00">~CCameraSensor</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#aef3bc305604a4b2a79cf5d8ea7d44a00"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a90d45dc1304eb47ae8cf4a3dccfcd798">doProcess</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should be called periodically (at least at 1Hz to capture ALL the real-time data) It is thread safe, i.e.  <a href="#a90d45dc1304eb47ae8cf4a3dccfcd798"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_ptr.html">mrpt::slam::CObservationPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a4721fd1d8f6917b2a869847a7c99a555">getNextFrame</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the next frame from the video source, raising an exception on any error.  <a href="#a4721fd1d8f6917b2a869847a7c99a555"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ab6c7443ec4fc700a10d3f7840ef22f01">initialize</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to open the camera, after setting all the parameters with a call to loadConfig.  <a href="#ab6c7443ec4fc700a10d3f7840ef22f01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a5dba3f409352e10ebcf0e85224d70f7b">close</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the camera (if open).  <a href="#a5dba3f409352e10ebcf0e85224d70f7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a8cc198b85399850d439eda47d832bc8d">setPathForExternalImages</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;directory)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the path where to save off-rawlog image files (this class DOES take into account this path).  <a href="#a8cc198b85399850d439eda47d832bc8d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a0db6278d76210b2593f3bc366da75cf8">enableLaunchOwnThreadForSavingImages</a> (bool enable=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This must be called before <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ab6c7443ec4fc700a10d3f7840ef22f01" title="Tries to open the camera, after setting all the parameters with a call to loadConfig.">initialize()</a>  <a href="#a0db6278d76210b2593f3bc366da75cf8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1hwdrivers_1_1_t_sensor_class_id.html">mrpt::hwdrivers::TSensorClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#afbc26c93b989d1a0cc94c0c88d47cdba">GetRuntimeClass</a> () const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a0bd667caedc6a313d96c232bf75ba577">getState</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The current state of the sensor.  <a href="#a0bd667caedc6a313d96c232bf75ba577"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a8a05c268aef7ecada94a0014a2b294f7">getProcessRate</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af3cd061ca684e7ddf5949ed78fced7c9">getSensorLabel</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a044c1340c4b90957250f63fa89189036">setSensorLabel</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;sensorLabel)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a6f34c5b79a128d1cb6b47eaa987ecb51">loadConfig</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;configSource, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;section)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads the generic settings common to any sensor (See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>), then call to "loadConfig_sensorSpecific" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">This</td><td>method throws an exception with a descriptive message if some critical parameter is missing or has an invalid value. </td></tr>
  </table>
  </dd>
</dl>
 <a href="#a6f34c5b79a128d1cb6b47eaa987ecb51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a34b2a73792cbe176b28c932646bba0ed">getObservations</a> (<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">TListObservations</a> &amp;lstObjects)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of enqueued objects, emptying it (thread-safe).  <a href="#a34b2a73792cbe176b28c932646bba0ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aff4b208b901763557196b9326901c582">setExternalImageFormat</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;ext)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the extension ("jpg","gif","png",...) that determines the format of images saved externally The default is "jpg".  <a href="#aff4b208b901763557196b9326901c582"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aca05f7ee991ee112b5e9f8f289a9ee94">setExternalImageJPEGQuality</a> (const unsigned int quality)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The quality of JPEG compression, when external images is enabled and the format is "jpg".  <a href="#aca05f7ee991ee112b5e9f8f289a9ee94"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a9d5aecec9f302feede271c9f1425a323">getExternalImageJPEGQuality</a> () const </td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html#ab78281b5d70d6e295a8527a10fea66de">printf_debug</a> (const char *frmt,...)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a formated text to "debugOut" if not NULL, or to cout otherwise.  <a href="#ab78281b5d70d6e295a8527a10fea66de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a640e1b953865c3d2e881bbd2c1a81428">registerClass</a> (const <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_sensor_class_id.html">TSensorClassId</a> *pNewClass)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a class into the internal list of "CGenericSensor" descendents.  <a href="#a640e1b953865c3d2e881bbd2c1a81428"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html">CGenericSensor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ab652d017225fff3050a607f4461b0484">createSensor</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;className)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a sensor by a name of the class.  <a href="#ab652d017225fff3050a607f4461b0484"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacemrpt_1_1hwdrivers.html#a71aef48ea8dd23e43c706cc1a3ae0e74">CGenericSensorPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aff4e4450e420bf60a2487ab0cff91907">createSensorPtr</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;className)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Just like createSensor, but returning a smart pointer to the newly created sensor object.  <a href="#aff4e4450e420bf60a2487ab0cff91907"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aea35e70d970fffef23f5385cf1615fd7">loadConfig_sensorSpecific</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;configSource, const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;iniSection)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads specific configuration for the device from a given source of configuration parameters, for example, an ".ini" file, loading from the section "[iniSection]" (see <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html" title="This class allows loading and storing values and vectors of different types from a configuration text...">utils::CConfigFileBase</a> and derived classes) See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html" title="The central class for camera grabbers in MRPT, implementing the &quot;generic sensor&quot; interface.">hwdrivers::CCameraSensor</a> for the possible parameters.  <a href="#aea35e70d970fffef23f5385cf1615fd7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ad3a33098f257c379ee6bd1bca24e45f9">appendObservations</a> (const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt; &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method must be called by derived classes to enqueue a new observation in the list to be returned by getObservations.  <a href="#ad3a33098f257c379ee6bd1bca24e45f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a03bf6784838d6418f4fe485933a1ab0c">appendObservation</a> (const <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ad3a33098f257c379ee6bd1bca24e45f9" title="This method must be called by derived classes to enqueue a new observation in the list to be returned...">appendObservations()</a> but for just one observation.  <a href="#a03bf6784838d6418f4fe485933a1ab0c"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">poses::CPose3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a77829688dace4b277b1bea69d535498b">m_sensorPose</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aaf671984b5749d78b7339a36ed57d85a">m_grabber_type</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be "opencv",...  <a href="#aaf671984b5749d78b7339a36ed57d85a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a0fa82c35731262bd2b36c981e66888f3">m_capture_grayscale</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#acfc86c9f3c6dd29213a966251c2374ab">m_cv_camera_index</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a9fd6a8707ba952838a11301cbd3220fc">m_cv_camera_type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_c_v_options.html">mrpt::hwdrivers::TCaptureCVOptions</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ae7db737ba5edce56c040874e9721024e">m_cv_options</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a7397593c8b4b534cdcfc3d5eb9827a79">m_dc1394_camera_guid</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#afef592f7d45f823474bcbfc062785ca3">m_dc1394_camera_unit</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_options__dc1394.html">mrpt::hwdrivers::TCaptureOptions_dc1394</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aa2adad8a0d3dda91848420dc99eb4382">m_dc1394_options</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aee3e4b361bee84a661086b37911ba492">m_preview_decimation</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ab400bbffed31c9801dede18ba0cefa8a">m_preview_reduction</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a78850d2a829f9ea8119b79d736ee4a9e">m_bumblebee_camera_index</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_options__bumblebee.html">mrpt::hwdrivers::TCaptureOptions_bumblebee</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a83abcfdfd6cd94570d9d3a35abf2e0fb">m_bumblebee_options</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aeecca3fd7cba706a4fc52d1f68d9f676">m_bumblebee_monocam</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a873ca07aa1b01829a03efd25688256f2">m_svs_camera_index</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_options___s_v_s.html">mrpt::hwdrivers::TCaptureOptions_SVS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a7bb1b9465a5a7c35c33e8c4f358f8650">m_svs_options</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a902ec02bcd95e0f0a109f0f9b9868951">m_ffmpeg_url</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a469c2768cc14ae9473615767b85c89e1">m_rawlog_file</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#afecf08da5e85a5afd8f2bdc2907537ac">m_rawlog_camera_sensor_label</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a707b6287faa95954136cdad29b6200cf">m_rawlog_detected_images_dir</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a5fd11474e01f63b10e66638ced17dda2">m_sr_open_from_usb</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">true: USB, false: ETH  <a href="#a5fd11474e01f63b10e66638ced17dda2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a35af572877c5fa85fd4ae333fe868b8a">m_sr_ip_address</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a68f1e42367f23acb9b149bb307ad1ebd">m_sr_save_3d</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the 3D point cloud (default: true)  <a href="#a68f1e42367f23acb9b149bb307ad1ebd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aa53445cc2e7ca37313439974463c13d2">m_sr_save_range_img</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the 2D range image (default: true)  <a href="#aa53445cc2e7ca37313439974463c13d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a72e631ed218dcddd2fc736081ec48ac6">m_sr_save_intensity_img</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the 2D intensity image (default: true)  <a href="#a72e631ed218dcddd2fc736081ec48ac6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a06765ebed30fdb8f11fbbddb150b1d5c">m_sr_save_confidence</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the estimated confidence 2D image (default: false)  <a href="#a06765ebed30fdb8f11fbbddb150b1d5c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a268b17a06e4a26aa56a8f7f69be5d645">m_kinect_save_3d</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the 3D point cloud (default: true)  <a href="#a268b17a06e4a26aa56a8f7f69be5d645"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a1c5b6fce23344c96cd641a695d67630f">m_kinect_save_range_img</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the 2D range image (default: true)  <a href="#a1c5b6fce23344c96cd641a695d67630f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a9a5845424a5e9082ae3530894544773b">m_kinect_save_intensity_img</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the 2D intensity image (default: true)  <a href="#a9a5845424a5e9082ae3530894544773b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a62916d64050351f6e089cc14dcd3bec2">m_kinect_video_rgb</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save RGB or IR channels (default:true)  <a href="#a62916d64050351f6e089cc14dcd3bec2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a651913cf3d2f7f168f77f31c89ec1627">m_external_images_own_thread</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to launch independent thread.  <a href="#a651913cf3d2f7f168f77f31c89ec1627"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a564a6c2bc7f1baaea9a9d90112a7b376">m_grab_decimation_counter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Used when "m_grab_decimation" is enabled.  <a href="#a564a6c2bc7f1baaea9a9d90112a7b376"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ab3e8a003783acd03bfd64716640fd67c">m_state</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a06fe84426b813b9c1966c12bb69e6ee6">m_path_for_external_images</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The path where to save off-rawlog images: empty means save images embedded in the rawlog.  <a href="#a06fe84426b813b9c1966c12bb69e6ee6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a7d153c5247b0180b6b9df5054d67b183">m_external_images_format</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The extension ("jpg","gif","png",...) that determines the format of images saved externally.  <a href="#a7d153c5247b0180b6b9df5054d67b183"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aeac331931fce4890793cd7f1b5f6eb3e">m_external_images_jpeg_quality</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">For JPEG images, the quality (default=95%).  <a href="#aeac331931fce4890793cd7f1b5f6eb3e"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Common settings to any sensor, loaded in "loadConfig"</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a77094b791971e8f42b94de34f4adb0f7">m_process_rate</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>.  <a href="#a77094b791971e8f42b94de34f4adb0f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a6f35448579bd4d27cd4f4685b31a8cc0">m_max_queue_len</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>.  <a href="#a6f35448579bd4d27cd4f4685b31a8cc0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a587daaab2cb302eb4cc72eb1396d5f21">m_grab_decimation</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If set to N&gt;=2, only 1 out of N observations will be saved to m_objList.  <a href="#a587daaab2cb302eb4cc72eb1396d5f21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#accd4de8daeb5966c191fbc62a5d90355">m_sensorLabel</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>.  <a href="#accd4de8daeb5966c191fbc62a5d90355"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html">CImageGrabber_OpenCV</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a634f637cd8810294b592930475ec7e89">m_cap_cv</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The OpenCV capture object.  <a href="#a634f637cd8810294b592930475ec7e89"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber__dc1394.html">CImageGrabber_dc1394</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a760ce1620646ac7d784b4710ce8baad7">m_cap_dc1394</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The dc1394 capture object.  <a href="#a760ce1620646ac7d784b4710ce8baad7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_stereo_grabber___bumblebee.html">CStereoGrabber_Bumblebee</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aee5988a0f6ccf173b3c7770a1be4a566">m_cap_bumblebee</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The bumblebee capture object.  <a href="#aee5988a0f6ccf173b3c7770a1be4a566"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_stereo_grabber___s_v_s.html">mrpt::hwdrivers::CStereoGrabber_SVS</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#af1173a63aec70ae01ce962fc192a819d">m_cap_svs</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The svs capture object.  <a href="#af1173a63aec70ae01ce962fc192a819d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_f_f_m_p_e_g___input_stream.html">CFFMPEG_InputStream</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ac60eb66e87c342e898721368c4474258">m_cap_ffmpeg</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The FFMPEG capture object.  <a href="#ac60eb66e87c342e898721368c4474258"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_file_g_z_input_stream.html">mrpt::utils::CFileGZInputStream</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a4fec049d337e4a6c6a3c1c13629a9537">m_cap_rawlog</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The input file for rawlogs.  <a href="#a4fec049d337e4a6c6a3c1c13629a9537"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_swiss_ranger3_d_camera.html">CSwissRanger3DCamera</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a0576e846b0e1760eee761b58f64f5fe2">m_cap_swissranger</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">SR 3D camera object.  <a href="#a0576e846b0e1760eee761b58f64f5fe2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_kinect.html">CKinect</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a84e548f1d9200a557fdcfe6ca018b50b">m_cap_kinect</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Kinect camera object.  <a href="#a84e548f1d9200a557fdcfe6ca018b50b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a2d77c04689ffa443122a738aafd3ced0">m_camera_grab_decimator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aa93688ec44f664bacb93b4399ce58c00">m_camera_grab_decimator_counter</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a74b0f7f41dd5fd3efd83d51a65b8b83d">m_preview_counter</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1gui_1_1_c_display_window_ptr.html">mrpt::gui::CDisplayWindowPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ad83967a4046bfbf4ea39793858768abd">m_preview_win1</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1gui_1_1_c_display_window_ptr.html">mrpt::gui::CDisplayWindowPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a7d57a5e445b60474fee113189cc2d6e9">m_preview_win2</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Normally we'll use only one window, but for stereo images we'll use two of them.  <a href="#a7d57a5e445b60474fee113189cc2d6e9"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Stuff related to working threads to save images to disk</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a2a04bc9c3cefa535b6fbdd4f0dcbdbbc">m_external_image_saver_count</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of working threads. Default:1, set to 2 in quad cores.  <a href="#a2a04bc9c3cefa535b6fbdd4f0dcbdbbc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a><br class="typebreak"/>
&lt; <a class="el" href="structmrpt_1_1system_1_1_t_thread_handle.html">mrpt::system::TThreadHandle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a8203b2017d89347342e53bc0e3a3a32b">m_threadImagesSaver</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a5d6216f668acfe011f135a5d1086117f">m_threadImagesSaverShouldEnd</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ac6724623cf19ade429af86cc3542d794">m_csToSaveList</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The critical section for m_toSaveList.  <a href="#ac6724623cf19ade429af86cc3542d794"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">TListObservations</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a607dca476c97c764e8902043be7e6c5c">m_toSaveList</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The queues of objects to be returned by getObservations, one for each working thread.  <a href="#a607dca476c97c764e8902043be7e6c5c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a874d5c17db728ef90544c22ea8441e2c">thread_save_images</a> (unsigned int my_working_thread_index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread to save images to files.  <a href="#a874d5c17db728ef90544c22ea8441e2c"></a><br/></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="af237beee1de7f3e5733e305921695b30"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::TListObservations" ref="af237beee1de7f3e5733e305921695b30" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstd_1_1multimap.html">std::multimap</a>&lt; <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>, <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt; <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">mrpt::hwdrivers::CGenericSensor::TListObservations</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00084">84</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a78712e0c40c510978fb8589774056ab3"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::TListObsPair" ref="a78712e0c40c510978fb8589774056ab3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::pair&lt; <a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a>, <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt; <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a78712e0c40c510978fb8589774056ab3">mrpt::hwdrivers::CGenericSensor::TListObsPair</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00085">85</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a44262a8f1ffcc87871fbd717d3fc2cab"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::TSensorState" ref="a44262a8f1ffcc87871fbd717d3fc2cab" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">mrpt::hwdrivers::CGenericSensor::TSensorState</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The current state of the sensor. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a0bd667caedc6a313d96c232bf75ba577" title="The current state of the sensor.">CGenericSensor::getState</a> </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a44262a8f1ffcc87871fbd717d3fc2caba0e2689514dd41d48164e021013549a44"></a><!-- doxytag: member="ssInitializing" ref="a44262a8f1ffcc87871fbd717d3fc2caba0e2689514dd41d48164e021013549a44" args="" -->ssInitializing</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a44262a8f1ffcc87871fbd717d3fc2cabaacc62e94572e3cd3b4b08caad173a489"></a><!-- doxytag: member="ssWorking" ref="a44262a8f1ffcc87871fbd717d3fc2cabaacc62e94572e3cd3b4b08caad173a489" args="" -->ssWorking</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a44262a8f1ffcc87871fbd717d3fc2caba8f76c8318736df85b6805ca460f8d262"></a><!-- doxytag: member="ssError" ref="a44262a8f1ffcc87871fbd717d3fc2caba8f76c8318736df85b6805ca460f8d262" args="" -->ssError</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00090">90</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af64fe6e78c2de4094ed54c555ae67c55"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::CCameraSensor" ref="af64fe6e78c2de4094ed54c555ae67c55" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::hwdrivers::CCameraSensor::CCameraSensor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor The camera is not open until "initialize" is called. </p>

</div>
</div>
<a class="anchor" id="aef3bc305604a4b2a79cf5d8ea7d44a00"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::~CCameraSensor" ref="aef3bc305604a4b2a79cf5d8ea7d44a00" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::hwdrivers::CCameraSensor::~CCameraSensor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a03bf6784838d6418f4fe485933a1ab0c"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::appendObservation" ref="a03bf6784838d6418f4fe485933a1ab0c" args="(const mrpt::utils::CSerializablePtr &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::appendObservation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td><code> [inline, protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ad3a33098f257c379ee6bd1bca24e45f9" title="This method must be called by derived classes to enqueue a new observation in the list to be returned...">appendObservations()</a> but for just one observation. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00155">155</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad3a33098f257c379ee6bd1bca24e45f9"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::appendObservations" ref="ad3a33098f257c379ee6bd1bca24e45f9" args="(const std::vector&lt; mrpt::utils::CSerializablePtr &gt; &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::appendObservations </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="structmrpt_1_1utils_1_1_c_serializable_ptr.html">mrpt::utils::CSerializablePtr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method must be called by derived classes to enqueue a new observation in the list to be returned by getObservations. </p>
<p>Passed objects must be created in dynamic memory and a smart pointer passed. Example of creation: </p>
<div class="fragment"><pre class="fragment">                                CObservationGPSPtr  o = CObservationGPSPtr( <span class="keyword">new</span> CObservationGPS() );
                                o-&gt; .... <span class="comment">// Set data</span>
                                <a class="code" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a03bf6784838d6418f4fe485933a1ab0c" title="Like appendObservations() but for just one observation.">appendObservation</a>(o);
</pre></div><p> If several observations are passed at once in the vector, they'll be considered as a block regarding the grabbing decimation factor. </p>

</div>
</div>
<a class="anchor" id="a5dba3f409352e10ebcf0e85224d70f7b"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::close" ref="a5dba3f409352e10ebcf0e85224d70f7b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CCameraSensor::close </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close the camera (if open). </p>
<p>This method is called automatically on destruction. </p>

</div>
</div>
<a class="anchor" id="ab652d017225fff3050a607f4461b0484"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::createSensor" ref="ab652d017225fff3050a607f4461b0484" args="(const std::string &amp;className)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html">CGenericSensor</a>* mrpt::hwdrivers::CGenericSensor::createSensor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>className</em></td><td>)</td>
          <td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a sensor by a name of the class. </p>
<p>Typically the user may want to create a smart pointer around the returned pointer, whis is made with: </p>
<div class="fragment"><pre class="fragment">   <a class="code" href="namespacemrpt_1_1hwdrivers.html#a71aef48ea8dd23e43c706cc1a3ae0e74">CGenericSensorPtr</a> sensor = <a class="code" href="namespacemrpt_1_1hwdrivers.html#a71aef48ea8dd23e43c706cc1a3ae0e74">CGenericSensorPtr</a>( <a class="code" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ab652d017225fff3050a607f4461b0484" title="Creates a sensor by a name of the class.">CGenericSensor::createSensor</a>(<span class="stringliteral">&quot;XXX&quot;</span>) );
</pre></div> <dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to a new class, or NULL if class name is unknown. </dd></dl>

</div>
</div>
<a class="anchor" id="aff4e4450e420bf60a2487ab0cff91907"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::createSensorPtr" ref="aff4e4450e420bf60a2487ab0cff91907" args="(const std::string &amp;className)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="namespacemrpt_1_1hwdrivers.html#a71aef48ea8dd23e43c706cc1a3ae0e74">CGenericSensorPtr</a> mrpt::hwdrivers::CGenericSensor::createSensorPtr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>className</em></td><td>)</td>
          <td><code> [inline, static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Just like createSensor, but returning a smart pointer to the newly created sensor object. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00188">188</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a90d45dc1304eb47ae8cf4a3dccfcd798"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::doProcess" ref="a90d45dc1304eb47ae8cf4a3dccfcd798" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CCameraSensor::doProcess </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method should be called periodically (at least at 1Hz to capture ALL the real-time data) It is thread safe, i.e. </p>
<p>you can call this from one thread, then to other methods from other threads. </p>

<p>Implements <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a4f02ae5d7a345819f2521f72b633ab51">mrpt::hwdrivers::CGenericSensor</a>.</p>

</div>
</div>
<a class="anchor" id="a0db6278d76210b2593f3bc366da75cf8"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::enableLaunchOwnThreadForSavingImages" ref="a0db6278d76210b2593f3bc366da75cf8" args="(bool enable=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CCameraSensor::enableLaunchOwnThreadForSavingImages </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em> = <code>true</code></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This must be called before <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ab6c7443ec4fc700a10d3f7840ef22f01" title="Tries to open the camera, after setting all the parameters with a call to loadConfig.">initialize()</a> </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00222">222</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9d5aecec9f302feede271c9f1425a323"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::getExternalImageJPEGQuality" ref="a9d5aecec9f302feede271c9f1425a323" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int mrpt::hwdrivers::CGenericSensor::getExternalImageJPEGQuality </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00241">241</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4721fd1d8f6917b2a869847a7c99a555"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::getNextFrame" ref="a4721fd1d8f6917b2a869847a7c99a555" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1slam_1_1_c_observation_ptr.html">mrpt::slam::CObservationPtr</a> mrpt::hwdrivers::CCameraSensor::getNextFrame </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves the next frame from the video source, raising an exception on any error. </p>
<p>Note: The returned observations can be of one of these classes (you can use <a class="el" href="_c_object_8h.html#a794ea7da2e1f7eb092d140ca5091e982" title="Evaluates to true if the given pointer to an object (derived from mrpt::utils::CSerializable) is of t...">IS_CLASS(obs,CObservationXXX)</a> to determine it):</p>
<ul>
<li><a class="el" href="classmrpt_1_1slam_1_1_c_observation_image.html" title="Declares a class derived from &quot;CObservation&quot; that encapsules an image from a camera, whose relative pose to robot is also stored.">mrpt::slam::CObservationImage</a> (For normal cameras or video sources)</li>
<li><a class="el" href="classmrpt_1_1slam_1_1_c_observation_stereo_images.html" title="Observation class for either a pair of left+right or left+disparity images from a stereo camera...">mrpt::slam::CObservationStereoImages</a> (For stereo cameras)</li>
<li><a class="el" href="classmrpt_1_1slam_1_1_c_observation3_d_range_scan.html" title="Declares a class derived from &quot;CObservation&quot; that encapsules a 3D range scan measurement (e...">mrpt::slam::CObservation3DRangeScan</a> (For 3D cameras) </li>
</ul>

</div>
</div>
<a class="anchor" id="a34b2a73792cbe176b28c932646bba0ed"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::getObservations" ref="a34b2a73792cbe176b28c932646bba0ed" args="(TListObservations &amp;lstObjects)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::getObservations </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">TListObservations</a> &amp;&#160;</td>
          <td class="paramname"><em>lstObjects</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a list of enqueued objects, emptying it (thread-safe). </p>
<p>The objects must be freed by the invoker. </p>

</div>
</div>
<a class="anchor" id="a8a05c268aef7ecada94a0014a2b294f7"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::getProcessRate" ref="a8a05c268aef7ecada94a0014a2b294f7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::hwdrivers::CGenericSensor::getProcessRate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00100">100</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="afbc26c93b989d1a0cc94c0c88d47cdba"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::GetRuntimeClass" ref="afbc26c93b989d1a0cc94c0c88d47cdba" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_sensor_class_id.html">mrpt::hwdrivers::TSensorClassId</a>* mrpt::hwdrivers::CGenericSensor::GetRuntimeClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af3cd061ca684e7ddf5949ed78fced7c9"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::getSensorLabel" ref="af3cd061ca684e7ddf5949ed78fced7c9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> mrpt::hwdrivers::CGenericSensor::getSensorLabel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00102">102</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0bd667caedc6a313d96c232bf75ba577"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::getState" ref="a0bd667caedc6a313d96c232bf75ba577" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a> mrpt::hwdrivers::CGenericSensor::getState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The current state of the sensor. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00098">98</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab6c7443ec4fc700a10d3f7840ef22f01"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::initialize" ref="ab6c7443ec4fc700a10d3f7840ef22f01" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::hwdrivers::CCameraSensor::initialize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tries to open the camera, after setting all the parameters with a call to loadConfig. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">This</td><td>method must throw an exception with a descriptive message if some critical error is found. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a775782a8fef4c5cd11265024431ed8c3">mrpt::hwdrivers::CGenericSensor</a>.</p>

</div>
</div>
<a class="anchor" id="a6f34c5b79a128d1cb6b47eaa987ecb51"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::loadConfig" ref="a6f34c5b79a128d1cb6b47eaa987ecb51" args="(const mrpt::utils::CConfigFileBase &amp;configSource, const std::string &amp;section)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::loadConfig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;&#160;</td>
          <td class="paramname"><em>configSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>section</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Loads the generic settings common to any sensor (See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>), then call to "loadConfig_sensorSpecific" </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">This</td><td>method throws an exception with a descriptive message if some critical parameter is missing or has an invalid value. </td></tr>
  </table>
  </dd>
</dl>
</p>

</div>
</div>
<a class="anchor" id="aea35e70d970fffef23f5385cf1615fd7"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::loadConfig_sensorSpecific" ref="aea35e70d970fffef23f5385cf1615fd7" args="(const mrpt::utils::CConfigFileBase &amp;configSource, const std::string &amp;iniSection)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CCameraSensor::loadConfig_sensorSpecific </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html">mrpt::utils::CConfigFileBase</a> &amp;&#160;</td>
          <td class="paramname"><em>configSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>iniSection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Loads specific configuration for the device from a given source of configuration parameters, for example, an ".ini" file, loading from the section "[iniSection]" (see <a class="el" href="classmrpt_1_1utils_1_1_c_config_file_base.html" title="This class allows loading and storing values and vectors of different types from a configuration text...">utils::CConfigFileBase</a> and derived classes) See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html" title="The central class for camera grabbers in MRPT, implementing the &quot;generic sensor&quot; interface.">hwdrivers::CCameraSensor</a> for the possible parameters. </p>

<p>Implements <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ac867f9cb46c72b4386a5488f171f178f">mrpt::hwdrivers::CGenericSensor</a>.</p>

</div>
</div>
<a class="anchor" id="ab78281b5d70d6e295a8527a10fea66de"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::printf_debug" ref="ab78281b5d70d6e295a8527a10fea66de" args="(const char *frmt,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::utils::CDebugOutputCapable::printf_debug </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>frmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sends a formated text to "debugOut" if not NULL, or to cout otherwise. </p>

<p>Referenced by <a class="el" href="_c_levenberg_marquardt_8h_source.html#l00098">mrpt::math::CLevenbergMarquardtTempl::execute()</a>.</p>

</div>
</div>
<a class="anchor" id="a640e1b953865c3d2e881bbd2c1a81428"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::registerClass" ref="a640e1b953865c3d2e881bbd2c1a81428" args="(const TSensorClassId *pNewClass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::hwdrivers::CGenericSensor::registerClass </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_sensor_class_id.html">TSensorClassId</a> *&#160;</td>
          <td class="paramname"><em>pNewClass</em></td><td>)</td>
          <td><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Register a class into the internal list of "CGenericSensor" descendents. </p>
<p>Used internally in the macros DEFINE_GENERIC_SENSOR, etc...</p>
<p>Can be used as "CGenericSensor::registerClass( SENSOR_CLASS_ID(CMySensor) );" if building custom sensors outside mrpt libraries in user code. </p>

</div>
</div>
<a class="anchor" id="aff4b208b901763557196b9326901c582"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::setExternalImageFormat" ref="aff4b208b901763557196b9326901c582" args="(const std::string &amp;ext)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::setExternalImageFormat </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>ext</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the extension ("jpg","gif","png",...) that determines the format of images saved externally The default is "jpg". </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#afa55ff06dbf360c8f631d371d6ebe35d" title="Set the path where to save off-rawlog image files (will be ignored in those sensors where this is not...">setPathForExternalImages</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aca05f7ee991ee112b5e9f8f289a9ee94" title="The quality of JPEG compression, when external images is enabled and the format is &quot;jpg&quot;...">setExternalImageJPEGQuality</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00233">233</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aca05f7ee991ee112b5e9f8f289a9ee94"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::setExternalImageJPEGQuality" ref="aca05f7ee991ee112b5e9f8f289a9ee94" args="(const unsigned int quality)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::setExternalImageJPEGQuality </td>
          <td>(</td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>quality</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The quality of JPEG compression, when external images is enabled and the format is "jpg". </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aff4b208b901763557196b9326901c582" title="Set the extension (&quot;jpg&quot;,&quot;gif&quot;,&quot;png&quot;,...) that determines the format of images saved externally The d...">setExternalImageFormat</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00238">238</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8cc198b85399850d439eda47d832bc8d"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::setPathForExternalImages" ref="a8cc198b85399850d439eda47d832bc8d" args="(const std::string &amp;directory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::hwdrivers::CCameraSensor::setPathForExternalImages </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>directory</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the path where to save off-rawlog image files (this class DOES take into account this path). </p>
<p>An empty string (the default value at construction) means to save images embedded in the rawlog, instead of on separate files. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>If the directory doesn't exists and cannot be created. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#afa55ff06dbf360c8f631d371d6ebe35d">mrpt::hwdrivers::CGenericSensor</a>.</p>

</div>
</div>
<a class="anchor" id="a044c1340c4b90957250f63fa89189036"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::setSensorLabel" ref="a044c1340c4b90957250f63fa89189036" args="(const std::string &amp;sensorLabel)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CGenericSensor::setSensorLabel </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>sensorLabel</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00103">103</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a874d5c17db728ef90544c22ea8441e2c"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::thread_save_images" ref="a874d5c17db728ef90544c22ea8441e2c" args="(unsigned int my_working_thread_index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::hwdrivers::CCameraSensor::thread_save_images </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>my_working_thread_index</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Thread to save images to files. </p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a78850d2a829f9ea8119b79d736ee4a9e"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_bumblebee_camera_index" ref="a78850d2a829f9ea8119b79d736ee4a9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a78850d2a829f9ea8119b79d736ee4a9e">mrpt::hwdrivers::CCameraSensor::m_bumblebee_camera_index</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00239">239</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeecca3fd7cba706a4fc52d1f68d9f676"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_bumblebee_monocam" ref="aeecca3fd7cba706a4fc52d1f68d9f676" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aeecca3fd7cba706a4fc52d1f68d9f676">mrpt::hwdrivers::CCameraSensor::m_bumblebee_monocam</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00241">241</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a83abcfdfd6cd94570d9d3a35abf2e0fb"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_bumblebee_options" ref="a83abcfdfd6cd94570d9d3a35abf2e0fb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_options__bumblebee.html">mrpt::hwdrivers::TCaptureOptions_bumblebee</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a83abcfdfd6cd94570d9d3a35abf2e0fb">mrpt::hwdrivers::CCameraSensor::m_bumblebee_options</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00240">240</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2d77c04689ffa443122a738aafd3ced0"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_camera_grab_decimator" ref="a2d77c04689ffa443122a738aafd3ced0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a2d77c04689ffa443122a738aafd3ced0">mrpt::hwdrivers::CCameraSensor::m_camera_grab_decimator</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00285">285</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa93688ec44f664bacb93b4399ce58c00"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_camera_grab_decimator_counter" ref="aa93688ec44f664bacb93b4399ce58c00" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aa93688ec44f664bacb93b4399ce58c00">mrpt::hwdrivers::CCameraSensor::m_camera_grab_decimator_counter</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00286">286</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aee5988a0f6ccf173b3c7770a1be4a566"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cap_bumblebee" ref="aee5988a0f6ccf173b3c7770a1be4a566" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_stereo_grabber___bumblebee.html">CStereoGrabber_Bumblebee</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aee5988a0f6ccf173b3c7770a1be4a566">mrpt::hwdrivers::CCameraSensor::m_cap_bumblebee</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The bumblebee capture object. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00277">277</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a634f637cd8810294b592930475ec7e89"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cap_cv" ref="a634f637cd8810294b592930475ec7e89" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html">CImageGrabber_OpenCV</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a634f637cd8810294b592930475ec7e89">mrpt::hwdrivers::CCameraSensor::m_cap_cv</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The OpenCV capture object. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00275">275</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a760ce1620646ac7d784b4710ce8baad7"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cap_dc1394" ref="a760ce1620646ac7d784b4710ce8baad7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber__dc1394.html">CImageGrabber_dc1394</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a760ce1620646ac7d784b4710ce8baad7">mrpt::hwdrivers::CCameraSensor::m_cap_dc1394</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The dc1394 capture object. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00276">276</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac60eb66e87c342e898721368c4474258"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cap_ffmpeg" ref="ac60eb66e87c342e898721368c4474258" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_f_f_m_p_e_g___input_stream.html">CFFMPEG_InputStream</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ac60eb66e87c342e898721368c4474258">mrpt::hwdrivers::CCameraSensor::m_cap_ffmpeg</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The FFMPEG capture object. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00279">279</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a84e548f1d9200a557fdcfe6ca018b50b"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cap_kinect" ref="a84e548f1d9200a557fdcfe6ca018b50b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_kinect.html">CKinect</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a84e548f1d9200a557fdcfe6ca018b50b">mrpt::hwdrivers::CCameraSensor::m_cap_kinect</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Kinect camera object. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00282">282</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4fec049d337e4a6c6a3c1c13629a9537"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cap_rawlog" ref="a4fec049d337e4a6c6a3c1c13629a9537" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1utils_1_1_c_file_g_z_input_stream.html">mrpt::utils::CFileGZInputStream</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a4fec049d337e4a6c6a3c1c13629a9537">mrpt::hwdrivers::CCameraSensor::m_cap_rawlog</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The input file for rawlogs. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00280">280</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="af1173a63aec70ae01ce962fc192a819d"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cap_svs" ref="af1173a63aec70ae01ce962fc192a819d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_stereo_grabber___s_v_s.html">mrpt::hwdrivers::CStereoGrabber_SVS</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#af1173a63aec70ae01ce962fc192a819d">mrpt::hwdrivers::CCameraSensor::m_cap_svs</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The svs capture object. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00278">278</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0576e846b0e1760eee761b58f64f5fe2"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cap_swissranger" ref="a0576e846b0e1760eee761b58f64f5fe2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_swiss_ranger3_d_camera.html">CSwissRanger3DCamera</a>* <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a0576e846b0e1760eee761b58f64f5fe2">mrpt::hwdrivers::CCameraSensor::m_cap_swissranger</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>SR 3D camera object. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00281">281</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0fa82c35731262bd2b36c981e66888f3"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_capture_grayscale" ref="a0fa82c35731262bd2b36c981e66888f3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a0fa82c35731262bd2b36c981e66888f3">mrpt::hwdrivers::CCameraSensor::m_capture_grayscale</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00228">228</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac6724623cf19ade429af86cc3542d794"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_csToSaveList" ref="ac6724623cf19ade429af86cc3542d794" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">mrpt::synch::CCriticalSection</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ac6724623cf19ade429af86cc3542d794">mrpt::hwdrivers::CCameraSensor::m_csToSaveList</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The critical section for m_toSaveList. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00297">297</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="acfc86c9f3c6dd29213a966251c2374ab"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cv_camera_index" ref="acfc86c9f3c6dd29213a966251c2374ab" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#acfc86c9f3c6dd29213a966251c2374ab">mrpt::hwdrivers::CCameraSensor::m_cv_camera_index</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00229">229</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9fd6a8707ba952838a11301cbd3220fc"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cv_camera_type" ref="a9fd6a8707ba952838a11301cbd3220fc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a9fd6a8707ba952838a11301cbd3220fc">mrpt::hwdrivers::CCameraSensor::m_cv_camera_type</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00230">230</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae7db737ba5edce56c040874e9721024e"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_cv_options" ref="ae7db737ba5edce56c040874e9721024e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_c_v_options.html">mrpt::hwdrivers::TCaptureCVOptions</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ae7db737ba5edce56c040874e9721024e">mrpt::hwdrivers::CCameraSensor::m_cv_options</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00231">231</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7397593c8b4b534cdcfc3d5eb9827a79"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_dc1394_camera_guid" ref="a7397593c8b4b534cdcfc3d5eb9827a79" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a7397593c8b4b534cdcfc3d5eb9827a79">mrpt::hwdrivers::CCameraSensor::m_dc1394_camera_guid</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00233">233</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="afef592f7d45f823474bcbfc062785ca3"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_dc1394_camera_unit" ref="afef592f7d45f823474bcbfc062785ca3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#afef592f7d45f823474bcbfc062785ca3">mrpt::hwdrivers::CCameraSensor::m_dc1394_camera_unit</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00234">234</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa2adad8a0d3dda91848420dc99eb4382"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_dc1394_options" ref="aa2adad8a0d3dda91848420dc99eb4382" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_options__dc1394.html">mrpt::hwdrivers::TCaptureOptions_dc1394</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aa2adad8a0d3dda91848420dc99eb4382">mrpt::hwdrivers::CCameraSensor::m_dc1394_options</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00235">235</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2a04bc9c3cefa535b6fbdd4f0dcbdbbc"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_external_image_saver_count" ref="a2a04bc9c3cefa535b6fbdd4f0dcbdbbc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a2a04bc9c3cefa535b6fbdd4f0dcbdbbc">mrpt::hwdrivers::CCameraSensor::m_external_image_saver_count</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of working threads. Default:1, set to 2 in quad cores. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00293">293</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d153c5247b0180b6b9df5054d67b183"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_external_images_format" ref="a7d153c5247b0180b6b9df5054d67b183" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a7d153c5247b0180b6b9df5054d67b183">mrpt::hwdrivers::CGenericSensor::m_external_images_format</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The extension ("jpg","gif","png",...) that determines the format of images saved externally. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#afa55ff06dbf360c8f631d371d6ebe35d" title="Set the path where to save off-rawlog image files (will be ignored in those sensors where this is not...">setPathForExternalImages</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00139">139</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeac331931fce4890793cd7f1b5f6eb3e"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_external_images_jpeg_quality" ref="aeac331931fce4890793cd7f1b5f6eb3e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#aeac331931fce4890793cd7f1b5f6eb3e">mrpt::hwdrivers::CGenericSensor::m_external_images_jpeg_quality</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>For JPEG images, the quality (default=95%). </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00140">140</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a651913cf3d2f7f168f77f31c89ec1627"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_external_images_own_thread" ref="a651913cf3d2f7f168f77f31c89ec1627" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a651913cf3d2f7f168f77f31c89ec1627">mrpt::hwdrivers::CCameraSensor::m_external_images_own_thread</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Whether to launch independent thread. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00264">264</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a902ec02bcd95e0f0a109f0f9b9868951"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_ffmpeg_url" ref="a902ec02bcd95e0f0a109f0f9b9868951" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a902ec02bcd95e0f0a109f0f9b9868951">mrpt::hwdrivers::CCameraSensor::m_ffmpeg_url</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00246">246</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a587daaab2cb302eb4cc72eb1396d5f21"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_grab_decimation" ref="a587daaab2cb302eb4cc72eb1396d5f21" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a587daaab2cb302eb4cc72eb1396d5f21">mrpt::hwdrivers::CGenericSensor::m_grab_decimation</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If set to N&gt;=2, only 1 out of N observations will be saved to m_objList. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00127">127</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a564a6c2bc7f1baaea9a9d90112a7b376"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_grab_decimation_counter" ref="a564a6c2bc7f1baaea9a9d90112a7b376" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a564a6c2bc7f1baaea9a9d90112a7b376">mrpt::hwdrivers::CGenericSensor::m_grab_decimation_counter</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Used when "m_grab_decimation" is enabled. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00132">132</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaf671984b5749d78b7339a36ed57d85a"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_grabber_type" ref="aaf671984b5749d78b7339a36ed57d85a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aaf671984b5749d78b7339a36ed57d85a">mrpt::hwdrivers::CCameraSensor::m_grabber_type</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Can be "opencv",... </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00227">227</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a268b17a06e4a26aa56a8f7f69be5d645"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_kinect_save_3d" ref="a268b17a06e4a26aa56a8f7f69be5d645" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a268b17a06e4a26aa56a8f7f69be5d645">mrpt::hwdrivers::CCameraSensor::m_kinect_save_3d</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save the 3D point cloud (default: true) </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00259">259</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9a5845424a5e9082ae3530894544773b"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_kinect_save_intensity_img" ref="a9a5845424a5e9082ae3530894544773b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a9a5845424a5e9082ae3530894544773b">mrpt::hwdrivers::CCameraSensor::m_kinect_save_intensity_img</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save the 2D intensity image (default: true) </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00261">261</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1c5b6fce23344c96cd641a695d67630f"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_kinect_save_range_img" ref="a1c5b6fce23344c96cd641a695d67630f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a1c5b6fce23344c96cd641a695d67630f">mrpt::hwdrivers::CCameraSensor::m_kinect_save_range_img</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save the 2D range image (default: true) </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00260">260</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a62916d64050351f6e089cc14dcd3bec2"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_kinect_video_rgb" ref="a62916d64050351f6e089cc14dcd3bec2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a62916d64050351f6e089cc14dcd3bec2">mrpt::hwdrivers::CCameraSensor::m_kinect_video_rgb</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save RGB or IR channels (default:true) </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00262">262</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6f35448579bd4d27cd4f4685b31a8cc0"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_max_queue_len" ref="a6f35448579bd4d27cd4f4685b31a8cc0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a6f35448579bd4d27cd4f4685b31a8cc0">mrpt::hwdrivers::CGenericSensor::m_max_queue_len</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00126">126</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a06fe84426b813b9c1966c12bb69e6ee6"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_path_for_external_images" ref="a06fe84426b813b9c1966c12bb69e6ee6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a06fe84426b813b9c1966c12bb69e6ee6">mrpt::hwdrivers::CGenericSensor::m_path_for_external_images</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The path where to save off-rawlog images: empty means save images embedded in the rawlog. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00138">138</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a74b0f7f41dd5fd3efd83d51a65b8b83d"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_preview_counter" ref="a74b0f7f41dd5fd3efd83d51a65b8b83d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a74b0f7f41dd5fd3efd83d51a65b8b83d">mrpt::hwdrivers::CCameraSensor::m_preview_counter</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00288">288</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aee3e4b361bee84a661086b37911ba492"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_preview_decimation" ref="aee3e4b361bee84a661086b37911ba492" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aee3e4b361bee84a661086b37911ba492">mrpt::hwdrivers::CCameraSensor::m_preview_decimation</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00236">236</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab400bbffed31c9801dede18ba0cefa8a"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_preview_reduction" ref="ab400bbffed31c9801dede18ba0cefa8a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ab400bbffed31c9801dede18ba0cefa8a">mrpt::hwdrivers::CCameraSensor::m_preview_reduction</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00237">237</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad83967a4046bfbf4ea39793858768abd"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_preview_win1" ref="ad83967a4046bfbf4ea39793858768abd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1gui_1_1_c_display_window_ptr.html">mrpt::gui::CDisplayWindowPtr</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#ad83967a4046bfbf4ea39793858768abd">mrpt::hwdrivers::CCameraSensor::m_preview_win1</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00289">289</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d57a5e445b60474fee113189cc2d6e9"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_preview_win2" ref="a7d57a5e445b60474fee113189cc2d6e9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1gui_1_1_c_display_window_ptr.html">mrpt::gui::CDisplayWindowPtr</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a7d57a5e445b60474fee113189cc2d6e9">mrpt::hwdrivers::CCameraSensor::m_preview_win2</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Normally we'll use only one window, but for stereo images we'll use two of them. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00289">289</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a77094b791971e8f42b94de34f4adb0f7"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_process_rate" ref="a77094b791971e8f42b94de34f4adb0f7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a77094b791971e8f42b94de34f4adb0f7">mrpt::hwdrivers::CGenericSensor::m_process_rate</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00125">125</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="afecf08da5e85a5afd8f2bdc2907537ac"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_rawlog_camera_sensor_label" ref="afecf08da5e85a5afd8f2bdc2907537ac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#afecf08da5e85a5afd8f2bdc2907537ac">mrpt::hwdrivers::CCameraSensor::m_rawlog_camera_sensor_label</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00249">249</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a707b6287faa95954136cdad29b6200cf"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_rawlog_detected_images_dir" ref="a707b6287faa95954136cdad29b6200cf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a707b6287faa95954136cdad29b6200cf">mrpt::hwdrivers::CCameraSensor::m_rawlog_detected_images_dir</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00250">250</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a469c2768cc14ae9473615767b85c89e1"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_rawlog_file" ref="a469c2768cc14ae9473615767b85c89e1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a469c2768cc14ae9473615767b85c89e1">mrpt::hwdrivers::CCameraSensor::m_rawlog_file</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00248">248</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="accd4de8daeb5966c191fbc62a5d90355"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_sensorLabel" ref="accd4de8daeb5966c191fbc62a5d90355" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#accd4de8daeb5966c191fbc62a5d90355">mrpt::hwdrivers::CGenericSensor::m_sensorLabel</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>See <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html" title="A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...">CGenericSensor</a>. </p>

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00128">128</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a77829688dace4b277b1bea69d535498b"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_sensorPose" ref="a77829688dace4b277b1bea69d535498b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">poses::CPose3D</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a77829688dace4b277b1bea69d535498b">mrpt::hwdrivers::CCameraSensor::m_sensorPose</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00222">222</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a35af572877c5fa85fd4ae333fe868b8a"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_sr_ip_address" ref="a35af572877c5fa85fd4ae333fe868b8a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1string.html">std::string</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a35af572877c5fa85fd4ae333fe868b8a">mrpt::hwdrivers::CCameraSensor::m_sr_ip_address</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00253">253</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5fd11474e01f63b10e66638ced17dda2"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_sr_open_from_usb" ref="a5fd11474e01f63b10e66638ced17dda2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a5fd11474e01f63b10e66638ced17dda2">mrpt::hwdrivers::CCameraSensor::m_sr_open_from_usb</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>true: USB, false: ETH </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00252">252</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a68f1e42367f23acb9b149bb307ad1ebd"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_sr_save_3d" ref="a68f1e42367f23acb9b149bb307ad1ebd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a68f1e42367f23acb9b149bb307ad1ebd">mrpt::hwdrivers::CCameraSensor::m_sr_save_3d</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save the 3D point cloud (default: true) </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00254">254</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a06765ebed30fdb8f11fbbddb150b1d5c"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_sr_save_confidence" ref="a06765ebed30fdb8f11fbbddb150b1d5c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a06765ebed30fdb8f11fbbddb150b1d5c">mrpt::hwdrivers::CCameraSensor::m_sr_save_confidence</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save the estimated confidence 2D image (default: false) </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00257">257</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a72e631ed218dcddd2fc736081ec48ac6"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_sr_save_intensity_img" ref="a72e631ed218dcddd2fc736081ec48ac6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a72e631ed218dcddd2fc736081ec48ac6">mrpt::hwdrivers::CCameraSensor::m_sr_save_intensity_img</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save the 2D intensity image (default: true) </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00256">256</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa53445cc2e7ca37313439974463c13d2"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_sr_save_range_img" ref="aa53445cc2e7ca37313439974463c13d2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#aa53445cc2e7ca37313439974463c13d2">mrpt::hwdrivers::CCameraSensor::m_sr_save_range_img</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save the 2D range image (default: true) </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00255">255</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab3e8a003783acd03bfd64716640fd67c"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_state" ref="ab3e8a003783acd03bfd64716640fd67c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#a44262a8f1ffcc87871fbd717d3fc2cab">TSensorState</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#ab3e8a003783acd03bfd64716640fd67c">mrpt::hwdrivers::CGenericSensor::m_state</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_generic_sensor_8h_source.html#l00134">134</a> of file <a class="el" href="_c_generic_sensor_8h_source.html">CGenericSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a873ca07aa1b01829a03efd25688256f2"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_svs_camera_index" ref="a873ca07aa1b01829a03efd25688256f2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a873ca07aa1b01829a03efd25688256f2">mrpt::hwdrivers::CCameraSensor::m_svs_camera_index</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00243">243</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7bb1b9465a5a7c35c33e8c4f358f8650"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_svs_options" ref="a7bb1b9465a5a7c35c33e8c4f358f8650" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_options___s_v_s.html">mrpt::hwdrivers::TCaptureOptions_SVS</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a7bb1b9465a5a7c35c33e8c4f358f8650">mrpt::hwdrivers::CCameraSensor::m_svs_options</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00244">244</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8203b2017d89347342e53bc0e3a3a32b"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_threadImagesSaver" ref="a8203b2017d89347342e53bc0e3a3a32b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;<a class="el" href="structmrpt_1_1system_1_1_t_thread_handle.html">mrpt::system::TThreadHandle</a>&gt; <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a8203b2017d89347342e53bc0e3a3a32b">mrpt::hwdrivers::CCameraSensor::m_threadImagesSaver</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00294">294</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5d6216f668acfe011f135a5d1086117f"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_threadImagesSaverShouldEnd" ref="a5d6216f668acfe011f135a5d1086117f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a5d6216f668acfe011f135a5d1086117f">mrpt::hwdrivers::CCameraSensor::m_threadImagesSaverShouldEnd</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00296">296</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
<a class="anchor" id="a607dca476c97c764e8902043be7e6c5c"></a><!-- doxytag: member="mrpt::hwdrivers::CCameraSensor::m_toSaveList" ref="a607dca476c97c764e8902043be7e6c5c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt;<a class="el" href="classmrpt_1_1hwdrivers_1_1_c_generic_sensor.html#af237beee1de7f3e5733e305921695b30">TListObservations</a>&gt; <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html#a607dca476c97c764e8902043be7e6c5c">mrpt::hwdrivers::CCameraSensor::m_toSaveList</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The queues of objects to be returned by getObservations, one for each working thread. </p>

<p>Definition at line <a class="el" href="_c_camera_sensor_8h_source.html#l00298">298</a> of file <a class="el" href="_c_camera_sensor_8h_source.html">CCameraSensor.h</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>