\hypertarget{group__Evas__Canvas3D__Object}{}\doxysection{Generic 3D Object Descriptions}
\label{group__Evas__Canvas3D__Object}\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_gacdba43b1f7749ebf58b2ea742d343e11}\label{group__Evas__Canvas3D__Object_gacdba43b1f7749ebf58b2ea742d343e11}} 
\#define \mbox{\hyperlink{group__Evas__Canvas3D__Object_gacdba43b1f7749ebf58b2ea742d343e11}{E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+C\+L\+A\+SS}}~evas\+\_\+canvas3d\+\_\+object\+\_\+class\+\_\+get()
\begin{DoxyCompactList}\small\item\em Evas 3D canvas object class. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Evas__Canvas3D__Object_ga714b17c988dfc70c59fdb6e59418cd18}{E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+I\+C\+K\+ED}}~(\&(\+\_\+\+E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+I\+C\+K\+ED))
\begin{DoxyCompactList}\small\item\em Clicked Event. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Evas__Canvas3D__Object_ga65efb763f54c068a31a703e371868b0f}{E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+O\+L\+L\+I\+S\+I\+ON}}~(\&(\+\_\+\+E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+O\+L\+L\+I\+S\+I\+ON))
\begin{DoxyCompactList}\small\item\em Collision Event. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
E\+O\+A\+PI void \mbox{\hyperlink{group__Evas__Canvas3D__Object_ga65cada470c99198e202d9bfbd6a81587}{evas\+\_\+canvas3d\+\_\+object\+\_\+change}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj, Evas\+\_\+\+Canvas3\+D\+\_\+\+State state, Evas\+\_\+\+Canvas3\+D\+\_\+\+Object $\ast$ref)
\begin{DoxyCompactList}\small\item\em Notify the object regarding its state change. \end{DoxyCompactList}\item 
E\+O\+A\+PI Evas\+\_\+\+Canvas3\+D\+\_\+\+Object\+\_\+\+Type \mbox{\hyperlink{group__Evas__Canvas3D__Object_ga4a0f172e9c6c8948e88f47bd6a9799cc}{evas\+\_\+canvas3d\+\_\+object\+\_\+type\+\_\+get}} (const \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Returns the type of the object. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \mbox{\hyperlink{group__Evas__Canvas3D__Object_ga1256189e50bfad1d2749e0cac25b0331}{evas\+\_\+canvas3d\+\_\+object\+\_\+type\+\_\+set}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj, Evas\+\_\+\+Canvas3\+D\+\_\+\+Object\+\_\+\+Type type)
\begin{DoxyCompactList}\small\item\em Sets the type of the object. \end{DoxyCompactList}\item 
E\+O\+A\+PI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Evas__Canvas3D__Object_ga8b877155fcd6da4ad525b414b6247331}{evas\+\_\+canvas3d\+\_\+object\+\_\+dirty\+\_\+get}} (const \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj, Evas\+\_\+\+Canvas3\+D\+\_\+\+State state)
\begin{DoxyCompactList}\small\item\em Returns the status of a particular state of the object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_ga104554a6462d8364ebc3d5711b888032}\label{group__Evas__Canvas3D__Object_ga104554a6462d8364ebc3d5711b888032}} 
E\+O\+A\+PI void \mbox{\hyperlink{group__Evas__Canvas3D__Object_ga104554a6462d8364ebc3d5711b888032}{evas\+\_\+canvas3d\+\_\+object\+\_\+update}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Update request for the object. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \mbox{\hyperlink{group__Evas__Canvas3D__Object_gaeae4ec12f586f9a157788bf60589a356}{evas\+\_\+canvas3d\+\_\+object\+\_\+update\+\_\+notify}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Pure virtual update\+\_\+notify function. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \mbox{\hyperlink{group__Evas__Canvas3D__Object_gaf62b551874bc587ba22a96304d2fe6fa}{evas\+\_\+canvas3d\+\_\+object\+\_\+change\+\_\+notify}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj, Evas\+\_\+\+Canvas3\+D\+\_\+\+State state, Evas\+\_\+\+Canvas3\+D\+\_\+\+Object $\ast$ref)
\begin{DoxyCompactList}\small\item\em Pure virtual change\+\_\+notify function. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \mbox{\hyperlink{group__Evas__Canvas3D__Object_gace605feb7b7d6811ea2cb5519a53fb75}{evas\+\_\+canvas3d\+\_\+object\+\_\+callback\+\_\+register}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj, const char $\ast$event, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Pure virtual register samrt callback function. \end{DoxyCompactList}\item 
E\+O\+A\+PI void \mbox{\hyperlink{group__Evas__Canvas3D__Object_gadf8e0ce064ce022f9adb0f2965c1bb16}{evas\+\_\+canvas3d\+\_\+object\+\_\+callback\+\_\+unregister}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj, const char $\ast$event)
\begin{DoxyCompactList}\small\item\em Pure virtual unregister smart callback function. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The Evas\+\_\+\+Canvas3\+D\+\_\+\+Object structure is an abstract base for other Evas 3D objects (scenes, nodes, lights, meshes, textures, and materials) with reference counting and propagation of modifications via reference tracking. This permits, for example, when a scene object is modified (marked dirty), a number of image objects rendering that object to be notified to update themselves, without needing to call update functions manually. 

\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_ga714b17c988dfc70c59fdb6e59418cd18}\label{group__Evas__Canvas3D__Object_ga714b17c988dfc70c59fdb6e59418cd18}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!EVAS\_CANVAS3D\_OBJECT\_EVENT\_CLICKED@{EVAS\_CANVAS3D\_OBJECT\_EVENT\_CLICKED}}
\index{EVAS\_CANVAS3D\_OBJECT\_EVENT\_CLICKED@{EVAS\_CANVAS3D\_OBJECT\_EVENT\_CLICKED}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{EVAS\_CANVAS3D\_OBJECT\_EVENT\_CLICKED}{EVAS\_CANVAS3D\_OBJECT\_EVENT\_CLICKED}}
{\footnotesize\ttfamily \#define E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+I\+C\+K\+ED~(\&(\+\_\+\+E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+I\+C\+K\+ED))}



Clicked Event. 

\begin{DoxyReturn}{Returns}
Evas\+\_\+\+Canvas3\+D\+\_\+\+Node $\ast$ 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_ga65efb763f54c068a31a703e371868b0f}\label{group__Evas__Canvas3D__Object_ga65efb763f54c068a31a703e371868b0f}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!EVAS\_CANVAS3D\_OBJECT\_EVENT\_COLLISION@{EVAS\_CANVAS3D\_OBJECT\_EVENT\_COLLISION}}
\index{EVAS\_CANVAS3D\_OBJECT\_EVENT\_COLLISION@{EVAS\_CANVAS3D\_OBJECT\_EVENT\_COLLISION}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{EVAS\_CANVAS3D\_OBJECT\_EVENT\_COLLISION}{EVAS\_CANVAS3D\_OBJECT\_EVENT\_COLLISION}}
{\footnotesize\ttfamily \#define E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+O\+L\+L\+I\+S\+I\+ON~(\&(\+\_\+\+E\+V\+A\+S\+\_\+\+C\+A\+N\+V\+A\+S3\+D\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+O\+L\+L\+I\+S\+I\+ON))}



Collision Event. 

\begin{DoxyReturn}{Returns}
Evas\+\_\+\+Canvas3\+D\+\_\+\+Node $\ast$ 
\end{DoxyReturn}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_ga65cada470c99198e202d9bfbd6a81587}\label{group__Evas__Canvas3D__Object_ga65cada470c99198e202d9bfbd6a81587}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!evas\_canvas3d\_object\_change@{evas\_canvas3d\_object\_change}}
\index{evas\_canvas3d\_object\_change@{evas\_canvas3d\_object\_change}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{evas\_canvas3d\_object\_change()}{evas\_canvas3d\_object\_change()}}
{\footnotesize\ttfamily E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+object\+\_\+change (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj,  }\item[{Evas\+\_\+\+Canvas3\+D\+\_\+\+State}]{state,  }\item[{Evas\+\_\+\+Canvas3\+D\+\_\+\+Object $\ast$}]{ref }\end{DoxyParamCaption})}



Notify the object regarding its state change. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em state} & State that is changed. \\
\hline
\mbox{\texttt{ in}}  & {\em ref} & The Object that caused the change. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_ga4a0f172e9c6c8948e88f47bd6a9799cc}\label{group__Evas__Canvas3D__Object_ga4a0f172e9c6c8948e88f47bd6a9799cc}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!evas\_canvas3d\_object\_type\_get@{evas\_canvas3d\_object\_type\_get}}
\index{evas\_canvas3d\_object\_type\_get@{evas\_canvas3d\_object\_type\_get}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{evas\_canvas3d\_object\_type\_get()}{evas\_canvas3d\_object\_type\_get()}}
{\footnotesize\ttfamily E\+O\+A\+PI Evas\+\_\+\+Canvas3\+D\+\_\+\+Object\+\_\+\+Type evas\+\_\+canvas3d\+\_\+object\+\_\+type\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj }\end{DoxyParamCaption})}



Returns the type of the object. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Object type 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_ga1256189e50bfad1d2749e0cac25b0331}\label{group__Evas__Canvas3D__Object_ga1256189e50bfad1d2749e0cac25b0331}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!evas\_canvas3d\_object\_type\_set@{evas\_canvas3d\_object\_type\_set}}
\index{evas\_canvas3d\_object\_type\_set@{evas\_canvas3d\_object\_type\_set}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{evas\_canvas3d\_object\_type\_set()}{evas\_canvas3d\_object\_type\_set()}}
{\footnotesize\ttfamily E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+object\+\_\+type\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj,  }\item[{Evas\+\_\+\+Canvas3\+D\+\_\+\+Object\+\_\+\+Type}]{type }\end{DoxyParamCaption})}



Sets the type of the object. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em type} & Object type \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_ga8b877155fcd6da4ad525b414b6247331}\label{group__Evas__Canvas3D__Object_ga8b877155fcd6da4ad525b414b6247331}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!evas\_canvas3d\_object\_dirty\_get@{evas\_canvas3d\_object\_dirty\_get}}
\index{evas\_canvas3d\_object\_dirty\_get@{evas\_canvas3d\_object\_dirty\_get}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{evas\_canvas3d\_object\_dirty\_get()}{evas\_canvas3d\_object\_dirty\_get()}}
{\footnotesize\ttfamily E\+O\+A\+PI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} evas\+\_\+canvas3d\+\_\+object\+\_\+dirty\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj,  }\item[{Evas\+\_\+\+Canvas3\+D\+\_\+\+State}]{state }\end{DoxyParamCaption})}



Returns the status of a particular state of the object. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em state} & State whose status is being asked.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily true} if the status is dirty, {\ttfamily false} otherwise 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_gaeae4ec12f586f9a157788bf60589a356}\label{group__Evas__Canvas3D__Object_gaeae4ec12f586f9a157788bf60589a356}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!evas\_canvas3d\_object\_update\_notify@{evas\_canvas3d\_object\_update\_notify}}
\index{evas\_canvas3d\_object\_update\_notify@{evas\_canvas3d\_object\_update\_notify}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{evas\_canvas3d\_object\_update\_notify()}{evas\_canvas3d\_object\_update\_notify()}}
{\footnotesize\ttfamily E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+object\+\_\+update\+\_\+notify (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj }\end{DoxyParamCaption})}



Pure virtual update\+\_\+notify function. 

Update request for the object. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_gaf62b551874bc587ba22a96304d2fe6fa}\label{group__Evas__Canvas3D__Object_gaf62b551874bc587ba22a96304d2fe6fa}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!evas\_canvas3d\_object\_change\_notify@{evas\_canvas3d\_object\_change\_notify}}
\index{evas\_canvas3d\_object\_change\_notify@{evas\_canvas3d\_object\_change\_notify}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{evas\_canvas3d\_object\_change\_notify()}{evas\_canvas3d\_object\_change\_notify()}}
{\footnotesize\ttfamily E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+object\+\_\+change\+\_\+notify (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj,  }\item[{Evas\+\_\+\+Canvas3\+D\+\_\+\+State}]{state,  }\item[{Evas\+\_\+\+Canvas3\+D\+\_\+\+Object $\ast$}]{ref }\end{DoxyParamCaption})}



Pure virtual change\+\_\+notify function. 

Update request for the object.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em state} & State that is changed. \\
\hline
\mbox{\texttt{ in}}  & {\em ref} & The Object that caused the change. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_gace605feb7b7d6811ea2cb5519a53fb75}\label{group__Evas__Canvas3D__Object_gace605feb7b7d6811ea2cb5519a53fb75}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!evas\_canvas3d\_object\_callback\_register@{evas\_canvas3d\_object\_callback\_register}}
\index{evas\_canvas3d\_object\_callback\_register@{evas\_canvas3d\_object\_callback\_register}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{evas\_canvas3d\_object\_callback\_register()}{evas\_canvas3d\_object\_callback\_register()}}
{\footnotesize\ttfamily E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+object\+\_\+callback\+\_\+register (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj,  }\item[{const char $\ast$}]{event,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Pure virtual register samrt callback function. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em event} & Event type. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & User data. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Evas__Canvas3D__Object_gadf8e0ce064ce022f9adb0f2965c1bb16}\label{group__Evas__Canvas3D__Object_gadf8e0ce064ce022f9adb0f2965c1bb16}} 
\index{Generic 3D Object Descriptions@{Generic 3D Object Descriptions}!evas\_canvas3d\_object\_callback\_unregister@{evas\_canvas3d\_object\_callback\_unregister}}
\index{evas\_canvas3d\_object\_callback\_unregister@{evas\_canvas3d\_object\_callback\_unregister}!Generic 3D Object Descriptions@{Generic 3D Object Descriptions}}
\doxysubsubsection{\texorpdfstring{evas\_canvas3d\_object\_callback\_unregister()}{evas\_canvas3d\_object\_callback\_unregister()}}
{\footnotesize\ttfamily E\+O\+A\+PI void evas\+\_\+canvas3d\+\_\+object\+\_\+callback\+\_\+unregister (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj,  }\item[{const char $\ast$}]{event }\end{DoxyParamCaption})}



Pure virtual unregister smart callback function. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em event} & Event type. \\
\hline
\end{DoxyParams}
