\hypertarget{a10168}{}\section{Info\+Mesh\+Object\+Plugin Class Reference}
\label{a10168}\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}


Plugin to visualize information about objects in the scene.  




{\ttfamily \#include $<$Plugin-\/\+Info\+Mesh\+Object/\+Mesh\+Object\+Info\+Plugin.\+hh$>$}

Inheritance diagram for Info\+Mesh\+Object\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.111111cm]{a10168}
\end{center}
\end{figure}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10168_ae858e96cead51ea1a9341e4c15b1a786}\label{a10168_ae858e96cead51ea1a9341e4c15b1a786}} 
void {\bfseries set\+Slot\+Description} (Q\+String \+\_\+slot\+Name, Q\+String \+\_\+slot\+Description, Q\+String\+List \+\_\+parameters, Q\+String\+List \+\_\+descriptions)
\item 
\mbox{\Hypertarget{a10168_a0cf869ec41551b6d689187299a8c2d67}\label{a10168_a0cf869ec41551b6d689187299a8c2d67}} 
void {\bfseries log} (\hyperlink{a00035_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a10168_ae33bb935710aa173c18777b71775dcab}\label{a10168_ae33bb935710aa173c18777b71775dcab}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a10168_a9138635640a2d94b6788a7747783d828}\label{a10168_a9138635640a2d94b6788a7747783d828}} 
void {\bfseries add\+Widget\+To\+Statusbar} (Q\+Widget $\ast$\+\_\+widget)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10168_a99a48943121ba1aee1eb3aed38e2fa5a}\label{a10168_a99a48943121ba1aee1eb3aed38e2fa5a}} 
Q\+String \hyperlink{a10168_a99a48943121ba1aee1eb3aed38e2fa5a}{name} ()
\begin{DoxyCompactList}\small\item\em Name of the Plugin. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10168_a7315ebae4b2679358df0feba1e1a907d}\label{a10168_a7315ebae4b2679358df0feba1e1a907d}} 
Q\+String \hyperlink{a10168_a7315ebae4b2679358df0feba1e1a907d}{description} ()
\begin{DoxyCompactList}\small\item\em Description of the Plugin. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10168_af271250ed8a6be3cb7e26619bff21b11}\label{a10168_af271250ed8a6be3cb7e26619bff21b11}} 
void {\bfseries initialize\+Plugin} ()
\item 
\mbox{\Hypertarget{a10168_add055a0fb0ccb4ec1b4b5568994b820d}\label{a10168_add055a0fb0ccb4ec1b4b5568994b820d}} 
void \hyperlink{a10168_add055a0fb0ccb4ec1b4b5568994b820d}{plugins\+Initialized} ()
\begin{DoxyCompactList}\small\item\em initialize the plugin \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10168_a8669d5db3b210e4396e75c06223781b8}\label{a10168_a8669d5db3b210e4396e75c06223781b8}} 
void {\bfseries slot\+Object\+Updated} (int \+\_\+identifier, const \hyperlink{a07096}{Update\+Type} \&\+\_\+type)
\item 
\mbox{\Hypertarget{a10168_a0e60d10a3daa15bebc4b7d68e8e104f1}\label{a10168_a0e60d10a3daa15bebc4b7d68e8e104f1}} 
void {\bfseries slot\+Object\+Selection\+Changed} (int \+\_\+identifier)
\item 
\mbox{\Hypertarget{a10168_af3df4b171fea9a6e0dc8595d2f5a2ee2}\label{a10168_af3df4b171fea9a6e0dc8595d2f5a2ee2}} 
void {\bfseries slot\+All\+Cleared} ()
\item 
\mbox{\Hypertarget{a10168_a5b45bdb5957e387daf0eb468d3d973ac}\label{a10168_a5b45bdb5957e387daf0eb468d3d973ac}} 
void {\bfseries object\+Deleted} (int \+\_\+identifier)
\item 
\mbox{\Hypertarget{a10168_abc79c32dcd046c8d7fb3a75d26feb746}\label{a10168_abc79c32dcd046c8d7fb3a75d26feb746}} 
void {\bfseries nogui\+Supported} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a10168_a17974edb0d3e79155b73014dca0ebd76}{slot\+Information\+Requested} (const Q\+Point \+\_\+clicked\+Point, \hyperlink{a07048}{Data\+Type} \+\_\+type)
\begin{DoxyCompactList}\small\item\em Show information dialog on clicked object. \end{DoxyCompactList}\item 
\hyperlink{a07048}{Data\+Type} \hyperlink{a10168_a6fe68380aa44f93bfe29c9b52eef6e63}{supported\+Data\+Types} ()
\begin{DoxyCompactList}\small\item\em Get data type for information requests. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10168_ac3d86be2d3bac32b28b8802f757959a2}\label{a10168_ac3d86be2d3bac32b28b8802f757959a2}} 
void {\bfseries slot\+Show\+Histogram} ()
\item 
\mbox{\Hypertarget{a10168_a29704268913afc1a75ea67adf2904c64}\label{a10168_a29704268913afc1a75ea67adf2904c64}} 
{\footnotesize template$<$class MeshT $>$ }\\void {\bfseries print\+Mesh\+Info} (MeshT $\ast$\+\_\+mesh, int \+\_\+id, unsigned int \+\_\+face, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+hit\+Point)
\item 
\mbox{\Hypertarget{a10168_a47840ce59b268cc1ddc5529aba5ef2b2}\label{a10168_a47840ce59b268cc1ddc5529aba5ef2b2}} 
void \hyperlink{a10168_a47840ce59b268cc1ddc5529aba5ef2b2}{update\+Data} (int \+\_\+identifier, const \hyperlink{a07096}{Update\+Type} \&\+\_\+type, const bool deleted)
\begin{DoxyCompactList}\small\item\em Slot that updates the visualization. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10168_a789a657cd7906e829c1bd289d9ee0e8f}\label{a10168_a789a657cd7906e829c1bd289d9ee0e8f}} 
\hyperlink{a10164}{Info\+Dialog} $\ast$ {\bfseries info\+\_\+}
\item 
\mbox{\Hypertarget{a10168_a4df3c2f5441eeeb78716bdc765613b74}\label{a10168_a4df3c2f5441eeeb78716bdc765613b74}} 
\hyperlink{a10160}{Info\+Bar} $\ast$ {\bfseries info\+Bar\+\_\+}
\item 
\mbox{\Hypertarget{a10168_ac2829d0573f0d6c2575fba6c878e6500}\label{a10168_ac2829d0573f0d6c2575fba6c878e6500}} 
\hyperlink{a07044}{Base\+Object\+Data} $\ast$ {\bfseries last\+Picked\+Object\+\_\+}
\item 
\mbox{\Hypertarget{a10168_a74ad4a2eb94e659b941bf3811db0c015}\label{a10168_a74ad4a2eb94e659b941bf3811db0c015}} 
int {\bfseries last\+Picked\+Object\+Id\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Scripting Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a10168_a37ae8a8af0cad9fc1c30a8d3c3eae6c3}{set\+Descriptions} ()
\begin{DoxyCompactList}\small\item\em set scripting slot descriptions \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\int \hyperlink{a10168_a772bfbf045936a9741098e1b649b4dc0}{get\+Closest\+Vertex\+In\+Face} (MeshT $\ast$\+\_\+mesh, int \+\_\+face\+\_\+idx, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+hit\+Point)
\begin{DoxyCompactList}\small\item\em Get closest vertex index from a face. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\int \hyperlink{a10168_a4ea7fd6e7c5eae79209b513de823d9ed}{get\+Closest\+Edge\+In\+Face} (MeshT $\ast$\+\_\+mesh, int \+\_\+face\+\_\+idx, const \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+hit\+Point)
\begin{DoxyCompactList}\small\item\em Get closest edge index from a face. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\int \hyperlink{a10168_a46fe2eaad772f8edef78b748e6ecf972}{get\+Closest\+Vertex\+From\+Edge} (MeshT $\ast$\+\_\+mesh, int \+\_\+edge\+\_\+idx, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+hit\+Point)
\begin{DoxyCompactList}\small\item\em Get closest vertex index from an edge. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10168_ac94804558807cfb2f413a7bdabb1f809}\label{a10168_ac94804558807cfb2f413a7bdabb1f809}} 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{a10168_ac94804558807cfb2f413a7bdabb1f809}{get\+Edge\+Lengths} (MeshT $\ast$\+\_\+mesh, double \&min, double \&max, double \&mean)
\begin{DoxyCompactList}\small\item\em Get edge lengths. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10168_ae8adadad08f0fe9aa5577bb2b8b33470}\label{a10168_ae8adadad08f0fe9aa5577bb2b8b33470}} 
bool \hyperlink{a10168_ae8adadad08f0fe9aa5577bb2b8b33470}{get\+Edge\+Lengths} (int \+\_\+id, double \&min, double \&max, double \&mean)
\begin{DoxyCompactList}\small\item\em Get edge lengths. \end{DoxyCompactList}\item 
int \hyperlink{a10168_a32b737b0b684468daacc128b890755df}{vertex\+Count} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get total number of vertices for a given object \end{DoxyCompactList}\item 
int \hyperlink{a10168_a794524e25aa278f2a56dc24a1f05d36b}{edge\+Count} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get total number of edges for a given object \end{DoxyCompactList}\item 
int \hyperlink{a10168_aefd7f40f49667f933fc20f11cbbfbd39}{face\+Count} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get total number of faces for a given object \end{DoxyCompactList}\item 
int \hyperlink{a10168_af6fa6f97b940fd11346c368f5c1c2761}{boundary\+Count} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get the number of boundaries for a given object \end{DoxyCompactList}\item 
int \hyperlink{a10168_aa1496274c6308649199c1c276e737e53}{component\+Count} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get the number of components for a given object \end{DoxyCompactList}\item 
int \hyperlink{a10168_a14606044ef996f47544babcee6eb9d76}{genus} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get the genus of the given object \end{DoxyCompactList}\item 
\hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} \hyperlink{a10168_acee4bf08a8f0c70b2aa15224d33123f9}{cog} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get the center of gravity \end{DoxyCompactList}\item 
\hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} \hyperlink{a10168_a31ed9dd80ec011620c9856479087e2c6}{bounding\+Box\+Min} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get minumum bounding box point \end{DoxyCompactList}\item 
\hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} \hyperlink{a10168_aee203db7fcf92dc4bf6c10fec6c66357}{bounding\+Box\+Max} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get maximum bounding box point \end{DoxyCompactList}\item 
\hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} \hyperlink{a10168_a57f9b909ee00cc757c9197e81868484f}{bounding\+Box\+Size} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get the size of the bounding box \end{DoxyCompactList}\item 
double \hyperlink{a10168_ab2dca208502bb228c779ef365c2fcf08}{edge\+Length} (int \+\_\+id, int \+\_\+edge\+Handle)
\begin{DoxyCompactList}\small\item\em get the length of an edge \end{DoxyCompactList}\item 
double \hyperlink{a10168_a332e58c369079ace86c9f1d12785862b}{face\+Area} (int \+\_\+id, int \+\_\+face\+Handle)
\begin{DoxyCompactList}\small\item\em get the area of a face \end{DoxyCompactList}\item 
double \hyperlink{a10168_a6116f9de1587e441e1d7cef10bd55e23}{aspect\+Ratio} (int \+\_\+id, int \+\_\+face\+Handle)
\begin{DoxyCompactList}\small\item\em get the aspect ratio of a face \end{DoxyCompactList}\item 
int \hyperlink{a10168_af6fa8132053ba745954baa7c0fd6ca4a}{vertex\+Valence} (int \+\_\+id, int \+\_\+vertex\+Handle)
\begin{DoxyCompactList}\small\item\em get vertex valence \end{DoxyCompactList}\item 
double \hyperlink{a10168_a04a215706bae3e5475b2a5d4b0add737}{min\+Edge\+Length} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get the minimal edge length \end{DoxyCompactList}\item 
double \hyperlink{a10168_a875ec39fceb0335d8e0b7e8913c3d1e4}{max\+Edge\+Length} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get the maximal edge length \end{DoxyCompactList}\item 
double \hyperlink{a10168_a510a0fdd73f48046b9e3e9a840b14421}{mean\+Edge\+Length} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em get the mean edge length \end{DoxyCompactList}\item 
Q\+String \hyperlink{a10168_a0ee8eb6b1e600971f4f4c092a8718f10}{version} ()
\begin{DoxyCompactList}\small\item\em set scripting slot descriptions \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Plugin to visualize information about objects in the scene. 

Plugin to visualize information about objects in the scene 

Definition at line 78 of file Mesh\+Object\+Info\+Plugin.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a10168_a6116f9de1587e441e1d7cef10bd55e23}\label{a10168_a6116f9de1587e441e1d7cef10bd55e23}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!aspect\+Ratio@{aspect\+Ratio}}
\index{aspect\+Ratio@{aspect\+Ratio}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{aspect\+Ratio}{aspectRatio}}
{\footnotesize\ttfamily double Info\+Mesh\+Object\+Plugin\+::aspect\+Ratio (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id,  }\item[{int}]{\+\_\+face\+Handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the aspect ratio of a face 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
{\em \+\_\+face\+Handle} & face handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
aspect ratio or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 707 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_af6fa6f97b940fd11346c368f5c1c2761}\label{a10168_af6fa6f97b940fd11346c368f5c1c2761}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!boundary\+Count@{boundary\+Count}}
\index{boundary\+Count@{boundary\+Count}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{boundary\+Count}{boundaryCount}}
{\footnotesize\ttfamily int Info\+Mesh\+Object\+Plugin\+::boundary\+Count (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the number of boundaries for a given object 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & object id \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of boundaries or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 248 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_aee203db7fcf92dc4bf6c10fec6c66357}\label{a10168_aee203db7fcf92dc4bf6c10fec6c66357}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!bounding\+Box\+Max@{bounding\+Box\+Max}}
\index{bounding\+Box\+Max@{bounding\+Box\+Max}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{bounding\+Box\+Max}{boundingBoxMax}}
{\footnotesize\ttfamily \hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} Info\+Mesh\+Object\+Plugin\+::bounding\+Box\+Max (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get maximum bounding box point 

get maximum point of the (axis aligned) bounding box


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
maximum point of the bounding box 
\end{DoxyReturn}


Definition at line 466 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a31ed9dd80ec011620c9856479087e2c6}\label{a10168_a31ed9dd80ec011620c9856479087e2c6}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!bounding\+Box\+Min@{bounding\+Box\+Min}}
\index{bounding\+Box\+Min@{bounding\+Box\+Min}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{bounding\+Box\+Min}{boundingBoxMin}}
{\footnotesize\ttfamily \hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} Info\+Mesh\+Object\+Plugin\+::bounding\+Box\+Min (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get minumum bounding box point 

get minimum point of the (axis aligned) bounding box


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
minimum point of the bounding box 
\end{DoxyReturn}


Definition at line 416 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a57f9b909ee00cc757c9197e81868484f}\label{a10168_a57f9b909ee00cc757c9197e81868484f}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!bounding\+Box\+Size@{bounding\+Box\+Size}}
\index{bounding\+Box\+Size@{bounding\+Box\+Size}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{bounding\+Box\+Size}{boundingBoxSize}}
{\footnotesize\ttfamily \hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} Info\+Mesh\+Object\+Plugin\+::bounding\+Box\+Size (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the size of the bounding box 

get the size of the (axis aligned) bounding box


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
size of the bounding box 
\end{DoxyReturn}


Definition at line 516 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_acee4bf08a8f0c70b2aa15224d33123f9}\label{a10168_acee4bf08a8f0c70b2aa15224d33123f9}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!cog@{cog}}
\index{cog@{cog}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{cog}{cog}}
{\footnotesize\ttfamily \hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} Info\+Mesh\+Object\+Plugin\+::cog (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the center of gravity 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the center of gravity 
\end{DoxyReturn}


Definition at line 374 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_aa1496274c6308649199c1c276e737e53}\label{a10168_aa1496274c6308649199c1c276e737e53}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!component\+Count@{component\+Count}}
\index{component\+Count@{component\+Count}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{component\+Count}{componentCount}}
{\footnotesize\ttfamily int Info\+Mesh\+Object\+Plugin\+::component\+Count (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the number of components for a given object 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & object id \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of components or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 290 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a794524e25aa278f2a56dc24a1f05d36b}\label{a10168_a794524e25aa278f2a56dc24a1f05d36b}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!edge\+Count@{edge\+Count}}
\index{edge\+Count@{edge\+Count}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{edge\+Count}{edgeCount}}
{\footnotesize\ttfamily int Info\+Mesh\+Object\+Plugin\+::edge\+Count (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get total number of edges for a given object 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & object id \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of edges or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 164 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_ab2dca208502bb228c779ef365c2fcf08}\label{a10168_ab2dca208502bb228c779ef365c2fcf08}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!edge\+Length@{edge\+Length}}
\index{edge\+Length@{edge\+Length}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{edge\+Length}{edgeLength}}
{\footnotesize\ttfamily double Info\+Mesh\+Object\+Plugin\+::edge\+Length (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id,  }\item[{int}]{\+\_\+edge\+Handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the length of an edge 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
{\em \+\_\+edge\+Handle} & edge handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
edge length or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 567 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a332e58c369079ace86c9f1d12785862b}\label{a10168_a332e58c369079ace86c9f1d12785862b}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!face\+Area@{face\+Area}}
\index{face\+Area@{face\+Area}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{face\+Area}{faceArea}}
{\footnotesize\ttfamily double Info\+Mesh\+Object\+Plugin\+::face\+Area (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id,  }\item[{int}]{\+\_\+face\+Handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the area of a face 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
{\em \+\_\+face\+Handle} & face handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
face area or -\/1 if an error occured 
\end{DoxyReturn}
T\+O\+DO implement polygon\+Area 

Definition at line 632 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_aefd7f40f49667f933fc20f11cbbfbd39}\label{a10168_aefd7f40f49667f933fc20f11cbbfbd39}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!face\+Count@{face\+Count}}
\index{face\+Count@{face\+Count}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{face\+Count}{faceCount}}
{\footnotesize\ttfamily int Info\+Mesh\+Object\+Plugin\+::face\+Count (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get total number of faces for a given object 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & object id \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of faces or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 206 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a14606044ef996f47544babcee6eb9d76}\label{a10168_a14606044ef996f47544babcee6eb9d76}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!genus@{genus}}
\index{genus@{genus}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{genus}{genus}}
{\footnotesize\ttfamily int Info\+Mesh\+Object\+Plugin\+::genus (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the genus of the given object 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the genus 
\end{DoxyReturn}
T\+O\+DO this formula only works for closed objects\+: fix it 

Definition at line 332 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a4ea7fd6e7c5eae79209b513de823d9ed}\label{a10168_a4ea7fd6e7c5eae79209b513de823d9ed}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!get\+Closest\+Edge\+In\+Face@{get\+Closest\+Edge\+In\+Face}}
\index{get\+Closest\+Edge\+In\+Face@{get\+Closest\+Edge\+In\+Face}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{get\+Closest\+Edge\+In\+Face()}{getClosestEdgeInFace()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
int Info\+Mesh\+Object\+Plugin\+::get\+Closest\+Edge\+In\+Face (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{int}]{\+\_\+face\+\_\+idx,  }\item[{const \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+hit\+Point }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Get closest edge index from a face. 

Find closest edge to selection.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Reference to the mesh \\
\hline
{\em \+\_\+face\+\_\+idx} & Index of the face that has been clicked on \\
\hline
{\em \+\_\+hit\+Point} & The point which will be tested\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
index of the closest edge in the face to the hitpoint 
\end{DoxyReturn}


Definition at line 649 of file Mesh\+Object\+Info\+Plugin.\+cc.

\mbox{\Hypertarget{a10168_a46fe2eaad772f8edef78b748e6ecf972}\label{a10168_a46fe2eaad772f8edef78b748e6ecf972}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!get\+Closest\+Vertex\+From\+Edge@{get\+Closest\+Vertex\+From\+Edge}}
\index{get\+Closest\+Vertex\+From\+Edge@{get\+Closest\+Vertex\+From\+Edge}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{get\+Closest\+Vertex\+From\+Edge()}{getClosestVertexFromEdge()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
int Info\+Mesh\+Object\+Plugin\+::get\+Closest\+Vertex\+From\+Edge (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{int}]{\+\_\+edge\+\_\+idx,  }\item[{\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+hit\+Point }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Get closest vertex index from an edge. 

Find closest vertex on the edge (endpoint)


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Reference to the mesh \\
\hline
{\em \+\_\+edge\+\_\+idx} & Index of the edge that has been clicked on \\
\hline
{\em \+\_\+hit\+Point} & The point which will be tested\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
index of the closest vertex on the edge 
\end{DoxyReturn}


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

\mbox{\Hypertarget{a10168_a772bfbf045936a9741098e1b649b4dc0}\label{a10168_a772bfbf045936a9741098e1b649b4dc0}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!get\+Closest\+Vertex\+In\+Face@{get\+Closest\+Vertex\+In\+Face}}
\index{get\+Closest\+Vertex\+In\+Face@{get\+Closest\+Vertex\+In\+Face}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{get\+Closest\+Vertex\+In\+Face()}{getClosestVertexInFace()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
int Info\+Mesh\+Object\+Plugin\+::get\+Closest\+Vertex\+In\+Face (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{int}]{\+\_\+face\+\_\+idx,  }\item[{\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+hit\+Point }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Get closest vertex index from a face. 

Find closest vertex to selection.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Reference to the mesh \\
\hline
{\em \+\_\+face\+\_\+idx} & Index of the face that has been clicked on \\
\hline
{\em \+\_\+hit\+Point} & The point that is used as the reference\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
index of the closest vertex of the face to the hitpoint 
\end{DoxyReturn}


Definition at line 610 of file Mesh\+Object\+Info\+Plugin.\+cc.

\mbox{\Hypertarget{a10168_a875ec39fceb0335d8e0b7e8913c3d1e4}\label{a10168_a875ec39fceb0335d8e0b7e8913c3d1e4}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!max\+Edge\+Length@{max\+Edge\+Length}}
\index{max\+Edge\+Length@{max\+Edge\+Length}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{max\+Edge\+Length}{maxEdgeLength}}
{\footnotesize\ttfamily double Info\+Mesh\+Object\+Plugin\+::max\+Edge\+Length (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the maximal edge length 

get maximal edge length for a given object


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & object id \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
maximal edge length or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 846 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a510a0fdd73f48046b9e3e9a840b14421}\label{a10168_a510a0fdd73f48046b9e3e9a840b14421}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!mean\+Edge\+Length@{mean\+Edge\+Length}}
\index{mean\+Edge\+Length@{mean\+Edge\+Length}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{mean\+Edge\+Length}{meanEdgeLength}}
{\footnotesize\ttfamily double Info\+Mesh\+Object\+Plugin\+::mean\+Edge\+Length (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the mean edge length 

get the mean edge length for a given object


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & object id \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
mean edge length or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 863 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a04a215706bae3e5475b2a5d4b0add737}\label{a10168_a04a215706bae3e5475b2a5d4b0add737}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!min\+Edge\+Length@{min\+Edge\+Length}}
\index{min\+Edge\+Length@{min\+Edge\+Length}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{min\+Edge\+Length}{minEdgeLength}}
{\footnotesize\ttfamily double Info\+Mesh\+Object\+Plugin\+::min\+Edge\+Length (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get the minimal edge length 

get minimal edge length for a given object


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & object id \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
minimal edge length or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 829 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a37ae8a8af0cad9fc1c30a8d3c3eae6c3}\label{a10168_a37ae8a8af0cad9fc1c30a8d3c3eae6c3}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!set\+Descriptions@{set\+Descriptions}}
\index{set\+Descriptions@{set\+Descriptions}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{set\+Descriptions()}{setDescriptions()}}
{\footnotesize\ttfamily void Info\+Mesh\+Object\+Plugin\+::set\+Descriptions (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



set scripting slot descriptions 

set the descriptions for scripting slots

Definition at line 54 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_a17974edb0d3e79155b73014dca0ebd76}\label{a10168_a17974edb0d3e79155b73014dca0ebd76}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!slot\+Information\+Requested@{slot\+Information\+Requested}}
\index{slot\+Information\+Requested@{slot\+Information\+Requested}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Information\+Requested()}{slotInformationRequested()}}
{\footnotesize\ttfamily void Info\+Mesh\+Object\+Plugin\+::slot\+Information\+Requested (\begin{DoxyParamCaption}\item[{const Q\+Point}]{\+\_\+clicked\+Point,  }\item[{\hyperlink{a07048}{Data\+Type}}]{\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Show information dialog on clicked object. 

This slot is called each time the user clicks on an object. The information plugin for a specific type should display the necessary information on all entity types and the clicked object itself.


\begin{DoxyParams}{Parameters}
{\em \+\_\+clicked\+Point} & The 2D point in screen coords, which the user has clicked \\
\hline
{\em \+\_\+type} & Data type to be registered \\
\hline
\end{DoxyParams}


Implements \hyperlink{a06884_a8fd0980e20c70745d9c00c2e43f879f5}{Information\+Interface}.



Definition at line 715 of file Mesh\+Object\+Info\+Plugin.\+cc.

\mbox{\Hypertarget{a10168_a6fe68380aa44f93bfe29c9b52eef6e63}\label{a10168_a6fe68380aa44f93bfe29c9b52eef6e63}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!supported\+Data\+Types@{supported\+Data\+Types}}
\index{supported\+Data\+Types@{supported\+Data\+Types}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{supported\+Data\+Types()}{supportedDataTypes()}}
{\footnotesize\ttfamily \hyperlink{a07048}{Data\+Type} Info\+Mesh\+Object\+Plugin\+::supported\+Data\+Types (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Get data type for information requests. 

This slot is called by the core in order to identify the data types for which the plugin provides information.

\begin{DoxyReturn}{Returns}
The supported data types (OR\textquotesingle{}ed in case of multiple types) 
\end{DoxyReturn}


Implements \hyperlink{a06884_ac3f05cb6b27872e2b8bc7b8632c93768}{Information\+Interface}.



Definition at line 112 of file Mesh\+Object\+Info\+Plugin.\+cc.

\mbox{\Hypertarget{a10168_a0ee8eb6b1e600971f4f4c092a8718f10}\label{a10168_a0ee8eb6b1e600971f4f4c092a8718f10}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!version@{version}}
\index{version@{version}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{version}{version}}
{\footnotesize\ttfamily Q\+String Info\+Mesh\+Object\+Plugin\+::version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [slot]}}



set scripting slot descriptions 

set the descriptions for scripting slots 

Definition at line 193 of file Mesh\+Object\+Info\+Plugin.\+hh.

\mbox{\Hypertarget{a10168_a32b737b0b684468daacc128b890755df}\label{a10168_a32b737b0b684468daacc128b890755df}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!vertex\+Count@{vertex\+Count}}
\index{vertex\+Count@{vertex\+Count}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{vertex\+Count}{vertexCount}}
{\footnotesize\ttfamily int Info\+Mesh\+Object\+Plugin\+::vertex\+Count (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get total number of vertices for a given object 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & object id \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of vertices or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 122 of file Mesh\+Object\+Info\+Scripting.\+cc.

\mbox{\Hypertarget{a10168_af6fa8132053ba745954baa7c0fd6ca4a}\label{a10168_af6fa8132053ba745954baa7c0fd6ca4a}} 
\index{Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}!vertex\+Valence@{vertex\+Valence}}
\index{vertex\+Valence@{vertex\+Valence}!Info\+Mesh\+Object\+Plugin@{Info\+Mesh\+Object\+Plugin}}
\subsubsection{\texorpdfstring{vertex\+Valence}{vertexValence}}
{\footnotesize\ttfamily int Info\+Mesh\+Object\+Plugin\+::vertex\+Valence (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id,  }\item[{int}]{\+\_\+vertex\+Handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



get vertex valence 


\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & id of an object \\
\hline
{\em \+\_\+vertex\+Handle} & vertex handle \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
vertex valence or -\/1 if an error occured 
\end{DoxyReturn}


Definition at line 760 of file Mesh\+Object\+Info\+Scripting.\+cc.



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