<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.11">
  <compounddef id="classgtsam_1_1NoiseModelFactor1" kind="class" language="C++" prot="public" abstract="yes">
    <compoundname>gtsam::NoiseModelFactor1</compoundname>
    <basecompoundref refid="classgtsam_1_1NoiseModelFactor" prot="public" virt="non-virtual">gtsam::NoiseModelFactor</basecompoundref>
    <includes refid="NonlinearFactor_8h" local="no">NonlinearFactor.h</includes>
    <templateparamlist>
      <param>
        <type>class VALUE</type>
      </param>
    </templateparamlist>
      <sectiondef kind="public-type">
      <memberdef kind="typedef" id="classgtsam_1_1NoiseModelFactor1_1a37d19c88478e96cf1dfc065229734ece" prot="public" static="no">
        <type>VALUE</type>
        <definition>typedef VALUE gtsam::NoiseModelFactor1&lt; VALUE &gt;::X</definition>
        <argsstring></argsstring>
        <name>X</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="281" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="281" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="protected-type">
      <memberdef kind="typedef" id="classgtsam_1_1NoiseModelFactor1_1a8ed3a4fbfc8843df8a2f21a805e93ef0" prot="protected" static="no">
        <type><ref refid="classgtsam_1_1NoiseModelFactor" kindref="compound">NoiseModelFactor</ref></type>
        <definition>typedef NoiseModelFactor gtsam::NoiseModelFactor1&lt; VALUE &gt;::Base</definition>
        <argsstring></argsstring>
        <name>Base</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="285" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="285" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="classgtsam_1_1NoiseModelFactor1_1a22cb5d89cc9ec25e2d94004917d890fc" prot="protected" static="no">
        <type><ref refid="classgtsam_1_1NoiseModelFactor1" kindref="compound">NoiseModelFactor1</ref>&lt; VALUE &gt;</type>
        <definition>typedef NoiseModelFactor1&lt;VALUE&gt; gtsam::NoiseModelFactor1&lt; VALUE &gt;::This</definition>
        <argsstring></argsstring>
        <name>This</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="286" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="286" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="friend">
      <memberdef kind="friend" id="classgtsam_1_1NoiseModelFactor1_1ac98d07dd8f7b70e16ccb9a01abf56b9c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>friend class</type>
        <definition>friend class boost::serialization::access</definition>
        <argsstring></argsstring>
        <name>boost::serialization::access</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Serialization function </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="332" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="332" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classgtsam_1_1NoiseModelFactor1_1a85c649f81b216f5b5d7e321febc7762c" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type></type>
        <definition>gtsam::NoiseModelFactor1&lt; VALUE &gt;::NoiseModelFactor1</definition>
        <argsstring>()</argsstring>
        <name>NoiseModelFactor1</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Default constructor for I/O only </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="291" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="291" bodyend="291"/>
      </memberdef>
      <memberdef kind="function" id="classgtsam_1_1NoiseModelFactor1_1aecf0afe14b2af551d62a6e62ee8a8d27" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type></type>
        <definition>virtual gtsam::NoiseModelFactor1&lt; VALUE &gt;::~NoiseModelFactor1</definition>
        <argsstring>()</argsstring>
        <name>~NoiseModelFactor1</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="293" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="293" bodyend="293"/>
      </memberdef>
      <memberdef kind="function" id="classgtsam_1_1NoiseModelFactor1_1af7fe05db115c50d7f3bc2aaa1d6c7950" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>Key</type>
        <definition>Key gtsam::NoiseModelFactor1&lt; VALUE &gt;::key</definition>
        <argsstring>() const </argsstring>
        <name>key</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="295" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="295" bodyend="295"/>
      </memberdef>
      <memberdef kind="function" id="classgtsam_1_1NoiseModelFactor1_1a70a0b32dd5feba3631815614d8386c86" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type></type>
        <definition>gtsam::NoiseModelFactor1&lt; VALUE &gt;::NoiseModelFactor1</definition>
        <argsstring>(const SharedNoiseModel &amp;noiseModel, Key key1)</argsstring>
        <name>NoiseModelFactor1</name>
        <param>
          <type>const SharedNoiseModel &amp;</type>
          <declname>noiseModel</declname>
        </param>
        <param>
          <type>Key</type>
          <declname>key1</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Constructor <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>noiseModel</parametername>
</parameternamelist>
<parameterdescription>
<para>shared pointer to noise model </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>key1</parametername>
</parameternamelist>
<parameterdescription>
<para>by which to look up X value in Values </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="302" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="302" bodyend="303"/>
      </memberdef>
      <memberdef kind="function" id="classgtsam_1_1NoiseModelFactor1_1a886bb13688a62b2680c10cdaf7999918" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="virtual">
        <type>Vector</type>
        <definition>virtual Vector gtsam::NoiseModelFactor1&lt; VALUE &gt;::unwhitenedError</definition>
        <argsstring>(const Values &amp;x, boost::optional&lt; std::vector&lt; Matrix &gt; &amp; &gt; H=boost::none) const </argsstring>
        <name>unwhitenedError</name>
        <reimplements refid="classgtsam_1_1NoiseModelFactor_1afd61874915a8076bf83f9d8311fc0e26">unwhitenedError</reimplements>
        <param>
          <type>const Values &amp;</type>
          <declname>x</declname>
        </param>
        <param>
          <type>boost::optional&lt; std::vector&lt; Matrix &gt; &amp; &gt;</type>
          <declname>H</declname>
          <defval>boost::none</defval>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Calls the 1-key specific version of evaluateError, which is pure virtual so must be implemented in the derived class. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="308" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="308" bodyend="319"/>
      </memberdef>
      <memberdef kind="function" id="classgtsam_1_1NoiseModelFactor1_1a42ed690bfeafe79ab396126886b05820" prot="public" static="no" const="yes" explicit="no" inline="no" virt="pure-virtual">
        <type>Vector</type>
        <definition>virtual Vector gtsam::NoiseModelFactor1&lt; VALUE &gt;::evaluateError</definition>
        <argsstring>(const X &amp;x, boost::optional&lt; Matrix &amp; &gt; H=boost::none) const =0</argsstring>
        <name>evaluateError</name>
        <param>
          <type>const X &amp;</type>
          <declname>x</declname>
        </param>
        <param>
          <type>boost::optional&lt; Matrix &amp; &gt;</type>
          <declname>H</declname>
          <defval>boost::none</defval>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Override this method to finish implementing a unary factor. If the optional Matrix reference argument is specified, it should compute both the function evaluation and its derivative in X. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="326" column="1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-func">
      <memberdef kind="function" id="classgtsam_1_1NoiseModelFactor1_1a7f153cb8f238a3be2260979af5b590ab" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>class ARCHIVE</type>
          </param>
        </templateparamlist>
        <type>void</type>
        <definition>void gtsam::NoiseModelFactor1&lt; VALUE &gt;::serialize</definition>
        <argsstring>(ARCHIVE &amp;ar, const unsigned int)</argsstring>
        <name>serialize</name>
        <param>
          <type>ARCHIVE &amp;</type>
          <declname>ar</declname>
        </param>
        <param>
          <type>const unsigned</type>
          <declname>int</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tests/doc-test-files/NonlinearFactor.h" line="334" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="334" bodyend="337"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>A convenient base class for creating your own <ref refid="classgtsam_1_1NoiseModelFactor" kindref="compound">NoiseModelFactor</ref> with 1 variable. To derive from this class, implement <ref refid="classgtsam_1_1NoiseModelFactor1_1a42ed690bfeafe79ab396126886b05820" kindref="member">evaluateError()</ref>.</para><para>Templated on a values structure type. The values structures are typically more general than just vectors, e.g., Rot3 or Pose3, which are objects in non-linear manifolds (Lie groups). </para>    </detaileddescription>
    <inheritancegraph>
      <node id="102">
        <label>Factor</label>
      </node>
      <node id="101">
        <label>gtsam::NonlinearFactor</label>
        <link refid="classgtsam_1_1NonlinearFactor"/>
        <childnode refid="102" relation="public-inheritance">
        </childnode>
      </node>
      <node id="100">
        <label>gtsam::NoiseModelFactor</label>
        <link refid="classgtsam_1_1NoiseModelFactor"/>
        <childnode refid="101" relation="public-inheritance">
        </childnode>
      </node>
      <node id="99">
        <label>gtsam::NoiseModelFactor1&lt; VALUE &gt;</label>
        <link refid="classgtsam_1_1NoiseModelFactor1"/>
        <childnode refid="100" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="106">
        <label>Factor</label>
      </node>
      <node id="105">
        <label>gtsam::NonlinearFactor</label>
        <link refid="classgtsam_1_1NonlinearFactor"/>
        <childnode refid="106" relation="public-inheritance">
        </childnode>
      </node>
      <node id="104">
        <label>gtsam::NoiseModelFactor</label>
        <link refid="classgtsam_1_1NoiseModelFactor"/>
        <childnode refid="105" relation="public-inheritance">
        </childnode>
      </node>
      <node id="103">
        <label>gtsam::NoiseModelFactor1&lt; VALUE &gt;</label>
        <link refid="classgtsam_1_1NoiseModelFactor1"/>
        <childnode refid="104" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="tests/doc-test-files/NonlinearFactor.h" line="276" column="1" bodyfile="tests/doc-test-files/NonlinearFactor.h" bodystart="276" bodyend="338"/>
    <listofallmembers>
      <member refid="classgtsam_1_1NonlinearFactor_1a1968f471dc3ea33aaf0226ff7be5ae8c" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>active</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1a8ed3a4fbfc8843df8a2f21a805e93ef0" prot="protected" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>Base</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1ac98d07dd8f7b70e16ccb9a01abf56b9c" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>boost::serialization::access</name></member>
      <member refid="classgtsam_1_1NonlinearFactor_1aa98a30a78ade8489214ce2e5b8302777" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>clone</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1af4f62b52fff1a0527ecdb279de023728" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>dim</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a616d0335db512e9c333cab83b1923399" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>equals</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1af6147aff3a33f734435601f6dcafeaf9" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>error</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1a42ed690bfeafe79ab396126886b05820" prot="public" virt="pure-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>evaluateError</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a16a8a23069ce6ae664f516edc8f36254" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>get_noiseModel</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1af7fe05db115c50d7f3bc2aaa1d6c7950" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>key</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a0c83582a0bd04e112e4c0a17cd4ed324" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>linearize</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a123e5729d70b4acd6d7e1f70b1a7ced4" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>noiseModel</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a2263eabbefe0eede8c9d10486f61bb4d" prot="protected" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>noiseModel_</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1ad6e8ef3348e042d598617d1d55f20300" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>NoiseModelFactor</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a02cea97db30d27b51feaf1f0444d743c" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>NoiseModelFactor</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a4605224417029e9dc58c5267efa9a46d" prot="protected" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>NoiseModelFactor</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1a85c649f81b216f5b5d7e321febc7762c" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>NoiseModelFactor1</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1a70a0b32dd5feba3631815614d8386c86" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>NoiseModelFactor1</name></member>
      <member refid="classgtsam_1_1NonlinearFactor_1a7c719ae67f222f66569ccb3b526cb9cb" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>NonlinearFactor</name></member>
      <member refid="classgtsam_1_1NonlinearFactor_1a8a7610dba7e9a6f878268c2769ea0e04" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>NonlinearFactor</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a682e0bbaf0c9638b7d0d96148082d1d7" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>print</name></member>
      <member refid="classgtsam_1_1NonlinearFactor_1a95f4d57e8646b6df634496aaabb683b5" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>rekey</name></member>
      <member refid="classgtsam_1_1NonlinearFactor_1a5f760600e8608ef15c825a0f8d1d1855" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>rekey</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1a7f153cb8f238a3be2260979af5b590ab" prot="private" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>serialize</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a57d98d52fb6f91ebc54d74746aeb90e4" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>shared_ptr</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1a22cb5d89cc9ec25e2d94004917d890fc" prot="protected" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>This</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1a886bb13688a62b2680c10cdaf7999918" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>unwhitenedError</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1a1b3ea51380315bfd63f60d8d9195b0c1" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>whitenedError</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1a37d19c88478e96cf1dfc065229734ece" prot="public" virt="non-virtual"><scope>gtsam::NoiseModelFactor1</scope><name>X</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor_1ae1ed5e0fa6c471b57172f7ebaf552187" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>~NoiseModelFactor</name></member>
      <member refid="classgtsam_1_1NoiseModelFactor1_1aecf0afe14b2af551d62a6e62ee8a8d27" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>~NoiseModelFactor1</name></member>
      <member refid="classgtsam_1_1NonlinearFactor_1ac457810c504de58732d51d61f715c2de" prot="public" virt="virtual"><scope>gtsam::NoiseModelFactor1</scope><name>~NonlinearFactor</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
