\hypertarget{a00831}{\section{Mesh\+Object$<$ Mesh\+T $>$ Class Template Reference}
\label{a00831}\index{Mesh\+Object$<$ Mesh\+T $>$@{Mesh\+Object$<$ Mesh\+T $>$}}
}


{\ttfamily \#include $<$Object\+Types/\+Mesh\+Object/\+Mesh\+Object\+T.\+hh$>$}

Inheritance diagram for Mesh\+Object$<$ Mesh\+T $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{a00831}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00831_a711b99e933187326cbc1a71fe6cade14}{Mesh\+Object} (const \hyperlink{a00831}{Mesh\+Object} \&\+\_\+object)
\begin{DoxyCompactList}\small\item\em copy constructor \end{DoxyCompactList}\item 
\hyperlink{a00831_a1154b2d1d75a96e3c846eec0781202e5}{Mesh\+Object} (\hyperlink{a00477}{Data\+Type} \+\_\+type\+Id)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
virtual \hyperlink{a00831_a2d28e11ef81da8e6b6c021eba461b291}{$\sim$\+Mesh\+Object} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
virtual void \hyperlink{a00831_a8379b3522022edc2403bf0e5b5f91b96}{cleanup} ()
\begin{DoxyCompactList}\small\item\em Reset current object, including all related nodes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf Name and Path handling}\par
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00831_aaa1423e2a0d37abc9c3d0ad677713d6c}{set\+Name} (Q\+String \+\_\+name)
\begin{DoxyCompactList}\small\item\em Set the name of the Object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Load/\+Save}\par
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a00831_acf2bbccb615c5d77d12d297ecf729ac7}{load\+Mesh} (Q\+String \+\_\+filename)
\begin{DoxyCompactList}\small\item\em Load a mesh from the given file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Object Information}\par
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{a00831_a16d9d1d66d53f4dedda4718a3ae172f4}{get\+Objectinfo} ()
\begin{DoxyCompactList}\small\item\em Get all Info for the Object as a string. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Picking}\par
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a00831_ad3aeeddb501a9c03127f67dcd92bea48}{picked} (uint \+\_\+node\+\_\+idx)
\begin{DoxyCompactList}\small\item\em detect if the node has been picked \end{DoxyCompactList}\item 
\hypertarget{a00831_a7b664cb8b06570a34c7edddd98850b61}{void \hyperlink{a00831_a7b664cb8b06570a34c7edddd98850b61}{enable\+Picking} (bool \+\_\+enable)}\label{a00831_a7b664cb8b06570a34c7edddd98850b61}

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

\begin{DoxyCompactList}\small\item\em Check if picking is enabled for this Node. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{a00831_af3eebb491cdf932514a59254c83cc30f}{init} (Mesh\+T $\ast$\+\_\+mesh=0)
\begin{DoxyCompactList}\small\item\em Initialise current object, including all related nodes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf Update handling}\par
{\em This is mostly private. Updates have to be triggered via emit updated\+Object() }\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{a00831_ab519ebaadf7fe0bf49b4fb15a5a048a2}{update} (\hyperlink{a01393}{Update\+Type} \+\_\+type=\hyperlink{a03407_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+L\+L})
\begin{DoxyCompactList}\small\item\em Update the whole Object (Selection,Topology,...) \end{DoxyCompactList}\item 
void \hyperlink{a00831_a2ed07ca53b44a480535be7d048340f9f}{update\+Selection} ()
\begin{DoxyCompactList}\small\item\em Call this function to update the modeling regions. \end{DoxyCompactList}\item 
void \hyperlink{a00831_aba8c1dab1b6f8a0caa3e3eceba9ebcf1}{update\+Modeling\+Regions} ()
\begin{DoxyCompactList}\small\item\em Call this function to update the modeling regions. \end{DoxyCompactList}\item 
void \hyperlink{a00831_ab8d0a1d6138ef3aabdee7b1c0214f105}{update\+Features} ()
\begin{DoxyCompactList}\small\item\em Update Feature Visualization Node. \end{DoxyCompactList}\item 
void \hyperlink{a00831_a5234c57224d49f3499adfdc8b570809f}{update\+Geometry} ()
\begin{DoxyCompactList}\small\item\em Update Geometry of all data structures. \end{DoxyCompactList}\item 
void \hyperlink{a00831_a97a5a00b7640c9da25c783cd9c6d7c18}{update\+Color} ()
\begin{DoxyCompactList}\small\item\em Update Colors of all data structures. \end{DoxyCompactList}\item 
void \hyperlink{a00831_aefc7f44327fa3bc8dc0e318b81f4242a}{update\+Topology} ()
\begin{DoxyCompactList}\small\item\em Update Topology of all data structures. \end{DoxyCompactList}\item 
void \hyperlink{a00831_a18c857740736f55836c80a077be3b7b3}{update\+Texture} ()
\begin{DoxyCompactList}\small\item\em Update \hyperlink{a01281}{Texture} of all data structures. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00831_a05054284bf298df4cfe3632f952f82a6}{class {\bfseries Type\+Poly\+Mesh\+Plugin}}\label{a00831_a05054284bf298df4cfe3632f952f82a6}

\item 
\hypertarget{a00831_a4a95b7f50fd359c478cc320257668895}{class {\bfseries Type\+Triangle\+Mesh\+Plugin}}\label{a00831_a4a95b7f50fd359c478cc320257668895}

\end{DoxyCompactItemize}
\subsection*{Content}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00831_a1eee4dadae480d81a375e25f9b1f6041}{Mesh\+T $\ast$ \hyperlink{a00831_a1eee4dadae480d81a375e25f9b1f6041}{mesh\+\_\+}}\label{a00831_a1eee4dadae480d81a375e25f9b1f6041}

\begin{DoxyCompactList}\small\item\em pointer to the mesh \end{DoxyCompactList}\item 
Mesh\+T $\ast$ \hyperlink{a00831_a6c0369a82054030a178e0dd565739ccd}{mesh} ()
\begin{DoxyCompactList}\small\item\em return a pointer to the mesh \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Visualization}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00831_ad31ef585a9056cb742e23bb1f77360a6}{\hyperlink{a01146}{A\+C\+G\+::\+Scene\+Graph\+::\+Selection\+Node\+T}\\*
$<$ Mesh\+T $>$ $\ast$ \hyperlink{a00831_ad31ef585a9056cb742e23bb1f77360a6}{status\+Node\+\_\+}}\label{a00831_ad31ef585a9056cb742e23bb1f77360a6}

\begin{DoxyCompactList}\small\item\em Status Node for a mesh, visualizing the selection state of a mesh. \end{DoxyCompactList}\item 
\hypertarget{a00831_aa6d962b928b81b4d42ac62fa292981a3}{\hyperlink{a01245}{A\+C\+G\+::\+Scene\+Graph\+::\+Status\+Node\+T}\\*
$<$ Mesh\+T, \hyperlink{a00294}{Area\+Node\+Mod}$<$ Mesh\+T $>$ $>$ $\ast$ \hyperlink{a00831_aa6d962b928b81b4d42ac62fa292981a3}{area\+Node\+\_\+}}\label{a00831_aa6d962b928b81b4d42ac62fa292981a3}

\begin{DoxyCompactList}\small\item\em Area selection Vis. \end{DoxyCompactList}\item 
\hypertarget{a00831_a32b586c751f47bb19ba9005e3470d5b8}{\hyperlink{a01245}{A\+C\+G\+::\+Scene\+Graph\+::\+Status\+Node\+T}\\*
$<$ Mesh\+T, \hyperlink{a00686}{Handle\+Node\+Mod}$<$ Mesh\+T $>$ $>$ $\ast$ \hyperlink{a00831_a32b586c751f47bb19ba9005e3470d5b8}{handle\+Node\+\_\+}}\label{a00831_a32b586c751f47bb19ba9005e3470d5b8}

\begin{DoxyCompactList}\small\item\em Handle selection Vis. \end{DoxyCompactList}\item 
\hypertarget{a00831_a28fef75f28758c9fd8d5e5b45b99514d}{\hyperlink{a01245}{A\+C\+G\+::\+Scene\+Graph\+::\+Status\+Node\+T}\\*
$<$ Mesh\+T, \hyperlink{a00564}{Feature\+Node\+Mod}$<$ Mesh\+T $>$ $>$ $\ast$ \hyperlink{a00831_a28fef75f28758c9fd8d5e5b45b99514d}{feature\+Node\+\_\+}}\label{a00831_a28fef75f28758c9fd8d5e5b45b99514d}

\begin{DoxyCompactList}\small\item\em Feature selection Vis. \end{DoxyCompactList}\item 
\hypertarget{a00831_a1aa8945b220407d3752030cc0430c55d}{\hyperlink{a00830}{A\+C\+G\+::\+Scene\+Graph\+::\+Mesh\+Node\+T}\\*
$<$ Mesh\+T $>$ $\ast$ \hyperlink{a00831_a1aa8945b220407d3752030cc0430c55d}{mesh\+Node\+\_\+}}\label{a00831_a1aa8945b220407d3752030cc0430c55d}

\begin{DoxyCompactList}\small\item\em Scenegraph Mesh Node. \end{DoxyCompactList}\item 
\hypertarget{a00831_adf9e7a49e593102228b08eaea7a55a9f}{\hyperlink{a00542}{A\+C\+G\+::\+Scene\+Graph\+::\+Env\+Map\+Node} $\ast$ \hyperlink{a00831_adf9e7a49e593102228b08eaea7a55a9f}{texture\+Node\+\_\+}}\label{a00831_adf9e7a49e593102228b08eaea7a55a9f}

\begin{DoxyCompactList}\small\item\em Scenegraph Texture\+Node. \end{DoxyCompactList}\item 
\hypertarget{a00831_a5d7a4656bd04826ed36c422f88f10101}{\hyperlink{a01166}{A\+C\+G\+::\+Scene\+Graph\+::\+Shader\+Node} $\ast$ \hyperlink{a00831_a5d7a4656bd04826ed36c422f88f10101}{shader\+Node\+\_\+}}\label{a00831_a5d7a4656bd04826ed36c422f88f10101}

\begin{DoxyCompactList}\small\item\em Scenegraph Shader\+Node. \end{DoxyCompactList}\item 
\hypertarget{a00831_a4cd1a6b4e93f7b276fcb30f8a15254b7}{\hyperlink{a01247}{A\+C\+G\+::\+Scene\+Graph\+::\+Status\+View\+Node\+T}\\*
$<$ Mesh\+T $>$ $\ast$ \hyperlink{a00831_a4cd1a6b4e93f7b276fcb30f8a15254b7}{status\+View\+\_\+}}\label{a00831_a4cd1a6b4e93f7b276fcb30f8a15254b7}

\begin{DoxyCompactList}\small\item\em Scenegraph Status\+Node\+View. \end{DoxyCompactList}\item 
\hyperlink{a00542}{A\+C\+G\+::\+Scene\+Graph\+::\+Env\+Map\+Node} $\ast$ \hyperlink{a00831_a9e7f52dd3565a0efd8121cad9544e46c}{texture\+Node} ()
\begin{DoxyCompactList}\small\item\em Get the Texture\+Node of the current mesh. \end{DoxyCompactList}\item 
\hyperlink{a01166}{A\+C\+G\+::\+Scene\+Graph\+::\+Shader\+Node} $\ast$ \hyperlink{a00831_acce3ec72c4b5c21089f9efbe8a8d7abd}{shader\+Node} ()
\begin{DoxyCompactList}\small\item\em Return pointer to the shader node. \end{DoxyCompactList}\item 
void \hyperlink{a00831_a7baad896b869d13910048b2ec1695eb3}{hide\+Selection} (bool \+\_\+hide)
\begin{DoxyCompactList}\small\item\em Hide or show the selection Node of the object. \end{DoxyCompactList}\item 
\hypertarget{a00831_a42592c87ebbf3a79035d49181512a383}{bool \hyperlink{a00831_a42592c87ebbf3a79035d49181512a383}{selection\+Visible} ()}\label{a00831_a42592c87ebbf3a79035d49181512a383}

\begin{DoxyCompactList}\small\item\em return if the selections are currently visible \end{DoxyCompactList}\item 
\hypertarget{a00831_a2a3df235054e6f2bc4f070239789771a}{void \hyperlink{a00831_a2a3df235054e6f2bc4f070239789771a}{hide\+Features} (bool \+\_\+hide)}\label{a00831_a2a3df235054e6f2bc4f070239789771a}

\begin{DoxyCompactList}\small\item\em Hide or show the feature Node of the object. \end{DoxyCompactList}\item 
\hypertarget{a00831_a2132ac6b4233209fa9126b0ab9a2d145}{bool \hyperlink{a00831_a2132ac6b4233209fa9126b0ab9a2d145}{features\+Visible} ()}\label{a00831_a2132ac6b4233209fa9126b0ab9a2d145}

\begin{DoxyCompactList}\small\item\em return if the feature Node of the object is currently visible \end{DoxyCompactList}\item 
void \hyperlink{a00831_ab7505beae45966e06914b1554585eacd}{hide\+Area} (Status\+Bits \+\_\+bit, bool \+\_\+hide)
\begin{DoxyCompactList}\small\item\em Hide or show the area Nodes of the object. \end{DoxyCompactList}\item 
bool \hyperlink{a00831_a09fd5cbd03cde019e040676f7c160f71}{area\+Visible} (Status\+Bits \+\_\+bit)
\begin{DoxyCompactList}\small\item\em Return if the selected areas are currently visible. \end{DoxyCompactList}\item 
\hyperlink{a00830}{A\+C\+G\+::\+Scene\+Graph\+::\+Mesh\+Node\+T}\\*
$<$ Mesh\+T $>$ $\ast$ \hyperlink{a00831_a6131b969d9cf20775fe9abede5b01984}{mesh\+Node} ()
\begin{DoxyCompactList}\small\item\em Get the Scenegraph Mesh Node. \end{DoxyCompactList}\item 
void \hyperlink{a00831_a6adfa53b3eb6a7cb697d2771a22ba18e}{bounding\+Box} (\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+bb\+Min, typename \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+bb\+Max)
\begin{DoxyCompactList}\small\item\em Get the Bounding\+Box of this object. \end{DoxyCompactList}\item 
\hypertarget{a00831_a18d258031f51247572c08a33ae87a657}{\hyperlink{a02486_a5bfac87fd7e6d7cd056e34dbb133de0d}{Base\+Node} $\ast$ \hyperlink{a00831_a18d258031f51247572c08a33ae87a657}{primary\+Node} ()}\label{a00831_a18d258031f51247572c08a33ae87a657}

\begin{DoxyCompactList}\small\item\em Status Node for a mesh, visualizing the selection state of a mesh. \end{DoxyCompactList}\item 
\hypertarget{a00831_af50b72be6d2c264c81d46c166bb6596a}{void \hyperlink{a00831_af50b72be6d2c264c81d46c166bb6596a}{set\+Selection\+Color} (const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \&\+\_\+color)}\label{a00831_af50b72be6d2c264c81d46c166bb6596a}

\begin{DoxyCompactList}\small\item\em set color for selection \end{DoxyCompactList}\item 
\hypertarget{a00831_a74b7a6b64513915ff74429b0f0914e6e}{\hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{a00831_a74b7a6b64513915ff74429b0f0914e6e}{selection\+Color} () const }\label{a00831_a74b7a6b64513915ff74429b0f0914e6e}

\begin{DoxyCompactList}\small\item\em get color for selection. returns -\/1 vector, if handle node does not exists \end{DoxyCompactList}\item 
\hypertarget{a00831_a501eabb9ee76681ba2557af96feebaf3}{void \hyperlink{a00831_a501eabb9ee76681ba2557af96feebaf3}{set\+Area\+Color} (const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \&\+\_\+color)}\label{a00831_a501eabb9ee76681ba2557af96feebaf3}

\begin{DoxyCompactList}\small\item\em set color for areas \end{DoxyCompactList}\item 
\hypertarget{a00831_a64dee629705a77cd293e20843cbfa917}{\hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{a00831_a64dee629705a77cd293e20843cbfa917}{area\+Color} () const }\label{a00831_a64dee629705a77cd293e20843cbfa917}

\begin{DoxyCompactList}\small\item\em get color for areas. returns -\/1 vector, if handle node does not exists \end{DoxyCompactList}\item 
\hypertarget{a00831_a767f32508ce0666320f08c9769ed6d9e}{void \hyperlink{a00831_a767f32508ce0666320f08c9769ed6d9e}{set\+Feature\+Color} (const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \&\+\_\+color)}\label{a00831_a767f32508ce0666320f08c9769ed6d9e}

\begin{DoxyCompactList}\small\item\em set color for features \end{DoxyCompactList}\item 
\hypertarget{a00831_a0dbab510b85f6e7284d0fde571855ff4}{\hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{a00831_a0dbab510b85f6e7284d0fde571855ff4}{feature\+Color} () const }\label{a00831_a0dbab510b85f6e7284d0fde571855ff4}

\begin{DoxyCompactList}\small\item\em get color for features. returns -\/1 vector, if handle node does not exists \end{DoxyCompactList}\item 
\hypertarget{a00831_a4b552759237a9e7596c7e2d1436c4e17}{void \hyperlink{a00831_a4b552759237a9e7596c7e2d1436c4e17}{set\+Handle\+Color} (const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \&\+\_\+color)}\label{a00831_a4b552759237a9e7596c7e2d1436c4e17}

\begin{DoxyCompactList}\small\item\em set color for handles \end{DoxyCompactList}\item 
\hypertarget{a00831_a300cfeda342da51449420046822b9286}{\hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{a00831_a300cfeda342da51449420046822b9286}{handle\+Color} () const }\label{a00831_a300cfeda342da51449420046822b9286}

\begin{DoxyCompactList}\small\item\em get color for handles. returns -\/1 vector, if handle node does not exists \end{DoxyCompactList}\item 
\hyperlink{a01146}{A\+C\+G\+::\+Scene\+Graph\+::\+Selection\+Node\+T}\\*
$<$ Mesh\+T $>$ $\ast$ \hyperlink{a00831_a7b3fc53a8c6d6c5e4c2e706d610a0c89}{status\+Node} ()
\item 
\hypertarget{a00831_ab9e61e13c9afe4b79e97606c8a8b4a91}{\hyperlink{a01245}{A\+C\+G\+::\+Scene\+Graph\+::\+Status\+Node\+T}\\*
$<$ Mesh\+T, \hyperlink{a00294}{Area\+Node\+Mod}$<$ Mesh\+T $>$ $>$ $\ast$ \hyperlink{a00831_ab9e61e13c9afe4b79e97606c8a8b4a91}{area\+Node} ()}\label{a00831_ab9e61e13c9afe4b79e97606c8a8b4a91}

\begin{DoxyCompactList}\small\item\em Returns the area selection node if available, nullptr otherwise. \end{DoxyCompactList}\item 
\hypertarget{a00831_ade8f507589a649970fd38e88ff278d80}{\hyperlink{a01245}{A\+C\+G\+::\+Scene\+Graph\+::\+Status\+Node\+T}\\*
$<$ Mesh\+T, \hyperlink{a00686}{Handle\+Node\+Mod}$<$ Mesh\+T $>$ $>$ $\ast$ \hyperlink{a00831_ade8f507589a649970fd38e88ff278d80}{handle\+Node} ()}\label{a00831_ade8f507589a649970fd38e88ff278d80}

\begin{DoxyCompactList}\small\item\em Returns the handle selection node if available, nullptr otherwise. \end{DoxyCompactList}\item 
\hypertarget{a00831_a0f4ecc91efbf84fac8055d512e2ff59d}{\hyperlink{a01245}{A\+C\+G\+::\+Scene\+Graph\+::\+Status\+Node\+T}\\*
$<$ Mesh\+T, \hyperlink{a00564}{Feature\+Node\+Mod}$<$ Mesh\+T $>$ $>$ $\ast$ \hyperlink{a00831_a0f4ecc91efbf84fac8055d512e2ff59d}{feature\+Node} ()}\label{a00831_a0f4ecc91efbf84fac8055d512e2ff59d}

\begin{DoxyCompactList}\small\item\em Returns the feature selection node if available, nullptr otherwise. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{B\+S\+P Extension ( Implements a B\+S\+P for the mesh used for fast searches )}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00831_a488bb0fb683729148c3cbd1f0bb69e2e}{typedef \hyperlink{a00925}{Open\+Mesh\+Triangle\+B\+S\+P\+T}\\*
$<$ Mesh\+T $>$ \hyperlink{a00831_a488bb0fb683729148c3cbd1f0bb69e2e}{O\+M\+Triangle\+B\+S\+P}}\label{a00831_a488bb0fb683729148c3cbd1f0bb69e2e}

\begin{DoxyCompactList}\small\item\em If requested a bsp is created for this object. \end{DoxyCompactList}\item 
\hypertarget{a00831_afdf34fdfaeee4f14f2a48376c1d4253e}{\hyperlink{a00831_a488bb0fb683729148c3cbd1f0bb69e2e}{O\+M\+Triangle\+B\+S\+P} $\ast$ \hyperlink{a00831_afdf34fdfaeee4f14f2a48376c1d4253e}{triangle\+\_\+bsp\+\_\+}}\label{a00831_afdf34fdfaeee4f14f2a48376c1d4253e}

\begin{DoxyCompactList}\small\item\em If requested a bsp is created for this object. \end{DoxyCompactList}\item 
\hyperlink{a00831_a488bb0fb683729148c3cbd1f0bb69e2e}{O\+M\+Triangle\+B\+S\+P} $\ast$ \hyperlink{a00831_a2c5eecdc1e2b8bb86bd07d958661c415}{request\+Triangle\+Bsp} ()
\item 
void \hyperlink{a00831_a272cfc1464bf47cf8540c3a1ff798f74}{invalidate\+Triangle\+Bsp} ()
\item 
\hyperlink{a00831_a488bb0fb683729148c3cbd1f0bb69e2e}{O\+M\+Triangle\+B\+S\+P} $\ast$ \hyperlink{a00831_a37fa0a3eaa83556b50bf27264be07c09}{reset\+Triangle\+Bsp} ()
\item 
bool \hyperlink{a00831_af0d9e304738c96abcc44b68630f394eb}{has\+Bsp} () const 
\begin{DoxyCompactList}\small\item\em check if a B\+S\+P has been computed and is valid \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$class Mesh\+T$>$class Mesh\+Object$<$ Mesh\+T $>$}

This class provides the functionality for all kind of meshes for the framework 

Definition at line 103 of file Mesh\+Object\+T.\+hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00831_a711b99e933187326cbc1a71fe6cade14}{\index{Mesh\+Object@{Mesh\+Object}!Mesh\+Object@{Mesh\+Object}}
\index{Mesh\+Object@{Mesh\+Object}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{Mesh\+Object}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::{\bf Mesh\+Object} (
\begin{DoxyParamCaption}
\item[{const {\bf Mesh\+Object}$<$ Mesh\+T $>$ \&}]{\+\_\+object}
\end{DoxyParamCaption}
)}}\label{a00831_a711b99e933187326cbc1a71fe6cade14}


copy constructor 

Create a copy of this object 

Definition at line 75 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a1154b2d1d75a96e3c846eec0781202e5}{\index{Mesh\+Object@{Mesh\+Object}!Mesh\+Object@{Mesh\+Object}}
\index{Mesh\+Object@{Mesh\+Object}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{Mesh\+Object}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::{\bf Mesh\+Object} (
\begin{DoxyParamCaption}
\item[{{\bf Data\+Type}}]{\+\_\+type\+Id}
\end{DoxyParamCaption}
)}}\label{a00831_a1154b2d1d75a96e3c846eec0781202e5}


Constructor. 

This is the standard constructor for Mesh\+Objects. As triangle and Poly Meshes are handled by this class, the type\+Id is passed to the \hyperlink{a00831}{Mesh\+Object} to specify it.


\begin{DoxyParams}{Parameters}
{\em \+\_\+type\+Id} & This is the type Id the Object will use. Should be type\+Id(\char`\"{}\+Triangle\+Mesh\char`\"{}) or type\+Id(\char`\"{}\+Poly\+Mesh\char`\"{})\\
\hline
\end{DoxyParams}
Constructor for Mesh Objects. This object class gets a Separator Node giving the root node to which it should be connected. The mesh is generated internally and all nodes for visualization will be added below the scenegraph node.~\newline
You dont need to create an object of this type manually. Use Plugin\+Functions\+::add\+Tri\+Mesh or Plugin\+Functions\+::add\+Poly\+Mesh instead. The object\+Data\+Type has to match the one of Mesh\+T ( see Types.\+hh\+::\+Data\+Type ) 

Definition at line 104 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a2d28e11ef81da8e6b6c021eba461b291}{\index{Mesh\+Object@{Mesh\+Object}!````~Mesh\+Object@{$\sim$\+Mesh\+Object}}
\index{````~Mesh\+Object@{$\sim$\+Mesh\+Object}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{$\sim$\+Mesh\+Object}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::$\sim${\bf Mesh\+Object} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00831_a2d28e11ef81da8e6b6c021eba461b291}


destructor 

Destructor for Mesh Objects. The destructor deletes the mesh and all Scenegraph nodes associated with the mesh or the object. 

Definition at line 125 of file Mesh\+Object\+T.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a00831_a09fd5cbd03cde019e040676f7c160f71}{\index{Mesh\+Object@{Mesh\+Object}!area\+Visible@{area\+Visible}}
\index{area\+Visible@{area\+Visible}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{area\+Visible}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ bool {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::area\+Visible (
\begin{DoxyParamCaption}
\item[{Status\+Bits}]{\+\_\+bit}
\end{DoxyParamCaption}
)}}\label{a00831_a09fd5cbd03cde019e040676f7c160f71}


Return if the selected areas are currently visible. 

\begin{DoxyNote}{Note}
If the bits contain multiple area bits, than only if all are visible, this function will return true
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em \+\_\+bit} & Status bit to check \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
All visible? 
\end{DoxyReturn}


Definition at line 614 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a6adfa53b3eb6a7cb697d2771a22ba18e}{\index{Mesh\+Object@{Mesh\+Object}!bounding\+Box@{bounding\+Box}}
\index{bounding\+Box@{bounding\+Box}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{bounding\+Box}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::bounding\+Box (
\begin{DoxyParamCaption}
\item[{{\bf A\+C\+G\+::\+Vec3d} \&}]{\+\_\+bb\+Min, }
\item[{typename {\bf A\+C\+G\+::\+Vec3d} \&}]{\+\_\+bb\+Max}
\end{DoxyParamCaption}
)}}\label{a00831_a6adfa53b3eb6a7cb697d2771a22ba18e}


Get the Bounding\+Box of this object. 

Get the Bounding box size of this object 

Definition at line 637 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a8379b3522022edc2403bf0e5b5f91b96}{\index{Mesh\+Object@{Mesh\+Object}!cleanup@{cleanup}}
\index{cleanup@{cleanup}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{cleanup}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::cleanup (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00831_a8379b3522022edc2403bf0e5b5f91b96}


Reset current object, including all related nodes. 

Cleanup Function for Mesh Objects. Deletes the contents of the whole object and calls \hyperlink{a00831_af3eebb491cdf932514a59254c83cc30f}{Mesh\+Object\+::init} afterwards. 

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



Definition at line 160 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a16d9d1d66d53f4dedda4718a3ae172f4}{\index{Mesh\+Object@{Mesh\+Object}!get\+Objectinfo@{get\+Objectinfo}}
\index{get\+Objectinfo@{get\+Objectinfo}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{get\+Objectinfo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ Q\+String {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::get\+Objectinfo (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00831_a16d9d1d66d53f4dedda4718a3ae172f4}


Get all Info for the Object as a string. 

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

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


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



Definition at line 696 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_af0d9e304738c96abcc44b68630f394eb}{\index{Mesh\+Object@{Mesh\+Object}!has\+Bsp@{has\+Bsp}}
\index{has\+Bsp@{has\+Bsp}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{has\+Bsp}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ bool {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::has\+Bsp (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a00831_af0d9e304738c96abcc44b68630f394eb}


check if a B\+S\+P has been computed and is valid 

This function checks if a bsp has been computed for this mesh object and if it is still valid (meaning, nothing has been changed on the object after the B\+S\+P has been computed

\begin{DoxyReturn}{Returns}
B\+S\+P valid? 
\end{DoxyReturn}


Definition at line 810 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_ab7505beae45966e06914b1554585eacd}{\index{Mesh\+Object@{Mesh\+Object}!hide\+Area@{hide\+Area}}
\index{hide\+Area@{hide\+Area}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{hide\+Area}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::hide\+Area (
\begin{DoxyParamCaption}
\item[{Status\+Bits}]{\+\_\+bit, }
\item[{bool}]{\+\_\+hide}
\end{DoxyParamCaption}
)}}\label{a00831_ab7505beae45966e06914b1554585eacd}


Hide or show the area Nodes of the object. 

Shows or hides the areas on the object 

Definition at line 591 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a7baad896b869d13910048b2ec1695eb3}{\index{Mesh\+Object@{Mesh\+Object}!hide\+Selection@{hide\+Selection}}
\index{hide\+Selection@{hide\+Selection}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{hide\+Selection}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::hide\+Selection (
\begin{DoxyParamCaption}
\item[{bool}]{\+\_\+hide}
\end{DoxyParamCaption}
)}}\label{a00831_a7baad896b869d13910048b2ec1695eb3}


Hide or show the selection Node of the object. 

Shows or hides the selections on the object 

Definition at line 564 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_af3eebb491cdf932514a59254c83cc30f}{\index{Mesh\+Object@{Mesh\+Object}!init@{init}}
\index{init@{init}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T$>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::init (
\begin{DoxyParamCaption}
\item[{Mesh\+T $\ast$}]{\+\_\+mesh = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{a00831_af3eebb491cdf932514a59254c83cc30f}


Initialise current object, including all related nodes. 

This function initalizes the mesh object. It creates the scenegraph nodes, the mesh and requests all required properties for the mesh. 

Definition at line 192 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a272cfc1464bf47cf8540c3a1ff798f74}{\index{Mesh\+Object@{Mesh\+Object}!invalidate\+Triangle\+Bsp@{invalidate\+Triangle\+Bsp}}
\index{invalidate\+Triangle\+Bsp@{invalidate\+Triangle\+Bsp}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{invalidate\+Triangle\+Bsp}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::invalidate\+Triangle\+Bsp (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00831_a272cfc1464bf47cf8540c3a1ff798f74}
If something in the mesh changes, call this function to clear the octree. You have to do a new request as the old one will be deleted. \begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000061}{Todo}]\+: Update the tree when the update function of this object is called. 

\+: dont recreate but update the old one. \begin{DoxyReturn}{Returns}
The new pointer to the bsp or Null if unsupported 
\end{DoxyReturn}
\end{DoxyRefDesc}


Definition at line 799 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_acf2bbccb615c5d77d12d297ecf729ac7}{\index{Mesh\+Object@{Mesh\+Object}!load\+Mesh@{load\+Mesh}}
\index{load\+Mesh@{load\+Mesh}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{load\+Mesh}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ bool {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::load\+Mesh (
\begin{DoxyParamCaption}
\item[{Q\+String}]{\+\_\+filename}
\end{DoxyParamCaption}
)}}\label{a00831_acf2bbccb615c5d77d12d297ecf729ac7}


Load a mesh from the given file. 

Load the mesh data from a file. The loader uses the \hyperlink{a03368}{Open\+Mesh} object loaders and therefore supports all mesh types supported by \hyperlink{a03368}{Open\+Mesh}.


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


Definition at line 657 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a6c0369a82054030a178e0dd565739ccd}{\index{Mesh\+Object@{Mesh\+Object}!mesh@{mesh}}
\index{mesh@{mesh}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{mesh}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ Mesh\+T $\ast$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::mesh (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00831_a6c0369a82054030a178e0dd565739ccd}


return a pointer to the mesh 

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


Definition at line 351 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a6131b969d9cf20775fe9abede5b01984}{\index{Mesh\+Object@{Mesh\+Object}!mesh\+Node@{mesh\+Node}}
\index{mesh\+Node@{mesh\+Node}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{mesh\+Node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Mesh\+Node\+T}$<$ Mesh\+T $>$ $\ast$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::mesh\+Node (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00831_a6131b969d9cf20775fe9abede5b01984}


Get the Scenegraph Mesh Node. 

Returns a pointer to the mesh node \begin{DoxyReturn}{Returns}
Pointer to the mesh node 
\end{DoxyReturn}


Definition at line 630 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_ad3aeeddb501a9c03127f67dcd92bea48}{\index{Mesh\+Object@{Mesh\+Object}!picked@{picked}}
\index{picked@{picked}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{picked}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ bool {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::picked (
\begin{DoxyParamCaption}
\item[{uint}]{\+\_\+node\+\_\+idx}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00831_ad3aeeddb501a9c03127f67dcd92bea48}


detect if the node has been picked 

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


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


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



Definition at line 727 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a2c5eecdc1e2b8bb86bd07d958661c415}{\index{Mesh\+Object@{Mesh\+Object}!request\+Triangle\+Bsp@{request\+Triangle\+Bsp}}
\index{request\+Triangle\+Bsp@{request\+Triangle\+Bsp}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{request\+Triangle\+Bsp}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::{\bf O\+M\+Triangle\+B\+S\+P} $\ast$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::request\+Triangle\+Bsp (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00831_a2c5eecdc1e2b8bb86bd07d958661c415}
Get a bsp for this object. Only supported for Triangle Meshes at the moment.

\begin{DoxyReturn}{Returns}
Pointer to bsp or Null if unsupported for this type. 
\end{DoxyReturn}


Definition at line 756 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a37fa0a3eaa83556b50bf27264be07c09}{\index{Mesh\+Object@{Mesh\+Object}!reset\+Triangle\+Bsp@{reset\+Triangle\+Bsp}}
\index{reset\+Triangle\+Bsp@{reset\+Triangle\+Bsp}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{reset\+Triangle\+Bsp}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::{\bf O\+M\+Triangle\+B\+S\+P} $\ast$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::reset\+Triangle\+Bsp (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00831_a37fa0a3eaa83556b50bf27264be07c09}
Update the bsp for this object. Only supported for Triangle Meshes at the moment.

\begin{DoxyReturn}{Returns}
Pointer to bsp or Null if unsupported for this type. 
\end{DoxyReturn}


Definition at line 787 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_aaa1423e2a0d37abc9c3d0ad677713d6c}{\index{Mesh\+Object@{Mesh\+Object}!set\+Name@{set\+Name}}
\index{set\+Name@{set\+Name}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{set\+Name}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::set\+Name (
\begin{DoxyParamCaption}
\item[{Q\+String}]{\+\_\+name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00831_aaa1423e2a0d37abc9c3d0ad677713d6c}


Set the name of the Object. 

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

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



Definition at line 311 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_acce3ec72c4b5c21089f9efbe8a8d7abd}{\index{Mesh\+Object@{Mesh\+Object}!shader\+Node@{shader\+Node}}
\index{shader\+Node@{shader\+Node}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{shader\+Node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Shader\+Node} $\ast$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::shader\+Node (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00831_acce3ec72c4b5c21089f9efbe8a8d7abd}


Return pointer to the shader node. 

Returns a pointer to the shader node \begin{DoxyReturn}{Returns}
Pointer to the shader node 
\end{DoxyReturn}


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



Definition at line 557 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a7b3fc53a8c6d6c5e4c2e706d610a0c89}{\index{Mesh\+Object@{Mesh\+Object}!status\+Node@{status\+Node}}
\index{status\+Node@{status\+Node}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{status\+Node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T$>$ {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Selection\+Node\+T}$<$Mesh\+T$>$$\ast$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::status\+Node (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a00831_a7b3fc53a8c6d6c5e4c2e706d610a0c89}
Returns the status node (visualizing the selection) if available, nullptr otherwise. 

Definition at line 268 of file Mesh\+Object\+T.\+hh.

\hypertarget{a00831_a9e7f52dd3565a0efd8121cad9544e46c}{\index{Mesh\+Object@{Mesh\+Object}!texture\+Node@{texture\+Node}}
\index{texture\+Node@{texture\+Node}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{texture\+Node}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Env\+Map\+Node} $\ast$ {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::texture\+Node (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00831_a9e7f52dd3565a0efd8121cad9544e46c}


Get the Texture\+Node of the current mesh. 

Returns a pointer to the texture node \begin{DoxyReturn}{Returns}
Pointer to the texture node 
\end{DoxyReturn}


Definition at line 549 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_ab519ebaadf7fe0bf49b4fb15a5a048a2}{\index{Mesh\+Object@{Mesh\+Object}!update@{update}}
\index{update@{update}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::update (
\begin{DoxyParamCaption}
\item[{{\bf Update\+Type}}]{\+\_\+type = {\ttfamily {\bf U\+P\+D\+A\+T\+E\+\_\+\+A\+L\+L}}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{a00831_ab519ebaadf7fe0bf49b4fb15a5a048a2}


Update the whole Object (Selection,Topology,...) 

Updates the visualization of the object. Calls \hyperlink{a00831_a5234c57224d49f3499adfdc8b570809f}{Mesh\+Object\+::update\+Geometry}, \hyperlink{a00831_aefc7f44327fa3bc8dc0e318b81f4242a}{Mesh\+Object\+::update\+Topology}, \hyperlink{a00831_a2ed07ca53b44a480535be7d048340f9f}{Mesh\+Object\+::update\+Selection} and \hyperlink{a00831_aba8c1dab1b6f8a0caa3e3eceba9ebcf1}{Mesh\+Object\+::update\+Modeling\+Regions}. 

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



Definition at line 360 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a97a5a00b7640c9da25c783cd9c6d7c18}{\index{Mesh\+Object@{Mesh\+Object}!update\+Color@{update\+Color}}
\index{update\+Color@{update\+Color}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{update\+Color}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::update\+Color (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00831_a97a5a00b7640c9da25c783cd9c6d7c18}


Update Colors of all data structures. 

Updates the color information in the mesh scenegraph node 

Definition at line 427 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_ab8d0a1d6138ef3aabdee7b1c0214f105}{\index{Mesh\+Object@{Mesh\+Object}!update\+Features@{update\+Features}}
\index{update\+Features@{update\+Features}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{update\+Features}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::update\+Features (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00831_ab8d0a1d6138ef3aabdee7b1c0214f105}


Update Feature Visualization Node. 

Updates the modeling regions scenegraph nodes 

Definition at line 456 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a5234c57224d49f3499adfdc8b570809f}{\index{Mesh\+Object@{Mesh\+Object}!update\+Geometry@{update\+Geometry}}
\index{update\+Geometry@{update\+Geometry}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{update\+Geometry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::update\+Geometry (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00831_a5234c57224d49f3499adfdc8b570809f}


Update Geometry of all data structures. 

Updates the geometry information in the mesh scenegraph node 

Definition at line 407 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_aba8c1dab1b6f8a0caa3e3eceba9ebcf1}{\index{Mesh\+Object@{Mesh\+Object}!update\+Modeling\+Regions@{update\+Modeling\+Regions}}
\index{update\+Modeling\+Regions@{update\+Modeling\+Regions}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{update\+Modeling\+Regions}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::update\+Modeling\+Regions (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00831_aba8c1dab1b6f8a0caa3e3eceba9ebcf1}


Call this function to update the modeling regions. 

Updates the modeling regions scenegraph nodes 

Definition at line 447 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a2ed07ca53b44a480535be7d048340f9f}{\index{Mesh\+Object@{Mesh\+Object}!update\+Selection@{update\+Selection}}
\index{update\+Selection@{update\+Selection}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{update\+Selection}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::update\+Selection (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00831_a2ed07ca53b44a480535be7d048340f9f}


Call this function to update the modeling regions. 

Updates the selection scenegraph nodes 

Definition at line 398 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_a18c857740736f55836c80a077be3b7b3}{\index{Mesh\+Object@{Mesh\+Object}!update\+Texture@{update\+Texture}}
\index{update\+Texture@{update\+Texture}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{update\+Texture}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::update\+Texture (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00831_a18c857740736f55836c80a077be3b7b3}


Update \hyperlink{a01281}{Texture} of all data structures. 

Updates the modeling regions scenegraph nodes 

Definition at line 463 of file Mesh\+Object\+T.\+cc.

\hypertarget{a00831_aefc7f44327fa3bc8dc0e318b81f4242a}{\index{Mesh\+Object@{Mesh\+Object}!update\+Topology@{update\+Topology}}
\index{update\+Topology@{update\+Topology}!Mesh\+Object@{Mesh\+Object}}
\subsubsection[{update\+Topology}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh\+T $>$ void {\bf Mesh\+Object}$<$ Mesh\+T $>$\+::update\+Topology (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00831_aefc7f44327fa3bc8dc0e318b81f4242a}


Update Topology of all data structures. 

Updates the topology information in the mesh scenegraph node 

Definition at line 434 of file Mesh\+Object\+T.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Object\+Types/\+Mesh\+Object/Mesh\+Object\+T.\+hh\item 
Object\+Types/\+Mesh\+Object/Mesh\+Object\+T.\+cc\end{DoxyCompactItemize}
