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


{\ttfamily \#include $<$Type-\/\+B\+Spline/\+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]{a11256}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a11256_aa5df5d1ff459a8dd0eb983f286ed82eb}{B\+Spline\+Curve\+Object} ()
\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
\hyperlink{a11256_ac66f3602c5e0b858b4037d1e2a5d8d73}{B\+Spline\+Curve\+Object} (const \hyperlink{a11256}{B\+Spline\+Curve\+Object} \&\+\_\+object)
\begin{DoxyCompactList}\small\item\em copy constructor \end{DoxyCompactList}\item 
virtual \hyperlink{a11256_ae107274ece289a698bd1d7520be78d59}{$\sim$\+B\+Spline\+Curve\+Object} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
virtual void \hyperlink{a11256_a85c49f80cd64b0b72c8044e184ab5234}{cleanup} ()
\begin{DoxyCompactList}\small\item\em Reset current object, including all related nodes. \end{DoxyCompactList}\item 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a11256_a753713f6c273c3dc4977e3796a9abecd}{copy} ()
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Name and Path handling}\par
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a11256_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}\textbf{ Object Information}\par
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{a11256_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}\textbf{ Picking}\par
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a11256_a2e02b3615d1461f495c16baa709b899a}{picked} (uint \+\_\+node\+\_\+idx)
\begin{DoxyCompactList}\small\item\em detect if the node has been picked \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11256_a2e1e37e93419234eb16bf652b24c5e49}\label{a11256_a2e1e37e93419234eb16bf652b24c5e49}} 
void \hyperlink{a11256_a2e1e37e93419234eb16bf652b24c5e49}{enable\+Picking} (bool \+\_\+enable)
\begin{DoxyCompactList}\small\item\em Enable or disable picking for this Object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11256_a9ff895c0ec20b2e180ccaa61fb402708}\label{a11256_a9ff895c0ec20b2e180ccaa61fb402708}} 
bool \hyperlink{a11256_a9ff895c0ec20b2e180ccaa61fb402708}{picking\+Enabled} ()
\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{a11256_a002c0af0ba05a2296d1ae67b75e42854}{init} (\hyperlink{a04805_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}\textbf{ Update handling}\par
{\em This is mostly private. Updates have to be triggered via emit updated\+Object() }\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11256_a2af7d29423a3a34feb5db24315873701}\label{a11256_a2af7d29423a3a34feb5db24315873701}} 
virtual void \hyperlink{a11256_a2af7d29423a3a34feb5db24315873701}{update} (\hyperlink{a07096}{Update\+Type} \+\_\+type=\hyperlink{a06166_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+LL})
\begin{DoxyCompactList}\small\item\em Update the whole Object (Selection,Topology,...) \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11256_a8c713906547b413347a7a064768ced9b}\label{a11256_a8c713906547b413347a7a064768ced9b}} 
class {\bfseries Type\+B\+Spline\+Curve\+Plugin}
\end{DoxyCompactItemize}
\subsection*{Content}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a04805_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $\ast$ \hyperlink{a11256_a47f769ce688506f237bb2f016388dd49}{spline\+Curve\+\_\+}
\begin{DoxyCompactList}\small\item\em return a pointer to the spline curve \end{DoxyCompactList}\item 
\hyperlink{a04805_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $\ast$ \hyperlink{a11256_a8aae40a18b6f9d6bb4d7888e2c99b17a}{spline\+Curve} ()
\begin{DoxyCompactList}\small\item\em return a pointer to the spline curve \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Visualization}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11256_a9669fb84cd35605c5f84efa12fdfa1fd}\label{a11256_a9669fb84cd35605c5f84efa12fdfa1fd}} 
\hyperlink{a11252}{A\+C\+G\+::\+Scene\+Graph\+::\+B\+Spline\+Curve\+NodeT}$<$ \hyperlink{a04805_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $>$ $\ast$ \hyperlink{a11256_a9669fb84cd35605c5f84efa12fdfa1fd}{spline\+Curve\+Node\+\_\+}
\begin{DoxyCompactList}\small\item\em Scenegraph Mesh Node. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11256_a045b41e5d9641659ccd13cc4b43f876c}\label{a11256_a045b41e5d9641659ccd13cc4b43f876c}} 
\hyperlink{a11252}{A\+C\+G\+::\+Scene\+Graph\+::\+B\+Spline\+Curve\+NodeT}$<$ \hyperlink{a04805_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $>$ $\ast$ \hyperlink{a11256_a045b41e5d9641659ccd13cc4b43f876c}{spline\+Curve\+Node} ()
\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 78 of file B\+Spline\+Curve\+Object.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a11256_aa5df5d1ff459a8dd0eb983f286ed82eb}\label{a11256_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{\texorpdfstring{B\+Spline\+Curve\+Object()}{BSplineCurveObject()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily B\+Spline\+Curve\+Object\+::\+B\+Spline\+Curve\+Object (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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 72 of file B\+Spline\+Curve\+Object.\+cc.

\mbox{\Hypertarget{a11256_ac66f3602c5e0b858b4037d1e2a5d8d73}\label{a11256_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{\texorpdfstring{B\+Spline\+Curve\+Object()}{BSplineCurveObject()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily B\+Spline\+Curve\+Object\+::\+B\+Spline\+Curve\+Object (\begin{DoxyParamCaption}\item[{const \hyperlink{a11256}{B\+Spline\+Curve\+Object} \&}]{\+\_\+object }\end{DoxyParamCaption})}



copy constructor 

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

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

\mbox{\Hypertarget{a11256_ae107274ece289a698bd1d7520be78d59}\label{a11256_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{\texorpdfstring{$\sim$\+B\+Spline\+Curve\+Object()}{~BSplineCurveObject()}}
{\footnotesize\ttfamily B\+Spline\+Curve\+Object\+::$\sim$\+B\+Spline\+Curve\+Object (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



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 98 of file B\+Spline\+Curve\+Object.\+cc.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a11256_a85c49f80cd64b0b72c8044e184ab5234}\label{a11256_a85c49f80cd64b0b72c8044e184ab5234}} 
\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!cleanup@{cleanup}}
\index{cleanup@{cleanup}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection{\texorpdfstring{cleanup()}{cleanup()}}
{\footnotesize\ttfamily void B\+Spline\+Curve\+Object\+::cleanup (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



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{a07044_ae8e8f4f5995a356a9876d354c2822afd}{Base\+Object\+Data}.



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

\mbox{\Hypertarget{a11256_a753713f6c273c3dc4977e3796a9abecd}\label{a11256_a753713f6c273c3dc4977e3796a9abecd}} 
\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!copy@{copy}}
\index{copy@{copy}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection{\texorpdfstring{copy()}{copy()}}
{\footnotesize\ttfamily \hyperlink{a07036}{Base\+Object} $\ast$ B\+Spline\+Curve\+Object\+::copy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

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{a07036_aa914502976b64d3048fe068cd0097e67}{Base\+Object}.



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

\mbox{\Hypertarget{a11256_a41e882d0efd13025bbb04282c98623c0}\label{a11256_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{\texorpdfstring{get\+Objectinfo()}{getObjectinfo()}}
{\footnotesize\ttfamily Q\+String B\+Spline\+Curve\+Object\+::get\+Objectinfo (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



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{a07036_a16966c1c32af694839bc4d31eed8759b}{Base\+Object\+Data\+::get\+Objectinfo}

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


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



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

\mbox{\Hypertarget{a11256_a002c0af0ba05a2296d1ae67b75e42854}\label{a11256_a002c0af0ba05a2296d1ae67b75e42854}} 
\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!init@{init}}
\index{init@{init}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection{\texorpdfstring{init()}{init()}}
{\footnotesize\ttfamily void B\+Spline\+Curve\+Object\+::init (\begin{DoxyParamCaption}\item[{\hyperlink{a04805_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $\ast$}]{\+\_\+curve = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}



Initialise current object, including all related nodes. 

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

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

\mbox{\Hypertarget{a11256_a2e02b3615d1461f495c16baa709b899a}\label{a11256_a2e02b3615d1461f495c16baa709b899a}} 
\index{B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}!picked@{picked}}
\index{picked@{picked}!B\+Spline\+Curve\+Object@{B\+Spline\+Curve\+Object}}
\subsubsection{\texorpdfstring{picked()}{picked()}}
{\footnotesize\ttfamily bool B\+Spline\+Curve\+Object\+::picked (\begin{DoxyParamCaption}\item[{uint}]{\+\_\+node\+\_\+idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



detect if the node has been picked 

Given an node index from \hyperlink{a06173_aa407abcd8a862ac0addd816e14ae5766}{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{a07044_afdb0f57814b92dd4ad19c81b1601857c}{Base\+Object\+Data}.



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

\mbox{\Hypertarget{a11256_a9fdcd89101c1d2604ba5a57abe765af4}\label{a11256_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{\texorpdfstring{set\+Name()}{setName()}}
{\footnotesize\ttfamily void B\+Spline\+Curve\+Object\+::set\+Name (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Set the name of the Object. 

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

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



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

\mbox{\Hypertarget{a11256_a8aae40a18b6f9d6bb4d7888e2c99b17a}\label{a11256_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{\texorpdfstring{spline\+Curve()}{splineCurve()}}
{\footnotesize\ttfamily \hyperlink{a04805_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve} $\ast$ B\+Spline\+Curve\+Object\+::spline\+Curve (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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 202 of file B\+Spline\+Curve\+Object.\+cc.



\subsection{Member Data Documentation}
\mbox{\Hypertarget{a11256_a47f769ce688506f237bb2f016388dd49}\label{a11256_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{\texorpdfstring{spline\+Curve\+\_\+}{splineCurve\_}}
{\footnotesize\ttfamily \hyperlink{a04805_a9349a240cf875194952236401379be6b}{B\+Spline\+Curve}$\ast$ B\+Spline\+Curve\+Object\+::spline\+Curve\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



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 127 of file B\+Spline\+Curve\+Object.\+hh.



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