<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="__transform_8cpp">
<title>/Users/bernard/b20/bsoft/src/util/Transform.cpp File Reference</title>
<indexterm><primary>/Users/bernard/b20/bsoft/src/util/Transform.cpp</primary></indexterm>
<para>

<para><link linkend="_class_transform">Transform</link> manipulation functions. </para>
 
</para>
<programlisting>#include &quot;Transform.h&quot;
#include &quot;Matrix.h&quot;
#include &quot;matrix_linear.h&quot;
#include &quot;utilities.h&quot;
</programlisting><simplesect>
    <title>Functions    </title>
        <itemizedlist>
            <listitem><para><link linkend="_class_transform">Transform</link> <link linkend="__transform_8cpp_1abe8d14797d1f0f251e88f3f6df277df3">transform_matrix_solve</link> (<link linkend="_class_matrix">Matrix</link> a, vector&lt; double &gt; &amp;bx, vector&lt; double &gt; &amp;by, vector&lt; double &gt; &amp;bz, int flag)</para>

<para>Solves a 3D geometry fit matrix. </para>
</listitem>
            <listitem><para><link linkend="_class_transform">Transform</link> <link linkend="__transform_8cpp_1a5e1ed41f305724b4638a7e6e46b5d477">transform_find</link> (int n, <link linkend="_class_vector3">Vector3</link>&lt; double &gt; *vector1, <link linkend="_class_vector3">Vector3</link>&lt; double &gt; *vector2, int shift)</para>

<para>Determines the transformation between two sets of vectors. </para>
</listitem>
        </itemizedlist>
</simplesect>
<simplesect>
    <title>Variables    </title>
        <itemizedlist>
            <listitem><para>int <link linkend="__transform_8cpp_1a0b2caeb4b6f130be43e5a2f0267dd453">verbose</link></para>
</listitem>
        </itemizedlist>
</simplesect>
<section>
<title>Detailed Description</title>

<para><link linkend="_class_transform">Transform</link> manipulation functions. </para>

<para><formalpara><title>Author: </title>

<para>Bernard Heymann </para>
</formalpara>
<formalpara><title>Date: </title>

<para>Created: 20000501 </para>

<para>Modified: 20150526 </para>
</formalpara>
</para>
</section>
<section>
<title>Function Documentation</title>
<anchor xml:id="__transform_8cpp_1a5e1ed41f305724b4638a7e6e46b5d477"/>    <section>
    <title>transform_find()</title>
<indexterm><primary>transform_find</primary><secondary>Transform.cpp</secondary></indexterm>
<indexterm><primary>Transform.cpp</primary><secondary>transform_find</secondary></indexterm>
<para><computeroutput><link linkend="_class_transform">Transform</link> transform_find (int n, <link linkend="_class_vector3">Vector3</link>&lt; double &gt; * vector1, <link linkend="_class_vector3">Vector3</link>&lt; double &gt; * vector2, int shift)</computeroutput></para><para>

<para>Determines the transformation between two sets of vectors. </para>
</para>

<para>
                <formalpara>
                    <title>
Parameters                    </title>
                    <para>
                    <table frame="all">
                        <tgroup cols="2" align="left" colsep="1" rowsep="1">
                        <colspec colwidth="1*"/>
                        <colspec colwidth="4*"/>
                        <tbody>
                            <row>
                                <entry>n</entry>
                                <entry>
<para>number of vectors in each set. </para>
</entry>
                            </row>
                            <row>
                                <entry>*vector1</entry>
                                <entry>
<para>first vector set. </para>
</entry>
                            </row>
                            <row>
                                <entry>*vector2</entry>
                                <entry>
<para>second vector set. </para>
</entry>
                            </row>
                            <row>
                                <entry>shift</entry>
                                <entry>
<para>flag to indicate determining shift. </para>
</entry>
                            </row>
                        </tbody>
                        </tgroup>
                    </table>
                    </para>
                </formalpara>
                <formalpara><title>Returns: </title>

<para><link linkend="_class_transform">Transform</link> transform structure. <literallayout><computeroutput>The two sets must have the same number of vectors.
</computeroutput></literallayout> </para>
</formalpara>
</para>
<para>
Definition at line 109 of file Transform.cpp.</para>
    </section><anchor xml:id="__transform_8cpp_1abe8d14797d1f0f251e88f3f6df277df3"/>    <section>
    <title>transform_matrix_solve()</title>
<indexterm><primary>transform_matrix_solve</primary><secondary>Transform.cpp</secondary></indexterm>
<indexterm><primary>Transform.cpp</primary><secondary>transform_matrix_solve</secondary></indexterm>
<para><computeroutput><link linkend="_class_transform">Transform</link> transform_matrix_solve (<link linkend="_class_matrix">Matrix</link> a, vector&lt; double &gt; &amp; bx, vector&lt; double &gt; &amp; by, vector&lt; double &gt; &amp; bz, int flag)</computeroutput></para><para>

<para>Solves a 3D geometry fit matrix. </para>
</para>

<para>
                <formalpara>
                    <title>
Parameters                    </title>
                    <para>
                    <table frame="all">
                        <tgroup cols="2" align="left" colsep="1" rowsep="1">
                        <colspec colwidth="1*"/>
                        <colspec colwidth="4*"/>
                        <tbody>
                            <row>
                                <entry>a</entry>
                                <entry>
<para>nxn matrix. </para>
</entry>
                            </row>
                            <row>
                                <entry>bx</entry>
                                <entry>
<para>x-dimension n-vector. </para>
</entry>
                            </row>
                            <row>
                                <entry>by</entry>
                                <entry>
<para>y-dimension n-vector. </para>
</entry>
                            </row>
                            <row>
                                <entry>bz</entry>
                                <entry>
<para>z-dimension n-vector. </para>
</entry>
                            </row>
                            <row>
                                <entry>flag</entry>
                                <entry>
<para>type of decomposition: 0=LUD, 1=SVD. </para>
</entry>
                            </row>
                        </tbody>
                        </tgroup>
                    </table>
                    </para>
                </formalpara>
                <formalpara><title>Returns: </title>

<para><link linkend="_class_transform">Transform</link> transform structure. <literallayout><computeroutput>The matrix is inverted and solutions for the three vectors generated.
</computeroutput></literallayout> </para>
</formalpara>
</para>
<para>
Definition at line 30 of file Transform.cpp.</para>
</section>
</section>
<section>
<title>Variable Documentation</title>
<anchor xml:id="__transform_8cpp_1a0b2caeb4b6f130be43e5a2f0267dd453"/>    <section>
    <title>verbose</title>
<indexterm><primary>verbose</primary><secondary>Transform.cpp</secondary></indexterm>
<indexterm><primary>Transform.cpp</primary><secondary>verbose</secondary></indexterm>
<para><computeroutput>int verbose</computeroutput></para></section>
</section>
</section>
