\hypertarget{a00567}{\section{File\+Bundle\+Plugin Class Reference}
\label{a00567}\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
}
Inheritance diagram for File\+Bundle\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.469816cm]{a00567}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00567_a71e620ed897d6756f3ce7eb23f9f71a4}{Q\+String {\bfseries version} ()}\label{a00567_a71e620ed897d6756f3ce7eb23f9f71a4}

\item 
\hypertarget{a00567_ac99c0f1425baed81b99d46c406e793d6}{int {\bfseries load\+Object} (Q\+String \+\_\+filename)}\label{a00567_ac99c0f1425baed81b99d46c406e793d6}

\item 
\hypertarget{a00567_a50580c24f7bea9621ba6cff3ae03639f}{bool {\bfseries save\+Object} (int \+\_\+object\+Id, Q\+String \+\_\+filename)}\label{a00567_a50580c24f7bea9621ba6cff3ae03639f}

\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00567_a8bc426b79df17c30159da33620c5cc8a}{void {\bfseries opened\+File} (int \+\_\+object\+Id)}\label{a00567_a8bc426b79df17c30159da33620c5cc8a}

\item 
\hypertarget{a00567_aef68149dfce1b49ba3e0b04a1aa1de7c}{void {\bfseries add\+Empty\+Object} (\hyperlink{a00477}{Data\+Type} \+\_\+type, int \&\+\_\+object\+Id)}\label{a00567_aef68149dfce1b49ba3e0b04a1aa1de7c}

\item 
\hypertarget{a00567_a4a1cf09a699904ace41ee408198b3611}{void {\bfseries delete\+Object} (int \+\_\+object\+Id)}\label{a00567_a4a1cf09a699904ace41ee408198b3611}

\item 
\hypertarget{a00567_a2165828f41321b7d3a36fbc0687c8af9}{void {\bfseries updated\+Object} (int \+\_\+object\+Id, const \hyperlink{a01393}{Update\+Type} \&\+\_\+type)}\label{a00567_a2165828f41321b7d3a36fbc0687c8af9}

\item 
\hypertarget{a00567_ae23acae9aa9104b7ecd925c99631638b}{void {\bfseries log} (Q\+String \+\_\+message)}\label{a00567_ae23acae9aa9104b7ecd925c99631638b}

\item 
\hypertarget{a00567_a3f523734f830f60f29cc4cd99920c2e4}{void {\bfseries log} (\hyperlink{a02444_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)}\label{a00567_a3f523734f830f60f29cc4cd99920c2e4}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{a00567_a78675238db66bd2d9c3aba3a7ab5ca3a}{name} ()
\begin{DoxyCompactList}\small\item\em Return a name for the plugin. \end{DoxyCompactList}\item 
Q\+String \hyperlink{a00567_aa3c177b14472d9fd6496c5e46f71a681}{description} ()
\begin{DoxyCompactList}\small\item\em Return a description of what the plugin is doing. \end{DoxyCompactList}\item 
\hyperlink{a00477}{Data\+Type} \hyperlink{a00567_aba709cfa7466df182cf59172bb2644e6}{supported\+Type} ()
\begin{DoxyCompactList}\small\item\em Return your supported object type( e.\+g. D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+S\+H ) \end{DoxyCompactList}\item 
Q\+String \hyperlink{a00567_ae57e664fa70dbcf74d7518a6014ef583}{get\+Save\+Filters} ()
\item 
Q\+String \hyperlink{a00567_acbafc4aeee75fc40df964d23457080eb}{get\+Load\+Filters} ()
\item 
Q\+Widget $\ast$ \hyperlink{a00567_a2ac7f00485bdfc1808d91e4507c0e6ed}{save\+Options\+Widget} (Q\+String)
\item 
Q\+Widget $\ast$ \hyperlink{a00567_ae76ee6176b00edce567fda9788d9fff1}{load\+Options\+Widget} (Q\+String)
\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00567_a31b0e86be40cbfa558f5fe4adccf53fd}{void {\bfseries nogui\+Supported} ()}\label{a00567_a31b0e86be40cbfa558f5fe4adccf53fd}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00567_a5d61e1de6ebcf18dab8bfa3333ffcf81}{bool {\bfseries add\+Empty\+Objects} (unsigned int \+\_\+num, const \hyperlink{a00477}{Data\+Type} \&\+\_\+data\+Type, std\+::vector$<$ int $>$ \&\+\_\+object\+I\+Ds)}\label{a00567_a5d61e1de6ebcf18dab8bfa3333ffcf81}

\item 
\hypertarget{a00567_a32474658571feaeed3d764cfd51b96c1}{void {\bfseries delete\+Objects} (std\+::vector$<$ int $>$ \&\+\_\+object\+I\+Ds)}\label{a00567_a32474658571feaeed3d764cfd51b96c1}

\item 
\hypertarget{a00567_acb254bc58df480e1ab37cf297a535319}{bool {\bfseries read\+Imagelist\+File} (const char $\ast$\+\_\+filename, std\+::vector$<$ std\+::string $>$ \&\+\_\+image\+Paths)}\label{a00567_acb254bc58df480e1ab37cf297a535319}

\item 
\hypertarget{a00567_a74b47f3f94a4844603a9cf201a60ee81}{void {\bfseries read\+Cameras} (F\+I\+L\+E $\ast$\+\_\+file, const std\+::vector$<$ int $>$ \&\+\_\+camera\+Object\+I\+Ds, Splat\+Cloud\+\_\+\+Cameras \&\+\_\+cameras)}\label{a00567_a74b47f3f94a4844603a9cf201a60ee81}

\item 
\hypertarget{a00567_af8dbd18c6ecd95729275c3cdb3039c12}{void {\bfseries read\+Points} (F\+I\+L\+E $\ast$\+\_\+file, const std\+::vector$<$ int $>$ \&\+\_\+camera\+Object\+I\+Ds, \hyperlink{a01211}{Splat\+Cloud} \&\+\_\+splat\+Cloud)}\label{a00567_af8dbd18c6ecd95729275c3cdb3039c12}

\item 
\hypertarget{a00567_a379366800d6e4a7d0244a69093ecfac1}{bool {\bfseries read\+Bundle\+File} (const char $\ast$\+\_\+filename, \hyperlink{a01211}{Splat\+Cloud} \&\+\_\+splat\+Cloud)}\label{a00567_a379366800d6e4a7d0244a69093ecfac1}

\item 
\hypertarget{a00567_a924fc62d2e5e82c07121e48b1c41a32e}{bool {\bfseries write\+Bundle\+File} (const char $\ast$\+\_\+filename, const \hyperlink{a01211}{Splat\+Cloud} \&\+\_\+splat\+Cloud)}\label{a00567_a924fc62d2e5e82c07121e48b1c41a32e}

\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 84 of file File\+Bundle.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00567_aa3c177b14472d9fd6496c5e46f71a681}{\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!description@{description}}
\index{description@{description}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection[{description}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String File\+Bundle\+Plugin\+::description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00567_aa3c177b14472d9fd6496c5e46f71a681}


Return a description of what the plugin is doing. 

This function has to return a basic description of the plugin 

Implements \hyperlink{a00322_a43f0d3612695b53c848c14f48fea9a7a}{Base\+Interface}.



Definition at line 127 of file File\+Bundle.\+hh.

\hypertarget{a00567_acbafc4aeee75fc40df964d23457080eb}{\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!get\+Load\+Filters@{get\+Load\+Filters}}
\index{get\+Load\+Filters@{get\+Load\+Filters}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection[{get\+Load\+Filters}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String File\+Bundle\+Plugin\+::get\+Load\+Filters (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00567_acbafc4aeee75fc40df964d23457080eb}
Return the Qt Filters for File dialogs when loading files (e.\+g. \char`\"{}\+Off files ( $\ast$.\+off )\char`\"{} ) 

Implements \hyperlink{a00570_a804009a394ded7436b43c624af9cc44d}{File\+Interface}.



Definition at line 134 of file File\+Bundle.\+hh.

\hypertarget{a00567_ae57e664fa70dbcf74d7518a6014ef583}{\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!get\+Save\+Filters@{get\+Save\+Filters}}
\index{get\+Save\+Filters@{get\+Save\+Filters}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection[{get\+Save\+Filters}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String File\+Bundle\+Plugin\+::get\+Save\+Filters (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00567_ae57e664fa70dbcf74d7518a6014ef583}
Get the Qt Filters for Filedialogs when saving files (e.\+g. \char`\"{}\+Off files ( $\ast$.\+off )\char`\"{} ) 

Implements \hyperlink{a00570_a86b79f14fef9913720c6456df43de7df}{File\+Interface}.



Definition at line 133 of file File\+Bundle.\+hh.

\hypertarget{a00567_ae76ee6176b00edce567fda9788d9fff1}{\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!load\+Options\+Widget@{load\+Options\+Widget}}
\index{load\+Options\+Widget@{load\+Options\+Widget}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection[{load\+Options\+Widget}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Widget $\ast$ File\+Bundle\+Plugin\+::load\+Options\+Widget (
\begin{DoxyParamCaption}
\item[{Q\+String}]{\+\_\+current\+Filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00567_ae76ee6176b00edce567fda9788d9fff1}
You can provide a special widget showing options for loading your file types depending on the current filter

\+\_\+current\+Filter\+: one filter from load\+Filters

Return 0 when you don't need one 

Implements \hyperlink{a00570_a69ddbb8db7fd5b9257f35bc0148ef7c0}{File\+Interface}.



Definition at line 541 of file File\+Bundle.\+cc.

\hypertarget{a00567_a78675238db66bd2d9c3aba3a7ab5ca3a}{\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!name@{name}}
\index{name@{name}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String File\+Bundle\+Plugin\+::name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00567_a78675238db66bd2d9c3aba3a7ab5ca3a}


Return a name for the plugin. 

This Function has to return the name of the plugin. 

Implements \hyperlink{a00322_a2b351aa6ef0eb368bce735e243235958}{Base\+Interface}.



Definition at line 126 of file File\+Bundle.\+hh.

\hypertarget{a00567_a2ac7f00485bdfc1808d91e4507c0e6ed}{\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!save\+Options\+Widget@{save\+Options\+Widget}}
\index{save\+Options\+Widget@{save\+Options\+Widget}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection[{save\+Options\+Widget}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Widget $\ast$ File\+Bundle\+Plugin\+::save\+Options\+Widget (
\begin{DoxyParamCaption}
\item[{Q\+String}]{\+\_\+current\+Filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00567_a2ac7f00485bdfc1808d91e4507c0e6ed}
You can provide a special widget showing options for saving your file types depending on the current filter

\+\_\+current\+Filter\+: one filter from save\+Filters

Return 0 when you don't need one 

Implements \hyperlink{a00570_a5cfabe9faa5b3e9f107766a6b670626b}{File\+Interface}.



Definition at line 532 of file File\+Bundle.\+cc.

\hypertarget{a00567_aba709cfa7466df182cf59172bb2644e6}{\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!supported\+Type@{supported\+Type}}
\index{supported\+Type@{supported\+Type}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection[{supported\+Type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Data\+Type} File\+Bundle\+Plugin\+::supported\+Type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00567_aba709cfa7466df182cf59172bb2644e6}


Return your supported object type( e.\+g. D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+S\+H ) 

If you support multiple Data\+Types you can combine them bitwise here. The function is used from the load and save code to check if your plugin can handle an object of a given data\+Type. 

Implements \hyperlink{a00570_add81abf9277dae44167763da4371fb28}{File\+Interface}.



Definition at line 130 of file File\+Bundle.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin\+Collection-\/\+File\+Plugins/\+Plugin-\/\+File\+Bundle/File\+Bundle.\+hh\item 
Plugin\+Collection-\/\+File\+Plugins/\+Plugin-\/\+File\+Bundle/File\+Bundle.\+cc\end{DoxyCompactItemize}
