classcore_1_1ObjectData2D.tex 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. \hypertarget{classcore_1_1ObjectData2D}{}\section{core\+:\+:Object\+Data2D Class Reference}
  2. \label{classcore_1_1ObjectData2D}\index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  3. {\ttfamily \#include $<$Object\+Data2\+D.\+h$>$}
  4. Inheritance diagram for core\+:\+:Object\+Data2D\+:\begin{figure}[H]
  5. \begin{center}
  6. \leavevmode
  7. \includegraphics[height=3.000000cm]{classcore_1_1ObjectData2D}
  8. \end{center}
  9. \end{figure}
  10. \subsection*{Public Member Functions}
  11. \begin{DoxyCompactItemize}
  12. \item
  13. \hyperlink{classcore_1_1ObjectData2D_adc35e5b8597ea47ad3568259c2e800c6}{Object\+Data2D} (size\+\_\+t frame\+\_\+index, cv\+::\+Point2d position)
  14. \item
  15. void \hyperlink{classcore_1_1ObjectData2D_a2850785393bc7a5250427bbda84c1b58}{Set\+Temporal\+Weight} (double weight)
  16. \item
  17. void \hyperlink{classcore_1_1ObjectData2D_ad62bf8b2362e8f3547f8040a144fa346}{Set\+Spatial\+Weight} (double weight)
  18. \item
  19. cv\+::\+Point2d \hyperlink{classcore_1_1ObjectData2D_ab3c0694ec38f2d59a4092f46f876498b}{Get\+Position} () const
  20. \item
  21. double \hyperlink{classcore_1_1ObjectData2D_a35381efb292d20f2b181558c129269f3}{Get\+Temporal\+Weight} () const
  22. \item
  23. double \hyperlink{classcore_1_1ObjectData2D_a688087ccdd999d7e16f5c68cc460209d}{Get\+Spatial\+Weight} () const
  24. \item
  25. virtual double \hyperlink{classcore_1_1ObjectData2D_a68d56bd5f26a41830a87ae32eabf9126}{Compare\+To} (Object\+Data\+Ptr obj) const override
  26. \item
  27. virtual bool \hyperlink{classcore_1_1ObjectData2D_a63e855919a72462225a8e69140f1389b}{Is\+Within\+Constraints} (Object\+Data\+Ptr obj, std\+::unordered\+\_\+map$<$ std\+::string, double $>$ \&constraints) const override
  28. \item
  29. virtual Object\+Data\+Ptr \hyperlink{classcore_1_1ObjectData2D_a59b974e09f74f0a2640e3152893fe79f}{Interpolate} (Object\+Data\+Ptr obj, double fraction) const override
  30. \item
  31. virtual void \hyperlink{classcore_1_1ObjectData2D_aff4e8539559f4ce50a7f43b733d6c512}{Visualize} (cv\+::\+Mat \&image, cv\+::\+Scalar \&color) const override
  32. \item
  33. virtual std\+::string \hyperlink{classcore_1_1ObjectData2D_a72b2f50ca82ebd9269e1c29cdac6d92a}{To\+String} (char delimiter) const override
  34. \end{DoxyCompactItemize}
  35. \subsection{Detailed Description}
  36. Class for storing a detection in two dimensional space.
  37. \subsection{Constructor \& Destructor Documentation}
  38. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Object\+Data2D@{Object\+Data2D}}
  39. \index{Object\+Data2D@{Object\+Data2D}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  40. \subsubsection[{\texorpdfstring{Object\+Data2\+D(size\+\_\+t frame\+\_\+index, cv\+::\+Point2d position)}{ObjectData2D(size\_t frame\_index, cv::Point2d position)}}]{\setlength{\rightskip}{0pt plus 5cm}core\+::\+Object\+Data2\+D\+::\+Object\+Data2D (
  41. \begin{DoxyParamCaption}
  42. \item[{size\+\_\+t}]{frame\+\_\+index, }
  43. \item[{cv\+::\+Point2d}]{position}
  44. \end{DoxyParamCaption}
  45. )}\hypertarget{classcore_1_1ObjectData2D_adc35e5b8597ea47ad3568259c2e800c6}{}\label{classcore_1_1ObjectData2D_adc35e5b8597ea47ad3568259c2e800c6}
  46. Creates a new detection with the given index and position.
  47. \begin{DoxyParams}{Parameters}
  48. {\em frame\+\_\+index} & The frame index \\
  49. \hline
  50. {\em position} & The position in three dimensional space \\
  51. \hline
  52. \end{DoxyParams}
  53. \subsection{Member Function Documentation}
  54. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Compare\+To@{Compare\+To}}
  55. \index{Compare\+To@{Compare\+To}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  56. \subsubsection[{\texorpdfstring{Compare\+To(\+Object\+Data\+Ptr obj) const override}{CompareTo(ObjectDataPtr obj) const override}}]{\setlength{\rightskip}{0pt plus 5cm}double core\+::\+Object\+Data2\+D\+::\+Compare\+To (
  57. \begin{DoxyParamCaption}
  58. \item[{Object\+Data\+Ptr}]{obj}
  59. \end{DoxyParamCaption}
  60. ) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData2D_a68d56bd5f26a41830a87ae32eabf9126}{}\label{classcore_1_1ObjectData2D_a68d56bd5f26a41830a87ae32eabf9126}
  61. Compares this object with the given object.
  62. \begin{DoxyParams}{Parameters}
  63. {\em obj} & A pointer to the object to compare this object to \\
  64. \hline
  65. \end{DoxyParams}
  66. \begin{DoxyReturn}{Returns}
  67. A double value indicating the comparison result
  68. \end{DoxyReturn}
  69. Reimplemented from \hyperlink{classcore_1_1ObjectData_afbf7a1e87235f1b204d4d2eb8a37a9a6}{core\+::\+Object\+Data}.
  70. Reimplemented in \hyperlink{classcore_1_1ObjectDataAngular_a2932240c6c082b76f2c04723cdf3e4f9}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_a163c57338778f957ce514611c509558a}{core\+::\+Object\+Data\+Box}.
  71. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Get\+Position@{Get\+Position}}
  72. \index{Get\+Position@{Get\+Position}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  73. \subsubsection[{\texorpdfstring{Get\+Position() const}{GetPosition() const}}]{\setlength{\rightskip}{0pt plus 5cm}cv\+::\+Point2d core\+::\+Object\+Data2\+D\+::\+Get\+Position (
  74. \begin{DoxyParamCaption}
  75. {}
  76. \end{DoxyParamCaption}
  77. ) const}\hypertarget{classcore_1_1ObjectData2D_ab3c0694ec38f2d59a4092f46f876498b}{}\label{classcore_1_1ObjectData2D_ab3c0694ec38f2d59a4092f46f876498b}
  78. Gets the position in two dimensional space. \begin{DoxyReturn}{Returns}
  79. The position
  80. \end{DoxyReturn}
  81. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Get\+Spatial\+Weight@{Get\+Spatial\+Weight}}
  82. \index{Get\+Spatial\+Weight@{Get\+Spatial\+Weight}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  83. \subsubsection[{\texorpdfstring{Get\+Spatial\+Weight() const}{GetSpatialWeight() const}}]{\setlength{\rightskip}{0pt plus 5cm}double core\+::\+Object\+Data2\+D\+::\+Get\+Spatial\+Weight (
  84. \begin{DoxyParamCaption}
  85. {}
  86. \end{DoxyParamCaption}
  87. ) const}\hypertarget{classcore_1_1ObjectData2D_a688087ccdd999d7e16f5c68cc460209d}{}\label{classcore_1_1ObjectData2D_a688087ccdd999d7e16f5c68cc460209d}
  88. Gets the spatial weight \begin{DoxyReturn}{Returns}
  89. The spatial weight
  90. \end{DoxyReturn}
  91. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Get\+Temporal\+Weight@{Get\+Temporal\+Weight}}
  92. \index{Get\+Temporal\+Weight@{Get\+Temporal\+Weight}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  93. \subsubsection[{\texorpdfstring{Get\+Temporal\+Weight() const}{GetTemporalWeight() const}}]{\setlength{\rightskip}{0pt plus 5cm}double core\+::\+Object\+Data2\+D\+::\+Get\+Temporal\+Weight (
  94. \begin{DoxyParamCaption}
  95. {}
  96. \end{DoxyParamCaption}
  97. ) const}\hypertarget{classcore_1_1ObjectData2D_a35381efb292d20f2b181558c129269f3}{}\label{classcore_1_1ObjectData2D_a35381efb292d20f2b181558c129269f3}
  98. Gets the temporal weight. \begin{DoxyReturn}{Returns}
  99. The temporal weight
  100. \end{DoxyReturn}
  101. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Interpolate@{Interpolate}}
  102. \index{Interpolate@{Interpolate}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  103. \subsubsection[{\texorpdfstring{Interpolate(\+Object\+Data\+Ptr obj, double fraction) const override}{Interpolate(ObjectDataPtr obj, double fraction) const override}}]{\setlength{\rightskip}{0pt plus 5cm}Object\+Data\+Ptr core\+::\+Object\+Data2\+D\+::\+Interpolate (
  104. \begin{DoxyParamCaption}
  105. \item[{Object\+Data\+Ptr}]{obj, }
  106. \item[{double}]{fraction}
  107. \end{DoxyParamCaption}
  108. ) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData2D_a59b974e09f74f0a2640e3152893fe79f}{}\label{classcore_1_1ObjectData2D_a59b974e09f74f0a2640e3152893fe79f}
  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 from \hyperlink{classcore_1_1ObjectData_ad681915317decab76c384a635fc8444e}{core\+::\+Object\+Data}.
  120. Reimplemented in \hyperlink{classcore_1_1ObjectDataAngular_a42962dd1f994b2577133450e755d586e}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_ab2816bceb771dd7442e6c29193dfe267}{core\+::\+Object\+Data\+Box}.
  121. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Is\+Within\+Constraints@{Is\+Within\+Constraints}}
  122. \index{Is\+Within\+Constraints@{Is\+Within\+Constraints}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  123. \subsubsection[{\texorpdfstring{Is\+Within\+Constraints(\+Object\+Data\+Ptr obj, std\+::unordered\+\_\+map$<$ std\+::string, double $>$ \&constraints) const override}{IsWithinConstraints(ObjectDataPtr obj, std::unordered\_map< std::string, double > \&constraints) const override}}]{\setlength{\rightskip}{0pt plus 5cm}bool core\+::\+Object\+Data2\+D\+::\+Is\+Within\+Constraints (
  124. \begin{DoxyParamCaption}
  125. \item[{Object\+Data\+Ptr}]{obj, }
  126. \item[{std\+::unordered\+\_\+map$<$ std\+::string, double $>$ \&}]{constraints}
  127. \end{DoxyParamCaption}
  128. ) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData2D_a63e855919a72462225a8e69140f1389b}{}\label{classcore_1_1ObjectData2D_a63e855919a72462225a8e69140f1389b}
  129. Checks if the difference between this object and the specified object is within the constraints specified. The difference is calculated for each constraint separately.
  130. \begin{DoxyParams}{Parameters}
  131. {\em obj} & The object to get the difference to \\
  132. \hline
  133. {\em constraints} & The constraints to assure \\
  134. \hline
  135. \end{DoxyParams}
  136. Reimplemented from \hyperlink{classcore_1_1ObjectData_affa5d25fa3d2c04a571a7e095f62bacb}{core\+::\+Object\+Data}.
  137. Reimplemented in \hyperlink{classcore_1_1ObjectDataAngular_a1ef9168c2384d2038a1dd6e85d0b932f}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_a04f4b780b79491270e4838f7504c1917}{core\+::\+Object\+Data\+Box}.
  138. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Set\+Spatial\+Weight@{Set\+Spatial\+Weight}}
  139. \index{Set\+Spatial\+Weight@{Set\+Spatial\+Weight}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  140. \subsubsection[{\texorpdfstring{Set\+Spatial\+Weight(double weight)}{SetSpatialWeight(double weight)}}]{\setlength{\rightskip}{0pt plus 5cm}void core\+::\+Object\+Data2\+D\+::\+Set\+Spatial\+Weight (
  141. \begin{DoxyParamCaption}
  142. \item[{double}]{weight}
  143. \end{DoxyParamCaption}
  144. )}\hypertarget{classcore_1_1ObjectData2D_ad62bf8b2362e8f3547f8040a144fa346}{}\label{classcore_1_1ObjectData2D_ad62bf8b2362e8f3547f8040a144fa346}
  145. Sets the spatial weight
  146. \begin{DoxyParams}{Parameters}
  147. {\em weight} & The spatial weight \\
  148. \hline
  149. \end{DoxyParams}
  150. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Set\+Temporal\+Weight@{Set\+Temporal\+Weight}}
  151. \index{Set\+Temporal\+Weight@{Set\+Temporal\+Weight}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  152. \subsubsection[{\texorpdfstring{Set\+Temporal\+Weight(double weight)}{SetTemporalWeight(double weight)}}]{\setlength{\rightskip}{0pt plus 5cm}void core\+::\+Object\+Data2\+D\+::\+Set\+Temporal\+Weight (
  153. \begin{DoxyParamCaption}
  154. \item[{double}]{weight}
  155. \end{DoxyParamCaption}
  156. )}\hypertarget{classcore_1_1ObjectData2D_a2850785393bc7a5250427bbda84c1b58}{}\label{classcore_1_1ObjectData2D_a2850785393bc7a5250427bbda84c1b58}
  157. Sets the temporal weight.
  158. \begin{DoxyParams}{Parameters}
  159. {\em weight} & The temporal weight \\
  160. \hline
  161. \end{DoxyParams}
  162. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!To\+String@{To\+String}}
  163. \index{To\+String@{To\+String}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  164. \subsubsection[{\texorpdfstring{To\+String(char delimiter) const override}{ToString(char delimiter) const override}}]{\setlength{\rightskip}{0pt plus 5cm}std\+::string core\+::\+Object\+Data2\+D\+::\+To\+String (
  165. \begin{DoxyParamCaption}
  166. \item[{char}]{delimiter}
  167. \end{DoxyParamCaption}
  168. ) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData2D_a72b2f50ca82ebd9269e1c29cdac6d92a}{}\label{classcore_1_1ObjectData2D_a72b2f50ca82ebd9269e1c29cdac6d92a}
  169. Returns a string representing the values of this object data.
  170. \begin{DoxyParams}{Parameters}
  171. {\em delimiter} & The delimiter used to separate values \\
  172. \hline
  173. \end{DoxyParams}
  174. \begin{DoxyReturn}{Returns}
  175. The string containing the values
  176. \end{DoxyReturn}
  177. Reimplemented from \hyperlink{classcore_1_1ObjectData_a1d864ed88355e636c5783c18c9ab0555}{core\+::\+Object\+Data}.
  178. Reimplemented in \hyperlink{classcore_1_1ObjectDataAngular_a3b419c1d4be886f094b9af94cd839bd4}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_a0af10953ccecb7089a3a2841ec7419b9}{core\+::\+Object\+Data\+Box}.
  179. \index{core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}!Visualize@{Visualize}}
  180. \index{Visualize@{Visualize}!core\+::\+Object\+Data2D@{core\+::\+Object\+Data2D}}
  181. \subsubsection[{\texorpdfstring{Visualize(cv\+::\+Mat \&image, cv\+::\+Scalar \&color) const override}{Visualize(cv::Mat \&image, cv::Scalar \&color) const override}}]{\setlength{\rightskip}{0pt plus 5cm}void core\+::\+Object\+Data2\+D\+::\+Visualize (
  182. \begin{DoxyParamCaption}
  183. \item[{cv\+::\+Mat \&}]{image, }
  184. \item[{cv\+::\+Scalar \&}]{color}
  185. \end{DoxyParamCaption}
  186. ) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}\hypertarget{classcore_1_1ObjectData2D_aff4e8539559f4ce50a7f43b733d6c512}{}\label{classcore_1_1ObjectData2D_aff4e8539559f4ce50a7f43b733d6c512}
  187. Visualizes the object in the given image with the given color. This method does nothing, it needs to be overwritten to visualize something.
  188. \begin{DoxyParams}{Parameters}
  189. {\em image} & The image to write into \\
  190. \hline
  191. {\em color} & The color to use \\
  192. \hline
  193. \end{DoxyParams}
  194. Reimplemented from \hyperlink{classcore_1_1ObjectData_aae2c4fceddc529570dbe8909309f9961}{core\+::\+Object\+Data}.
  195. Reimplemented in \hyperlink{classcore_1_1ObjectDataAngular_acb4265f6de511238460df118148bc85c}{core\+::\+Object\+Data\+Angular}, and \hyperlink{classcore_1_1ObjectDataBox_ab29bacb20c258ba572d0372469ec5523}{core\+::\+Object\+Data\+Box}.
  196. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
  197. \item
  198. core/Object\+Data2\+D.\+h\item
  199. core/Object\+Data2\+D.\+cpp\end{DoxyCompactItemize}