classcore_1_1ObjectData.tex 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. \hypertarget{classcore_1_1ObjectData}{}\section{core\+:\+:Object\+Data Class Reference}
  2. \label{classcore_1_1ObjectData}\index{core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  3. {\ttfamily \#include $<$Object\+Data.\+h$>$}
  4. Inheritance diagram for core\+:\+:Object\+Data\+:\begin{figure}[H]
  5. \begin{center}
  6. \leavevmode
  7. \includegraphics[height=3.000000cm]{classcore_1_1ObjectData}
  8. \end{center}
  9. \end{figure}
  10. \subsection*{Public Member Functions}
  11. \begin{DoxyCompactItemize}
  12. \item
  13. \hyperlink{classcore_1_1ObjectData_a7f47a396a3b9e8c12a1557c8156b8ff9}{Object\+Data} ()
  14. \item
  15. \hyperlink{classcore_1_1ObjectData_af4333a52b012841a6ba73b25aeaae71b}{Object\+Data} (std\+::size\+\_\+t frame\+\_\+index)
  16. \item
  17. std\+::size\+\_\+t \hyperlink{classcore_1_1ObjectData_a1151e9215baf315f4b98f696f4271162}{Get\+Frame\+Index} () const
  18. \item
  19. void \hyperlink{classcore_1_1ObjectData_aedfe00fa37d5ac7ef554bda746931148}{Set\+Frame\+Index} (size\+\_\+t index)
  20. \item
  21. void \hyperlink{classcore_1_1ObjectData_a737216c2689aefa216c1c842922d7dd8}{Set\+Detection\+Score} (double score)
  22. \item
  23. double \hyperlink{classcore_1_1ObjectData_a227a11377867105d5fcbe9efc3faed45}{Get\+Detection\+Score} () const
  24. \item
  25. bool \hyperlink{classcore_1_1ObjectData_a2880d710cfa520e9c0453e2a6729c0e2}{Is\+Virtual} () const
  26. \item
  27. virtual double \hyperlink{classcore_1_1ObjectData_afbf7a1e87235f1b204d4d2eb8a37a9a6}{Compare\+To} (Object\+Data\+Ptr obj) const
  28. \item
  29. virtual bool \hyperlink{classcore_1_1ObjectData_affa5d25fa3d2c04a571a7e095f62bacb}{Is\+Within\+Constraints} (Object\+Data\+Ptr obj, std\+::unordered\+\_\+map$<$ std\+::string, double $>$ \&constraints) const
  30. \item
  31. virtual Object\+Data\+Ptr \hyperlink{classcore_1_1ObjectData_ad681915317decab76c384a635fc8444e}{Interpolate} (Object\+Data\+Ptr obj, double fraction) const
  32. \item
  33. virtual void \hyperlink{classcore_1_1ObjectData_aae2c4fceddc529570dbe8909309f9961}{Visualize} (cv\+::\+Mat \&image, cv\+::\+Scalar \&color) const
  34. \item
  35. virtual std\+::string \hyperlink{classcore_1_1ObjectData_a1d864ed88355e636c5783c18c9ab0555}{To\+String} (char delimiter) const
  36. \end{DoxyCompactItemize}
  37. \subsection*{Friends}
  38. \begin{DoxyCompactItemize}
  39. \item
  40. std\+::ostream \& \hyperlink{classcore_1_1ObjectData_a56fc9b6184428bf4d80826bbb9fe4c6f}{operator$<$$<$} (std\+::ostream \&os, const \hyperlink{classcore_1_1ObjectData}{Object\+Data} \&obj)
  41. \end{DoxyCompactItemize}
  42. \subsection{Detailed Description}
  43. Base class for all detected objects. Stores the corresponding frame index.
  44. \subsection{Constructor \& Destructor Documentation}
  45. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Object\+Data@{Object\+Data}}
  46. \index{Object\+Data@{Object\+Data}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  47. \subsubsection[{\texorpdfstring{Object\+Data()}{ObjectData()}}]{\setlength{\rightskip}{0pt plus 5cm}core\+::\+Object\+Data\+::\+Object\+Data (
  48. \begin{DoxyParamCaption}
  49. {}
  50. \end{DoxyParamCaption}
  51. )}\hypertarget{classcore_1_1ObjectData_a7f47a396a3b9e8c12a1557c8156b8ff9}{}\label{classcore_1_1ObjectData_a7f47a396a3b9e8c12a1557c8156b8ff9}
  52. Creates a new empty virtual \hyperlink{classcore_1_1ObjectData}{Object\+Data} \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Object\+Data@{Object\+Data}}
  53. \index{Object\+Data@{Object\+Data}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  54. \subsubsection[{\texorpdfstring{Object\+Data(std\+::size\+\_\+t frame\+\_\+index)}{ObjectData(std::size\_t frame\_index)}}]{\setlength{\rightskip}{0pt plus 5cm}core\+::\+Object\+Data\+::\+Object\+Data (
  55. \begin{DoxyParamCaption}
  56. \item[{std\+::size\+\_\+t}]{frame\+\_\+index}
  57. \end{DoxyParamCaption}
  58. )}\hypertarget{classcore_1_1ObjectData_af4333a52b012841a6ba73b25aeaae71b}{}\label{classcore_1_1ObjectData_af4333a52b012841a6ba73b25aeaae71b}
  59. Creates a new \hyperlink{classcore_1_1ObjectData}{Object\+Data} with the given frame index
  60. \begin{DoxyParams}{Parameters}
  61. {\em frame\+\_\+index} & the index in which the object was detected \\
  62. \hline
  63. \end{DoxyParams}
  64. \subsection{Member Function Documentation}
  65. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Compare\+To@{Compare\+To}}
  66. \index{Compare\+To@{Compare\+To}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  67. \subsubsection[{\texorpdfstring{Compare\+To(\+Object\+Data\+Ptr obj) const}{CompareTo(ObjectDataPtr obj) const}}]{\setlength{\rightskip}{0pt plus 5cm}double core\+::\+Object\+Data\+::\+Compare\+To (
  68. \begin{DoxyParamCaption}
  69. \item[{Object\+Data\+Ptr}]{obj}
  70. \end{DoxyParamCaption}
  71. ) const\hspace{0.3cm}{\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData_afbf7a1e87235f1b204d4d2eb8a37a9a6}{}\label{classcore_1_1ObjectData_afbf7a1e87235f1b204d4d2eb8a37a9a6}
  72. Compares this object with the given object.
  73. \begin{DoxyParams}{Parameters}
  74. {\em obj} & A pointer to the object to compare this object to \\
  75. \hline
  76. \end{DoxyParams}
  77. \begin{DoxyReturn}{Returns}
  78. A double value indicating the comparison result
  79. \end{DoxyReturn}
  80. Reimplemented in \hyperlink{classcore_1_1Tracklet_a0357f2fa173941800571432dcbc96dc2}{core\+::\+Tracklet}, \hyperlink{classcore_1_1ObjectData2D_a68d56bd5f26a41830a87ae32eabf9126}{core\+::\+Object\+Data2D}, \hyperlink{classcore_1_1ObjectDataAngular_a2932240c6c082b76f2c04723cdf3e4f9}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_a163c57338778f957ce514611c509558a}{core\+::\+Object\+Data\+Box}.
  81. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Get\+Detection\+Score@{Get\+Detection\+Score}}
  82. \index{Get\+Detection\+Score@{Get\+Detection\+Score}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  83. \subsubsection[{\texorpdfstring{Get\+Detection\+Score() const}{GetDetectionScore() const}}]{\setlength{\rightskip}{0pt plus 5cm}double core\+::\+Object\+Data\+::\+Get\+Detection\+Score (
  84. \begin{DoxyParamCaption}
  85. {}
  86. \end{DoxyParamCaption}
  87. ) const}\hypertarget{classcore_1_1ObjectData_a227a11377867105d5fcbe9efc3faed45}{}\label{classcore_1_1ObjectData_a227a11377867105d5fcbe9efc3faed45}
  88. Gets the detection score \begin{DoxyReturn}{Returns}
  89. The detection score
  90. \end{DoxyReturn}
  91. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Get\+Frame\+Index@{Get\+Frame\+Index}}
  92. \index{Get\+Frame\+Index@{Get\+Frame\+Index}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  93. \subsubsection[{\texorpdfstring{Get\+Frame\+Index() const}{GetFrameIndex() const}}]{\setlength{\rightskip}{0pt plus 5cm}std\+::size\+\_\+t core\+::\+Object\+Data\+::\+Get\+Frame\+Index (
  94. \begin{DoxyParamCaption}
  95. {}
  96. \end{DoxyParamCaption}
  97. ) const}\hypertarget{classcore_1_1ObjectData_a1151e9215baf315f4b98f696f4271162}{}\label{classcore_1_1ObjectData_a1151e9215baf315f4b98f696f4271162}
  98. Gets the frame index \begin{DoxyReturn}{Returns}
  99. The frame index
  100. \end{DoxyReturn}
  101. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Interpolate@{Interpolate}}
  102. \index{Interpolate@{Interpolate}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  103. \subsubsection[{\texorpdfstring{Interpolate(\+Object\+Data\+Ptr obj, double fraction) const}{Interpolate(ObjectDataPtr obj, double fraction) const}}]{\setlength{\rightskip}{0pt plus 5cm}Object\+Data\+Ptr core\+::\+Object\+Data\+::\+Interpolate (
  104. \begin{DoxyParamCaption}
  105. \item[{Object\+Data\+Ptr}]{obj, }
  106. \item[{double}]{fraction}
  107. \end{DoxyParamCaption}
  108. ) const\hspace{0.3cm}{\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData_ad681915317decab76c384a635fc8444e}{}\label{classcore_1_1ObjectData_ad681915317decab76c384a635fc8444e}
  109. Linearly interpolates between this and the given object. Creates a new object to fit between the two objects.
  110. \begin{DoxyParams}{Parameters}
  111. {\em obj} & A pointer to the target object \\
  112. \hline
  113. {\em fraction} & Describes where the interpolation should be done. A fraction of zero is a clone of this object, a fraction of one is a clone of the target object. \\
  114. \hline
  115. \end{DoxyParams}
  116. \begin{DoxyReturn}{Returns}
  117. The interpolated object
  118. \end{DoxyReturn}
  119. Reimplemented in \hyperlink{classcore_1_1Tracklet_a5fb5e6ab9df668c3477e8b52f115b188}{core\+::\+Tracklet}, \hyperlink{classcore_1_1ObjectData2D_a59b974e09f74f0a2640e3152893fe79f}{core\+::\+Object\+Data2D}, \hyperlink{classcore_1_1ObjectDataAngular_a42962dd1f994b2577133450e755d586e}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_ab2816bceb771dd7442e6c29193dfe267}{core\+::\+Object\+Data\+Box}.
  120. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Is\+Virtual@{Is\+Virtual}}
  121. \index{Is\+Virtual@{Is\+Virtual}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  122. \subsubsection[{\texorpdfstring{Is\+Virtual() const}{IsVirtual() const}}]{\setlength{\rightskip}{0pt plus 5cm}bool core\+::\+Object\+Data\+::\+Is\+Virtual (
  123. \begin{DoxyParamCaption}
  124. {}
  125. \end{DoxyParamCaption}
  126. ) const}\hypertarget{classcore_1_1ObjectData_a2880d710cfa520e9c0453e2a6729c0e2}{}\label{classcore_1_1ObjectData_a2880d710cfa520e9c0453e2a6729c0e2}
  127. Is this node considered a virtual node \begin{DoxyReturn}{Returns}
  128. True, if this node is virtual
  129. \end{DoxyReturn}
  130. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Is\+Within\+Constraints@{Is\+Within\+Constraints}}
  131. \index{Is\+Within\+Constraints@{Is\+Within\+Constraints}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  132. \subsubsection[{\texorpdfstring{Is\+Within\+Constraints(\+Object\+Data\+Ptr obj, std\+::unordered\+\_\+map$<$ std\+::string, double $>$ \&constraints) const}{IsWithinConstraints(ObjectDataPtr obj, std::unordered\_map< std::string, double > \&constraints) const}}]{\setlength{\rightskip}{0pt plus 5cm}bool core\+::\+Object\+Data\+::\+Is\+Within\+Constraints (
  133. \begin{DoxyParamCaption}
  134. \item[{Object\+Data\+Ptr}]{obj, }
  135. \item[{std\+::unordered\+\_\+map$<$ std\+::string, double $>$ \&}]{constraints}
  136. \end{DoxyParamCaption}
  137. ) const\hspace{0.3cm}{\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData_affa5d25fa3d2c04a571a7e095f62bacb}{}\label{classcore_1_1ObjectData_affa5d25fa3d2c04a571a7e095f62bacb}
  138. Checks if the difference between this object and the specified object is within the constraints specified. The difference is calculated for each constraint separately.
  139. \begin{DoxyParams}{Parameters}
  140. {\em obj} & The object to get the difference to \\
  141. \hline
  142. {\em constraints} & The constraints to assure \\
  143. \hline
  144. \end{DoxyParams}
  145. Reimplemented in \hyperlink{classcore_1_1ObjectData2D_a63e855919a72462225a8e69140f1389b}{core\+::\+Object\+Data2D}, \hyperlink{classcore_1_1ObjectDataAngular_a1ef9168c2384d2038a1dd6e85d0b932f}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_a04f4b780b79491270e4838f7504c1917}{core\+::\+Object\+Data\+Box}.
  146. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Set\+Detection\+Score@{Set\+Detection\+Score}}
  147. \index{Set\+Detection\+Score@{Set\+Detection\+Score}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  148. \subsubsection[{\texorpdfstring{Set\+Detection\+Score(double score)}{SetDetectionScore(double score)}}]{\setlength{\rightskip}{0pt plus 5cm}void core\+::\+Object\+Data\+::\+Set\+Detection\+Score (
  149. \begin{DoxyParamCaption}
  150. \item[{double}]{score}
  151. \end{DoxyParamCaption}
  152. )}\hypertarget{classcore_1_1ObjectData_a737216c2689aefa216c1c842922d7dd8}{}\label{classcore_1_1ObjectData_a737216c2689aefa216c1c842922d7dd8}
  153. Sets the detection score
  154. \begin{DoxyParams}{Parameters}
  155. {\em score} & The detection score \\
  156. \hline
  157. \end{DoxyParams}
  158. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Set\+Frame\+Index@{Set\+Frame\+Index}}
  159. \index{Set\+Frame\+Index@{Set\+Frame\+Index}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  160. \subsubsection[{\texorpdfstring{Set\+Frame\+Index(size\+\_\+t index)}{SetFrameIndex(size\_t index)}}]{\setlength{\rightskip}{0pt plus 5cm}void core\+::\+Object\+Data\+::\+Set\+Frame\+Index (
  161. \begin{DoxyParamCaption}
  162. \item[{size\+\_\+t}]{index}
  163. \end{DoxyParamCaption}
  164. )}\hypertarget{classcore_1_1ObjectData_aedfe00fa37d5ac7ef554bda746931148}{}\label{classcore_1_1ObjectData_aedfe00fa37d5ac7ef554bda746931148}
  165. Sets the frame index
  166. \begin{DoxyParams}{Parameters}
  167. {\em index} & The new frame index \\
  168. \hline
  169. \end{DoxyParams}
  170. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!To\+String@{To\+String}}
  171. \index{To\+String@{To\+String}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  172. \subsubsection[{\texorpdfstring{To\+String(char delimiter) const}{ToString(char delimiter) const}}]{\setlength{\rightskip}{0pt plus 5cm}std\+::string core\+::\+Object\+Data\+::\+To\+String (
  173. \begin{DoxyParamCaption}
  174. \item[{char}]{delimiter}
  175. \end{DoxyParamCaption}
  176. ) const\hspace{0.3cm}{\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData_a1d864ed88355e636c5783c18c9ab0555}{}\label{classcore_1_1ObjectData_a1d864ed88355e636c5783c18c9ab0555}
  177. Returns a string representing the values of this object data.
  178. \begin{DoxyParams}{Parameters}
  179. {\em delimiter} & The delimiter used to separate values \\
  180. \hline
  181. \end{DoxyParams}
  182. \begin{DoxyReturn}{Returns}
  183. The string containing the values
  184. \end{DoxyReturn}
  185. Reimplemented in \hyperlink{classcore_1_1ObjectData2D_a72b2f50ca82ebd9269e1c29cdac6d92a}{core\+::\+Object\+Data2D}, \hyperlink{classcore_1_1ObjectDataAngular_a3b419c1d4be886f094b9af94cd839bd4}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_a0af10953ccecb7089a3a2841ec7419b9}{core\+::\+Object\+Data\+Box}.
  186. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!Visualize@{Visualize}}
  187. \index{Visualize@{Visualize}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  188. \subsubsection[{\texorpdfstring{Visualize(cv\+::\+Mat \&image, cv\+::\+Scalar \&color) const}{Visualize(cv::Mat \&image, cv::Scalar \&color) const}}]{\setlength{\rightskip}{0pt plus 5cm}void core\+::\+Object\+Data\+::\+Visualize (
  189. \begin{DoxyParamCaption}
  190. \item[{cv\+::\+Mat \&}]{image, }
  191. \item[{cv\+::\+Scalar \&}]{color}
  192. \end{DoxyParamCaption}
  193. ) const\hspace{0.3cm}{\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData_aae2c4fceddc529570dbe8909309f9961}{}\label{classcore_1_1ObjectData_aae2c4fceddc529570dbe8909309f9961}
  194. Visualizes the object in the given image with the given color. This method does nothing, it needs to be overwritten to visualize something.
  195. \begin{DoxyParams}{Parameters}
  196. {\em image} & The image to write into \\
  197. \hline
  198. {\em color} & The color to use \\
  199. \hline
  200. \end{DoxyParams}
  201. Reimplemented in \hyperlink{classcore_1_1Tracklet_a85f92a4059bf89f24a83f28935675181}{core\+::\+Tracklet}, \hyperlink{classcore_1_1ObjectData2D_aff4e8539559f4ce50a7f43b733d6c512}{core\+::\+Object\+Data2D}, \hyperlink{classcore_1_1ObjectDataAngular_acb4265f6de511238460df118148bc85c}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_ab29bacb20c258ba572d0372469ec5523}{core\+::\+Object\+Data\+Box}.
  202. \subsection{Friends And Related Function Documentation}
  203. \index{core\+::\+Object\+Data@{core\+::\+Object\+Data}!operator$<$$<$@{operator$<$$<$}}
  204. \index{operator$<$$<$@{operator$<$$<$}!core\+::\+Object\+Data@{core\+::\+Object\+Data}}
  205. \subsubsection[{\texorpdfstring{operator$<$$<$}{operator<<}}]{\setlength{\rightskip}{0pt plus 5cm}std\+::ostream\& operator$<$$<$ (
  206. \begin{DoxyParamCaption}
  207. \item[{std\+::ostream \&}]{os, }
  208. \item[{const {\bf Object\+Data} \&}]{obj}
  209. \end{DoxyParamCaption}
  210. )\hspace{0.3cm}{\ttfamily [friend]}}\hypertarget{classcore_1_1ObjectData_a56fc9b6184428bf4d80826bbb9fe4c6f}{}\label{classcore_1_1ObjectData_a56fc9b6184428bf4d80826bbb9fe4c6f}
  211. Overrides the $<$$<$ operator for custom output. Calls the print method.
  212. \begin{DoxyParams}{Parameters}
  213. {\em os} & The stream to write to \\
  214. \hline
  215. {\em obj} & The object to write into the stream \\
  216. \hline
  217. \end{DoxyParams}
  218. \begin{DoxyReturn}{Returns}
  219. The stream written to
  220. \end{DoxyReturn}
  221. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
  222. \item
  223. core/Object\+Data.\+h\item
  224. core/Object\+Data.\+cpp\end{DoxyCompactItemize}