\hypertarget{a00909}{\section{O\+M\+Property\+Model$<$ Mesh\+T $>$ Class Template Reference}
\label{a00909}\index{O\+M\+Property\+Model$<$ Mesh\+T $>$@{O\+M\+Property\+Model$<$ Mesh\+T $>$}}
}
Inheritance diagram for O\+M\+Property\+Model$<$ Mesh\+T $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5.000000cm]{a00909}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00909_a2d1b9469a537490825200990c92a758f}{{\bfseries O\+M\+Property\+Model} (Mesh\+T $\ast$mesh, int object\+I\+D, Q\+Object $\ast$parent=0)}\label{a00909_a2d1b9469a537490825200990c92a758f}

\item 
\hypertarget{a00909_a70152ec0030ab5d9c40fa0cb96d810f2}{virtual void \hyperlink{a00909_a70152ec0030ab5d9c40fa0cb96d810f2}{update\+Widget} (const Q\+Model\+Index\+List \&selected\+Indices)}\label{a00909_a70152ec0030ab5d9c40fa0cb96d810f2}

\begin{DoxyCompactList}\small\item\em Updates the widget. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00909_ab5678834c018a3e91947c8424671bada}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+bool} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$bool$>$), \char`\"{}bool\char`\"{})}\label{a00909_ab5678834c018a3e91947c8424671bada}

\item 
\hypertarget{a00909_a1945b6bde976894b1aac0889814bf8fb}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+int} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$int$>$), \char`\"{}int\char`\"{})}\label{a00909_a1945b6bde976894b1aac0889814bf8fb}

\item 
\hypertarget{a00909_a4c44a208126341fa01d43f1a8c1b2df7}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+uint} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$unsigned int$>$), \char`\"{}unsigned int\char`\"{})}\label{a00909_a4c44a208126341fa01d43f1a8c1b2df7}

\item 
\hypertarget{a00909_ae68d1e7d10d313fff7461229cf5facfb}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+uint8\+\_\+t} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$uint8\+\_\+t$>$), \char`\"{}uint8\+\_\+t\char`\"{})}\label{a00909_ae68d1e7d10d313fff7461229cf5facfb}

\item 
\hypertarget{a00909_ad53cde34315a5632c601b533f5398d91}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+double} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$double$>$), \char`\"{}double\char`\"{})}\label{a00909_ad53cde34315a5632c601b533f5398d91}

\item 
\hypertarget{a00909_aed47a4853c1b68b9b50c3f06019d0233}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+\+Vec3d} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d}$>$), \char`\"{}Vec3d\char`\"{})}\label{a00909_aed47a4853c1b68b9b50c3f06019d0233}

\item 
\hypertarget{a00909_a13eae4071ea3d596f462cdca096ac70f}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+\+Vec3f} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$\hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{A\+C\+G\+::\+Vec3f}$>$), \char`\"{}Vec3f\char`\"{})}\label{a00909_a13eae4071ea3d596f462cdca096ac70f}

\item 
\hypertarget{a00909_a8c746d9519e5a69bc0e00a74c18109c8}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+\+Vec2d} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$\hyperlink{a03336_abdbb3513d29b2c3cc161185bc8a2e6da}{A\+C\+G\+::\+Vec2d}$>$), \char`\"{}Vec2d\char`\"{})}\label{a00909_a8c746d9519e5a69bc0e00a74c18109c8}

\item 
\hypertarget{a00909_af15ed5f9b1c928a4c785626704810597}{static const \hyperlink{a01356}{Type\+Info\+Wrapper} {\bfseries proptype\+\_\+\+Vec2f} = \hyperlink{a01356}{Type\+Info\+Wrapper}(typeid(\hyperlink{a01039}{Open\+Mesh\+::\+Property\+T}$<$\hyperlink{a03336_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f}$>$), \char`\"{}Vec2f\char`\"{})}\label{a00909_af15ed5f9b1c928a4c785626704810597}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00909_a200c043279453671695efcf0808daa0e}{virtual Q\+String \hyperlink{a00909_a200c043279453671695efcf0808daa0e}{get\+Load\+Filename\+Filter} ()}\label{a00909_a200c043279453671695efcf0808daa0e}

\begin{DoxyCompactList}\small\item\em Returns the filename filter for loading. \end{DoxyCompactList}\item 
\hypertarget{a00909_a984fc87a0b890c9062e8fca1551b6750}{virtual Q\+String \hyperlink{a00909_a984fc87a0b890c9062e8fca1551b6750}{get\+Save\+Filename\+Filter} (unsigned int prop\+Id)}\label{a00909_a984fc87a0b890c9062e8fca1551b6750}

\begin{DoxyCompactList}\small\item\em Returns the filename filter for saving. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00909_a0c491f601cd724622a75245e9bfe8ad0}{typedef std\+::set$<$ \hyperlink{a01356}{Type\+Info\+Wrapper} $>$ {\bfseries Type\+Info\+Wrapper\+Set}}\label{a00909_a0c491f601cd724622a75245e9bfe8ad0}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{a00909_aa34d9cf97246508f9372c4c752942978}{combine} ()
\begin{DoxyCompactList}\small\item\em Combines two properties. \end{DoxyCompactList}\item 
bool \hyperlink{a00909_afd3b08219db687322649abc70c6acc5c}{combinable} (\hyperlink{a01048}{Property\+Visualizer} $\ast$property\+Visualizer1, \hyperlink{a01048}{Property\+Visualizer} $\ast$property\+Visualizer2)
\begin{DoxyCompactList}\small\item\em Checks if two properties are combinable. \end{DoxyCompactList}\item 
\hypertarget{a00909_a0c763b883be64dcf503b117f3c57bd98}{virtual void \hyperlink{a00909_a0c763b883be64dcf503b117f3c57bd98}{save\+Property} ()}\label{a00909_a0c763b883be64dcf503b117f3c57bd98}

\begin{DoxyCompactList}\small\item\em Saves the currently slected properties. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a00909_a6e2002586e5a7eaea735b290a546da2f}{parse\+Header} (Q\+String header, \hyperlink{a01048}{Property\+Visualizer} $\ast$\&prop\+Vis, unsigned int \&n)
\begin{DoxyCompactList}\small\item\em Parses the property file header. \end{DoxyCompactList}\item 
\hypertarget{a00909_a1ab5288999ff5e8db9c05b1e7613eaea}{virtual void \hyperlink{a00909_a1ab5288999ff5e8db9c05b1e7613eaea}{set\+Property\+From\+File} (Q\+Text\+Stream $\ast$\&file\+\_\+stream\+\_\+, unsigned int n, \hyperlink{a01048}{Property\+Visualizer} $\ast$prop\+Vis)}\label{a00909_a1ab5288999ff5e8db9c05b1e7613eaea}

\begin{DoxyCompactList}\small\item\em Sets the property values from a given file. \end{DoxyCompactList}\item 
\hypertarget{a00909_a93eaed86c7284946a48a7216ef9154c6}{void \hyperlink{a00909_a93eaed86c7284946a48a7216ef9154c6}{reset\+Picking} ()}\label{a00909_a93eaed86c7284946a48a7216ef9154c6}

\begin{DoxyCompactList}\small\item\em Disables picking. \end{DoxyCompactList}\item 
virtual void \hyperlink{a00909_aec2491ed20782dfbe04355363b979bf1}{pick\+Property} ()
\begin{DoxyCompactList}\small\item\em Toggle picking on and off. \end{DoxyCompactList}\item 
\hypertarget{a00909_a36737e0d3fc79726afbf0e5be1276c85}{virtual void \hyperlink{a00909_a36737e0d3fc79726afbf0e5be1276c85}{pick\+Mode\+Changed} (const std\+::string \&\+\_\+mode)}\label{a00909_a36737e0d3fc79726afbf0e5be1276c85}

\begin{DoxyCompactList}\small\item\em Handles changing of pick mode. \end{DoxyCompactList}\item 
virtual void \hyperlink{a00909_a433c08ac6522ab9c266296fab8445dd1}{mouse\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Handles mouse events for picking. \end{DoxyCompactList}\item 
\hypertarget{a00909_a4d0c5676236192bf4b7a6057398d3d5e}{bool {\bfseries is\+Vector\+Type} (const \hyperlink{a01356}{Type\+Info\+Wrapper} \&type\+Info) const }\label{a00909_a4d0c5676236192bf4b7a6057398d3d5e}

\item 
\hypertarget{a00909_aa0a3a2f06eb7d3b86ce8582fb7ac705e}{void \hyperlink{a00909_aa0a3a2f06eb7d3b86ce8582fb7ac705e}{gather\+Properties} (Mesh\+T $\ast$mesh, typename Mesh\+T\+::prop\+\_\+iterator props\+\_\+first, typename Mesh\+T\+::prop\+\_\+iterator props\+\_\+last, Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R filter)}\label{a00909_aa0a3a2f06eb7d3b86ce8582fb7ac705e}

\begin{DoxyCompactList}\small\item\em Searches for properties with a specific entity type and creates visualizers. \end{DoxyCompactList}\item 
\hypertarget{a00909_a5bd8ce4bca2d4cf60adc00d6f33ce04f}{void \hyperlink{a00909_a5bd8ce4bca2d4cf60adc00d6f33ce04f}{gather\+Properties} ()}\label{a00909_a5bd8ce4bca2d4cf60adc00d6f33ce04f}

\begin{DoxyCompactList}\small\item\em Searches for all properties and creates the visualizers. \end{DoxyCompactList}\item 
bool \hyperlink{a00909_ad25cb9d941d18f159e623d1001fccbd8}{is\+Supported} (\hyperlink{a00332}{Open\+Mesh\+::\+Base\+Property} $\ast$const base\+Prop) const 
\begin{DoxyCompactList}\small\item\em Checks if visualizing this property is supported. \end{DoxyCompactList}\item 
bool \hyperlink{a00909_a87f9816ce726fdde60fb12a35bf15099}{is\+Supported} (Q\+String friendly\+Name) const 
\begin{DoxyCompactList}\small\item\em Checks if visualizing this type of property is supported. \end{DoxyCompactList}\item 
bool \hyperlink{a00909_a4c3468bd29d9f2d803f972300668f0fd}{is\+New} (\hyperlink{a00332}{Open\+Mesh\+::\+Base\+Property} $\ast$const base\+Prop, Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R filter)
\begin{DoxyCompactList}\small\item\em Checks if we already created a \hyperlink{a01048}{Property\+Visualizer} for this property. \end{DoxyCompactList}\item 
\hyperlink{a01356}{Type\+Info\+Wrapper} \hyperlink{a00909_ab24e24f73231bde4e5e45fdaaa0be67e}{get\+Supported\+Type\+Info\+Wrapper} (\hyperlink{a00332}{Open\+Mesh\+::\+Base\+Property} $\ast$const base\+Prop)
\begin{DoxyCompactList}\small\item\em Returns the \hyperlink{a01356}{Type\+Info\+Wrapper} for the property if it is supported. \end{DoxyCompactList}\item 
\hyperlink{a01356}{Type\+Info\+Wrapper} \hyperlink{a00909_a8acce130c4297b13c8a583abec88a69b}{get\+Supported\+Type\+Info\+Wrapper} (Q\+String friendly\+Name)
\begin{DoxyCompactList}\small\item\em Returns the \hyperlink{a01356}{Type\+Info\+Wrapper} for the type of property if it is supported. \end{DoxyCompactList}\item 
void \hyperlink{a00909_a944874b8d3c0e0dec219c8e8a07bbae9}{add\+Property\+Visualizer} (\hyperlink{a00332}{Open\+Mesh\+::\+Base\+Property} $\ast$const base\+Prop, Mesh\+T $\ast$mesh, Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R filter)
\begin{DoxyCompactList}\small\item\em Adds a new \hyperlink{a01048}{Property\+Visualizer}. \end{DoxyCompactList}\item 
void \hyperlink{a00909_ae8cd66b5576ce05beedb3335c15ec985}{add\+Property} (Q\+String prop\+Name, Q\+String friendly\+Type\+Name, Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R filter)
\begin{DoxyCompactList}\small\item\em Adds a new property to the mesh. \end{DoxyCompactList}\item 
\hypertarget{a00909_afea8fa4171514ef72a3bae1a9db3aac5}{void {\bfseries initialize\+Supported\+Property\+Types} ()}\label{a00909_afea8fa4171514ef72a3bae1a9db3aac5}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00909_aa11619e69d6638ac0cc9ab392f509975}{Mesh\+T $\ast$ {\bfseries mesh\+\_\+}}\label{a00909_aa11619e69d6638ac0cc9ab392f509975}

\item 
\hypertarget{a00909_a834524ef518816a01b19bf6ca174c10f}{int {\bfseries object\+I\+D\+\_\+}}\label{a00909_a834524ef518816a01b19bf6ca174c10f}

\item 
\hypertarget{a00909_a511a5d4c861e648ae118ed2c01bc4f50}{Q\+Push\+Button {\bfseries b\+Combine}}\label{a00909_a511a5d4c861e648ae118ed2c01bc4f50}

\item 
\hypertarget{a00909_a162f7ac9924ce9d0a3c843dafa83a6e8}{const \hyperlink{a01033}{Property\+Info} $\ast$ {\bfseries m\+Combine\+Property1}}\label{a00909_a162f7ac9924ce9d0a3c843dafa83a6e8}

\item 
\hypertarget{a00909_a9f6d209cbf9be7a969d134a43b686eae}{const \hyperlink{a01033}{Property\+Info} $\ast$ {\bfseries m\+Combine\+Property2}}\label{a00909_a9f6d209cbf9be7a969d134a43b686eae}

\item 
\hypertarget{a00909_a8de7fe78ec468bc7b90b34b32b87e585}{\hyperlink{a00779}{Load\+Save\+Widget} {\bfseries m\+Load\+Save\+Widget}}\label{a00909_a8de7fe78ec468bc7b90b34b32b87e585}

\item 
\hypertarget{a00909_a736d4739ba9c126fb612c6aff0b9a357}{\hyperlink{a00960}{Pick\+Widget} {\bfseries m\+Pick\+Widget}}\label{a00909_a736d4739ba9c126fb612c6aff0b9a357}

\item 
\hypertarget{a00909_a9b4aa67c4c3e3a2ec35f8fe93bb179ff}{bool {\bfseries pick\+Mode\+Active}}\label{a00909_a9b4aa67c4c3e3a2ec35f8fe93bb179ff}

\item 
\hypertarget{a00909_acafa3ce5831f572b133959457cf36019}{std\+::string {\bfseries last\+Pick\+Mode}}\label{a00909_acafa3ce5831f572b133959457cf36019}

\item 
\hypertarget{a00909_a100100583ddca53f78f4b3ebd9198428}{Viewer\+::\+Action\+Mode {\bfseries last\+Action\+Mode}}\label{a00909_a100100583ddca53f78f4b3ebd9198428}

\item 
\hypertarget{a00909_a8884eb14e18ff09a6fcdf2944eb5e0a2}{Type\+Info\+Wrapper\+Set {\bfseries supported\+Property\+Types}}\label{a00909_a8884eb14e18ff09a6fcdf2944eb5e0a2}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Mesh\+T$>$class O\+M\+Property\+Model$<$ Mesh\+T $>$}



Definition at line 95 of file O\+M\+Property\+Model.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00909_ae8cd66b5576ce05beedb3335c15ec985}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!add\+Property@{add\+Property}}
\index{add\+Property@{add\+Property}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{add\+Property}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ void {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::add\+Property (
\begin{DoxyParamCaption}
\item[{Q\+String}]{prop\+Name, }
\item[{Q\+String}]{friendly\+Type\+Name, }
\item[{Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R}]{filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a00909_ae8cd66b5576ce05beedb3335c15ec985}


Adds a new property to the mesh. 


\begin{DoxyParams}{Parameters}
{\em prop\+Name} & The name of the property that should be added. \\
\hline
{\em friendly\+Type\+Name} & The type of the property. \\
\hline
{\em filter} & The entity type of the property.\\
\hline
\end{DoxyParams}
This method adds a new property to the mesh. The types \char`\"{}\+Vec3d\char`\"{}, \char`\"{}\+Vec3d\char`\"{}, \char`\"{}double\char`\"{}, \char`\"{}unsigned int\char`\"{}, \char`\"{}int\char`\"{} and \char`\"{}bool\char`\"{} can be added for every entity type. \char`\"{}\+Skin\+Weights\char`\"{} can only be added for vertices. 

Definition at line 578 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_a944874b8d3c0e0dec219c8e8a07bbae9}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!add\+Property\+Visualizer@{add\+Property\+Visualizer}}
\index{add\+Property\+Visualizer@{add\+Property\+Visualizer}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{add\+Property\+Visualizer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ void {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::add\+Property\+Visualizer (
\begin{DoxyParamCaption}
\item[{{\bf Open\+Mesh\+::\+Base\+Property} $\ast$const}]{base\+Prop, }
\item[{Mesh\+T $\ast$}]{mesh, }
\item[{Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R}]{filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a00909_a944874b8d3c0e0dec219c8e8a07bbae9}


Adds a new \hyperlink{a01048}{Property\+Visualizer}. 


\begin{DoxyParams}{Parameters}
{\em base\+Prop} & A pointer to the property that should be visualized. \\
\hline
{\em mesh} & A pointer to the mesh whose properties should be visualized. \\
\hline
{\em filter} & The entity type that should be visualized.\\
\hline
\end{DoxyParams}
This method creates a new \hyperlink{a01048}{Property\+Visualizer} depending on the provieded parameters and adds it to the list of Property\+Visualizers. 

Definition at line 541 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_afd3b08219db687322649abc70c6acc5c}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!combinable@{combinable}}
\index{combinable@{combinable}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{combinable}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ bool {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::combinable (
\begin{DoxyParamCaption}
\item[{{\bf Property\+Visualizer} $\ast$}]{property\+Visualizer1, }
\item[{{\bf Property\+Visualizer} $\ast$}]{property\+Visualizer2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a00909_afd3b08219db687322649abc70c6acc5c}


Checks if two properties are combinable. 


\begin{DoxyParams}{Parameters}
{\em property\+Visualizer1} & First \hyperlink{a01048}{Property\+Visualizer} for combination. \\
\hline
{\em property\+Visualizer2} & Second \hyperlink{a01048}{Property\+Visualizer} for combination.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the two properties are combinable, False if not.
\end{DoxyReturn}
If the user selects two properties which are both of a vector type (Vec3f or Vec3d) they can be combined. This method will check if the two provided Property\+Visualizers can be comined. Currently Property\+Visualizers can only be combined if both visualize a property with a vector type and the same entity type. 

Definition at line 204 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_aa34d9cf97246508f9372c4c752942978}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!combine@{combine}}
\index{combine@{combine}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{combine}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ void {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::combine (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}}\label{a00909_aa34d9cf97246508f9372c4c752942978}


Combines two properties. 

If the user selects two properties which are both of a vector type (Vec3f or Vec3d) they can be combined. This method will create a new \hyperlink{a01048}{Property\+Visualizer} (an O\+M\+Property\+Visualizer\+Vector\+Field\+Difference$<$\+Mesh\+T$>$ to be exact) but not an additional property. 

Reimplemented from \hyperlink{a00910}{O\+M\+Property\+Model\+Subclass}.



Definition at line 182 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_ab24e24f73231bde4e5e45fdaaa0be67e}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!get\+Supported\+Type\+Info\+Wrapper@{get\+Supported\+Type\+Info\+Wrapper}}
\index{get\+Supported\+Type\+Info\+Wrapper@{get\+Supported\+Type\+Info\+Wrapper}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{get\+Supported\+Type\+Info\+Wrapper}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ {\bf Type\+Info\+Wrapper} {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::get\+Supported\+Type\+Info\+Wrapper (
\begin{DoxyParamCaption}
\item[{{\bf Open\+Mesh\+::\+Base\+Property} $\ast$const}]{base\+Prop}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a00909_ab24e24f73231bde4e5e45fdaaa0be67e}


Returns the \hyperlink{a01356}{Type\+Info\+Wrapper} for the property if it is supported. 


\begin{DoxyParams}{Parameters}
{\em base\+Prop} & A pointer to the property.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A \hyperlink{a01356}{Type\+Info\+Wrapper} containing all the type information for the provided property. 
\end{DoxyReturn}


Definition at line 502 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_a8acce130c4297b13c8a583abec88a69b}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!get\+Supported\+Type\+Info\+Wrapper@{get\+Supported\+Type\+Info\+Wrapper}}
\index{get\+Supported\+Type\+Info\+Wrapper@{get\+Supported\+Type\+Info\+Wrapper}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{get\+Supported\+Type\+Info\+Wrapper}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ {\bf Type\+Info\+Wrapper} {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::get\+Supported\+Type\+Info\+Wrapper (
\begin{DoxyParamCaption}
\item[{Q\+String}]{friendly\+Name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a00909_a8acce130c4297b13c8a583abec88a69b}


Returns the \hyperlink{a01356}{Type\+Info\+Wrapper} for the type of property if it is supported. 


\begin{DoxyParams}{Parameters}
{\em friendly\+Name} & The type we want to visualize in text form.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A \hyperlink{a01356}{Type\+Info\+Wrapper} containing all the type information for the property type. 
\end{DoxyReturn}


Definition at line 517 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_a4c3468bd29d9f2d803f972300668f0fd}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!is\+New@{is\+New}}
\index{is\+New@{is\+New}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{is\+New}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ bool {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::is\+New (
\begin{DoxyParamCaption}
\item[{{\bf Open\+Mesh\+::\+Base\+Property} $\ast$const}]{base\+Prop, }
\item[{Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R}]{filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a00909_a4c3468bd29d9f2d803f972300668f0fd}


Checks if we already created a \hyperlink{a01048}{Property\+Visualizer} for this property. 


\begin{DoxyParams}{Parameters}
{\em base\+Prop} & A pointer to the property. \\
\hline
{\em filter} & The entity type.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if we do not have \hyperlink{a01048}{Property\+Visualizer} yet for that property, False if we do 
\end{DoxyReturn}


Definition at line 483 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_ad25cb9d941d18f159e623d1001fccbd8}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!is\+Supported@{is\+Supported}}
\index{is\+Supported@{is\+Supported}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{is\+Supported}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ bool {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::is\+Supported (
\begin{DoxyParamCaption}
\item[{{\bf Open\+Mesh\+::\+Base\+Property} $\ast$const}]{base\+Prop}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [private]}}}\label{a00909_ad25cb9d941d18f159e623d1001fccbd8}


Checks if visualizing this property is supported. 


\begin{DoxyParams}{Parameters}
{\em base\+Prop} & A pointer to the property that we want to visualize.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the property can be visualized, False if not. 
\end{DoxyReturn}


Definition at line 444 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_a87f9816ce726fdde60fb12a35bf15099}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!is\+Supported@{is\+Supported}}
\index{is\+Supported@{is\+Supported}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{is\+Supported}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ bool {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::is\+Supported (
\begin{DoxyParamCaption}
\item[{Q\+String}]{friendly\+Name}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [private]}}}\label{a00909_a87f9816ce726fdde60fb12a35bf15099}


Checks if visualizing this type of property is supported. 

Checks if visualizing this property is supported.


\begin{DoxyParams}{Parameters}
{\em friendly\+Name} & The type we want to visualize in text form.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if the property type can be visualized, False if not.
\end{DoxyReturn}
Currently supported are the types \char`\"{}bool\char`\"{}, \char`\"{}int\char`\"{}, \char`\"{}unsigned int\char`\"{}, \char`\"{}double\char`\"{}, \char`\"{}\+Vec3d\char`\"{}, \char`\"{}\+Vec3f\char`\"{} and \char`\"{}\+Skin\+Weights\char`\"{} 

Definition at line 462 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_a433c08ac6522ab9c266296fab8445dd1}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!mouse\+Event@{mouse\+Event}}
\index{mouse\+Event@{mouse\+Event}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{mouse\+Event}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ void {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::mouse\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}}\label{a00909_a433c08ac6522ab9c266296fab8445dd1}


Handles mouse events for picking. 

If picking mode is active this method will find the picked entity and display its handle and value in the \hyperlink{a00960}{Pick\+Widget}. 

Reimplemented from \hyperlink{a01180}{Single\+Object\+Property\+Model}.



Definition at line 379 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_a6e2002586e5a7eaea735b290a546da2f}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!parse\+Header@{parse\+Header}}
\index{parse\+Header@{parse\+Header}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{parse\+Header}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ bool {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::parse\+Header (
\begin{DoxyParamCaption}
\item[{Q\+String}]{header, }
\item[{{\bf Property\+Visualizer} $\ast$\&}]{prop\+Vis, }
\item[{unsigned int \&}]{n}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}}\label{a00909_a6e2002586e5a7eaea735b290a546da2f}


Parses the property file header. 


\begin{DoxyParams}[1]{Parameters}
 & {\em header} & The header. \\
\hline
\mbox{\tt out}  & {\em prop\+Vis} & The \hyperlink{a01048}{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's first line. If parsing was successfull a new property and a \hyperlink{a01048}{Property\+Visualizer} will be created. 

Reimplemented from \hyperlink{a01180_a6790c49b36b219d9e746024109f675fc}{Single\+Object\+Property\+Model}.



Definition at line 224 of file O\+M\+Property\+Model\+T.\+cc.

\hypertarget{a00909_aec2491ed20782dfbe04355363b979bf1}{\index{O\+M\+Property\+Model@{O\+M\+Property\+Model}!pick\+Property@{pick\+Property}}
\index{pick\+Property@{pick\+Property}!O\+M\+Property\+Model@{O\+M\+Property\+Model}}
\subsubsection[{pick\+Property}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Mesh\+T $>$ void {\bf O\+M\+Property\+Model}$<$ Mesh\+T $>$\+::pick\+Property (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}}\label{a00909_aec2491ed20782dfbe04355363b979bf1}


Toggle picking on and off. 

This method will start and stop the picking. 

Reimplemented from \hyperlink{a00910}{O\+M\+Property\+Model\+Subclass}.



Definition at line 343 of file O\+M\+Property\+Model\+T.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin-\/\+Property\+Vis/\+Open\+Mesh/O\+M\+Property\+Model.\+hh\item 
Plugin-\/\+Property\+Vis/\+Open\+Mesh/O\+M\+Property\+Model\+T.\+cc\end{DoxyCompactItemize}
