\hypertarget{a00374}{\section{B\+Spline\+Curve\+Object Class Reference}
\label{a00374}\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
}


{\ttfamily \#include $<$Object\+Types/\+B\+Spline\+Curve/\+B\+Spline\+Curve\+Object.\+hh$>$}

Inheritance diagram for B\+Spline\+Curve\+Object\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{a00374}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00374_aa5df5d1ff459a8dd0eb983f286ed82eb}{B\+Spline\+Curve\+Object} ()
\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
\hyperlink{a00374_ac66f3602c5e0b858b4037d1e2a5d8d73}{B\+Spline\+Curve\+Object} (const \hyperlink{a00374}{B\+Spline\+Curve\+Object} \&\+\_\+object)
\begin{DoxyCompactList}\small\item\em copy constructor \end{DoxyCompactList}\item 
virtual \hyperlink{a00374_ae107274ece289a698bd1d7520be78d59}{$\sim$\+B\+Spline\+Curve\+Object} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
virtual void \hyperlink{a00374_a85c49f80cd64b0b72c8044e184ab5234}{cleanup} ()
\begin{DoxyCompactList}\small\item\em Reset current object, including all related nodes. \end{DoxyCompactList}\item 
\hyperlink{a00329}{Base\+Object} $\ast$ \hyperlink{a00374_a753713f6c273c3dc4977e3796a9abecd}{copy} ()
\end{DoxyCompactItemize}
\begin{Indent}{\bf Name and Path handling}\par
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00374_a9fdcd89101c1d2604ba5a57abe765af4}{set\+Name} (Q\+String \+\_\+name)
\begin{DoxyCompactList}\small\item\em Set the name of the Object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Object Information}\par
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{a00374_a41e882d0efd13025bbb04282c98623c0}{get\+Objectinfo} ()
\begin{DoxyCompactList}\small\item\em Get all Info for the Object as a string. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Picking}\par
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a00374_a2e02b3615d1461f495c16baa709b899a}{picked} (uint \+\_\+node\+\_\+idx)
\begin{DoxyCompactList}\small\item\em detect if the node has been picked \end{DoxyCompactList}\item 
\hypertarget{a00374_a2e1e37e93419234eb16bf652b24c5e49}{void \hyperlink{a00374_a2e1e37e93419234eb16bf652b24c5e49}{enable\+Picking} (bool \+\_\+enable)}\label{a00374_a2e1e37e93419234eb16bf652b24c5e49}

\begin{DoxyCompactList}\small\item\em Enable or disable picking for this Object. \end{DoxyCompactList}\item 
\hypertarget{a00374_a9ff895c0ec20b2e180ccaa61fb402708}{bool \hyperlink{a00374_a9ff895c0ec20b2e180ccaa61fb402708}{picking\+Enabled} ()}\label{a00374_a9ff895c0ec20b2e180ccaa61fb402708}

\begin{DoxyCompactList}\small\item\em Check if picking is enabled for this Object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{a00374_a002c0af0ba05a2296d1ae67b75e42854}{init} (\hyperlink{a02258_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $\ast$\+\_\+curve=0)
\begin{DoxyCompactList}\small\item\em Initialise current object, including all related nodes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf Update handling}\par
{\em This is mostly private. Updates have to be triggered via emit updated\+Object() }\begin{DoxyCompactItemize}
\item 
\hypertarget{a00374_a2af7d29423a3a34feb5db24315873701}{virtual void \hyperlink{a00374_a2af7d29423a3a34feb5db24315873701}{update} (\hyperlink{a01393}{Update\+Type} \+\_\+type=\hyperlink{a03407_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+L\+L})}\label{a00374_a2af7d29423a3a34feb5db24315873701}

\begin{DoxyCompactList}\small\item\em Update the whole Object (Selection,Topology,...) \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00374_a8c713906547b413347a7a064768ced9b}{class {\bfseries Type\+B\+Spline\+Curve\+Plugin}}\label{a00374_a8c713906547b413347a7a064768ced9b}

\end{DoxyCompactItemize}
\subsection*{Content}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a02258_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $\ast$ \hyperlink{a00374_a47f769ce688506f237bb2f016388dd49}{spline\+Curve\+\_\+}
\begin{DoxyCompactList}\small\item\em return a pointer to the spline curve \end{DoxyCompactList}\item 
\hyperlink{a02258_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $\ast$ \hyperlink{a00374_a8aae40a18b6f9d6bb4d7888e2c99b17a}{spline\+Curve} ()
\begin{DoxyCompactList}\small\item\em return a pointer to the spline curve \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Visualization}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00374_a9669fb84cd35605c5f84efa12fdfa1fd}{\hyperlink{a00373}{A\+C\+G\+::\+Scene\+Graph\+::\+B\+Spline\+Curve\+Node\+T}\\*
$<$ \hyperlink{a02258_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $>$ $\ast$ \hyperlink{a00374_a9669fb84cd35605c5f84efa12fdfa1fd}{spline\+Curve\+Node\+\_\+}}\label{a00374_a9669fb84cd35605c5f84efa12fdfa1fd}

\begin{DoxyCompactList}\small\item\em Scenegraph Mesh Node. \end{DoxyCompactList}\item 
\hypertarget{a00374_a045b41e5d9641659ccd13cc4b43f876c}{\hyperlink{a00373}{A\+C\+G\+::\+Scene\+Graph\+::\+B\+Spline\+Curve\+Node\+T}\\*
$<$ \hyperlink{a02258_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $>$ $\ast$ \hyperlink{a00374_a045b41e5d9641659ccd13cc4b43f876c}{spline\+Curve\+Node} ()}\label{a00374_a045b41e5d9641659ccd13cc4b43f876c}

\begin{DoxyCompactList}\small\item\em Get the scenegraph Node. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
This class provides the functionality for bspline curves 

Definition at line 84 of file B\+Spline\+Curve\+Object.\+hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00374_aa5df5d1ff459a8dd0eb983f286ed82eb}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{B\+Spline\+Curve\+Object}]{\setlength{\rightskip}{0pt plus 5cm}B\+Spline\+Curve\+Object\+::\+B\+Spline\+Curve\+Object (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00374_aa5df5d1ff459a8dd0eb983f286ed82eb}


constructor 

Constructor for B\+Spline Objects. This object class gets a Separator Node giving the root node to which it should be connected. The spline is generated internally and all nodes for visualization will be added below the scenegraph node.~\newline
You dont need to create an object of this type manually. Use Plugin\+Functions\+::add\+B\+Spline\+Curve instead. ( see Types.\+hh\+::\+Data\+Type ) 

Definition at line 78 of file B\+Spline\+Curve\+Object.\+cc.

\hypertarget{a00374_ac66f3602c5e0b858b4037d1e2a5d8d73}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{B\+Spline\+Curve\+Object}]{\setlength{\rightskip}{0pt plus 5cm}B\+Spline\+Curve\+Object\+::\+B\+Spline\+Curve\+Object (
\begin{DoxyParamCaption}
\item[{const {\bf B\+Spline\+Curve\+Object} \&}]{\+\_\+object}
\end{DoxyParamCaption}
)}}\label{a00374_ac66f3602c5e0b858b4037d1e2a5d8d73}


copy constructor 

Copy Constructor -\/ generates a copy of the given object 

Definition at line 92 of file B\+Spline\+Curve\+Object.\+cc.

\hypertarget{a00374_ae107274ece289a698bd1d7520be78d59}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!````~B\+Spline\+Curve\+Object@{$\sim$\+B\+Spline\+Curve\+Object}}
\index{````~B\+Spline\+Curve\+Object@{$\sim$\+B\+Spline\+Curve\+Object}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{$\sim$\+B\+Spline\+Curve\+Object}]{\setlength{\rightskip}{0pt plus 5cm}B\+Spline\+Curve\+Object\+::$\sim$\+B\+Spline\+Curve\+Object (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00374_ae107274ece289a698bd1d7520be78d59}


destructor 

Destructor for B\+Spline Objects. The destructor deletes the spline and all Scenegraph nodes associated with the spline or the object. 

Definition at line 104 of file B\+Spline\+Curve\+Object.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a00374_a85c49f80cd64b0b72c8044e184ab5234}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!cleanup@{cleanup}}
\index{cleanup@{cleanup}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{cleanup}]{\setlength{\rightskip}{0pt plus 5cm}void B\+Spline\+Curve\+Object\+::cleanup (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00374_a85c49f80cd64b0b72c8044e184ab5234}


Reset current object, including all related nodes. 

Cleanup Function for spline Objects. Deletes the contents of the whole object and calls B\+Spline\+Object\+::init afterwards. 

Reimplemented from \hyperlink{a00330_ae8e8f4f5995a356a9876d354c2822afd}{Base\+Object\+Data}.



Definition at line 130 of file B\+Spline\+Curve\+Object.\+cc.

\hypertarget{a00374_a753713f6c273c3dc4977e3796a9abecd}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!copy@{copy}}
\index{copy@{copy}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{copy}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Base\+Object} $\ast$ B\+Spline\+Curve\+Object\+::copy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00374_a753713f6c273c3dc4977e3796a9abecd}
return a full copy of this object ( All scenegraph nodes will be created ) but the object will not be a part of the object tree.

Generate a copy 

Reimplemented from \hyperlink{a00329_aa914502976b64d3048fe068cd0097e67}{Base\+Object}.



Definition at line 155 of file B\+Spline\+Curve\+Object.\+cc.

\hypertarget{a00374_a41e882d0efd13025bbb04282c98623c0}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!get\+Objectinfo@{get\+Objectinfo}}
\index{get\+Objectinfo@{get\+Objectinfo}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{get\+Objectinfo}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String B\+Spline\+Curve\+Object\+::get\+Objectinfo (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00374_a41e882d0efd13025bbb04282c98623c0}


Get all Info for the Object as a string. 

Returns a string containing all information about the current object. This also includes the information provided by \hyperlink{a00329_a16966c1c32af694839bc4d31eed8759b}{Base\+Object\+Data\+::get\+Objectinfo}

\begin{DoxyReturn}{Returns}
String containing the object information 
\end{DoxyReturn}


Reimplemented from \hyperlink{a00329_a16966c1c32af694839bc4d31eed8759b}{Base\+Object}.



Definition at line 268 of file B\+Spline\+Curve\+Object.\+cc.

\hypertarget{a00374_a002c0af0ba05a2296d1ae67b75e42854}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!init@{init}}
\index{init@{init}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}void B\+Spline\+Curve\+Object\+::init (
\begin{DoxyParamCaption}
\item[{{\bf B\+Spline\+Curve} $\ast$}]{\+\_\+curve = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{a00374_a002c0af0ba05a2296d1ae67b75e42854}


Initialise current object, including all related nodes. 

This function initalizes the spline object. It creates the scenegraph nodes, the spline. 

Definition at line 166 of file B\+Spline\+Curve\+Object.\+cc.

\hypertarget{a00374_a2e02b3615d1461f495c16baa709b899a}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!picked@{picked}}
\index{picked@{picked}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{picked}]{\setlength{\rightskip}{0pt plus 5cm}bool B\+Spline\+Curve\+Object\+::picked (
\begin{DoxyParamCaption}
\item[{uint}]{\+\_\+node\+\_\+idx}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00374_a2e02b3615d1461f495c16baa709b899a}


detect if the node has been picked 

Given an node index from \hyperlink{a03393_a0ae515c8553f9e7f671bd2627bbecf6a}{Plugin\+Functions\+::scenegraph\+Pick} this function can be used to check if the bspline\+Node of the object has been picked.


\begin{DoxyParams}{Parameters}
{\em \+\_\+node\+\_\+idx} & Index of the picked spline node \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
bool if the spline\+Node of this object is the picking target. 
\end{DoxyReturn}


Reimplemented from \hyperlink{a00330_afdb0f57814b92dd4ad19c81b1601857c}{Base\+Object\+Data}.



Definition at line 299 of file B\+Spline\+Curve\+Object.\+cc.

\hypertarget{a00374_a9fdcd89101c1d2604ba5a57abe765af4}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!set\+Name@{set\+Name}}
\index{set\+Name@{set\+Name}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{set\+Name}]{\setlength{\rightskip}{0pt plus 5cm}void B\+Spline\+Curve\+Object\+::set\+Name (
\begin{DoxyParamCaption}
\item[{Q\+String}]{\+\_\+name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00374_a9fdcd89101c1d2604ba5a57abe765af4}


Set the name of the Object. 

Set the name of an object. All Scenegraph nodes are renamed too. It also calls \hyperlink{a00330_a625a358192b886259eec57f134f0b363}{Base\+Object\+Data\+::set\+Name}. 

Reimplemented from \hyperlink{a00330_a625a358192b886259eec57f134f0b363}{Base\+Object\+Data}.



Definition at line 194 of file B\+Spline\+Curve\+Object.\+cc.

\hypertarget{a00374_a8aae40a18b6f9d6bb4d7888e2c99b17a}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!spline\+Curve@{spline\+Curve}}
\index{spline\+Curve@{spline\+Curve}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{spline\+Curve}]{\setlength{\rightskip}{0pt plus 5cm}{\bf B\+Spline\+Curve} $\ast$ B\+Spline\+Curve\+Object\+::spline\+Curve (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00374_a8aae40a18b6f9d6bb4d7888e2c99b17a}


return a pointer to the spline curve 

Get a pointer to the objects spline. \begin{DoxyReturn}{Returns}
Pointer to the spline 
\end{DoxyReturn}


Definition at line 208 of file B\+Spline\+Curve\+Object.\+cc.



\subsection{Member Data Documentation}
\hypertarget{a00374_a47f769ce688506f237bb2f016388dd49}{\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!spline\+Curve\+\_\+@{spline\+Curve\+\_\+}}
\index{spline\+Curve\+\_\+@{spline\+Curve\+\_\+}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection[{spline\+Curve\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf B\+Spline\+Curve}$\ast$ B\+Spline\+Curve\+Object\+::spline\+Curve\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a00374_a47f769ce688506f237bb2f016388dd49}


return a pointer to the spline curve 

Get a pointer to the objects spline. \begin{DoxyReturn}{Returns}
Pointer to the spline 
\end{DoxyReturn}


Definition at line 133 of file B\+Spline\+Curve\+Object.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Object\+Types/\+B\+Spline\+Curve/\hyperlink{a02255}{B\+Spline\+Curve\+Object.\+hh}\item 
Object\+Types/\+B\+Spline\+Curve/B\+Spline\+Curve\+Object.\+cc\end{DoxyCompactItemize}
