\section{L\-C\-Line3\-D Class Reference}
\label{classLCLine3D}\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}}


Definition of a \doxyref{L\-C\-Line3\-D}{p.}{classLCLine3D} describing a geometrical line in 3\-D space.  




{\ttfamily \#include $<$L\-C\-Line3\-D.\-h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf L\-C\-Line3\-D} ()\label{classLCLine3D_a742b265050d49c93ec9ef74994bdabed}

\begin{DoxyCompactList}\small\item\em Standard constructor\-: Initializes a line along the x-\/axis. \end{DoxyCompactList}\item 
{\bf L\-C\-Line3\-D} (const L\-C\-Vector3\-D \&point, const L\-C\-Vector3\-D \&{\bf direction})
\begin{DoxyCompactList}\small\item\em Constructor from a point and a direction. \end{DoxyCompactList}\item 
{\bf L\-C\-Line3\-D} (const L\-C\-Vector3\-D \&point, const L\-C\-Vector3\-D \&{\bf direction}, const L\-C\-Vector3\-D \&reference)
\begin{DoxyCompactList}\small\item\em Constructor from a point and a direction. \end{DoxyCompactList}\item 
{\bf L\-C\-Line3\-D} (double d0, double phi0, double z0, double tan\-Lambda)
\begin{DoxyCompactList}\small\item\em Constructor using the canonical parameterization. \end{DoxyCompactList}\item 
{\bf L\-C\-Line3\-D} (double d0, double phi0, double z0, double tan\-Lambda, const L\-C\-Vector3\-D \&reference)
\begin{DoxyCompactList}\small\item\em Constructor using the canonical parameterization. \end{DoxyCompactList}\item 
{\bf L\-C\-Line3\-D} (const {\bf L\-C\-Line3\-D} \&line)
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
{\bf $\sim$\-L\-C\-Line3\-D} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
bool {\bf set} (const L\-C\-Vector3\-D \&point, const L\-C\-Vector3\-D \&{\bf direction}, const L\-C\-Vector3\-D \&reference)
\begin{DoxyCompactList}\small\item\em set the Parameters for a line using a point and a direction. \end{DoxyCompactList}\item 
bool {\bf set} (double d0, double phi0, double z0, double tan\-Lambda, const L\-C\-Vector3\-D \&reference)
\begin{DoxyCompactList}\small\item\em Set the Parameters of a line using the canonical parameterization. \end{DoxyCompactList}\item 
{\bf L\-C\-Line3\-D} \& {\bf operator=} (const {\bf L\-C\-Line3\-D} \&rhs)
\begin{DoxyCompactList}\small\item\em Assignment. \end{DoxyCompactList}\item 
L\-C\-Vector3\-D {\bf position} (const double s=0) const 
\begin{DoxyCompactList}\small\item\em Position is the point of the line after a distance s. \end{DoxyCompactList}\item 
L\-C\-Vector3\-D {\bf direction} () const \label{classLCLine3D_a0348f54f43d240850a98dec8710cf7df}

\begin{DoxyCompactList}\small\item\em Direction of the line. \end{DoxyCompactList}\item 
double {\bf distance} (const L\-C\-Vector3\-D \&point) const 
\begin{DoxyCompactList}\small\item\em Distance of a point to the line. \end{DoxyCompactList}\item 
double {\bf project\-Point} (const L\-C\-Vector3\-D \&point) const 
\begin{DoxyCompactList}\small\item\em Projection of a point on to the line. \end{DoxyCompactList}\item 
bool {\bf operator==} (const {\bf L\-C\-Line3\-D} \&rhs) const 
\begin{DoxyCompactList}\small\item\em Test for equality. \end{DoxyCompactList}\item 
bool {\bf operator!=} (const {\bf L\-C\-Line3\-D} \&rhs) const 
\begin{DoxyCompactList}\small\item\em Test for inequality. \end{DoxyCompactList}\item 
double {\bf intersection\-With\-Plane} (const {\bf L\-C\-Plane3\-D} plane, bool \&point\-Exists) const \label{classLCLine3D_aaab051d879685e27c813547af2a95442}

\begin{DoxyCompactList}\small\item\em Pathlength at closest intersection point with plane -\/ undefined if point\-Exists==false. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
L\-C\-Vector3\-D {\bfseries \-\_\-point}\label{classLCLine3D_af23aec3406a21aab2e2f4f1b89ba264d}

\item 
L\-C\-Vector3\-D {\bfseries \-\_\-direction}\label{classLCLine3D_af9fedb872915970276569f460d3b5444}

\item 
L\-C\-Vector3\-D {\bfseries \-\_\-reference}\label{classLCLine3D_ae5581b2286441ce8ab9c7c28c09ba6e0}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Definition of a \doxyref{L\-C\-Line3\-D}{p.}{classLCLine3D} describing a geometrical line in 3\-D space. 

\begin{DoxyAuthor}{Author}
T.\-Kraemer, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{L\-C\-Line3\-D.\-h}{p.}{LCLine3D_8h_source},v 1.\-8 2006-\/11-\/03 16\-:43\-:13 tkraemer Exp 
\end{DoxyParagraph}


\subsection{Constructor \& Destructor Documentation}
\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!L\-C\-Line3\-D@{L\-C\-Line3\-D}}
\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{L\-C\-Line3\-D}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Line3\-D\-::\-L\-C\-Line3\-D (
\begin{DoxyParamCaption}
\item[{const L\-C\-Vector3\-D \&}]{point, }
\item[{const L\-C\-Vector3\-D \&}]{direction}
\end{DoxyParamCaption}
)}\label{classLCLine3D_ab51b77066ecaef0aa13a811141c79a43}


Constructor from a point and a direction. 


\begin{DoxyParams}{Parameters}
{\em point} & Point is a point of the line \\
\hline
{\em direction} & Direction is the directional vector of the line. \\
\hline
\end{DoxyParams}


References set().

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!L\-C\-Line3\-D@{L\-C\-Line3\-D}}
\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{L\-C\-Line3\-D}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Line3\-D\-::\-L\-C\-Line3\-D (
\begin{DoxyParamCaption}
\item[{const L\-C\-Vector3\-D \&}]{point, }
\item[{const L\-C\-Vector3\-D \&}]{direction, }
\item[{const L\-C\-Vector3\-D \&}]{reference}
\end{DoxyParamCaption}
)}\label{classLCLine3D_a07838eac8820770553fefb67b67a0df6}


Constructor from a point and a direction. 


\begin{DoxyParams}{Parameters}
{\em point} & Point is a point of the line \\
\hline
{\em direction} & Direction is the directional vector of the line. \\
\hline
{\em reference} & reference point of the line. \\
\hline
\end{DoxyParams}


References set().

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!L\-C\-Line3\-D@{L\-C\-Line3\-D}}
\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{L\-C\-Line3\-D}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Line3\-D\-::\-L\-C\-Line3\-D (
\begin{DoxyParamCaption}
\item[{double}]{d0, }
\item[{double}]{phi0, }
\item[{double}]{z0, }
\item[{double}]{tan\-Lambda}
\end{DoxyParamCaption}
)}\label{classLCLine3D_a621b7732f048938fa7a7e0f693e3a0d7}


Constructor using the canonical parameterization. 


\begin{DoxyParams}{Parameters}
{\em d0} & d0 is the point of closest approach in the xy plane. \\
\hline
{\em phi0} & phi0 is the angle in the xy plane. \\
\hline
{\em z0} & z0 is the z coordinate of the point of closest approach. \\
\hline
{\em tan\-Lambda} & tan\-Lambda is the angle of with respect to the xy plane. \\
\hline
\end{DoxyParams}


References set().

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!L\-C\-Line3\-D@{L\-C\-Line3\-D}}
\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{L\-C\-Line3\-D}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Line3\-D\-::\-L\-C\-Line3\-D (
\begin{DoxyParamCaption}
\item[{double}]{d0, }
\item[{double}]{phi0, }
\item[{double}]{z0, }
\item[{double}]{tan\-Lambda, }
\item[{const L\-C\-Vector3\-D \&}]{reference}
\end{DoxyParamCaption}
)}\label{classLCLine3D_a535f7e70382167b08386c6d9c226cb1f}


Constructor using the canonical parameterization. 


\begin{DoxyParams}{Parameters}
{\em d0} & d0 is the point of closest approach in the xy plane. \\
\hline
{\em phi0} & phi0 is the angle in the xy plane. \\
\hline
{\em z0} & z0 is the z coordinate of the point of closest approach. \\
\hline
{\em tan\-Lambda} & tan\-Lambda is the angle of with respect to the xy plane. \\
\hline
{\em reference} & reference point of the line. \\
\hline
\end{DoxyParams}


References set().

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!L\-C\-Line3\-D@{L\-C\-Line3\-D}}
\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{L\-C\-Line3\-D}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Line3\-D\-::\-L\-C\-Line3\-D (
\begin{DoxyParamCaption}
\item[{const {\bf L\-C\-Line3\-D} \&}]{line}
\end{DoxyParamCaption}
)}\label{classLCLine3D_aa2dcdedd44158642fc59b8800a7b6501}


Copy constructor. 


\begin{DoxyParams}{Parameters}
{\em line} & line is an other \doxyref{L\-C\-Line3\-D}{p.}{classLCLine3D}. \\
\hline
\end{DoxyParams}
\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!$\sim$\-L\-C\-Line3\-D@{$\sim$\-L\-C\-Line3\-D}}
\index{$\sim$\-L\-C\-Line3\-D@{$\sim$\-L\-C\-Line3\-D}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{$\sim$\-L\-C\-Line3\-D}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Line3\-D\-::$\sim$\-L\-C\-Line3\-D (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{classLCLine3D_a0bc9f165a74264d9378c13b4ed028899}


Destructor. 



\subsection{Member Function Documentation}
\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!distance@{distance}}
\index{distance@{distance}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{distance}]{\setlength{\rightskip}{0pt plus 5cm}double L\-C\-Line3\-D\-::distance (
\begin{DoxyParamCaption}
\item[{const L\-C\-Vector3\-D \&}]{point}
\end{DoxyParamCaption}
) const}\label{classLCLine3D_acec6dc39f792e56ed60a69e33d705afc}


Distance of a point to the line. 


\begin{DoxyParams}{Parameters}
{\em point} & point is a point in space \\
\hline
\end{DoxyParams}


References position(), and project\-Point().



Referenced by Simple\-Helix\-::get\-Intersection\-With\-Cylinder(), L\-C\-Cylinder\-::is\-Inside(), and L\-C\-Cylinder\-::project\-Point().

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!operator!=@{operator!=}}
\index{operator!=@{operator!=}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{operator!=}]{\setlength{\rightskip}{0pt plus 5cm}bool L\-C\-Line3\-D\-::operator!= (
\begin{DoxyParamCaption}
\item[{const {\bf L\-C\-Line3\-D} \&}]{rhs}
\end{DoxyParamCaption}
) const}\label{classLCLine3D_aaff181e6a30fc271fda6bd0363fd0f40}


Test for inequality. 

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!operator=@{operator=}}
\index{operator=@{operator=}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf L\-C\-Line3\-D} \& L\-C\-Line3\-D\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf L\-C\-Line3\-D} \&}]{rhs}
\end{DoxyParamCaption}
)}\label{classLCLine3D_a4e2e3085553345789d9cfa5ab119abe8}


Assignment. 

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!operator==@{operator==}}
\index{operator==@{operator==}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}bool L\-C\-Line3\-D\-::operator== (
\begin{DoxyParamCaption}
\item[{const {\bf L\-C\-Line3\-D} \&}]{rhs}
\end{DoxyParamCaption}
) const}\label{classLCLine3D_aba3faccdceee6e8715d26b6cd479191c}


Test for equality. 

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!position@{position}}
\index{position@{position}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{position}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Vector3\-D L\-C\-Line3\-D\-::position (
\begin{DoxyParamCaption}
\item[{const double}]{s = {\ttfamily 0}}
\end{DoxyParamCaption}
) const}\label{classLCLine3D_a56a5cbf560cedba77440eca9f38abdd4}


Position is the point of the line after a distance s. 

Is is given with respect to the point of closes approach to the origen of the coordinate system. 
\begin{DoxyParams}{Parameters}
{\em s} & s is the path length along the line \\
\hline
\end{DoxyParams}


Referenced by distance(), Simple\-Helix\-::get\-Intersection\-With\-Cylinder(), Simple\-Line\-::get\-Intersection\-With\-Cylinder(), Simple\-Helix\-::get\-Intersection\-With\-Plane(), Simple\-Line\-::get\-Position(), intersection\-With\-Plane(), and L\-C\-Cylinder\-::project\-Point().

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!project\-Point@{project\-Point}}
\index{project\-Point@{project\-Point}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{project\-Point}]{\setlength{\rightskip}{0pt plus 5cm}double L\-C\-Line3\-D\-::project\-Point (
\begin{DoxyParamCaption}
\item[{const L\-C\-Vector3\-D \&}]{point}
\end{DoxyParamCaption}
) const}\label{classLCLine3D_a4f0442092a0ec6ced63a24f862ac2da9}


Projection of a point on to the line. 


\begin{DoxyParams}{Parameters}
{\em point} & point is a point in space. \\
\hline
\end{DoxyParams}


Referenced by distance(), Simple\-Helix\-::get\-Intersection\-With\-Cylinder(), Simple\-Line\-::get\-Intersection\-With\-Cylinder(), Simple\-Line\-::get\-Path\-At(), L\-C\-Cylinder\-::is\-Inside(), and L\-C\-Cylinder\-::project\-Point().

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!set@{set}}
\index{set@{set}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{set}]{\setlength{\rightskip}{0pt plus 5cm}bool L\-C\-Line3\-D\-::set (
\begin{DoxyParamCaption}
\item[{const L\-C\-Vector3\-D \&}]{point, }
\item[{const L\-C\-Vector3\-D \&}]{direction, }
\item[{const L\-C\-Vector3\-D \&}]{reference}
\end{DoxyParamCaption}
)}\label{classLCLine3D_a01b24511b8713c3204a8c93749cc2632}


set the Parameters for a line using a point and a direction. 


\begin{DoxyParams}{Parameters}
{\em point} & Point is a point of the line \\
\hline
{\em direction} & Direction is the directional vector of the line. \\
\hline
{\em reference} & reference point of the line. \\
\hline
\end{DoxyParams}


Referenced by L\-C\-Line3\-D().

\index{L\-C\-Line3\-D@{L\-C\-Line3\-D}!set@{set}}
\index{set@{set}!LCLine3D@{L\-C\-Line3\-D}}
\subsubsection[{set}]{\setlength{\rightskip}{0pt plus 5cm}bool L\-C\-Line3\-D\-::set (
\begin{DoxyParamCaption}
\item[{double}]{d0, }
\item[{double}]{phi0, }
\item[{double}]{z0, }
\item[{double}]{tan\-Lambda, }
\item[{const L\-C\-Vector3\-D \&}]{reference}
\end{DoxyParamCaption}
)}\label{classLCLine3D_af7ba90493397cd7cb1826a464d7fb5a3}


Set the Parameters of a line using the canonical parameterization. 


\begin{DoxyParams}{Parameters}
{\em d0} & d0 is the point of closest approach in the xy plane. \\
\hline
{\em phi0} & phi0 is the angle in the xy plane. \\
\hline
{\em z0} & z0 is the z coordinate of the point of closest approach. \\
\hline
{\em tan\-Lambda} & tan\-Lambda is the angle of with respect to the xy plane. \\
\hline
{\em reference} & reference point of the line. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
L\-C\-Line3\-D.\-h\item 
L\-C\-Line3\-D.\-cc\end{DoxyCompactItemize}
