\hypertarget{a07036}{}\section{Base\+Object Class Reference}
\label{a07036}\index{Base\+Object@{Base\+Object}}


{\ttfamily \#include $<$Open\+Flipper/common/\+Base\+Object.\+hh$>$}

Inheritance diagram for Base\+Object\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{a07036}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a07036_a1d2856f44cdd84060bedbf58c69a99de}{Base\+Object} (const \hyperlink{a07036}{Base\+Object} \&\+\_\+object)
\item 
\hyperlink{a07036_a2eeb757b362888655e06fdbf4b9524a7}{Base\+Object} (\hyperlink{a07036}{Base\+Object} $\ast$\+\_\+parent=0)
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Data}\par
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{a07036_ac246e42b17b1ed17b5db9f3de93bd83d}{cleanup} ()
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Object Information}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07036_a16966c1c32af694839bc4d31eed8759b}\label{a07036_a16966c1c32af694839bc4d31eed8759b}} 
virtual Q\+String \hyperlink{a07036_a16966c1c32af694839bc4d31eed8759b}{get\+Objectinfo} ()
\begin{DoxyCompactList}\small\item\em Get all Info for the Object as a string. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a2327fade4b2b7e1b82351f2076953953}\label{a07036_a2327fade4b2b7e1b82351f2076953953}} 
virtual void \hyperlink{a07036_a2327fade4b2b7e1b82351f2076953953}{print\+Object\+Info} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{a11736}{Print} all information about the object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Content}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07036_a971699e251c18482516af5d1466d8a00}\label{a07036_a971699e251c18482516af5d1466d8a00}} 
void \hyperlink{a07036_a971699e251c18482516af5d1466d8a00}{dump\+Tree} ()
\begin{DoxyCompactList}\small\item\em Debugging function, writing the subtree to output. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_aa914502976b64d3048fe068cd0097e67}\label{a07036_aa914502976b64d3048fe068cd0097e67}} 
virtual \hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_aa914502976b64d3048fe068cd0097e67}{copy} ()
\begin{DoxyCompactList}\small\item\em Returns a full copy of the object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Tree \+: Parent nodes}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07036_a13893c5b15242af3baa5de69548e1e3f}\label{a07036_a13893c5b15242af3baa5de69548e1e3f}} 
int \hyperlink{a07036_a13893c5b15242af3baa5de69548e1e3f}{row} () const
\begin{DoxyCompactList}\small\item\em get the row of this item from the parent \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a3e5b69de1acfaea3eeadcfb2b7a4d29f}\label{a07036_a3e5b69de1acfaea3eeadcfb2b7a4d29f}} 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_a3e5b69de1acfaea3eeadcfb2b7a4d29f}{parent} ()
\begin{DoxyCompactList}\small\item\em Get the parent item ( 0 if rootitem ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a0b2852fec1e6f417ee5759275b9de803}\label{a07036_a0b2852fec1e6f417ee5759275b9de803}} 
const \hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_a0b2852fec1e6f417ee5759275b9de803}{parent} () const
\begin{DoxyCompactList}\small\item\em get the row of this item from the parent \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a5b411a7d63dc0a4f31285e53f402df01}\label{a07036_a5b411a7d63dc0a4f31285e53f402df01}} 
void \hyperlink{a07036_a5b411a7d63dc0a4f31285e53f402df01}{set\+Parent} (\hyperlink{a07036}{Base\+Object} $\ast$\+\_\+parent)
\begin{DoxyCompactList}\small\item\em Set the parent pointer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Tree \+: Children}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07036_a623635b510ec9de5fc83e9137cee84ad}\label{a07036_a623635b510ec9de5fc83e9137cee84ad}} 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_a623635b510ec9de5fc83e9137cee84ad}{child\+Exists} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Check if the element exists in the subtree of this element. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a6628373a338349a55fcac93ca2168a7e}\label{a07036_a6628373a338349a55fcac93ca2168a7e}} 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_a6628373a338349a55fcac93ca2168a7e}{child\+Exists} (Q\+String \+\_\+name)
\begin{DoxyCompactList}\small\item\em Check if the element exists in the subtree of this element. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a8a5bec1ff2bb7514df9f8d553f8928df}\label{a07036_a8a5bec1ff2bb7514df9f8d553f8928df}} 
void \hyperlink{a07036_a8a5bec1ff2bb7514df9f8d553f8928df}{append\+Child} (\hyperlink{a07036}{Base\+Object} $\ast$\hyperlink{a07036_abd729e3bd6849be9197c42c92cfe8199}{child})
\begin{DoxyCompactList}\small\item\em add a child to this node \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_abd729e3bd6849be9197c42c92cfe8199}\label{a07036_abd729e3bd6849be9197c42c92cfe8199}} 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_abd729e3bd6849be9197c42c92cfe8199}{child} (int \hyperlink{a07036_a13893c5b15242af3baa5de69548e1e3f}{row})
\begin{DoxyCompactList}\small\item\em return a child \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a2594bf021f533d2a7ac1ca9e5dd2b123}\label{a07036_a2594bf021f533d2a7ac1ca9e5dd2b123}} 
int \hyperlink{a07036_a2594bf021f533d2a7ac1ca9e5dd2b123}{child\+Count} () const
\begin{DoxyCompactList}\small\item\em get the number of children \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a1b26ef1cc64c344cefc6c1d0835b4e3f}\label{a07036_a1b26ef1cc64c344cefc6c1d0835b4e3f}} 
void \hyperlink{a07036_a1b26ef1cc64c344cefc6c1d0835b4e3f}{remove\+Child} (\hyperlink{a07036}{Base\+Object} $\ast$\+\_\+item)
\begin{DoxyCompactList}\small\item\em Remove a child from this object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a0aa98a7f43326a2b117c3762b61524d8}\label{a07036_a0aa98a7f43326a2b117c3762b61524d8}} 
Q\+List$<$ \hyperlink{a07036}{Base\+Object} $\ast$$>$ \hyperlink{a07036_a0aa98a7f43326a2b117c3762b61524d8}{get\+Leafs} ()
\begin{DoxyCompactList}\small\item\em get all leafes of the tree below this object ( These will be all visible objects ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a75009c3dfb05cd386d69ab8c649a6eb9}\label{a07036_a75009c3dfb05cd386d69ab8c649a6eb9}} 
void \hyperlink{a07036_a75009c3dfb05cd386d69ab8c649a6eb9}{delete\+Subtree} ()
\begin{DoxyCompactList}\small\item\em delete the whole subtree below this item ( The item itself is not touched ) \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Grouping}\par
\begin{DoxyCompactItemize}
\item 
int \hyperlink{a07036_a06ca4d2f9ddfd10fcef1e10bfe051f55}{group} () const
\item 
\mbox{\Hypertarget{a07036_af15ac2a777b6c14f53a5311fe22dfe5d}\label{a07036_af15ac2a777b6c14f53a5311fe22dfe5d}} 
bool \hyperlink{a07036_af15ac2a777b6c14f53a5311fe22dfe5d}{is\+Group} () const
\begin{DoxyCompactList}\small\item\em Check if object is a group. \end{DoxyCompactList}\item 
bool \hyperlink{a07036_aac8be7201481b54a169ea27bba17c7b1}{is\+In\+Group} (int \+\_\+id) const
\item 
bool \hyperlink{a07036_a647de9bc1293b112581da7bfc4cbc19e}{is\+In\+Group} (Q\+String \+\_\+name) const
\item 
std\+::vector$<$ int $>$ \hyperlink{a07036_a3204170c6520f3b44a2ab137cf662986}{get\+Group\+Ids} ()
\item 
Q\+String\+List \hyperlink{a07036_a07e96b0a2d857e8c6b093e97640075db}{get\+Group\+Names} ()
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Object Payload}\par
{\em \label{a07036_baseObjectPerObjectDataFunctions}%
\Hypertarget{a07036_baseObjectPerObjectDataFunctions}%
}\begin{DoxyCompactItemize}
\item 
void \hyperlink{a07036_a011e6fd32423693f783231046db4c680}{set\+Object\+Data} (Q\+String \+\_\+data\+Name, \hyperlink{a07072}{Per\+Object\+Data} $\ast$\+\_\+data)
\item 
\mbox{\Hypertarget{a07036_ae0ad3d27cc922cb4ada6149aaa4b04e4}\label{a07036_ae0ad3d27cc922cb4ada6149aaa4b04e4}} 
void \hyperlink{a07036_ae0ad3d27cc922cb4ada6149aaa4b04e4}{clear\+Object\+Data} (Q\+String \+\_\+data\+Name)
\begin{DoxyCompactList}\small\item\em Clear the object data pointer ( this will not delete the object!! ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_aa5b773c721abdf3273b55eacbeb8488d}\label{a07036_aa5b773c721abdf3273b55eacbeb8488d}} 
bool \hyperlink{a07036_aa5b773c721abdf3273b55eacbeb8488d}{has\+Object\+Data} (Q\+String \+\_\+data\+Name)
\begin{DoxyCompactList}\small\item\em Checks if object data with given name is available. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a64c9fbbfa9225b718474667da04b7dba}\label{a07036_a64c9fbbfa9225b718474667da04b7dba}} 
\hyperlink{a07072}{Per\+Object\+Data} $\ast$ \hyperlink{a07036_a64c9fbbfa9225b718474667da04b7dba}{object\+Data} (Q\+String \+\_\+data\+Name)
\begin{DoxyCompactList}\small\item\em Returns the object data pointer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a8fd08ba49fa8a38e4164a556930b6072}\label{a07036_a8fd08ba49fa8a38e4164a556930b6072}} 
void \hyperlink{a07036_a8fd08ba49fa8a38e4164a556930b6072}{delete\+Data} ()
\begin{DoxyCompactList}\small\item\em Delete all data attached to this object ( calls delete on each object ) \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static int \hyperlink{a07036_a14eb5ad5499d1af380c4fdb89edd0740}{N\+O\+O\+B\+J\+E\+CT} = -\/1
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{Indent}\textbf{ Update handling}\par
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{a07036_a6bae0a3a31573a5e3d52736c498a5d98}{update} (\hyperlink{a07096}{Update\+Type} \+\_\+type=\hyperlink{a06166_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+LL})
\begin{DoxyCompactList}\small\item\em This function is called to update the object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07036_a43d1abab334341a6473a92b16e508eed}\label{a07036_a43d1abab334341a6473a92b16e508eed}} 
class {\bfseries Base\+Object\+Data}
\item 
\mbox{\Hypertarget{a07036_a4107254ac74f90d4f91e810d755b98c2}\label{a07036_a4107254ac74f90d4f91e810d755b98c2}} 
class {\bfseries Core}
\end{DoxyCompactItemize}
\subsection*{Object Identification}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{a07036_a595df29a993f17654f4d19cc5cca1e6e}{id\+\_\+}
\begin{DoxyCompactList}\small\item\em Unique ID for this Object. \end{DoxyCompactList}\item 
int \hyperlink{a07036_a53d0ccddbcb9dd50f80b2d293ec855f4}{persistent\+Id\+\_\+}
\begin{DoxyCompactList}\small\item\em Persistent ID for this Object. \end{DoxyCompactList}\item 
int \hyperlink{a07036_afcca102b4a943f6c836bcd2f4ff9a334}{id} () const
\item 
int \hyperlink{a07036_ad6f30302e29172fa8787f77e967ccec9}{persistent\+Id} () const
\item 
void \hyperlink{a07036_a3f84ae8785eaecb34c933e5707af45ca}{persistent\+Id} (int \+\_\+id)
\end{DoxyCompactItemize}
\subsection*{Data Type Handling}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a07048}{Data\+Type} \hyperlink{a07036_a7dd348f7adfe20a6c21580c15d7f4e4b}{object\+Type\+\_\+}
\item 
bool \hyperlink{a07036_a9ff315861e84a32a340c37e80764ca07}{data\+Type} (\hyperlink{a07048}{Data\+Type} \+\_\+type) const
\item 
\hyperlink{a07048}{Data\+Type} \hyperlink{a07036_aa15101f50f05ec3e5bf2cc8077636db8}{data\+Type} () const
\item 
void \hyperlink{a07036_a52a09ec4fddbe98c8f6ba9ea6de21a24}{set\+Data\+Type} (\hyperlink{a07048}{Data\+Type} \+\_\+type)
\end{DoxyCompactItemize}
\subsection*{Flag handling (source, target, ...)}
\begin{DoxyCompactItemize}
\item 
Q\+String\+List \hyperlink{a07036_a5ec2585b3c94e1cd3f719499e34f9eba}{flags\+\_\+}
\item 
bool \hyperlink{a07036_af4a514366ad189280af7afeab921bad9}{target} ()
\item 
void \hyperlink{a07036_aedceaa1ec665b4c181f6962bb17c9715}{target} (bool \+\_\+target)
\item 
bool \hyperlink{a07036_ad8330b5203d97559a4850e7af8e69a57}{source} ()
\item 
void \hyperlink{a07036_a2b8c34a2eddf97738ea980a1f881b1be}{source} (bool \+\_\+source)
\item 
bool \hyperlink{a07036_abe826de1526aee89225b8dc731fc833c}{flag} (Q\+String \+\_\+flag)
\item 
void \hyperlink{a07036_a4768aa29c1dd3434ad2e05f3eb504f13}{set\+Flag} (Q\+String \+\_\+flag, bool \+\_\+set)
\item 
Q\+String\+List \hyperlink{a07036_a4a0d8e9223fde0fa57d7d734a0490552}{flags} ()
\item 
void \hyperlink{a07036_abbca98904ef23b96b688d7fe4c19a37d}{object\+Selection\+Changed} (int \+\_\+object\+Id)
\end{DoxyCompactItemize}
\subsection*{Object visualization}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a07036_ab379f185320ebd74ad19009d9d758545}{visible\+\_\+}
\item 
\mbox{\Hypertarget{a07036_affd9139ebbcc5bfcf2789ca89a39836c}\label{a07036_affd9139ebbcc5bfcf2789ca89a39836c}} 
virtual bool \hyperlink{a07036_affd9139ebbcc5bfcf2789ca89a39836c}{visible} ()
\begin{DoxyCompactList}\small\item\em return if object is visible \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a9267ee13b64297904bcd3392da76ff4f}\label{a07036_a9267ee13b64297904bcd3392da76ff4f}} 
virtual void \hyperlink{a07036_a9267ee13b64297904bcd3392da76ff4f}{visible} (bool \+\_\+visible)
\begin{DoxyCompactList}\small\item\em Sets visiblity. \end{DoxyCompactList}\item 
void \hyperlink{a07036_a676bfc001c3c09db3c3b1dd6535147c0}{visibility\+Changed} (int \+\_\+object\+Id)
\end{DoxyCompactItemize}
\subsection*{Tree Structure}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07036_a62559d469dc29a30bb75709645c62f12}\label{a07036_a62559d469dc29a30bb75709645c62f12}} 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_a62559d469dc29a30bb75709645c62f12}{parent\+Item\+\_\+}
\begin{DoxyCompactList}\small\item\em Parent item or 0 if rootnode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_aa9f825937872fda86e579b04f8120e8f}\label{a07036_aa9f825937872fda86e579b04f8120e8f}} 
Q\+List$<$ \hyperlink{a07036}{Base\+Object} $\ast$ $>$ \hyperlink{a07036_aa9f825937872fda86e579b04f8120e8f}{child\+Items\+\_\+}
\begin{DoxyCompactList}\small\item\em Children of this node. \end{DoxyCompactList}\item 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_a115e78be7fa0bee0d78a0f9bc9e4ede9}{last} ()
\item 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a07036_a497c4fd91698490adf07723b2639015b}{next} ()
\item 
int \hyperlink{a07036_a3b28945e9e8cb941941dd40de8bbd053}{level} ()
\end{DoxyCompactItemize}
\subsection*{Name and Path handling}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07036_a016a9a406e43b82653a24b799db13891}\label{a07036_a016a9a406e43b82653a24b799db13891}} 
Q\+String \hyperlink{a07036_a016a9a406e43b82653a24b799db13891}{path\+\_\+}
\begin{DoxyCompactList}\small\item\em path to the file from which the object is loaded ( defaults to \char`\"{}.\char`\"{} ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a58ca90a748837d7d15b8a001c19977de}\label{a07036_a58ca90a748837d7d15b8a001c19977de}} 
Q\+String \hyperlink{a07036_a58ca90a748837d7d15b8a001c19977de}{filename\+\_\+}
\begin{DoxyCompactList}\small\item\em path to the file from which the object is loaded ( defaults to \char`\"{}.\char`\"{} ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_aa959e7abf0b0bf67b7481e6bf209590a}\label{a07036_aa959e7abf0b0bf67b7481e6bf209590a}} 
Q\+String \hyperlink{a07036_aa959e7abf0b0bf67b7481e6bf209590a}{name\+\_\+}
\begin{DoxyCompactList}\small\item\em Object/\+File\+Name ( defaults to N\+O\+N\+A\+ME ) \end{DoxyCompactList}\item 
void \hyperlink{a07036_aea7128138c928868f35bc5328327f740}{set\+From\+File\+Name} (const Q\+String \&\+\_\+filename)
\item 
\mbox{\Hypertarget{a07036_abba13432533016ff28ca4ae38404dbe8}\label{a07036_abba13432533016ff28ca4ae38404dbe8}} 
Q\+String \hyperlink{a07036_abba13432533016ff28ca4ae38404dbe8}{path} () const
\begin{DoxyCompactList}\small\item\em return the path to the object ( defaults to \char`\"{}.\char`\"{} if unset ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a0f73ce0bed819c940d3225fb61557c8f}\label{a07036_a0f73ce0bed819c940d3225fb61557c8f}} 
void \hyperlink{a07036_a0f73ce0bed819c940d3225fb61557c8f}{set\+Path} (const Q\+String \&\+\_\+path)
\begin{DoxyCompactList}\small\item\em set the path to the object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a1c2f583b43ae5f1869063a10cc5684e7}\label{a07036_a1c2f583b43ae5f1869063a10cc5684e7}} 
Q\+String \hyperlink{a07036_a1c2f583b43ae5f1869063a10cc5684e7}{name} () const
\begin{DoxyCompactList}\small\item\em return the name of the object. The name defaults to N\+O\+N\+A\+ME if unset. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_ab8203eaf661f6ddd0eff27243c1cecd7}\label{a07036_ab8203eaf661f6ddd0eff27243c1cecd7}} 
virtual void \hyperlink{a07036_ab8203eaf661f6ddd0eff27243c1cecd7}{set\+Name} (Q\+String \+\_\+name)
\begin{DoxyCompactList}\small\item\em path to the file from which the object is loaded ( defaults to \char`\"{}.\char`\"{} ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a3cddf98ae94ae1ebc9a7397f3d119c56}\label{a07036_a3cddf98ae94ae1ebc9a7397f3d119c56}} 
Q\+String \hyperlink{a07036_a3cddf98ae94ae1ebc9a7397f3d119c56}{filename} () const
\begin{DoxyCompactList}\small\item\em return the filename of the object \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07036_a38bec50ddef6d55f4896ce81c112d2c0}\label{a07036_a38bec50ddef6d55f4896ce81c112d2c0}} 
void \hyperlink{a07036_a38bec50ddef6d55f4896ce81c112d2c0}{set\+File\+Name} (const Q\+String \&\+\_\+filename)
\begin{DoxyCompactList}\small\item\em set the filename for this object \end{DoxyCompactList}\item 
void \hyperlink{a07036_abee47a214f89d264082600542a691e66}{object\+Properties\+Changed} (int \+\_\+object\+Id)
\end{DoxyCompactItemize}
\subsection*{Object Payload functions for internal use only!}
\begin{DoxyCompactItemize}
\item 
Q\+Map$<$ Q\+String, \hyperlink{a07072}{Per\+Object\+Data} $\ast$$>$ \hyperlink{a07036_ae699683a8dada8178a6aba7b20936770}{data\+Map\+\_\+}
\begin{DoxyCompactList}\small\item\em get reference to map of all per\+Object Datas \end{DoxyCompactList}\item 
Q\+Map$<$ Q\+String, \hyperlink{a07072}{Per\+Object\+Data} $\ast$ $>$ \& \hyperlink{a07036_a9d6984b5ee30542de00e56c51e95871a}{get\+Per\+Object\+Data\+Map} ()
\begin{DoxyCompactList}\small\item\em get reference to map of all per\+Object Datas \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Object Comment}
\begin{DoxyCompactItemize}
\item 
Q\+Map$<$ Q\+String, Q\+String $>$ \hyperlink{a07036_a327897ad0f8d4d2e374f35fa94c7320b}{comments\+By\+Key\+\_\+}
\begin{DoxyCompactList}\small\item\em Get comment for the specified key. \end{DoxyCompactList}\item 
Q\+String \& \hyperlink{a07036_a8a892342232012be216d606dc416aeec}{get\+Comment\+By\+Key} (const Q\+String \&key)
\begin{DoxyCompactList}\small\item\em Get comment for the specified key. \end{DoxyCompactList}\item 
const Q\+String \hyperlink{a07036_a145cd316718b2748ba665676041fa879}{get\+Comment\+By\+Key} (const Q\+String \&key) const
\begin{DoxyCompactList}\small\item\em Get comment for the specified key. \end{DoxyCompactList}\item 
bool \hyperlink{a07036_aaf3a2a0570f6778f1202d5efd33d8b22}{has\+Comment\+For\+Key} (const Q\+String \&key) const
\item 
bool \hyperlink{a07036_af143f770bef909998fda4709c5df49d3}{has\+Comments} () const
\item 
void \hyperlink{a07036_af8d67a7884790b3d61514742dffd22d9}{clear\+Comment} (const Q\+String \&key)
\begin{DoxyCompactList}\small\item\em Get comment for the specified key. \end{DoxyCompactList}\item 
void \hyperlink{a07036_a0d1afec29a1ea30d2d1426273c6431de}{clear\+All\+Comments} ()
\begin{DoxyCompactList}\small\item\em Get comment for the specified key. \end{DoxyCompactList}\item 
const Q\+Map$<$ Q\+String, Q\+String $>$ \& \hyperlink{a07036_a83de4e846dd2e8c3a41d15e5edab3310}{get\+All\+Comments} () const
\item 
const Q\+String \hyperlink{a07036_aeac52e34b2b512a889af2a40ec5e37a5}{get\+All\+Comments\+Flat} () const
\end{DoxyCompactItemize}


\subsection{Detailed Description}
This is the basic Data class providing the functions common to all objects. If the Datacontrol Plugin is available, a Tree structure will be generated allowing groups of objects. 

Definition at line 82 of file Base\+Object.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a07036_a1d2856f44cdd84060bedbf58c69a99de}\label{a07036_a1d2856f44cdd84060bedbf58c69a99de}} 
\index{Base\+Object@{Base\+Object}!Base\+Object@{Base\+Object}}
\index{Base\+Object@{Base\+Object}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{Base\+Object()}{BaseObject()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Base\+Object\+::\+Base\+Object (\begin{DoxyParamCaption}\item[{const \hyperlink{a07036}{Base\+Object} \&}]{\+\_\+object }\end{DoxyParamCaption})}

Creates a copy of this Object. Currently it will not have any per Object data attached. Its automatically attached to the object\+Root. 

Definition at line 77 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a2eeb757b362888655e06fdbf4b9524a7}\label{a07036_a2eeb757b362888655e06fdbf4b9524a7}} 
\index{Base\+Object@{Base\+Object}!Base\+Object@{Base\+Object}}
\index{Base\+Object@{Base\+Object}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{Base\+Object()}{BaseObject()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Base\+Object\+::\+Base\+Object (\begin{DoxyParamCaption}\item[{\hyperlink{a07036}{Base\+Object} $\ast$}]{\+\_\+parent = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}

Creates a new object. If the parent is 0 and the objectroot does not exist, it will have no parent. If the objectroot exists and parent is 0, it will be appended to the objectroot. If a parent is given, it is appended to this object. 

Definition at line 136 of file Base\+Object.\+cc.



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

Clean all data structures of the object 

Reimplemented in \hyperlink{a07044_ae8e8f4f5995a356a9876d354c2822afd}{Base\+Object\+Data}, \hyperlink{a11344_a8379b3522022edc2403bf0e5b5f91b96}{Mesh\+Object$<$ Mesh\+T $>$}, \hyperlink{a11344_a8379b3522022edc2403bf0e5b5f91b96}{Mesh\+Object$<$ Poly\+Mesh $>$}, \hyperlink{a11344_a8379b3522022edc2403bf0e5b5f91b96}{Mesh\+Object$<$ Tri\+Mesh $>$}, \hyperlink{a11296_ad57488f191a622e24cd17504f860e999}{Camera\+Object}, \hyperlink{a11800_ad09632b07ed2be0496a81feb6e52196d}{Poly\+Line\+Object}, \hyperlink{a11268_acf3cdae584ae9c5fd8b654628d5369fc}{B\+Spline\+Surface\+Object}, \hyperlink{a12052_abaf2d70a241a733fa4f90c8b604d6e62}{Splat\+Cloud\+Object}, \hyperlink{a11772_a48a92ae8fc03538482bac560530de951}{Plane\+Object}, \hyperlink{a11256_a85c49f80cd64b0b72c8044e184ab5234}{B\+Spline\+Curve\+Object}, \hyperlink{a11820_a775ce28a2a78a29f10b41cb765593ffa}{Poly\+Line\+Collection\+Object}, \hyperlink{a11852_ac2281b6f1d507b468b4ce61f60bac48a}{Qt\+Widget\+Object}, \hyperlink{a11308_a23756bd9fbe99f75bd3139928ed6fc41}{Coordsys\+Object}, \hyperlink{a11332_a4d7a0e903f8f37b7ffb1c91f3f56bd07}{Light\+Object}, \hyperlink{a11972_a3e9285abd49267000d6c96563e8f45e4}{Sphere\+Object}, \hyperlink{a11752_a48195c9f0c57cc388c5f0fe77b212673}{Volume\+Mesh\+Object$<$ Mesh\+T $>$}, and \hyperlink{a11944_aeec680c0f5643367fad330b06e3a85d5}{Skeleton\+Object}.



Definition at line 207 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a0d1afec29a1ea30d2d1426273c6431de}\label{a07036_a0d1afec29a1ea30d2d1426273c6431de}} 
\index{Base\+Object@{Base\+Object}!clear\+All\+Comments@{clear\+All\+Comments}}
\index{clear\+All\+Comments@{clear\+All\+Comments}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{clear\+All\+Comments()}{clearAllComments()}}
{\footnotesize\ttfamily void Base\+Object\+::clear\+All\+Comments (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Get comment for the specified key. 

If no comment with the specified exists, an empty one is created. 

Definition at line 847 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_af8d67a7884790b3d61514742dffd22d9}\label{a07036_af8d67a7884790b3d61514742dffd22d9}} 
\index{Base\+Object@{Base\+Object}!clear\+Comment@{clear\+Comment}}
\index{clear\+Comment@{clear\+Comment}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{clear\+Comment()}{clearComment()}}
{\footnotesize\ttfamily void Base\+Object\+::clear\+Comment (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{key }\end{DoxyParamCaption})}



Get comment for the specified key. 

If no comment with the specified exists, an empty one is created. 

Definition at line 843 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a9ff315861e84a32a340c37e80764ca07}\label{a07036_a9ff315861e84a32a340c37e80764ca07}} 
\index{Base\+Object@{Base\+Object}!data\+Type@{data\+Type}}
\index{data\+Type@{data\+Type}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{data\+Type()}{dataType()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Base\+Object\+::data\+Type (\begin{DoxyParamCaption}\item[{\hyperlink{a07048}{Data\+Type}}]{\+\_\+type }\end{DoxyParamCaption}) const}

Check the if the object is of the given type 
\begin{DoxyParams}{Parameters}
{\em \+\_\+type} & checks, if the object is of the given type \\
\hline
\end{DoxyParams}


Definition at line 221 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_aa15101f50f05ec3e5bf2cc8077636db8}\label{a07036_aa15101f50f05ec3e5bf2cc8077636db8}} 
\index{Base\+Object@{Base\+Object}!data\+Type@{data\+Type}}
\index{data\+Type@{data\+Type}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{data\+Type()}{dataType()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{a07048}{Data\+Type} Base\+Object\+::data\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

return the data\+Type of the object 

Definition at line 229 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_abe826de1526aee89225b8dc731fc833c}\label{a07036_abe826de1526aee89225b8dc731fc833c}} 
\index{Base\+Object@{Base\+Object}!flag@{flag}}
\index{flag@{flag}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{flag()}{flag()}}
{\footnotesize\ttfamily bool Base\+Object\+::flag (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+flag }\end{DoxyParamCaption})}

Get a custom flag of this item 

Definition at line 299 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a4a0d8e9223fde0fa57d7d734a0490552}\label{a07036_a4a0d8e9223fde0fa57d7d734a0490552}} 
\index{Base\+Object@{Base\+Object}!flags@{flags}}
\index{flags@{flags}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{flags()}{flags()}}
{\footnotesize\ttfamily Q\+String\+List Base\+Object\+::flags (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Get all flags of this item 

Definition at line 330 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a83de4e846dd2e8c3a41d15e5edab3310}\label{a07036_a83de4e846dd2e8c3a41d15e5edab3310}} 
\index{Base\+Object@{Base\+Object}!get\+All\+Comments@{get\+All\+Comments}}
\index{get\+All\+Comments@{get\+All\+Comments}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{get\+All\+Comments()}{getAllComments()}}
{\footnotesize\ttfamily const Q\+Map$<$ Q\+String, Q\+String $>$ \& Base\+Object\+::get\+All\+Comments (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

Returns a reference to all comments. 

Definition at line 852 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_aeac52e34b2b512a889af2a40ec5e37a5}\label{a07036_aeac52e34b2b512a889af2a40ec5e37a5}} 
\index{Base\+Object@{Base\+Object}!get\+All\+Comments\+Flat@{get\+All\+Comments\+Flat}}
\index{get\+All\+Comments\+Flat@{get\+All\+Comments\+Flat}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{get\+All\+Comments\+Flat()}{getAllCommentsFlat()}}
{\footnotesize\ttfamily const Q\+String Base\+Object\+::get\+All\+Comments\+Flat (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

Returns a flat, human readable representation of all comments. 

Definition at line 856 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a8a892342232012be216d606dc416aeec}\label{a07036_a8a892342232012be216d606dc416aeec}} 
\index{Base\+Object@{Base\+Object}!get\+Comment\+By\+Key@{get\+Comment\+By\+Key}}
\index{get\+Comment\+By\+Key@{get\+Comment\+By\+Key}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{get\+Comment\+By\+Key()}{getCommentByKey()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Q\+String \& Base\+Object\+::get\+Comment\+By\+Key (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{key }\end{DoxyParamCaption})}



Get comment for the specified key. 

If no comment with the specified exists, an empty one is created. 

Definition at line 824 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a145cd316718b2748ba665676041fa879}\label{a07036_a145cd316718b2748ba665676041fa879}} 
\index{Base\+Object@{Base\+Object}!get\+Comment\+By\+Key@{get\+Comment\+By\+Key}}
\index{get\+Comment\+By\+Key@{get\+Comment\+By\+Key}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{get\+Comment\+By\+Key()}{getCommentByKey()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const Q\+String Base\+Object\+::get\+Comment\+By\+Key (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{key }\end{DoxyParamCaption}) const}



Get comment for the specified key. 

If no comment with the specified exists, an empty comment is returned (but not inserted into the map). 

Definition at line 829 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a3204170c6520f3b44a2ab137cf662986}\label{a07036_a3204170c6520f3b44a2ab137cf662986}} 
\index{Base\+Object@{Base\+Object}!get\+Group\+Ids@{get\+Group\+Ids}}
\index{get\+Group\+Ids@{get\+Group\+Ids}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{get\+Group\+Ids()}{getGroupIds()}}
{\footnotesize\ttfamily std\+::vector$<$ int $>$ Base\+Object\+::get\+Group\+Ids (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Get a vector of all Group ids this object belongs to ( this function omits the root object ) 

Definition at line 660 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a07e96b0a2d857e8c6b093e97640075db}\label{a07036_a07e96b0a2d857e8c6b093e97640075db}} 
\index{Base\+Object@{Base\+Object}!get\+Group\+Names@{get\+Group\+Names}}
\index{get\+Group\+Names@{get\+Group\+Names}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{get\+Group\+Names()}{getGroupNames()}}
{\footnotesize\ttfamily Q\+String\+List Base\+Object\+::get\+Group\+Names (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Get a vector of all group names this object belongs to ( this function omits the root object ) 

Definition at line 681 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a9d6984b5ee30542de00e56c51e95871a}\label{a07036_a9d6984b5ee30542de00e56c51e95871a}} 
\index{Base\+Object@{Base\+Object}!get\+Per\+Object\+Data\+Map@{get\+Per\+Object\+Data\+Map}}
\index{get\+Per\+Object\+Data\+Map@{get\+Per\+Object\+Data\+Map}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{get\+Per\+Object\+Data\+Map()}{getPerObjectDataMap()}}
{\footnotesize\ttfamily Q\+Map$<$ Q\+String, \hyperlink{a07072}{Per\+Object\+Data} $\ast$ $>$ \& Base\+Object\+::get\+Per\+Object\+Data\+Map (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



get reference to map of all per\+Object Datas 

Don\textquotesingle{}t use this function! It\textquotesingle{}s only for the backup Plugin to store and restore per\+Object\+Datas! 

Definition at line 886 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a06ca4d2f9ddfd10fcef1e10bfe051f55}\label{a07036_a06ca4d2f9ddfd10fcef1e10bfe051f55}} 
\index{Base\+Object@{Base\+Object}!group@{group}}
\index{group@{group}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{group()}{group()}}
{\footnotesize\ttfamily int Base\+Object\+::group (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

Return the primary group of this object or -\/1 if ungrouped. As this is a tree structure this returns the first group of this object. Groups of groups are only suppurted via the other functions. \begin{DoxyReturn}{Returns}
Primary group of this object or -\/1 
\end{DoxyReturn}


Definition at line 601 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_aaf3a2a0570f6778f1202d5efd33d8b22}\label{a07036_aaf3a2a0570f6778f1202d5efd33d8b22}} 
\index{Base\+Object@{Base\+Object}!has\+Comment\+For\+Key@{has\+Comment\+For\+Key}}
\index{has\+Comment\+For\+Key@{has\+Comment\+For\+Key}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{has\+Comment\+For\+Key()}{hasCommentForKey()}}
{\footnotesize\ttfamily bool Base\+Object\+::has\+Comment\+For\+Key (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{key }\end{DoxyParamCaption}) const}

Returns true if a comment for the specified key exists, false otherwise. 

Definition at line 834 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_af143f770bef909998fda4709c5df49d3}\label{a07036_af143f770bef909998fda4709c5df49d3}} 
\index{Base\+Object@{Base\+Object}!has\+Comments@{has\+Comments}}
\index{has\+Comments@{has\+Comments}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{has\+Comments()}{hasComments()}}
{\footnotesize\ttfamily bool Base\+Object\+::has\+Comments (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

Indicates whether any comment has been supplied for this object. 

Definition at line 839 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_afcca102b4a943f6c836bcd2f4ff9a334}\label{a07036_afcca102b4a943f6c836bcd2f4ff9a334}} 
\index{Base\+Object@{Base\+Object}!id@{id}}
\index{id@{id}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{id()}{id()}}
{\footnotesize\ttfamily int Base\+Object\+::id (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

return the unique id of the object. These ids will be generated every time an object is created. It will stay valid during the runtime of the application. 

Definition at line 190 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_aac8be7201481b54a169ea27bba17c7b1}\label{a07036_aac8be7201481b54a169ea27bba17c7b1}} 
\index{Base\+Object@{Base\+Object}!is\+In\+Group@{is\+In\+Group}}
\index{is\+In\+Group@{is\+In\+Group}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{is\+In\+Group()}{isInGroup()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Base\+Object\+::is\+In\+Group (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption}) const}

Check if this item belongs to a group with this id


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of the group \\
\hline
\end{DoxyParams}


Definition at line 625 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a647de9bc1293b112581da7bfc4cbc19e}\label{a07036_a647de9bc1293b112581da7bfc4cbc19e}} 
\index{Base\+Object@{Base\+Object}!is\+In\+Group@{is\+In\+Group}}
\index{is\+In\+Group@{is\+In\+Group}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{is\+In\+Group()}{isInGroup()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool Base\+Object\+::is\+In\+Group (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+name }\end{DoxyParamCaption}) const}

Check if this item belongs to a group with this name


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the group \\
\hline
\end{DoxyParams}


Definition at line 642 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a115e78be7fa0bee0d78a0f9bc9e4ede9}\label{a07036_a115e78be7fa0bee0d78a0f9bc9e4ede9}} 
\index{Base\+Object@{Base\+Object}!last@{last}}
\index{last@{last}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{last()}{last()}}
{\footnotesize\ttfamily \hyperlink{a07036}{Base\+Object} $\ast$ Base\+Object\+::last (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Get the last item of the tree (Preorder traversal of the tree) 

Definition at line 364 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a3b28945e9e8cb941941dd40de8bbd053}\label{a07036_a3b28945e9e8cb941941dd40de8bbd053}} 
\index{Base\+Object@{Base\+Object}!level@{level}}
\index{level@{level}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{level()}{level()}}
{\footnotesize\ttfamily int Base\+Object\+::level (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

level of the current object ( root node has level 0) 

Definition at line 441 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a497c4fd91698490adf07723b2639015b}\label{a07036_a497c4fd91698490adf07723b2639015b}} 
\index{Base\+Object@{Base\+Object}!next@{next}}
\index{next@{next}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{next()}{next()}}
{\footnotesize\ttfamily \hyperlink{a07036}{Base\+Object} $\ast$ Base\+Object\+::next (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Get the next item of the tree (Preorder traversal of the tree) 

Definition at line 404 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_abee47a214f89d264082600542a691e66}\label{a07036_abee47a214f89d264082600542a691e66}} 
\index{Base\+Object@{Base\+Object}!object\+Properties\+Changed@{object\+Properties\+Changed}}
\index{object\+Properties\+Changed@{object\+Properties\+Changed}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{object\+Properties\+Changed}{objectPropertiesChanged}}
{\footnotesize\ttfamily void Base\+Object\+::object\+Properties\+Changed (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

This signal is emitted when properties of the object have been changed like its name or the parent changed \mbox{\Hypertarget{a07036_abbca98904ef23b96b688d7fe4c19a37d}\label{a07036_abbca98904ef23b96b688d7fe4c19a37d}} 
\index{Base\+Object@{Base\+Object}!object\+Selection\+Changed@{object\+Selection\+Changed}}
\index{object\+Selection\+Changed@{object\+Selection\+Changed}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{object\+Selection\+Changed}{objectSelectionChanged}}
{\footnotesize\ttfamily void Base\+Object\+::object\+Selection\+Changed (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

Stores all item flags as strings. Source and target flags are represented as \char`\"{}source\char`\"{} and \char`\"{}target\char`\"{} strings. \mbox{\Hypertarget{a07036_ad6f30302e29172fa8787f77e967ccec9}\label{a07036_ad6f30302e29172fa8787f77e967ccec9}} 
\index{Base\+Object@{Base\+Object}!persistent\+Id@{persistent\+Id}}
\index{persistent\+Id@{persistent\+Id}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{persistent\+Id()}{persistentId()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily int Base\+Object\+::persistent\+Id (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

return the persistent id of an object ( This id can be managed by a database ). It should be persistent across program starts. It will be -\/1 if the object has not been registered by a database. This id will only be set if a database plugin manages it. 

Definition at line 194 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a3f84ae8785eaecb34c933e5707af45ca}\label{a07036_a3f84ae8785eaecb34c933e5707af45ca}} 
\index{Base\+Object@{Base\+Object}!persistent\+Id@{persistent\+Id}}
\index{persistent\+Id@{persistent\+Id}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{persistent\+Id()}{persistentId()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Base\+Object\+::persistent\+Id (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})}

set the persistent id of the object 

Definition at line 198 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a52a09ec4fddbe98c8f6ba9ea6de21a24}\label{a07036_a52a09ec4fddbe98c8f6ba9ea6de21a24}} 
\index{Base\+Object@{Base\+Object}!set\+Data\+Type@{set\+Data\+Type}}
\index{set\+Data\+Type@{set\+Data\+Type}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{set\+Data\+Type()}{setDataType()}}
{\footnotesize\ttfamily void Base\+Object\+::set\+Data\+Type (\begin{DoxyParamCaption}\item[{\hyperlink{a07048}{Data\+Type}}]{\+\_\+type }\end{DoxyParamCaption})}

set the object type 
\begin{DoxyParams}{Parameters}
{\em \+\_\+type} & the type of the object (if it has a type defined, it will output a warning) \\
\hline
\end{DoxyParams}


Definition at line 233 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a4768aa29c1dd3434ad2e05f3eb504f13}\label{a07036_a4768aa29c1dd3434ad2e05f3eb504f13}} 
\index{Base\+Object@{Base\+Object}!set\+Flag@{set\+Flag}}
\index{set\+Flag@{set\+Flag}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{set\+Flag()}{setFlag()}}
{\footnotesize\ttfamily void Base\+Object\+::set\+Flag (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+flag,  }\item[{bool}]{\+\_\+set }\end{DoxyParamCaption})}

Set a custom flag on this item 

Definition at line 304 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_aea7128138c928868f35bc5328327f740}\label{a07036_aea7128138c928868f35bc5328327f740}} 
\index{Base\+Object@{Base\+Object}!set\+From\+File\+Name@{set\+From\+File\+Name}}
\index{set\+From\+File\+Name@{set\+From\+File\+Name}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{set\+From\+File\+Name()}{setFromFileName()}}
{\footnotesize\ttfamily void Base\+Object\+::set\+From\+File\+Name (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{\+\_\+filename }\end{DoxyParamCaption})}

Set the object path and filename from the given parameter.


\begin{DoxyParams}{Parameters}
{\em \+\_\+filename} & path to the file. \\
\hline
\end{DoxyParams}


Definition at line 716 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a011e6fd32423693f783231046db4c680}\label{a07036_a011e6fd32423693f783231046db4c680}} 
\index{Base\+Object@{Base\+Object}!set\+Object\+Data@{set\+Object\+Data}}
\index{set\+Object\+Data@{set\+Object\+Data}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{set\+Object\+Data()}{setObjectData()}}
{\footnotesize\ttfamily void Base\+Object\+::set\+Object\+Data (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+data\+Name,  }\item[{\hyperlink{a07072}{Per\+Object\+Data} $\ast$}]{\+\_\+data }\end{DoxyParamCaption})}

Set a pointer to your object data Your data class has to be derived from \hyperlink{a07072}{Per\+Object\+Data} and should implement a destructor. use dynamic\+\_\+casts to cast between your object and the Baseclass.


\begin{DoxyParams}{Parameters}
{\em \+\_\+data\+Name} & Define a name for your data \\
\hline
{\em \+\_\+data} & a pointer to your object data \\
\hline
\end{DoxyParams}


Definition at line 781 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_ad8330b5203d97559a4850e7af8e69a57}\label{a07036_ad8330b5203d97559a4850e7af8e69a57}} 
\index{Base\+Object@{Base\+Object}!source@{source}}
\index{source@{source}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{source()}{source()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Base\+Object\+::source (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Is this item selected as a source item? Some algorithms use source meshes to define their input. 

Definition at line 291 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a2b8c34a2eddf97738ea980a1f881b1be}\label{a07036_a2b8c34a2eddf97738ea980a1f881b1be}} 
\index{Base\+Object@{Base\+Object}!source@{source}}
\index{source@{source}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{source()}{source()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Base\+Object\+::source (\begin{DoxyParamCaption}\item[{bool}]{\+\_\+source }\end{DoxyParamCaption})}

Set this item as a source 

Definition at line 295 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_af4a514366ad189280af7afeab921bad9}\label{a07036_af4a514366ad189280af7afeab921bad9}} 
\index{Base\+Object@{Base\+Object}!target@{target}}
\index{target@{target}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{target()}{target()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Base\+Object\+::target (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Is this item selected as a target item? Most algorithms operate on target meshes. These meshes are also considered as active. Blending for inactive meshes is handled by \hyperlink{a10076}{Data\+Control\+Plugin} so emit object\+Selection\+Changed if you changed this value.~\newline


Definition at line 273 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_aedceaa1ec665b4c181f6962bb17c9715}\label{a07036_aedceaa1ec665b4c181f6962bb17c9715}} 
\index{Base\+Object@{Base\+Object}!target@{target}}
\index{target@{target}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{target()}{target()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Base\+Object\+::target (\begin{DoxyParamCaption}\item[{bool}]{\+\_\+target }\end{DoxyParamCaption})}

Set this item as a target 

Definition at line 277 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a6bae0a3a31573a5e3d52736c498a5d98}\label{a07036_a6bae0a3a31573a5e3d52736c498a5d98}} 
\index{Base\+Object@{Base\+Object}!update@{update}}
\index{update@{update}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{update()}{update()}}
{\footnotesize\ttfamily void Base\+Object\+::update (\begin{DoxyParamCaption}\item[{\hyperlink{a07096}{Update\+Type}}]{\+\_\+type = {\ttfamily \hyperlink{a06166_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+LL}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}



This function is called to update the object. 

If the object changes, the core will call this function. Normally this will update the corresponding scenegraph nodes or trigger other data handling which has to be done when the object changes.

\begin{DoxyNote}{Note}
Do not call this function yourself to avoid unnecessary overhead(the core will call it when it is required) 
\end{DoxyNote}


Reimplemented in \hyperlink{a07044_a26063c9234d22ec1306e4f163e3f88be}{Base\+Object\+Data}, \hyperlink{a11852_aa4105a7aecf16da63dae87b70610fd24}{Qt\+Widget\+Object}, \hyperlink{a11296_ae0b306dfb7af182026b0af3aa7dc8ae8}{Camera\+Object}, \hyperlink{a11944_af57d728d2a5f5ee5c0ed33d4131792a3}{Skeleton\+Object}, \hyperlink{a11344_ab519ebaadf7fe0bf49b4fb15a5a048a2}{Mesh\+Object$<$ Mesh\+T $>$}, \hyperlink{a11344_ab519ebaadf7fe0bf49b4fb15a5a048a2}{Mesh\+Object$<$ Poly\+Mesh $>$}, \hyperlink{a11344_ab519ebaadf7fe0bf49b4fb15a5a048a2}{Mesh\+Object$<$ Tri\+Mesh $>$}, \hyperlink{a11972_a7fd713a42a7afc20fcee90c2cb208397}{Sphere\+Object}, \hyperlink{a11308_a2e557e9062b1114308f6d55e22517189}{Coordsys\+Object}, \hyperlink{a11752_a04e7975f5c8deacceaa26a82f81826ba}{Volume\+Mesh\+Object$<$ Mesh\+T $>$}, \hyperlink{a11800_a4e56bcd26d63dd57134cb256483b983f}{Poly\+Line\+Object}, \hyperlink{a11332_a74c3e3ae28c1ce6d16427682c7d11407}{Light\+Object}, \hyperlink{a11772_aab4eff42b5bdf4f4f9d5dc4078bb92af}{Plane\+Object}, \hyperlink{a11256_a2af7d29423a3a34feb5db24315873701}{B\+Spline\+Curve\+Object}, \hyperlink{a11268_a4f46a6e27f2011335a21269b3a19d3d1}{B\+Spline\+Surface\+Object}, \hyperlink{a12052_aebe68efaab6e4e5547fc08a1ab43062f}{Splat\+Cloud\+Object}, and \hyperlink{a11820_acdea9aaf9758b39be174936e51c13212}{Poly\+Line\+Collection\+Object}.



Definition at line 745 of file Base\+Object.\+cc.

\mbox{\Hypertarget{a07036_a676bfc001c3c09db3c3b1dd6535147c0}\label{a07036_a676bfc001c3c09db3c3b1dd6535147c0}} 
\index{Base\+Object@{Base\+Object}!visibility\+Changed@{visibility\+Changed}}
\index{visibility\+Changed@{visibility\+Changed}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{visibility\+Changed}{visibilityChanged}}
{\footnotesize\ttfamily void Base\+Object\+::visibility\+Changed (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

This slot is emitted when the visibility of the object gets changed.

The signal is normally handled by the core to tell the plugins that an object changed its visibility 

\subsection{Member Data Documentation}
\mbox{\Hypertarget{a07036_a327897ad0f8d4d2e374f35fa94c7320b}\label{a07036_a327897ad0f8d4d2e374f35fa94c7320b}} 
\index{Base\+Object@{Base\+Object}!comments\+By\+Key\+\_\+@{comments\+By\+Key\+\_\+}}
\index{comments\+By\+Key\+\_\+@{comments\+By\+Key\+\_\+}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{comments\+By\+Key\+\_\+}{commentsByKey\_}}
{\footnotesize\ttfamily Q\+Map$<$Q\+String, Q\+String$>$ Base\+Object\+::comments\+By\+Key\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



Get comment for the specified key. 

If no comment with the specified exists, an empty one is created. 

Definition at line 570 of file Base\+Object.\+hh.

\mbox{\Hypertarget{a07036_ae699683a8dada8178a6aba7b20936770}\label{a07036_ae699683a8dada8178a6aba7b20936770}} 
\index{Base\+Object@{Base\+Object}!data\+Map\+\_\+@{data\+Map\+\_\+}}
\index{data\+Map\+\_\+@{data\+Map\+\_\+}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{data\+Map\+\_\+}{dataMap\_}}
{\footnotesize\ttfamily Q\+Map$<$Q\+String, \hyperlink{a07072}{Per\+Object\+Data}$\ast$ $>$ Base\+Object\+::data\+Map\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



get reference to map of all per\+Object Datas 

Don\textquotesingle{}t use this function! It\textquotesingle{}s only for the backup Plugin to store and restore per\+Object\+Datas! 

Definition at line 529 of file Base\+Object.\+hh.

\mbox{\Hypertarget{a07036_a5ec2585b3c94e1cd3f719499e34f9eba}\label{a07036_a5ec2585b3c94e1cd3f719499e34f9eba}} 
\index{Base\+Object@{Base\+Object}!flags\+\_\+@{flags\+\_\+}}
\index{flags\+\_\+@{flags\+\_\+}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{flags\+\_\+}{flags\_}}
{\footnotesize\ttfamily Q\+String\+List Base\+Object\+::flags\+\_\+\hspace{0.3cm}{\ttfamily [private]}}

Stores all item flags as strings. Source and target flags are represented as \char`\"{}source\char`\"{} and \char`\"{}target\char`\"{} strings. 

Definition at line 243 of file Base\+Object.\+hh.

\mbox{\Hypertarget{a07036_a595df29a993f17654f4d19cc5cca1e6e}\label{a07036_a595df29a993f17654f4d19cc5cca1e6e}} 
\index{Base\+Object@{Base\+Object}!id\+\_\+@{id\+\_\+}}
\index{id\+\_\+@{id\+\_\+}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{id\+\_\+}{id\_}}
{\footnotesize\ttfamily int Base\+Object\+::id\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



Unique ID for this Object. 

If you need to identify an Object in your plugin then use this id to find it. It does not change during the Objects lifetime. In \hyperlink{a00062}{Plugin\+Functions.\+hh} are some Functions which help with finding objects using this id. 

Definition at line 134 of file Base\+Object.\+hh.

\mbox{\Hypertarget{a07036_a14eb5ad5499d1af380c4fdb89edd0740}\label{a07036_a14eb5ad5499d1af380c4fdb89edd0740}} 
\index{Base\+Object@{Base\+Object}!N\+O\+O\+B\+J\+E\+CT@{N\+O\+O\+B\+J\+E\+CT}}
\index{N\+O\+O\+B\+J\+E\+CT@{N\+O\+O\+B\+J\+E\+CT}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{N\+O\+O\+B\+J\+E\+CT}{NOOBJECT}}
{\footnotesize\ttfamily int Base\+Object\+::\+N\+O\+O\+B\+J\+E\+CT = -\/1\hspace{0.3cm}{\ttfamily [static]}}

predefined handle which is returned when objects are not found or not initialized.

Static member for no object initialization 

Definition at line 106 of file Base\+Object.\+hh.

\mbox{\Hypertarget{a07036_a7dd348f7adfe20a6c21580c15d7f4e4b}\label{a07036_a7dd348f7adfe20a6c21580c15d7f4e4b}} 
\index{Base\+Object@{Base\+Object}!object\+Type\+\_\+@{object\+Type\+\_\+}}
\index{object\+Type\+\_\+@{object\+Type\+\_\+}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{object\+Type\+\_\+}{objectType\_}}
{\footnotesize\ttfamily \hyperlink{a07048}{Data\+Type} Base\+Object\+::object\+Type\+\_\+\hspace{0.3cm}{\ttfamily [private]}}

This Field describes the Data Types available in the object. ~\newline
You should check this Field, if your plugin can handle the data in the object. 

Definition at line 167 of file Base\+Object.\+hh.

\mbox{\Hypertarget{a07036_a53d0ccddbcb9dd50f80b2d293ec855f4}\label{a07036_a53d0ccddbcb9dd50f80b2d293ec855f4}} 
\index{Base\+Object@{Base\+Object}!persistent\+Id\+\_\+@{persistent\+Id\+\_\+}}
\index{persistent\+Id\+\_\+@{persistent\+Id\+\_\+}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{persistent\+Id\+\_\+}{persistentId\_}}
{\footnotesize\ttfamily int Base\+Object\+::persistent\+Id\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



Persistent ID for this Object. 

If you need to identify an Object acroos program starts in your plugin then use this id to find it. It will not change across program restarts. This id will only be set if a database plugin manages it. 

Definition at line 141 of file Base\+Object.\+hh.

\mbox{\Hypertarget{a07036_ab379f185320ebd74ad19009d9d758545}\label{a07036_ab379f185320ebd74ad19009d9d758545}} 
\index{Base\+Object@{Base\+Object}!visible\+\_\+@{visible\+\_\+}}
\index{visible\+\_\+@{visible\+\_\+}!Base\+Object@{Base\+Object}}
\subsubsection{\texorpdfstring{visible\+\_\+}{visible\_}}
{\footnotesize\ttfamily bool Base\+Object\+::visible\+\_\+\hspace{0.3cm}{\ttfamily [protected]}}

Show/hide/ Object~\newline
Visibility is handled by \hyperlink{a10076}{Data\+Control\+Plugin} so emit updated\+\_\+objects if you changed this value defaults to visible 

Definition at line 274 of file Base\+Object.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/common/\hyperlink{a00170}{Base\+Object.\+hh}\item 
Open\+Flipper/common/Base\+Object.\+cc\end{DoxyCompactItemize}
