\hypertarget{a10924}{}\section{File\+Bundle\+Plugin Class Reference}
\label{a10924}\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
Inheritance diagram for File\+Bundle\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.469816cm]{a10924}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10924_a71e620ed897d6756f3ce7eb23f9f71a4}\label{a10924_a71e620ed897d6756f3ce7eb23f9f71a4}} 
Q\+String {\bfseries version} ()
\item 
\mbox{\Hypertarget{a10924_ac99c0f1425baed81b99d46c406e793d6}\label{a10924_ac99c0f1425baed81b99d46c406e793d6}} 
int {\bfseries load\+Object} (Q\+String \+\_\+filename)
\item 
\mbox{\Hypertarget{a10924_a50580c24f7bea9621ba6cff3ae03639f}\label{a10924_a50580c24f7bea9621ba6cff3ae03639f}} 
bool {\bfseries save\+Object} (int \+\_\+object\+Id, Q\+String \+\_\+filename)
\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10924_a8bc426b79df17c30159da33620c5cc8a}\label{a10924_a8bc426b79df17c30159da33620c5cc8a}} 
void {\bfseries opened\+File} (int \+\_\+object\+Id)
\item 
\mbox{\Hypertarget{a10924_aef68149dfce1b49ba3e0b04a1aa1de7c}\label{a10924_aef68149dfce1b49ba3e0b04a1aa1de7c}} 
void {\bfseries add\+Empty\+Object} (\hyperlink{a07048}{Data\+Type} \+\_\+type, int \&\+\_\+object\+Id)
\item 
\mbox{\Hypertarget{a10924_a4a1cf09a699904ace41ee408198b3611}\label{a10924_a4a1cf09a699904ace41ee408198b3611}} 
void {\bfseries delete\+Object} (int \+\_\+object\+Id)
\item 
\mbox{\Hypertarget{a10924_a2165828f41321b7d3a36fbc0687c8af9}\label{a10924_a2165828f41321b7d3a36fbc0687c8af9}} 
void {\bfseries updated\+Object} (int \+\_\+object\+Id, const \hyperlink{a07096}{Update\+Type} \&\+\_\+type)
\item 
\mbox{\Hypertarget{a10924_ae23acae9aa9104b7ecd925c99631638b}\label{a10924_ae23acae9aa9104b7ecd925c99631638b}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a10924_a3f523734f830f60f29cc4cd99920c2e4}\label{a10924_a3f523734f830f60f29cc4cd99920c2e4}} 
void {\bfseries log} (\hyperlink{a00035_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{a10924_a78675238db66bd2d9c3aba3a7ab5ca3a}{name} ()
\begin{DoxyCompactList}\small\item\em Return a name for the plugin. \end{DoxyCompactList}\item 
Q\+String \hyperlink{a10924_aa3c177b14472d9fd6496c5e46f71a681}{description} ()
\begin{DoxyCompactList}\small\item\em Return a description of what the plugin is doing. \end{DoxyCompactList}\item 
\hyperlink{a07048}{Data\+Type} \hyperlink{a10924_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\+SH ) \end{DoxyCompactList}\item 
Q\+String \hyperlink{a10924_ae57e664fa70dbcf74d7518a6014ef583}{get\+Save\+Filters} ()
\item 
Q\+String \hyperlink{a10924_acbafc4aeee75fc40df964d23457080eb}{get\+Load\+Filters} ()
\item 
Q\+Widget $\ast$ \hyperlink{a10924_a2ac7f00485bdfc1808d91e4507c0e6ed}{save\+Options\+Widget} (Q\+String)
\item 
Q\+Widget $\ast$ \hyperlink{a10924_ae76ee6176b00edce567fda9788d9fff1}{load\+Options\+Widget} (Q\+String)
\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10924_a31b0e86be40cbfa558f5fe4adccf53fd}\label{a10924_a31b0e86be40cbfa558f5fe4adccf53fd}} 
void {\bfseries nogui\+Supported} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10924_a5d61e1de6ebcf18dab8bfa3333ffcf81}\label{a10924_a5d61e1de6ebcf18dab8bfa3333ffcf81}} 
bool {\bfseries add\+Empty\+Objects} (unsigned int \+\_\+num, const \hyperlink{a07048}{Data\+Type} \&\+\_\+data\+Type, std\+::vector$<$ int $>$ \&\+\_\+object\+I\+Ds)
\item 
\mbox{\Hypertarget{a10924_a32474658571feaeed3d764cfd51b96c1}\label{a10924_a32474658571feaeed3d764cfd51b96c1}} 
void {\bfseries delete\+Objects} (std\+::vector$<$ int $>$ \&\+\_\+object\+I\+Ds)
\item 
\mbox{\Hypertarget{a10924_acb254bc58df480e1ab37cf297a535319}\label{a10924_acb254bc58df480e1ab37cf297a535319}} 
bool {\bfseries read\+Imagelist\+File} (const char $\ast$\+\_\+filename, std\+::vector$<$ std\+::string $>$ \&\+\_\+image\+Paths)
\item 
\mbox{\Hypertarget{a10924_a74b47f3f94a4844603a9cf201a60ee81}\label{a10924_a74b47f3f94a4844603a9cf201a60ee81}} 
void {\bfseries read\+Cameras} (F\+I\+LE $\ast$\+\_\+file, const std\+::vector$<$ int $>$ \&\+\_\+camera\+Object\+I\+Ds, Splat\+Cloud\+\_\+\+Cameras \&\+\_\+cameras)
\item 
\mbox{\Hypertarget{a10924_af8dbd18c6ecd95729275c3cdb3039c12}\label{a10924_af8dbd18c6ecd95729275c3cdb3039c12}} 
void {\bfseries read\+Points} (F\+I\+LE $\ast$\+\_\+file, const std\+::vector$<$ int $>$ \&\+\_\+camera\+Object\+I\+Ds, \hyperlink{a11980}{Splat\+Cloud} \&\+\_\+splat\+Cloud)
\item 
\mbox{\Hypertarget{a10924_a379366800d6e4a7d0244a69093ecfac1}\label{a10924_a379366800d6e4a7d0244a69093ecfac1}} 
bool {\bfseries read\+Bundle\+File} (const char $\ast$\+\_\+filename, \hyperlink{a11980}{Splat\+Cloud} \&\+\_\+splat\+Cloud)
\item 
\mbox{\Hypertarget{a10924_a924fc62d2e5e82c07121e48b1c41a32e}\label{a10924_a924fc62d2e5e82c07121e48b1c41a32e}} 
bool {\bfseries write\+Bundle\+File} (const char $\ast$\+\_\+filename, const \hyperlink{a11980}{Splat\+Cloud} \&\+\_\+splat\+Cloud)
\end{DoxyCompactItemize}


\subsection{Detailed Description}


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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a10924_aa3c177b14472d9fd6496c5e46f71a681}\label{a10924_aa3c177b14472d9fd6496c5e46f71a681}} 
\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!description@{description}}
\index{description@{description}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection{\texorpdfstring{description()}{description()}}
{\footnotesize\ttfamily Q\+String File\+Bundle\+Plugin\+::description (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Return a description of what the plugin is doing. 

This function has to return a basic description of the plugin 

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



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

\mbox{\Hypertarget{a10924_acbafc4aeee75fc40df964d23457080eb}\label{a10924_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{\texorpdfstring{get\+Load\+Filters()}{getLoadFilters()}}
{\footnotesize\ttfamily Q\+String File\+Bundle\+Plugin\+::get\+Load\+Filters (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the Qt Filters for File dialogs when loading files (e.\+g. \char`\"{}\+Off files ( $\ast$.\+off )\char`\"{} ) 

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



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

\mbox{\Hypertarget{a10924_ae57e664fa70dbcf74d7518a6014ef583}\label{a10924_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{\texorpdfstring{get\+Save\+Filters()}{getSaveFilters()}}
{\footnotesize\ttfamily Q\+String File\+Bundle\+Plugin\+::get\+Save\+Filters (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Get the Qt Filters for Filedialogs when saving files (e.\+g. \char`\"{}\+Off files ( $\ast$.\+off )\char`\"{} ) 

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



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

\mbox{\Hypertarget{a10924_ae76ee6176b00edce567fda9788d9fff1}\label{a10924_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{\texorpdfstring{load\+Options\+Widget()}{loadOptionsWidget()}}
{\footnotesize\ttfamily Q\+Widget $\ast$ File\+Bundle\+Plugin\+::load\+Options\+Widget (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+current\+Filter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

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\textquotesingle{}t need one 

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



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

\mbox{\Hypertarget{a10924_a78675238db66bd2d9c3aba3a7ab5ca3a}\label{a10924_a78675238db66bd2d9c3aba3a7ab5ca3a}} 
\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!name@{name}}
\index{name@{name}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection{\texorpdfstring{name()}{name()}}
{\footnotesize\ttfamily Q\+String File\+Bundle\+Plugin\+::name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Return a name for the plugin. 

This Function has to return the name of the plugin. 

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



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

\mbox{\Hypertarget{a10924_a2ac7f00485bdfc1808d91e4507c0e6ed}\label{a10924_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{\texorpdfstring{save\+Options\+Widget()}{saveOptionsWidget()}}
{\footnotesize\ttfamily Q\+Widget $\ast$ File\+Bundle\+Plugin\+::save\+Options\+Widget (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+current\+Filter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

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\textquotesingle{}t need one 

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



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

\mbox{\Hypertarget{a10924_aba709cfa7466df182cf59172bb2644e6}\label{a10924_aba709cfa7466df182cf59172bb2644e6}} 
\index{File\+Bundle\+Plugin@{File\+Bundle\+Plugin}!supported\+Type@{supported\+Type}}
\index{supported\+Type@{supported\+Type}!File\+Bundle\+Plugin@{File\+Bundle\+Plugin}}
\subsubsection{\texorpdfstring{supported\+Type()}{supportedType()}}
{\footnotesize\ttfamily \hyperlink{a07048}{Data\+Type} File\+Bundle\+Plugin\+::supported\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



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

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{a06880_add81abf9277dae44167763da4371fb28}{File\+Interface}.



Definition at line 122 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}
