\section{L\-C\-Cylinder Class Reference}
\label{classLCCylinder}\index{L\-C\-Cylinder@{L\-C\-Cylinder}}


Definition of a \doxyref{L\-C\-Cylinder}{p.}{classLCCylinder} describing a geometrical cylinder in 3\-D space.  




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

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf L\-C\-Cylinder} (L\-C\-Vector3\-D point1, L\-C\-Vector3\-D point2, double {\bf radius}, bool end\-Plane=false)
\begin{DoxyCompactList}\small\item\em Constructor from two points and a radius. \end{DoxyCompactList}\item 
{\bf L\-C\-Cylinder} (double {\bf radius}, L\-C\-Vector3\-D point, L\-C\-Vector3\-D axis, bool end\-Plane)
\begin{DoxyCompactList}\small\item\em Constructor from one point, th Axis of the cylinder and the radius. \end{DoxyCompactList}\item 
{\bf L\-C\-Cylinder} (const {\bf L\-C\-Cylinder} \&cylinder)
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
{\bf $\sim$\-L\-C\-Cylinder} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
{\bf L\-C\-Cylinder} \& {\bf operator=} (const {\bf L\-C\-Cylinder} \&rhs)
\begin{DoxyCompactList}\small\item\em Assignment. \end{DoxyCompactList}\item 
L\-C\-Vector3\-D {\bf start\-Point} () const \label{classLCCylinder_aa76ea9d9f63ecf6627eb4d3c8f31e4e7}

\begin{DoxyCompactList}\small\item\em startpoint of cylinder axis \end{DoxyCompactList}\item 
L\-C\-Vector3\-D {\bf end\-Point} () const \label{classLCCylinder_aa373a4e46b3c33354ea7b2bb814b01fb}

\begin{DoxyCompactList}\small\item\em end point of cylinder axis \end{DoxyCompactList}\item 
L\-C\-Vector3\-D {\bf axis\-Direction} () const 
\begin{DoxyCompactList}\small\item\em orientation of cylinder axis. \end{DoxyCompactList}\item 
double {\bf length} () const \label{classLCCylinder_af08de3788ef46d5c38d3e4667c60963e}

\begin{DoxyCompactList}\small\item\em length of cylinder axis \end{DoxyCompactList}\item 
double {\bf radius} () const 
\begin{DoxyCompactList}\small\item\em Radius of cylinder. \end{DoxyCompactList}\item 
double {\bf distance} (const L\-C\-Vector3\-D \&point) const 
\begin{DoxyCompactList}\small\item\em Distance of a point to the cylinder. \end{DoxyCompactList}\item 
L\-C\-Vector3\-D {\bf project\-Point} (const L\-C\-Vector3\-D \&point, int \&code) const 
\begin{DoxyCompactList}\small\item\em Projection of a point on to the surface of the cylinder. \end{DoxyCompactList}\item 
bool {\bf is\-Inside} (const L\-C\-Vector3\-D \&point) const 
\begin{DoxyCompactList}\small\item\em Checks if a given point is inside the clyinder. \end{DoxyCompactList}\item 
bool {\bf operator==} (const {\bf L\-C\-Cylinder} \&rhs) const 
\begin{DoxyCompactList}\small\item\em Test for equality. \end{DoxyCompactList}\item 
bool {\bf operator!=} (const {\bf L\-C\-Cylinder} \&rhs) const 
\begin{DoxyCompactList}\small\item\em Test for inequality. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
double {\bfseries \-\_\-radius}\label{classLCCylinder_a15fe49d9f33a8ba38d9db3df55c9178b}

\item 
bool {\bfseries \-\_\-end\-Plane}\label{classLCCylinder_a7c29687fde988fca903216ea2ff543c9}

\item 
L\-C\-Vector3\-D {\bfseries \-\_\-axis\-Sstart\-Point}\label{classLCCylinder_a5673e91eb3c1986b53dfcbb3137fee4d}

\item 
L\-C\-Vector3\-D {\bfseries \-\_\-axis\-End\-Point}\label{classLCCylinder_a54ba4aee9ab56b0d932dd433ac7cef52}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Definition of a \doxyref{L\-C\-Cylinder}{p.}{classLCCylinder} describing a geometrical cylinder 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\-Cylinder.\-h}{p.}{LCCylinder_8h_source},v 1.\-1 2006-\/10-\/16 15\-:23\-:32 tkraemer Exp 
\end{DoxyParagraph}


\subsection{Constructor \& Destructor Documentation}
\index{L\-C\-Cylinder@{L\-C\-Cylinder}!L\-C\-Cylinder@{L\-C\-Cylinder}}
\index{L\-C\-Cylinder@{L\-C\-Cylinder}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{L\-C\-Cylinder}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Cylinder\-::\-L\-C\-Cylinder (
\begin{DoxyParamCaption}
\item[{L\-C\-Vector3\-D}]{point1, }
\item[{L\-C\-Vector3\-D}]{point2, }
\item[{double}]{radius, }
\item[{bool}]{end\-Plane = {\ttfamily false}}
\end{DoxyParamCaption}
)}\label{classLCCylinder_ad9faa58aa17ed4c54938959c6c22f065}


Constructor from two points and a radius. 


\begin{DoxyParams}{Parameters}
{\em point1} & point1 is the start point of the cylinder axis \\
\hline
{\em point2} & point2 is the end point of the cylinder axis \\
\hline
{\em radius} & radius is the radius of the xylinder \\
\hline
{\em end\-Plane} & end\-Plane switches if cylinder is open or not \\
\hline
\end{DoxyParams}
\index{L\-C\-Cylinder@{L\-C\-Cylinder}!L\-C\-Cylinder@{L\-C\-Cylinder}}
\index{L\-C\-Cylinder@{L\-C\-Cylinder}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{L\-C\-Cylinder}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Cylinder\-::\-L\-C\-Cylinder (
\begin{DoxyParamCaption}
\item[{double}]{radius, }
\item[{L\-C\-Vector3\-D}]{point, }
\item[{L\-C\-Vector3\-D}]{axis, }
\item[{bool}]{end\-Plane}
\end{DoxyParamCaption}
)}\label{classLCCylinder_ac4346d3f9033b4988c39a55eecddf855}


Constructor from one point, th Axis of the cylinder and the radius. 


\begin{DoxyParams}{Parameters}
{\em radius} & radius of cylinder. \\
\hline
{\em point} & point in the middle of the axis of the xylinder \\
\hline
{\em axis} & axis is the orientation of the xylinder axis. the length of axis is the half length of the cylinder \\
\hline
{\em end\-Plane} & end\-Plane switches if cylinder is open or not \\
\hline
\end{DoxyParams}
\index{L\-C\-Cylinder@{L\-C\-Cylinder}!L\-C\-Cylinder@{L\-C\-Cylinder}}
\index{L\-C\-Cylinder@{L\-C\-Cylinder}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{L\-C\-Cylinder}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Cylinder\-::\-L\-C\-Cylinder (
\begin{DoxyParamCaption}
\item[{const {\bf L\-C\-Cylinder} \&}]{cylinder}
\end{DoxyParamCaption}
)}\label{classLCCylinder_a4c8b9c518225a866e63203235631bbde}


Copy constructor. 


\begin{DoxyParams}{Parameters}
{\em cylinder} & cylinder is an other \doxyref{L\-C\-Cylinder}{p.}{classLCCylinder}. \\
\hline
\end{DoxyParams}
\index{L\-C\-Cylinder@{L\-C\-Cylinder}!$\sim$\-L\-C\-Cylinder@{$\sim$\-L\-C\-Cylinder}}
\index{$\sim$\-L\-C\-Cylinder@{$\sim$\-L\-C\-Cylinder}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{$\sim$\-L\-C\-Cylinder}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Cylinder\-::$\sim$\-L\-C\-Cylinder (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{classLCCylinder_a6e3772a458669b613ca4500ce4e2f1ad}


Destructor. 



\subsection{Member Function Documentation}
\index{L\-C\-Cylinder@{L\-C\-Cylinder}!axis\-Direction@{axis\-Direction}}
\index{axis\-Direction@{axis\-Direction}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{axis\-Direction}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Vector3\-D L\-C\-Cylinder\-::axis\-Direction (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{classLCCylinder_a40b6e688a263efa174c1699587aa5cc4}


orientation of cylinder axis. 

the return vector is normalised 

Referenced by is\-Inside(), and project\-Point().

\index{L\-C\-Cylinder@{L\-C\-Cylinder}!distance@{distance}}
\index{distance@{distance}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{distance}]{\setlength{\rightskip}{0pt plus 5cm}double L\-C\-Cylinder\-::distance (
\begin{DoxyParamCaption}
\item[{const L\-C\-Vector3\-D \&}]{point}
\end{DoxyParamCaption}
) const}\label{classLCCylinder_af51f2393e2b3e690138edccea68d5b80}


Distance of a point to the cylinder. 


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


References project\-Point().



Referenced by Simple\-Helix\-::get\-Intersection\-With\-Cylinder(), and Simple\-Line\-::get\-Intersection\-With\-Cylinder().

\index{L\-C\-Cylinder@{L\-C\-Cylinder}!is\-Inside@{is\-Inside}}
\index{is\-Inside@{is\-Inside}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{is\-Inside}]{\setlength{\rightskip}{0pt plus 5cm}bool L\-C\-Cylinder\-::is\-Inside (
\begin{DoxyParamCaption}
\item[{const L\-C\-Vector3\-D \&}]{point}
\end{DoxyParamCaption}
) const}\label{classLCCylinder_a3cdbaca6def6c85d8ff29b9388e39b6d}


Checks if a given point is inside the clyinder. 


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


References axis\-Direction(), L\-C\-Line3\-D\-::distance(), L\-C\-Line3\-D\-::project\-Point(), and radius().

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


Test for inequality. 

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


Assignment. 

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


Test for equality. 

\index{L\-C\-Cylinder@{L\-C\-Cylinder}!project\-Point@{project\-Point}}
\index{project\-Point@{project\-Point}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{project\-Point}]{\setlength{\rightskip}{0pt plus 5cm}L\-C\-Vector3\-D L\-C\-Cylinder\-::project\-Point (
\begin{DoxyParamCaption}
\item[{const L\-C\-Vector3\-D \&}]{point, }
\item[{int \&}]{code}
\end{DoxyParamCaption}
) const}\label{classLCCylinder_a9af5b7cc95f39e58652eca5d87978dc6}


Projection of a point on to the surface of the cylinder. 


\begin{DoxyParams}{Parameters}
{\em point} & point is a point in space. \\
\hline
{\em code} & code gives an integer code for the type of area the point gets projected to\-: 0 \-: No projection possible (point is not normal above the surface) 1 \-: prjection hits plane at start point ( \doxyref{start\-Point()}{p.}{classLCCylinder_aa76ea9d9f63ecf6627eb4d3c8f31e4e7} ) 2 \-: prjection hits plane at end point ( \doxyref{end\-Point()}{p.}{classLCCylinder_aa373a4e46b3c33354ea7b2bb814b01fb} ) 3 \-: projection hits the finite tube of the cylinder \\
\hline
\end{DoxyParams}


References axis\-Direction(), L\-C\-Line3\-D\-::distance(), L\-C\-Line3\-D\-::position(), L\-C\-Plane3\-D\-::project\-Point(), L\-C\-Line3\-D\-::project\-Point(), and radius().



Referenced by distance().

\index{L\-C\-Cylinder@{L\-C\-Cylinder}!radius@{radius}}
\index{radius@{radius}!LCCylinder@{L\-C\-Cylinder}}
\subsubsection[{radius}]{\setlength{\rightskip}{0pt plus 5cm}double L\-C\-Cylinder\-::radius (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{classLCCylinder_a9df225628ebe7e936147421ab721fc95}


Radius of cylinder. 



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



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