\hypertarget{a10372}{}\section{Single\+Object\+Property\+Model Class Reference}
\label{a10372}\index{Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}}


This class manages the visualizers for a single object.  




{\ttfamily \#include $<$Plugin-\/\+Property\+Vis/\+Models/\+Single\+Object\+Property\+Model.\+hh$>$}

Inheritance diagram for Single\+Object\+Property\+Model\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5.000000cm]{a10372}
\end{center}
\end{figure}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10372_a1904a4b5856b221d78881a581316c003}\label{a10372_a1904a4b5856b221d78881a581316c003}} 
void {\bfseries log} (\hyperlink{a00035_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a10372_aedf6db3ab5d650ce38805ad75babca18}\label{a10372_aedf6db3ab5d650ce38805ad75babca18}} 
void {\bfseries log} (Q\+String \+\_\+message)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10372_a4fef7caace693390212dcb66454bb34a}\label{a10372_a4fef7caace693390212dcb66454bb34a}} 
virtual void {\bfseries pick\+Mode\+Changed} (const std\+::string \&\+\_\+mode)
\item 
\mbox{\Hypertarget{a10372_ae7f3f8790ebcac139189ededff406d5c}\label{a10372_ae7f3f8790ebcac139189ededff406d5c}} 
virtual void {\bfseries mouse\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)
\item 
\mbox{\Hypertarget{a10372_a85c4f700e7220dff7b968d02662ce62b}\label{a10372_a85c4f700e7220dff7b968d02662ce62b}} 
{\bfseries Single\+Object\+Property\+Model} (Q\+Object $\ast$parent=0)
\item 
\mbox{\Hypertarget{a10372_af091c4ef8416685a8495b1c033e5d5a4}\label{a10372_af091c4ef8416685a8495b1c033e5d5a4}} 
virtual int {\bfseries row\+Count} (const Q\+Model\+Index \&parent=Q\+Model\+Index()) const
\item 
\mbox{\Hypertarget{a10372_a53ef95e650da5dfc7e1591ede8cb1ea3}\label{a10372_a53ef95e650da5dfc7e1591ede8cb1ea3}} 
virtual Q\+Variant {\bfseries data} (const Q\+Model\+Index \&index, int role=Qt\+::\+Display\+Role) const
\item 
\mbox{\Hypertarget{a10372_a4c05363ce39433bd47df07726b03e074}\label{a10372_a4c05363ce39433bd47df07726b03e074}} 
virtual Q\+Variant {\bfseries header\+Data} (int section, Qt\+::\+Orientation orientation, int role=Qt\+::\+Display\+Role) const
\item 
\mbox{\Hypertarget{a10372_a7af7f05f47c4ff933b52ebc76516c68f}\label{a10372_a7af7f05f47c4ff933b52ebc76516c68f}} 
virtual void \hyperlink{a10372_a7af7f05f47c4ff933b52ebc76516c68f}{object\+Updated} ()
\begin{DoxyCompactList}\small\item\em Revisualizes visualized properties. \end{DoxyCompactList}\item 
virtual void \hyperlink{a10372_a5892b0abe23d72a5342278af607cc1de}{visualize} (Q\+Model\+Index\+List selected\+Indices, Q\+Widget\+List widgets=Q\+Widget\+List())
\begin{DoxyCompactList}\small\item\em Visualizes the selected properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_ae1d59bf1bf3d29611fca8910123335bc}\label{a10372_ae1d59bf1bf3d29611fca8910123335bc}} 
virtual void \hyperlink{a10372_ae1d59bf1bf3d29611fca8910123335bc}{remove\+Property} (Q\+Model\+Index\+List selected\+Indices)
\begin{DoxyCompactList}\small\item\em Removes the selected properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_aeb0e74069dac642d07cfd089394e3d28}\label{a10372_aeb0e74069dac642d07cfd089394e3d28}} 
virtual void \hyperlink{a10372_aeb0e74069dac642d07cfd089394e3d28}{duplicate\+Property} (Q\+Model\+Index\+List selected\+Indices)
\begin{DoxyCompactList}\small\item\em Duplicates the selected properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a0e195b7f0d16071825ffe38d60535d69}\label{a10372_a0e195b7f0d16071825ffe38d60535d69}} 
virtual void \hyperlink{a10372_a0e195b7f0d16071825ffe38d60535d69}{gather\+Properties} ()
\begin{DoxyCompactList}\small\item\em Searches for properties and creates Property\+Visualizers. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_ad029221c1edf9fcd213e599bf25c98ce}\label{a10372_ad029221c1edf9fcd213e599bf25c98ce}} 
virtual void \hyperlink{a10372_ad029221c1edf9fcd213e599bf25c98ce}{clear} (Q\+Model\+Index\+List selected\+Indices)
\begin{DoxyCompactList}\small\item\em Clears the selected property visualization. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a42bfdb8148b900738a0a4d3d97b709ca}\label{a10372_a42bfdb8148b900738a0a4d3d97b709ca}} 
void \hyperlink{a10372_a42bfdb8148b900738a0a4d3d97b709ca}{hide\+Widget} ()
\begin{DoxyCompactList}\small\item\em Hides the widget. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a522f59ab6cac9805566f4a897578cbc1}\label{a10372_a522f59ab6cac9805566f4a897578cbc1}} 
Q\+Widget $\ast$ \hyperlink{a10372_a522f59ab6cac9805566f4a897578cbc1}{get\+Widget} ()
\begin{DoxyCompactList}\small\item\em Returns the widget. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_abc139c553a8bcd7df5d4179dad920c3d}\label{a10372_abc139c553a8bcd7df5d4179dad920c3d}} 
virtual void \hyperlink{a10372_abc139c553a8bcd7df5d4179dad920c3d}{update\+Widget} (const Q\+Model\+Index\+List \&selected\+Indices)
\begin{DoxyCompactList}\small\item\em Updates the widget. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a204d6f54339357502ed0ed1ed5805ad7}\label{a10372_a204d6f54339357502ed0ed1ed5805ad7}} 
void \hyperlink{a10372_a204d6f54339357502ed0ed1ed5805ad7}{connect\+Logs} (\hyperlink{a10468}{Property\+Visualizer} $\ast$prop\+Viz)
\begin{DoxyCompactList}\small\item\em Connects the \hyperlink{a10468}{Property\+Visualizer} log signals with the log slot. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a9b8b23872a8400f91dd9e1fa433b1d82}\label{a10372_a9b8b23872a8400f91dd9e1fa433b1d82}} 
virtual \hyperlink{a10496}{Property\+Info} \hyperlink{a10372_a9b8b23872a8400f91dd9e1fa433b1d82}{get\+Property\+Info} (const Q\+Model\+Index index) const
\begin{DoxyCompactList}\small\item\em Returns the property info for the property with the given index. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a6fd300656a28763e9d50e7504743b6b2}\label{a10372_a6fd300656a28763e9d50e7504743b6b2}} 
virtual Q\+Script\+Value \hyperlink{a10372_a6fd300656a28763e9d50e7504743b6b2}{get\+Script\+Object} (const Q\+Model\+Index index, Q\+Script\+Context $\ast$ctx)
\begin{DoxyCompactList}\small\item\em Returns a qscript object that can be used to access visualisation parameters. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10372_af4bde9346ac29fbdef5f5eef397e9c46}\label{a10372_af4bde9346ac29fbdef5f5eef397e9c46}} 
\hyperlink{a10468}{Property\+Visualizer} $\ast$ \hyperlink{a10372_af4bde9346ac29fbdef5f5eef397e9c46}{get\+Property\+Visualizer} (Q\+String prop\+Name, Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+ER filter, \hyperlink{a10492}{Type\+Info\+Wrapper} type\+Info)
\begin{DoxyCompactList}\small\item\em Returns a \hyperlink{a10468}{Property\+Visualizer}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a6c132671fa304e7de5a7392da87e5d49}\label{a10372_a6c132671fa304e7de5a7392da87e5d49}} 
bool \hyperlink{a10372_a6c132671fa304e7de5a7392da87e5d49}{is\+Property\+Free} (Q\+String prop\+Name, Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+ER filter, \hyperlink{a10492}{Type\+Info\+Wrapper} type\+Info)
\begin{DoxyCompactList}\small\item\em Checks if the property name is still available. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_af07e86f89f01effb47f7e0268677d42e}\label{a10372_af07e86f89f01effb47f7e0268677d42e}} 
Q\+String \hyperlink{a10372_af07e86f89f01effb47f7e0268677d42e}{get\+Load\+Filename} ()
\begin{DoxyCompactList}\small\item\em Asks the user for a file to load. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_abc68e43d317e65eaaffe0c56a6938d55}\label{a10372_abc68e43d317e65eaaffe0c56a6938d55}} 
virtual Q\+String \hyperlink{a10372_abc68e43d317e65eaaffe0c56a6938d55}{get\+Load\+Filename\+Filter} ()
\begin{DoxyCompactList}\small\item\em Returns the filename filter for loading. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_abca7489be4214a9bfea3a41a5a8835da}\label{a10372_abca7489be4214a9bfea3a41a5a8835da}} 
Q\+String \hyperlink{a10372_abca7489be4214a9bfea3a41a5a8835da}{get\+Save\+Filename} (unsigned int prop\+Id)
\begin{DoxyCompactList}\small\item\em Asks the user for a file to load. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a56d38e86456411852c3a9e86ec4c28ff}\label{a10372_a56d38e86456411852c3a9e86ec4c28ff}} 
virtual Q\+String \hyperlink{a10372_a56d38e86456411852c3a9e86ec4c28ff}{get\+Save\+Filename\+Filter} (unsigned int prop\+Id)
\begin{DoxyCompactList}\small\item\em Returns the filename filter for saving. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_adfb8922a43daaea18b4a81633b4a97fb}\label{a10372_adfb8922a43daaea18b4a81633b4a97fb}} 
virtual Q\+String \hyperlink{a10372_adfb8922a43daaea18b4a81633b4a97fb}{get\+Default\+Save\+Filename} (unsigned int prop\+Id)
\begin{DoxyCompactList}\small\item\em Returns the default file name. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_a8c8069d7a5d6cfc2a90e44f87edade58}\label{a10372_a8c8069d7a5d6cfc2a90e44f87edade58}} 
void \hyperlink{a10372_a8c8069d7a5d6cfc2a90e44f87edade58}{save\+Property} (unsigned int prop\+Id)
\begin{DoxyCompactList}\small\item\em Saves property. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_ab6253f64fd0769bf618f269506cc3cff}\label{a10372_ab6253f64fd0769bf618f269506cc3cff}} 
void \hyperlink{a10372_ab6253f64fd0769bf618f269506cc3cff}{load\+Property} ()
\begin{DoxyCompactList}\small\item\em Loads property. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10372_af7d0100876d9e83904a9d85daeae3fa0}\label{a10372_af7d0100876d9e83904a9d85daeae3fa0}} 
virtual void \hyperlink{a10372_af7d0100876d9e83904a9d85daeae3fa0}{set\+Property\+From\+File} (Q\+Text\+Stream \&file\+\_\+stream, unsigned int n, \hyperlink{a10468}{Property\+Visualizer} $\ast$prop\+Vis)
\begin{DoxyCompactList}\small\item\em Sets the property values from a given file. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a10372_a6790c49b36b219d9e746024109f675fc}{parse\+Header} (Q\+String header, \hyperlink{a10468}{Property\+Visualizer} $\ast$\&prop\+Vis, unsigned int \&n)
\begin{DoxyCompactList}\small\item\em Parses the property file header. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10372_a3ad3d6bdc84b26c39a1225ebf7eba427}\label{a10372_a3ad3d6bdc84b26c39a1225ebf7eba427}} 
std\+::vector$<$ \hyperlink{a10468}{Property\+Visualizer} $\ast$ $>$ {\bfseries property\+Visualizers}
\item 
\mbox{\Hypertarget{a10372_a361b836616273776221980bf0e6ab558}\label{a10372_a361b836616273776221980bf0e6ab558}} 
Q\+Widget $\ast$ {\bfseries widgets}
\item 
\mbox{\Hypertarget{a10372_ab26563594fc53f97ce2398d0299a9de8}\label{a10372_ab26563594fc53f97ce2398d0299a9de8}} 
Q\+Model\+Index\+List {\bfseries currently\+Selected\+Indices}
\item 
\mbox{\Hypertarget{a10372_a97e5d84e2d8f55c0f594f808c8f44e82}\label{a10372_a97e5d84e2d8f55c0f594f808c8f44e82}} 
std\+::vector$<$ unsigned int $>$ {\bfseries currently\+Visualized\+Indices}
\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10372_a4f55a4c58907b3c64e48b786e054937b}\label{a10372_a4f55a4c58907b3c64e48b786e054937b}} 
void {\bfseries slot\+Log} (\hyperlink{a00035_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a10372_a9bed71e3d3791db2877ffec13c3f33e1}\label{a10372_a9bed71e3d3791db2877ffec13c3f33e1}} 
void {\bfseries slot\+Log} (Q\+String \+\_\+message)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
This class manages the visualizers for a single object. 

For each mesh object a \hyperlink{a10372}{Single\+Object\+Property\+Model} is created. It searches for properties and creates a \hyperlink{a10468}{Property\+Visualizer} for each of them. It provides the G\+UI for all selected properties. Also loading and saving of properties is handled here.

Note that for each type of object (\hyperlink{a06210}{Open\+Mesh}, Open\+Volume\+Mesh and others that might follow) a subclass should be derived from this class. 

Definition at line 74 of file Single\+Object\+Property\+Model.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a10372_a6790c49b36b219d9e746024109f675fc}\label{a10372_a6790c49b36b219d9e746024109f675fc}} 
\index{Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}!parse\+Header@{parse\+Header}}
\index{parse\+Header@{parse\+Header}!Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}}
\subsubsection{\texorpdfstring{parse\+Header()}{parseHeader()}}
{\footnotesize\ttfamily virtual bool Single\+Object\+Property\+Model\+::parse\+Header (\begin{DoxyParamCaption}\item[{Q\+String}]{header,  }\item[{\hyperlink{a10468}{Property\+Visualizer} $\ast$\&}]{prop\+Vis,  }\item[{unsigned int \&}]{n }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}



Parses the property file header. 


\begin{DoxyParams}[1]{Parameters}
 & {\em header} & The header. \\
\hline
\mbox{\tt out}  & {\em prop\+Vis} & The \hyperlink{a10468}{Property\+Visualizer} that will visualize the new property. \\
\hline
\mbox{\tt out}  & {\em n} & The number of values stored in the file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if parsing was successfull, False if not.
\end{DoxyReturn}
When loading a property from a file this method parses the header placed in the file\textquotesingle{}s first line. If parsing was successfull a new property and a \hyperlink{a10468}{Property\+Visualizer} will be created. 

Reimplemented in \hyperlink{a10424_ad4b2dcecf85ae6159fc370d0fac43f41}{O\+V\+M\+Property\+Model$<$ Mesh\+T $>$}, and \hyperlink{a10376_a6e2002586e5a7eaea735b290a546da2f}{O\+M\+Property\+Model$<$ Mesh\+T $>$}.



Definition at line 178 of file Single\+Object\+Property\+Model.\+hh.

\mbox{\Hypertarget{a10372_a5892b0abe23d72a5342278af607cc1de}\label{a10372_a5892b0abe23d72a5342278af607cc1de}} 
\index{Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}!visualize@{visualize}}
\index{visualize@{visualize}!Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}}
\subsubsection{\texorpdfstring{visualize()}{visualize()}}
{\footnotesize\ttfamily void Single\+Object\+Property\+Model\+::visualize (\begin{DoxyParamCaption}\item[{Q\+Model\+Index\+List}]{selected\+Indices,  }\item[{Q\+Widget\+List}]{widgets = {\ttfamily QWidgetList()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Visualizes the selected properties. 


\begin{DoxyParams}{Parameters}
{\em selected\+Indices} & The \\
\hline
\end{DoxyParams}


Implements \hyperlink{a10348_a54ad170a5c5a1de2f4ba038b7626822a}{Property\+Model}.



Definition at line 70 of file Single\+Object\+Property\+Model.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin-\/\+Property\+Vis/\+Models/Single\+Object\+Property\+Model.\+hh\item 
Plugin-\/\+Property\+Vis/\+Models/Single\+Object\+Property\+Model.\+cc\end{DoxyCompactItemize}
