aboutsummaryrefslogtreecommitdiffstats
path: root/doc/latex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/latex')
-rw-r--r--doc/latex/BinaryIndexTree_8h.tex16
-rw-r--r--doc/latex/Bitmap_8h.tex22
-rw-r--r--doc/latex/Camera_8h.tex20
-rw-r--r--doc/latex/Color3__Space_8h.tex18
-rw-r--r--doc/latex/DisjointSet_8h.tex16
-rw-r--r--doc/latex/FeaturePoint_8h.tex19
-rw-r--r--doc/latex/FeaturePointsDetector_8h.tex17
-rw-r--r--doc/latex/FeaturePointsDetector__Harris_8h.tex30
-rw-r--r--doc/latex/FeaturePointsMatch_8h.tex25
-rw-r--r--doc/latex/FeaturePointsMatch__K__Match_8h.tex29
-rw-r--r--doc/latex/HSL__Space_8h.tex34
-rw-r--r--doc/latex/HSV__Space_8h.tex39
-rw-r--r--doc/latex/HashTable_8h.tex15
-rw-r--r--doc/latex/IdentityPoints_8h.tex18
-rw-r--r--doc/latex/KD__Tree_8h.tex19
-rw-r--r--doc/latex/LinearTransformation_8h.tex16
-rw-r--r--doc/latex/LinearTransformations_8h.tex19
-rw-r--r--doc/latex/Makefile19
-rw-r--r--doc/latex/Matrix_8h.tex18
-rw-r--r--doc/latex/MergeableHeap_8h.tex15
-rw-r--r--doc/latex/ObjArray_8h.tex20
-rw-r--r--doc/latex/ObjBase_8h.tex16
-rw-r--r--doc/latex/ObjDictionary_8h.tex20
-rw-r--r--doc/latex/ObjProperties_8h.tex15
-rw-r--r--doc/latex/ObjSelector_8h.tex25
-rw-r--r--doc/latex/ObjTypes_8h.tex40
-rw-r--r--doc/latex/Photo_8h.tex23
-rw-r--r--doc/latex/RGB__Space_8h.tex26
-rw-r--r--doc/latex/SegmentTree_8h.tex17
-rw-r--r--doc/latex/Self_8h.tex14
-rw-r--r--doc/latex/SplayTree_8h.tex22
-rw-r--r--doc/latex/Transformation_8h.tex16
-rw-r--r--doc/latex/Transformations_8h.tex20
-rw-r--r--doc/latex/Usage_8h.tex20
-rw-r--r--doc/latex/VP__Tree_8h.tex19
-rw-r--r--doc/latex/Vector_8h.tex18
-rw-r--r--doc/latex/Vectors_8h.tex19
-rw-r--r--doc/latex/ViewPort_8h.tex14
-rw-r--r--doc/latex/WatchBall_8h.tex20
-rw-r--r--doc/latex/YUV__Space_8h.tex29
-rw-r--r--doc/latex/annotated.tex53
-rw-r--r--doc/latex/classdouble.tex6
-rw-r--r--doc/latex/classint.tex6
-rw-r--r--doc/latex/classmeow_1_1BallProjection.eps197
-rw-r--r--doc/latex/classmeow_1_1BallProjection.pdfbin0 -> 5988 bytes
-rw-r--r--doc/latex/classmeow_1_1BallProjection.tex342
-rw-r--r--doc/latex/classmeow_1_1BinaryIndexTree.tex165
-rw-r--r--doc/latex/classmeow_1_1Bitmap.eps197
-rw-r--r--doc/latex/classmeow_1_1Bitmap.pdfbin0 -> 5841 bytes
-rw-r--r--doc/latex/classmeow_1_1Bitmap.tex693
-rw-r--r--doc/latex/classmeow_1_1Camera.eps197
-rw-r--r--doc/latex/classmeow_1_1Camera.pdfbin0 -> 5772 bytes
-rw-r--r--doc/latex/classmeow_1_1Camera.tex452
-rw-r--r--doc/latex/classmeow_1_1Color3__Space.tex207
-rw-r--r--doc/latex/classmeow_1_1DisjointSet.tex184
-rw-r--r--doc/latex/classmeow_1_1FeaturePoint.eps197
-rw-r--r--doc/latex/classmeow_1_1FeaturePoint.pdfbin0 -> 6524 bytes
-rw-r--r--doc/latex/classmeow_1_1FeaturePoint.tex371
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsDetector.eps203
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsDetector.pdfbin0 -> 6546 bytes
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsDetector.tex63
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsDetector__Harris.eps203
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsDetector__Harris.pdfbin0 -> 6545 bytes
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsDetector__Harris.tex488
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsMatch.eps203
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsMatch.pdfbin0 -> 7047 bytes
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsMatch.tex127
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.eps203
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.pdfbin0 -> 7048 bytes
-rw-r--r--doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.tex269
-rw-r--r--doc/latex/classmeow_1_1HSLf__Space.eps197
-rw-r--r--doc/latex/classmeow_1_1HSLf__Space.pdfbin0 -> 5996 bytes
-rw-r--r--doc/latex/classmeow_1_1HSLf__Space.tex323
-rw-r--r--doc/latex/classmeow_1_1HSVf__Space.eps197
-rw-r--r--doc/latex/classmeow_1_1HSVf__Space.pdfbin0 -> 5998 bytes
-rw-r--r--doc/latex/classmeow_1_1HSVf__Space.tex323
-rw-r--r--doc/latex/classmeow_1_1HashTableList.tex285
-rw-r--r--doc/latex/classmeow_1_1IdentityPoints.eps197
-rw-r--r--doc/latex/classmeow_1_1IdentityPoints.pdfbin0 -> 6540 bytes
-rw-r--r--doc/latex/classmeow_1_1IdentityPoints.tex490
-rw-r--r--doc/latex/classmeow_1_1KD__Tree.tex202
-rw-r--r--doc/latex/classmeow_1_1LinearTransformation.eps203
-rw-r--r--doc/latex/classmeow_1_1LinearTransformation.pdfbin0 -> 6176 bytes
-rw-r--r--doc/latex/classmeow_1_1LinearTransformation.tex188
-rw-r--r--doc/latex/classmeow_1_1Matrix.tex750
-rw-r--r--doc/latex/classmeow_1_1MergeableHeap.tex213
-rw-r--r--doc/latex/classmeow_1_1ObjArray.eps197
-rw-r--r--doc/latex/classmeow_1_1ObjArray.pdfbin0 -> 5562 bytes
-rw-r--r--doc/latex/classmeow_1_1ObjArray.tex299
-rw-r--r--doc/latex/classmeow_1_1ObjBase.eps253
-rw-r--r--doc/latex/classmeow_1_1ObjBase.pdfbin0 -> 8863 bytes
-rw-r--r--doc/latex/classmeow_1_1ObjBase.tex164
-rw-r--r--doc/latex/classmeow_1_1ObjDictionary.eps197
-rw-r--r--doc/latex/classmeow_1_1ObjDictionary.pdfbin0 -> 6418 bytes
-rw-r--r--doc/latex/classmeow_1_1ObjDictionary.tex281
-rw-r--r--doc/latex/classmeow_1_1ObjProperties.eps197
-rw-r--r--doc/latex/classmeow_1_1ObjProperties.pdfbin0 -> 6014 bytes
-rw-r--r--doc/latex/classmeow_1_1ObjProperties.tex230
-rw-r--r--doc/latex/classmeow_1_1ObjSelector.tex229
-rw-r--r--doc/latex/classmeow_1_1ObjType.eps197
-rw-r--r--doc/latex/classmeow_1_1ObjType.pdfbin0 -> 6304 bytes
-rw-r--r--doc/latex/classmeow_1_1ObjType.tex236
-rw-r--r--doc/latex/classmeow_1_1Photo.eps197
-rw-r--r--doc/latex/classmeow_1_1Photo.pdfbin0 -> 5822 bytes
-rw-r--r--doc/latex/classmeow_1_1Photo.tex688
-rw-r--r--doc/latex/classmeow_1_1PhotoProjection.eps197
-rw-r--r--doc/latex/classmeow_1_1PhotoProjection.pdfbin0 -> 5933 bytes
-rw-r--r--doc/latex/classmeow_1_1PhotoProjection.tex324
-rw-r--r--doc/latex/classmeow_1_1RGBf__Space.eps197
-rw-r--r--doc/latex/classmeow_1_1RGBf__Space.pdfbin0 -> 6264 bytes
-rw-r--r--doc/latex/classmeow_1_1RGBf__Space.tex323
-rw-r--r--doc/latex/classmeow_1_1RGBi__Space.eps197
-rw-r--r--doc/latex/classmeow_1_1RGBi__Space.pdfbin0 -> 6121 bytes
-rw-r--r--doc/latex/classmeow_1_1RGBi__Space.tex323
-rw-r--r--doc/latex/classmeow_1_1ReaderWriter__double.tex42
-rw-r--r--doc/latex/classmeow_1_1ReaderWriter__int.tex42
-rw-r--r--doc/latex/classmeow_1_1ReaderWriter__size__t.tex42
-rw-r--r--doc/latex/classmeow_1_1ReaderWriter__string.tex42
-rw-r--r--doc/latex/classmeow_1_1Rotation3D.eps203
-rw-r--r--doc/latex/classmeow_1_1Rotation3D.pdfbin0 -> 6175 bytes
-rw-r--r--doc/latex/classmeow_1_1Rotation3D.tex446
-rw-r--r--doc/latex/classmeow_1_1SegmentTree.tex205
-rw-r--r--doc/latex/classmeow_1_1Self.tex302
-rw-r--r--doc/latex/classmeow_1_1SplayTree.tex384
-rw-r--r--doc/latex/classmeow_1_1SplayTree_1_1Element.tex160
-rw-r--r--doc/latex/classmeow_1_1SplayTree__Range.tex437
-rw-r--r--doc/latex/classmeow_1_1SplayTree__Range_1_1Element.tex160
-rw-r--r--doc/latex/classmeow_1_1Transformation.eps213
-rw-r--r--doc/latex/classmeow_1_1Transformation.pdfbin0 -> 6653 bytes
-rw-r--r--doc/latex/classmeow_1_1Transformation.tex441
-rw-r--r--doc/latex/classmeow_1_1Usage.tex403
-rw-r--r--doc/latex/classmeow_1_1VP__Tree.tex238
-rw-r--r--doc/latex/classmeow_1_1Vector.tex592
-rw-r--r--doc/latex/classmeow_1_1Vector2D.tex682
-rw-r--r--doc/latex/classmeow_1_1Vector3D.tex717
-rw-r--r--doc/latex/classmeow_1_1ViewPort.eps197
-rw-r--r--doc/latex/classmeow_1_1ViewPort.pdfbin0 -> 5499 bytes
-rw-r--r--doc/latex/classmeow_1_1ViewPort.tex27
-rw-r--r--doc/latex/classmeow_1_1WatchBall.eps197
-rw-r--r--doc/latex/classmeow_1_1WatchBall.pdfbin0 -> 6056 bytes
-rw-r--r--doc/latex/classmeow_1_1WatchBall.tex426
-rw-r--r--doc/latex/classmeow_1_1YUVf__Space.eps197
-rw-r--r--doc/latex/classmeow_1_1YUVf__Space.pdfbin0 -> 6136 bytes
-rw-r--r--doc/latex/classmeow_1_1YUVf__Space.tex323
-rw-r--r--doc/latex/dir_115d3279a93b9c99d8f569a34543848f.tex28
-rw-r--r--doc/latex/dir_540a4c8f2977878a343351220ffba92b.tex18
-rw-r--r--doc/latex/dir_77e0ab67466b1e7d76f50725a5ab9910.tex22
-rw-r--r--doc/latex/dir_92fecd8d02dd5e7a67429447fdf0f60f.tex27
-rw-r--r--doc/latex/dir_a17ff8dcb3a1c1b842af541700214096.tex22
-rw-r--r--doc/latex/dir_a57e9e528cb28fd6752031b735908fb6.tex8
-rw-r--r--doc/latex/dir_f6840b2fecd08a3779df34f0add0e074.tex16
-rw-r--r--doc/latex/doxygen.sty484
-rw-r--r--doc/latex/files.tex45
-rw-r--r--doc/latex/hierarchy.tex92
-rw-r--r--doc/latex/math_2utility_8h.tex40
-rw-r--r--doc/latex/methods_8h.tex20
-rw-r--r--doc/latex/namespacemeow.tex854
-rw-r--r--doc/latex/namespaces.tex4
-rw-r--r--doc/latex/refman.tex175
-rw-r--r--doc/latex/structmeow_1_1FeaturePointIndexPair.tex67
-rw-r--r--doc/latex/utility_8h.tex66
161 files changed, 23463 insertions, 0 deletions
diff --git a/doc/latex/BinaryIndexTree_8h.tex b/doc/latex/BinaryIndexTree_8h.tex
new file mode 100644
index 0000000..0057791
--- /dev/null
+++ b/doc/latex/BinaryIndexTree_8h.tex
@@ -0,0 +1,16 @@
+\hypertarget{BinaryIndexTree_8h}{\section{meowpp/dsa/\-Binary\-Index\-Tree.h File Reference}
+\label{BinaryIndexTree_8h}\index{meowpp/dsa/\-Binary\-Index\-Tree.\-h@{meowpp/dsa/\-Binary\-Index\-Tree.\-h}}
+}
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1BinaryIndexTree}{meow\-::\-Binary\-Index\-Tree$<$ Value $>$}
+\begin{DoxyCompactList}\small\item\em 極度簡化的 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} 已無區間更新的操作 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Bitmap_8h.tex b/doc/latex/Bitmap_8h.tex
new file mode 100644
index 0000000..b0c24e3
--- /dev/null
+++ b/doc/latex/Bitmap_8h.tex
@@ -0,0 +1,22 @@
+\hypertarget{Bitmap_8h}{\section{meowpp/gra/\-Bitmap.h File Reference}
+\label{Bitmap_8h}\index{meowpp/gra/\-Bitmap.\-h@{meowpp/gra/\-Bitmap.\-h}}
+}
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$cmath$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$typeinfo$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Bitmap}{meow\-::\-Bitmap$<$ Pixel $>$}
+\begin{DoxyCompactList}\small\item\em 二維點陣資料 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Camera_8h.tex b/doc/latex/Camera_8h.tex
new file mode 100644
index 0000000..1354740
--- /dev/null
+++ b/doc/latex/Camera_8h.tex
@@ -0,0 +1,20 @@
+\hypertarget{Camera_8h}{\section{meowpp/gra/\-Camera.h File Reference}
+\label{Camera_8h}\index{meowpp/gra/\-Camera.\-h@{meowpp/gra/\-Camera.\-h}}
+}
+{\ttfamily \#include \char`\"{}Photo.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Identity\-Points.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Linear\-Transformations.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/methods.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Camera}{meow\-::\-Camera$<$ Pixel $>$}
+\begin{DoxyCompactList}\small\item\em \hyperlink{classmeow_1_1Camera}{Camera}. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Color3__Space_8h.tex b/doc/latex/Color3__Space_8h.tex
new file mode 100644
index 0000000..102ebc1
--- /dev/null
+++ b/doc/latex/Color3__Space_8h.tex
@@ -0,0 +1,18 @@
+\hypertarget{Color3__Space_8h}{\section{meowpp/colors/\-Color3\-\_\-\-Space.h File Reference}
+\label{Color3__Space_8h}\index{meowpp/colors/\-Color3\-\_\-\-Space.\-h@{meowpp/colors/\-Color3\-\_\-\-Space.\-h}}
+}
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../geo/\-Vectors.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Color3__Space}{meow\-::\-Color3\-\_\-\-Space$<$ T $>$}
+\begin{DoxyCompactList}\small\item\em 以三個channel所組成的色彩空間 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/DisjointSet_8h.tex b/doc/latex/DisjointSet_8h.tex
new file mode 100644
index 0000000..8982684
--- /dev/null
+++ b/doc/latex/DisjointSet_8h.tex
@@ -0,0 +1,16 @@
+\hypertarget{DisjointSet_8h}{\section{meowpp/dsa/\-Disjoint\-Set.h File Reference}
+\label{DisjointSet_8h}\index{meowpp/dsa/\-Disjoint\-Set.\-h@{meowpp/dsa/\-Disjoint\-Set.\-h}}
+}
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$cstdio$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1DisjointSet}{meow\-::\-Disjoint\-Set}
+\begin{DoxyCompactList}\small\item\em 用來維護一堆互斥集的資訊 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/FeaturePoint_8h.tex b/doc/latex/FeaturePoint_8h.tex
new file mode 100644
index 0000000..30783b0
--- /dev/null
+++ b/doc/latex/FeaturePoint_8h.tex
@@ -0,0 +1,19 @@
+\hypertarget{FeaturePoint_8h}{\section{meowpp/gra/\-Feature\-Point.h File Reference}
+\label{FeaturePoint_8h}\index{meowpp/gra/\-Feature\-Point.\-h@{meowpp/gra/\-Feature\-Point.\-h}}
+}
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Vector.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$typeinfo$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$cstdio$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1FeaturePoint}{meow\-::\-Feature\-Point$<$ Scalar, Description $>$}
+\begin{DoxyCompactList}\small\item\em 特徵點 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/FeaturePointsDetector_8h.tex b/doc/latex/FeaturePointsDetector_8h.tex
new file mode 100644
index 0000000..a555524
--- /dev/null
+++ b/doc/latex/FeaturePointsDetector_8h.tex
@@ -0,0 +1,17 @@
+\hypertarget{FeaturePointsDetector_8h}{\section{meowpp/gra/\-Feature\-Points\-Detector.h File Reference}
+\label{FeaturePointsDetector_8h}\index{meowpp/gra/\-Feature\-Points\-Detector.\-h@{meowpp/gra/\-Feature\-Points\-Detector.\-h}}
+}
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Feature\-Point.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Bitmap.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1FeaturePointsDetector}{meow\-::\-Feature\-Points\-Detector$<$ Pixel $>$}
+\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/FeaturePointsDetector__Harris_8h.tex b/doc/latex/FeaturePointsDetector__Harris_8h.tex
new file mode 100644
index 0000000..9773304
--- /dev/null
+++ b/doc/latex/FeaturePointsDetector__Harris_8h.tex
@@ -0,0 +1,30 @@
+\hypertarget{FeaturePointsDetector__Harris_8h}{\section{meowpp/gra/\-Feature\-Points\-Detector\-\_\-\-Harris.h File Reference}
+\label{FeaturePointsDetector__Harris_8h}\index{meowpp/gra/\-Feature\-Points\-Detector\-\_\-\-Harris.\-h@{meowpp/gra/\-Feature\-Points\-Detector\-\_\-\-Harris.\-h}}
+}
+{\ttfamily \#include \char`\"{}Feature\-Points\-Detector.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Bitmap.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Feature\-Point.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../dsa/\-Disjoint\-Set.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1FeaturePointsDetector__Harris}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}
+\begin{DoxyCompactList}\small\item\em Harris corner detect. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \hyperlink{FeaturePointsDetector__Harris_8h_aba22d1a87f3c9e09d7960b2e45e81555}{F\-P\-D\-\_\-\-Harris}~Feature\-Points\-Detector\-\_\-\-Harris
+\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\hypertarget{FeaturePointsDetector__Harris_8h_aba22d1a87f3c9e09d7960b2e45e81555}{\index{Feature\-Points\-Detector\-\_\-\-Harris.\-h@{Feature\-Points\-Detector\-\_\-\-Harris.\-h}!F\-P\-D\-\_\-\-Harris@{F\-P\-D\-\_\-\-Harris}}
+\index{F\-P\-D\-\_\-\-Harris@{F\-P\-D\-\_\-\-Harris}!FeaturePointsDetector_Harris.h@{Feature\-Points\-Detector\-\_\-\-Harris.\-h}}
+\subsubsection[{F\-P\-D\-\_\-\-Harris}]{\setlength{\rightskip}{0pt plus 5cm}\#define F\-P\-D\-\_\-\-Harris~Feature\-Points\-Detector\-\_\-\-Harris}}\label{FeaturePointsDetector__Harris_8h_aba22d1a87f3c9e09d7960b2e45e81555}
diff --git a/doc/latex/FeaturePointsMatch_8h.tex b/doc/latex/FeaturePointsMatch_8h.tex
new file mode 100644
index 0000000..fa94711
--- /dev/null
+++ b/doc/latex/FeaturePointsMatch_8h.tex
@@ -0,0 +1,25 @@
+\hypertarget{FeaturePointsMatch_8h}{\section{meowpp/gra/\-Feature\-Points\-Match.h File Reference}
+\label{FeaturePointsMatch_8h}\index{meowpp/gra/\-Feature\-Points\-Match.\-h@{meowpp/gra/\-Feature\-Points\-Match.\-h}}
+}
+{\ttfamily \#include \char`\"{}Feature\-Point.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$utility$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+struct \hyperlink{structmeow_1_1FeaturePointIndexPair}{meow\-::\-Feature\-Point\-Index\-Pair}
+\item
+class \hyperlink{classmeow_1_1FeaturePointsMatch}{meow\-::\-Feature\-Points\-Match$<$ Scalar, Description $>$}
+\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item
+typedef std\-::vector\\*
+$<$ Feature\-Point\-Index\-Pair $>$ \hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{meow\-::\-Feature\-Point\-Index\-Pairs}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/FeaturePointsMatch__K__Match_8h.tex b/doc/latex/FeaturePointsMatch__K__Match_8h.tex
new file mode 100644
index 0000000..714b4d7
--- /dev/null
+++ b/doc/latex/FeaturePointsMatch__K__Match_8h.tex
@@ -0,0 +1,29 @@
+\hypertarget{FeaturePointsMatch__K__Match_8h}{\section{meowpp/gra/\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.h File Reference}
+\label{FeaturePointsMatch__K__Match_8h}\index{meowpp/gra/\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h@{meowpp/gra/\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h}}
+}
+{\ttfamily \#include \char`\"{}../dsa/\-V\-P\-\_\-\-Tree.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Feature\-Points\-Match.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}
+\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \hyperlink{FeaturePointsMatch__K__Match_8h_a58e89d43a69e628ede9275899ef6ebbb}{F\-P\-M\-K\-M}~Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match
+\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\hypertarget{FeaturePointsMatch__K__Match_8h_a58e89d43a69e628ede9275899ef6ebbb}{\index{Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h@{Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h}!F\-P\-M\-K\-M@{F\-P\-M\-K\-M}}
+\index{F\-P\-M\-K\-M@{F\-P\-M\-K\-M}!FeaturePointsMatch_K_Match.h@{Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h}}
+\subsubsection[{F\-P\-M\-K\-M}]{\setlength{\rightskip}{0pt plus 5cm}\#define F\-P\-M\-K\-M~Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}\label{FeaturePointsMatch__K__Match_8h_a58e89d43a69e628ede9275899ef6ebbb}
diff --git a/doc/latex/HSL__Space_8h.tex b/doc/latex/HSL__Space_8h.tex
new file mode 100644
index 0000000..c498611
--- /dev/null
+++ b/doc/latex/HSL__Space_8h.tex
@@ -0,0 +1,34 @@
+\hypertarget{HSL__Space_8h}{\section{meowpp/colors/\-H\-S\-L\-\_\-\-Space.h File Reference}
+\label{HSL__Space_8h}\index{meowpp/colors/\-H\-S\-L\-\_\-\-Space.\-h@{meowpp/colors/\-H\-S\-L\-\_\-\-Space.\-h}}
+}
+{\ttfamily \#include \char`\"{}Color3\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../geo/\-Vectors.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}R\-G\-B\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Y\-U\-V\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1HSLf__Space}{meow\-::\-H\-S\-Lf\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \hyperlink{namespacemeow_af9ab85cd87a9f843e710657188f4c601}{meow\-::color\-Transformate} (R\-G\-Bf\-\_\-\-Space const \&rgb, H\-S\-Lf\-\_\-\-Space $\ast$hsl)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a7f2b465df93750016d3ff54b2adce77b}{meow\-::color\-Transformate} (Y\-U\-Vf\-\_\-\-Space const \&yuv, H\-S\-Lf\-\_\-\-Space $\ast$hsl)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ad429f8a956d1f0e1484d08bb9419685b}{meow\-::color\-Transformate} (H\-S\-Lf\-\_\-\-Space const \&hsl, R\-G\-Bf\-\_\-\-Space $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a4c39f0ec6860546a7b16e3f165bed83e}{meow\-::color\-Transformate} (H\-S\-Lf\-\_\-\-Space const \&hsl, Y\-U\-Vf\-\_\-\-Space $\ast$yuv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a992d4c33aed66c0d4d7f578ef92dfa15}{meow\-::color\-Transformate} (H\-S\-Lf\-\_\-\-Space const \&hsl, R\-G\-Bi\-\_\-\-Space $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ae9b7bb880aa5b6dfebd523a6b344a4f1}{meow\-::color\-Transformate} (R\-G\-Bi\-\_\-\-Space const \&rgb, H\-S\-Lf\-\_\-\-Space $\ast$hsl)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\end{DoxyCompactItemize}
diff --git a/doc/latex/HSV__Space_8h.tex b/doc/latex/HSV__Space_8h.tex
new file mode 100644
index 0000000..073c043
--- /dev/null
+++ b/doc/latex/HSV__Space_8h.tex
@@ -0,0 +1,39 @@
+\hypertarget{HSV__Space_8h}{\section{meowpp/colors/\-H\-S\-V\-\_\-\-Space.h File Reference}
+\label{HSV__Space_8h}\index{meowpp/colors/\-H\-S\-V\-\_\-\-Space.\-h@{meowpp/colors/\-H\-S\-V\-\_\-\-Space.\-h}}
+}
+{\ttfamily \#include \char`\"{}Color3\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../geo/\-Vectors.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}R\-G\-B\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Y\-U\-V\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}H\-S\-L\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1HSVf__Space}{meow\-::\-H\-S\-Vf\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \hyperlink{namespacemeow_a1591a113b022322f1119894a83a56625}{meow\-::color\-Transformate} (R\-G\-Bf\-\_\-\-Space const \&rgb, H\-S\-Vf\-\_\-\-Space $\ast$hsv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ad01fb20ad0ae3932e408c06ad80f7b1e}{meow\-::color\-Transformate} (Y\-U\-Vf\-\_\-\-Space const \&yuv, H\-S\-Vf\-\_\-\-Space $\ast$hsv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a19e830f03459a25435ff963551772e74}{meow\-::color\-Transformate} (H\-S\-Lf\-\_\-\-Space const \&hsl, H\-S\-Vf\-\_\-\-Space $\ast$hsv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a2f627a58a3394af709ddc8114b4b5286}{meow\-::color\-Transformate} (H\-S\-Vf\-\_\-\-Space const \&hsv, R\-G\-Bf\-\_\-\-Space $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a930aec4a586b79b076e64541f3a96cc7}{meow\-::color\-Transformate} (H\-S\-Vf\-\_\-\-Space const \&hsv, Y\-U\-Vf\-\_\-\-Space $\ast$yuv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ae5a2c4f9f20fe94d8fcd378a86e05260}{meow\-::color\-Transformate} (H\-S\-Vf\-\_\-\-Space const \&hsv, H\-S\-Lf\-\_\-\-Space $\ast$hsl)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a303120584f2d7e474096da63bec4cdf5}{meow\-::color\-Transformate} (H\-S\-Vf\-\_\-\-Space const \&hsv, R\-G\-Bi\-\_\-\-Space $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a0239dc74535f528644a22e3e86e5221c}{meow\-::color\-Transformate} (R\-G\-Bi\-\_\-\-Space const \&rgb, H\-S\-Vf\-\_\-\-Space $\ast$hsv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\end{DoxyCompactItemize}
diff --git a/doc/latex/HashTable_8h.tex b/doc/latex/HashTable_8h.tex
new file mode 100644
index 0000000..6c548a3
--- /dev/null
+++ b/doc/latex/HashTable_8h.tex
@@ -0,0 +1,15 @@
+\hypertarget{HashTable_8h}{\section{meowpp/dsa/\-Hash\-Table.h File Reference}
+\label{HashTable_8h}\index{meowpp/dsa/\-Hash\-Table.\-h@{meowpp/dsa/\-Hash\-Table.\-h}}
+}
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$list$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1HashTableList}{meow\-::\-Hash\-Table\-List$<$ Data, Hash\-Func $>$}
+\begin{DoxyCompactList}\small\item\em 一個當key相撞時會用list解決的hash\-\_\-table \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/IdentityPoints_8h.tex b/doc/latex/IdentityPoints_8h.tex
new file mode 100644
index 0000000..9ea6f60
--- /dev/null
+++ b/doc/latex/IdentityPoints_8h.tex
@@ -0,0 +1,18 @@
+\hypertarget{IdentityPoints_8h}{\section{meowpp/gra/\-Identity\-Points.h File Reference}
+\label{IdentityPoints_8h}\index{meowpp/gra/\-Identity\-Points.\-h@{meowpp/gra/\-Identity\-Points.\-h}}
+}
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Vector.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$map$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1IdentityPoints}{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}
+\begin{DoxyCompactList}\small\item\em 把一個 {\ttfamily std\-::map$<$I\-D},Vector$<$\-Scalar$>$ $>$ 包起來 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/KD__Tree_8h.tex b/doc/latex/KD__Tree_8h.tex
new file mode 100644
index 0000000..1d2e480
--- /dev/null
+++ b/doc/latex/KD__Tree_8h.tex
@@ -0,0 +1,19 @@
+\hypertarget{KD__Tree_8h}{\section{meowpp/dsa/\-K\-D\-\_\-\-Tree.h File Reference}
+\label{KD__Tree_8h}\index{meowpp/dsa/\-K\-D\-\_\-\-Tree.\-h@{meowpp/dsa/\-K\-D\-\_\-\-Tree.\-h}}
+}
+{\ttfamily \#include \char`\"{}../utility.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include $<$queue$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1KD__Tree}{meow\-::\-K\-D\-\_\-\-Tree$<$ Vector, Scalar $>$}
+\begin{DoxyCompactList}\small\item\em {\ttfamily k-\/dimension} tree \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/LinearTransformation_8h.tex b/doc/latex/LinearTransformation_8h.tex
new file mode 100644
index 0000000..7d27cc3
--- /dev/null
+++ b/doc/latex/LinearTransformation_8h.tex
@@ -0,0 +1,16 @@
+\hypertarget{LinearTransformation_8h}{\section{meowpp/math/\-Linear\-Transformation.h File Reference}
+\label{LinearTransformation_8h}\index{meowpp/math/\-Linear\-Transformation.\-h@{meowpp/math/\-Linear\-Transformation.\-h}}
+}
+{\ttfamily \#include \char`\"{}Transformation.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1LinearTransformation}{meow\-::\-Linear\-Transformation$<$ Scalar $>$}
+\begin{DoxyCompactList}\small\item\em A base class for implementing kinds of linear transformations. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/LinearTransformations_8h.tex b/doc/latex/LinearTransformations_8h.tex
new file mode 100644
index 0000000..00b6e2f
--- /dev/null
+++ b/doc/latex/LinearTransformations_8h.tex
@@ -0,0 +1,19 @@
+\hypertarget{LinearTransformations_8h}{\section{meowpp/math/\-Linear\-Transformations.h File Reference}
+\label{LinearTransformations_8h}\index{meowpp/math/\-Linear\-Transformations.\-h@{meowpp/math/\-Linear\-Transformations.\-h}}
+}
+{\ttfamily \#include \char`\"{}Linear\-Transformation.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}utility.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../geo/\-Vectors.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Rotation3D}{meow\-::\-Rotation3\-D$<$ Scalar $>$}
+\begin{DoxyCompactList}\small\item\em Rotation a point/vector alone an axis with given angle in 3\-D world. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Makefile b/doc/latex/Makefile
new file mode 100644
index 0000000..083d8b1
--- /dev/null
+++ b/doc/latex/Makefile
@@ -0,0 +1,19 @@
+all: refman.pdf
+
+pdf: refman.pdf
+
+refman.pdf: clean refman.tex
+ pdflatex refman
+ makeindex refman.idx
+ pdflatex refman
+ latex_count=5 ; \
+ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
+ do \
+ echo "Rerunning latex...." ;\
+ pdflatex refman ;\
+ latex_count=`expr $$latex_count - 1` ;\
+ done
+
+
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
diff --git a/doc/latex/Matrix_8h.tex b/doc/latex/Matrix_8h.tex
new file mode 100644
index 0000000..e35b48b
--- /dev/null
+++ b/doc/latex/Matrix_8h.tex
@@ -0,0 +1,18 @@
+\hypertarget{Matrix_8h}{\section{meowpp/math/\-Matrix.h File Reference}
+\label{Matrix_8h}\index{meowpp/math/\-Matrix.\-h@{meowpp/math/\-Matrix.\-h}}
+}
+{\ttfamily \#include \char`\"{}utility.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Matrix}{meow\-::\-Matrix$<$ Entry $>$}
+\begin{DoxyCompactList}\small\item\em {\bfseries matrix} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/MergeableHeap_8h.tex b/doc/latex/MergeableHeap_8h.tex
new file mode 100644
index 0000000..dc5b90b
--- /dev/null
+++ b/doc/latex/MergeableHeap_8h.tex
@@ -0,0 +1,15 @@
+\hypertarget{MergeableHeap_8h}{\section{meowpp/dsa/\-Mergeable\-Heap.h File Reference}
+\label{MergeableHeap_8h}\index{meowpp/dsa/\-Mergeable\-Heap.\-h@{meowpp/dsa/\-Mergeable\-Heap.\-h}}
+}
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1MergeableHeap}{meow\-::\-Mergeable\-Heap$<$ Element $>$}
+\begin{DoxyCompactList}\small\item\em 一個用 {\bfseries 左偏樹} 實作的 {\ttfamily Maximum-\/\-Heap} , 除了原本heap有的功能外, 還支援 {\ttfamily merge} 功能 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/ObjArray_8h.tex b/doc/latex/ObjArray_8h.tex
new file mode 100644
index 0000000..4ed434f
--- /dev/null
+++ b/doc/latex/ObjArray_8h.tex
@@ -0,0 +1,20 @@
+\hypertarget{ObjArray_8h}{\section{meowpp/oo/\-Obj\-Array.h File Reference}
+\label{ObjArray_8h}\index{meowpp/oo/\-Obj\-Array.\-h@{meowpp/oo/\-Obj\-Array.\-h}}
+}
+{\ttfamily \#include \char`\"{}Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$typeinfo$>$}\\*
+{\ttfamily \#include $<$cstdio$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1ObjArray}{meow\-::\-Obj\-Array$<$ T $>$}
+\begin{DoxyCompactList}\small\item\em 純粹把 {\ttfamily std\-::vector} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/ObjBase_8h.tex b/doc/latex/ObjBase_8h.tex
new file mode 100644
index 0000000..25295b8
--- /dev/null
+++ b/doc/latex/ObjBase_8h.tex
@@ -0,0 +1,16 @@
+\hypertarget{ObjBase_8h}{\section{meowpp/oo/\-Obj\-Base.h File Reference}
+\label{ObjBase_8h}\index{meowpp/oo/\-Obj\-Base.\-h@{meowpp/oo/\-Obj\-Base.\-h}}
+}
+{\ttfamily \#include $<$cstdio$>$}\\*
+{\ttfamily \#include $<$typeinfo$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1ObjBase}{meow\-::\-Obj\-Base}
+\begin{DoxyCompactList}\small\item\em 一切物件的\-Base, 並要求每個物件都要有read, write, create, ... 等功能 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/ObjDictionary_8h.tex b/doc/latex/ObjDictionary_8h.tex
new file mode 100644
index 0000000..7e46ce9
--- /dev/null
+++ b/doc/latex/ObjDictionary_8h.tex
@@ -0,0 +1,20 @@
+\hypertarget{ObjDictionary_8h}{\section{meowpp/oo/\-Obj\-Dictionary.h File Reference}
+\label{ObjDictionary_8h}\index{meowpp/oo/\-Obj\-Dictionary.\-h@{meowpp/oo/\-Obj\-Dictionary.\-h}}
+}
+{\ttfamily \#include \char`\"{}Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$typeinfo$>$}\\*
+{\ttfamily \#include $<$map$>$}\\*
+{\ttfamily \#include $<$cstdio$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1ObjDictionary}{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}
+\begin{DoxyCompactList}\small\item\em 純粹把 {\ttfamily std\-::map} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/ObjProperties_8h.tex b/doc/latex/ObjProperties_8h.tex
new file mode 100644
index 0000000..42fc34e
--- /dev/null
+++ b/doc/latex/ObjProperties_8h.tex
@@ -0,0 +1,15 @@
+\hypertarget{ObjProperties_8h}{\section{meowpp/oo/\-Obj\-Properties.h File Reference}
+\label{ObjProperties_8h}\index{meowpp/oo/\-Obj\-Properties.\-h@{meowpp/oo/\-Obj\-Properties.\-h}}
+}
+{\ttfamily \#include \char`\"{}Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1ObjProperties}{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}
+\begin{DoxyCompactList}\small\item\em 目前擺爛中 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/ObjSelector_8h.tex b/doc/latex/ObjSelector_8h.tex
new file mode 100644
index 0000000..ddb085c
--- /dev/null
+++ b/doc/latex/ObjSelector_8h.tex
@@ -0,0 +1,25 @@
+\hypertarget{ObjSelector_8h}{\section{meowpp/oo/\-Obj\-Selector.h File Reference}
+\label{ObjSelector_8h}\index{meowpp/oo/\-Obj\-Selector.\-h@{meowpp/oo/\-Obj\-Selector.\-h}}
+}
+{\ttfamily \#include \char`\"{}Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$utility$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$map$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$cstdio$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1ObjSelector}{meow\-::\-Obj\-Selector$<$ id $>$}
+\begin{DoxyCompactList}\small\item\em 利用register的概念, 達到runtime用string選擇要new的class \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+static const size\-\_\-t \hyperlink{namespacemeow_aaa678bbd106012a98ed5679e2ca8cc32}{meow\-::k\-Global\-Seletor\-I\-D} = 0
+\end{DoxyCompactItemize}
diff --git a/doc/latex/ObjTypes_8h.tex b/doc/latex/ObjTypes_8h.tex
new file mode 100644
index 0000000..129fa81
--- /dev/null
+++ b/doc/latex/ObjTypes_8h.tex
@@ -0,0 +1,40 @@
+\hypertarget{ObjTypes_8h}{\section{meowpp/oo/\-Obj\-Types.h File Reference}
+\label{ObjTypes_8h}\index{meowpp/oo/\-Obj\-Types.\-h@{meowpp/oo/\-Obj\-Types.\-h}}
+}
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$cstdio$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1ObjType}{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}
+\begin{DoxyCompactList}\small\item\em 純粹把給定的 {\ttfamily Type} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ReaderWriter__int}{meow\-::\-Reader\-Writer\-\_\-int}
+\item
+class \hyperlink{classmeow_1_1ReaderWriter__size__t}{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t}
+\item
+class \hyperlink{classmeow_1_1ReaderWriter__double}{meow\-::\-Reader\-Writer\-\_\-double}
+\item
+class \hyperlink{classmeow_1_1ReaderWriter__string}{meow\-::\-Reader\-Writer\-\_\-string}
+\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item
+typedef Obj\-Type$<$ \hyperlink{classint}{int}, \\*
+Reader\-Writer\-\_\-int $>$ \hyperlink{namespacemeow_add07dcc8e06a1394daa3e6402bc40c4b}{meow\-::\-Obj\-Int}
+\item
+typedef Obj\-Type$<$ size\-\_\-t, \\*
+Reader\-Writer\-\_\-size\-\_\-t $>$ \hyperlink{namespacemeow_a52b9d9ec3b004a9335222e7bf30e521a}{meow\-::\-Obj\-Size\-T}
+\item
+typedef Obj\-Type$<$ \hyperlink{classdouble}{double}, \\*
+Reader\-Writer\-\_\-double $>$ \hyperlink{namespacemeow_a936afddaa5716457741832ee501c7a58}{meow\-::\-Obj\-Double}
+\item
+typedef Obj\-Type$<$ std\-::string, \\*
+Reader\-Writer\-\_\-string $>$ \hyperlink{namespacemeow_a52d52e58feff5e9f9013279e2dbd2fee}{meow\-::\-Obj\-String}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Photo_8h.tex b/doc/latex/Photo_8h.tex
new file mode 100644
index 0000000..7f03945
--- /dev/null
+++ b/doc/latex/Photo_8h.tex
@@ -0,0 +1,23 @@
+\hypertarget{Photo_8h}{\section{meowpp/gra/\-Photo.h File Reference}
+\label{Photo_8h}\index{meowpp/gra/\-Photo.\-h@{meowpp/gra/\-Photo.\-h}}
+}
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Transformations.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$cmath$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$typeinfo$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Photo}{meow\-::\-Photo$<$ Pixel $>$}
+\begin{DoxyCompactList}\small\item\em 底片 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/RGB__Space_8h.tex b/doc/latex/RGB__Space_8h.tex
new file mode 100644
index 0000000..6e1c140
--- /dev/null
+++ b/doc/latex/RGB__Space_8h.tex
@@ -0,0 +1,26 @@
+\hypertarget{RGB__Space_8h}{\section{meowpp/colors/\-R\-G\-B\-\_\-\-Space.h File Reference}
+\label{RGB__Space_8h}\index{meowpp/colors/\-R\-G\-B\-\_\-\-Space.\-h@{meowpp/colors/\-R\-G\-B\-\_\-\-Space.\-h}}
+}
+{\ttfamily \#include \char`\"{}Color3\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../geo/\-Vectors.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1RGBi__Space}{meow\-::\-R\-G\-Bi\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以整數 {\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1RGBf__Space}{meow\-::\-R\-G\-Bf\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \hyperlink{namespacemeow_a764c66bb63095b178107b276eb0cc24e}{meow\-::color\-Transformate} (R\-G\-Bi\-\_\-\-Space const \&a, R\-G\-Bf\-\_\-\-Space $\ast$b)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a5612b34e84764e275631d662e5f210cb}{meow\-::color\-Transformate} (R\-G\-Bf\-\_\-\-Space const \&a, R\-G\-Bi\-\_\-\-Space $\ast$b)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\end{DoxyCompactItemize}
diff --git a/doc/latex/SegmentTree_8h.tex b/doc/latex/SegmentTree_8h.tex
new file mode 100644
index 0000000..79d4051
--- /dev/null
+++ b/doc/latex/SegmentTree_8h.tex
@@ -0,0 +1,17 @@
+\hypertarget{SegmentTree_8h}{\section{meowpp/dsa/\-Segment\-Tree.h File Reference}
+\label{SegmentTree_8h}\index{meowpp/dsa/\-Segment\-Tree.\-h@{meowpp/dsa/\-Segment\-Tree.\-h}}
+}
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1SegmentTree}{meow\-::\-Segment\-Tree$<$ Value $>$}
+\begin{DoxyCompactList}\small\item\em 中文名 {\ttfamily 線段樹} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Self_8h.tex b/doc/latex/Self_8h.tex
new file mode 100644
index 0000000..cc98fe6
--- /dev/null
+++ b/doc/latex/Self_8h.tex
@@ -0,0 +1,14 @@
+\hypertarget{Self_8h}{\section{meowpp/\-Self.h File Reference}
+\label{Self_8h}\index{meowpp/\-Self.\-h@{meowpp/\-Self.\-h}}
+}
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Self}{meow\-::\-Self$<$ Data $>$}
+\begin{DoxyCompactList}\small\item\em 具有copy on write, 且擁有比\-C++更靈活的reference機制 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/SplayTree_8h.tex b/doc/latex/SplayTree_8h.tex
new file mode 100644
index 0000000..d311a6e
--- /dev/null
+++ b/doc/latex/SplayTree_8h.tex
@@ -0,0 +1,22 @@
+\hypertarget{SplayTree_8h}{\section{meowpp/dsa/\-Splay\-Tree.h File Reference}
+\label{SplayTree_8h}\index{meowpp/dsa/\-Splay\-Tree.\-h@{meowpp/dsa/\-Splay\-Tree.\-h}}
+}
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$utility$>$}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1SplayTree}{meow\-::\-Splay\-Tree$<$ Key, Value $>$}
+\begin{DoxyCompactList}\small\item\em 是一種神乎其技的資料結構, 維護一堆 Key-\/$>$Value . 並且支援 一些 {\ttfamily std\-::map} 難以快速實踐的操作, 如 {\ttfamily split} , {\ttfamily merge} , {\ttfamily key\-Offset} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1SplayTree_1_1Element}{meow\-::\-Splay\-Tree$<$ Key, Value $>$\-::\-Element}
+\begin{DoxyCompactList}\small\item\em 類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree_1_1Element}{Element}} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1SplayTree__Range}{meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$}
+\begin{DoxyCompactList}\small\item\em 基本上跟\-Splay\-Tree一樣, 不過這邊結合線段樹, 多了區間操作 (線段樹相關operator定義請見 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} ) \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$\-::\-Element}
+\begin{DoxyCompactList}\small\item\em 類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element}} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Transformation_8h.tex b/doc/latex/Transformation_8h.tex
new file mode 100644
index 0000000..5fb5511
--- /dev/null
+++ b/doc/latex/Transformation_8h.tex
@@ -0,0 +1,16 @@
+\hypertarget{Transformation_8h}{\section{meowpp/math/\-Transformation.h File Reference}
+\label{Transformation_8h}\index{meowpp/math/\-Transformation.\-h@{meowpp/math/\-Transformation.\-h}}
+}
+{\ttfamily \#include \char`\"{}Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Transformation}{meow\-::\-Transformation$<$ Scalar $>$}
+\begin{DoxyCompactList}\small\item\em A base class for implementing kinds of transformations. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Transformations_8h.tex b/doc/latex/Transformations_8h.tex
new file mode 100644
index 0000000..9a6d220
--- /dev/null
+++ b/doc/latex/Transformations_8h.tex
@@ -0,0 +1,20 @@
+\hypertarget{Transformations_8h}{\section{meowpp/math/\-Transformations.h File Reference}
+\label{Transformations_8h}\index{meowpp/math/\-Transformations.\-h@{meowpp/math/\-Transformations.\-h}}
+}
+{\ttfamily \#include \char`\"{}Transformation.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}utility.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1BallProjection}{meow\-::\-Ball\-Projection$<$ Scalar $>$}
+\begin{DoxyCompactList}\small\item\em A ball projection is to project the given vector to a hyper-\/sphere. \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1PhotoProjection}{meow\-::\-Photo\-Projection$<$ Scalar $>$}
+\begin{DoxyCompactList}\small\item\em A {\bfseries photo} {\bfseries projection} is a kind of transformation that project point/vector to a flat {\bfseries photo}. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Usage_8h.tex b/doc/latex/Usage_8h.tex
new file mode 100644
index 0000000..967d0d9
--- /dev/null
+++ b/doc/latex/Usage_8h.tex
@@ -0,0 +1,20 @@
+\hypertarget{Usage_8h}{\section{meowpp/\-Usage.h File Reference}
+\label{Usage_8h}\index{meowpp/\-Usage.\-h@{meowpp/\-Usage.\-h}}
+}
+{\ttfamily \#include \char`\"{}utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$map$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include $<$unistd.\-h$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Usage}{meow\-::\-Usage}
+\begin{DoxyCompactList}\small\item\em 管理參數設置, 自訂usage document, 分析argc, argv \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/VP__Tree_8h.tex b/doc/latex/VP__Tree_8h.tex
new file mode 100644
index 0000000..3371ace
--- /dev/null
+++ b/doc/latex/VP__Tree_8h.tex
@@ -0,0 +1,19 @@
+\hypertarget{VP__Tree_8h}{\section{meowpp/dsa/\-V\-P\-\_\-\-Tree.h File Reference}
+\label{VP__Tree_8h}\index{meowpp/dsa/\-V\-P\-\_\-\-Tree.\-h@{meowpp/dsa/\-V\-P\-\_\-\-Tree.\-h}}
+}
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$list$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$stack$>$}\\*
+{\ttfamily \#include $<$queue$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1VP__Tree}{meow\-::\-V\-P\-\_\-\-Tree$<$ Vector, Scalar $>$}
+\begin{DoxyCompactList}\small\item\em 跟\-K\-D\-\_\-\-Tree很像歐 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Vector_8h.tex b/doc/latex/Vector_8h.tex
new file mode 100644
index 0000000..abfed61
--- /dev/null
+++ b/doc/latex/Vector_8h.tex
@@ -0,0 +1,18 @@
+\hypertarget{Vector_8h}{\section{meowpp/math/\-Vector.h File Reference}
+\label{Vector_8h}\index{meowpp/math/\-Vector.\-h@{meowpp/math/\-Vector.\-h}}
+}
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$cmath$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Vector}{meow\-::\-Vector$<$ Scalar $>$}
+\begin{DoxyCompactList}\small\item\em {\bfseries vector} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/Vectors_8h.tex b/doc/latex/Vectors_8h.tex
new file mode 100644
index 0000000..eb4ebdc
--- /dev/null
+++ b/doc/latex/Vectors_8h.tex
@@ -0,0 +1,19 @@
+\hypertarget{Vectors_8h}{\section{meowpp/geo/\-Vectors.h File Reference}
+\label{Vectors_8h}\index{meowpp/geo/\-Vectors.\-h@{meowpp/geo/\-Vectors.\-h}}
+}
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Vector.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cmath$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Vector2D}{meow\-::\-Vector2\-D$<$ Scalar $>$}
+\begin{DoxyCompactList}\small\item\em 2\-D's vector \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Vector3D}{meow\-::\-Vector3\-D$<$ Scalar $>$}
+\begin{DoxyCompactList}\small\item\em 3\-D's vector \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/ViewPort_8h.tex b/doc/latex/ViewPort_8h.tex
new file mode 100644
index 0000000..4e29120
--- /dev/null
+++ b/doc/latex/ViewPort_8h.tex
@@ -0,0 +1,14 @@
+\hypertarget{ViewPort_8h}{\section{meowpp/gra/\-View\-Port.h File Reference}
+\label{ViewPort_8h}\index{meowpp/gra/\-View\-Port.\-h@{meowpp/gra/\-View\-Port.\-h}}
+}
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1ViewPort}{meow\-::\-View\-Port}
+\begin{DoxyCompactList}\small\item\em 未完待續 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/WatchBall_8h.tex b/doc/latex/WatchBall_8h.tex
new file mode 100644
index 0000000..7423ff2
--- /dev/null
+++ b/doc/latex/WatchBall_8h.tex
@@ -0,0 +1,20 @@
+\hypertarget{WatchBall_8h}{\section{meowpp/gra/\-Watch\-Ball.h File Reference}
+\label{WatchBall_8h}\index{meowpp/gra/\-Watch\-Ball.\-h@{meowpp/gra/\-Watch\-Ball.\-h}}
+}
+{\ttfamily \#include \char`\"{}Camera.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../\-Self.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../geo/\-Vectors.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/\-Linear\-Transformations.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../oo/\-Obj\-Base.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cmath$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1WatchBall}{meow\-::\-Watch\-Ball$<$ Pixel $>$}
+\begin{DoxyCompactList}\small\item\em {\bfseries 多個camera}, 一個offset, 一個rotation \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/YUV__Space_8h.tex b/doc/latex/YUV__Space_8h.tex
new file mode 100644
index 0000000..92ac988
--- /dev/null
+++ b/doc/latex/YUV__Space_8h.tex
@@ -0,0 +1,29 @@
+\hypertarget{YUV__Space_8h}{\section{meowpp/colors/\-Y\-U\-V\-\_\-\-Space.h File Reference}
+\label{YUV__Space_8h}\index{meowpp/colors/\-Y\-U\-V\-\_\-\-Space.\-h@{meowpp/colors/\-Y\-U\-V\-\_\-\-Space.\-h}}
+}
+{\ttfamily \#include \char`\"{}Color3\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../geo/\-Vectors.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}R\-G\-B\-\_\-\-Space.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}../math/utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1YUVf__Space}{meow\-::\-Y\-U\-Vf\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \hyperlink{namespacemeow_a6ebfe120c658a6320de42c449e485e54}{meow\-::color\-Transformate} (R\-G\-Bf\-\_\-\-Space const \&rgb, Y\-U\-Vf\-\_\-\-Space $\ast$yuv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ab4756ef949554840f60a762661acc103}{meow\-::color\-Transformate} (Y\-U\-Vf\-\_\-\-Space const \&yuv, R\-G\-Bf\-\_\-\-Space $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a91f42614ccd31fdb9a3d8529f65198fd}{meow\-::color\-Transformate} (R\-G\-Bi\-\_\-\-Space const \&rgb, Y\-U\-Vf\-\_\-\-Space $\ast$yuv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_af4d344590a86168090c2f2322289f080}{meow\-::color\-Transformate} (Y\-U\-Vf\-\_\-\-Space const \&yuv, R\-G\-Bi\-\_\-\-Space $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\end{DoxyCompactItemize}
diff --git a/doc/latex/annotated.tex b/doc/latex/annotated.tex
new file mode 100644
index 0000000..1439422
--- /dev/null
+++ b/doc/latex/annotated.tex
@@ -0,0 +1,53 @@
+\section{Class List}
+Here are the classes, structs, unions and interfaces with brief descriptions\-:\begin{DoxyCompactList}
+\item\contentsline{section}{\hyperlink{classmeow_1_1BallProjection}{meow\-::\-Ball\-Projection$<$ Scalar $>$} \\*A ball projection is to project the given vector to a hyper-\/sphere }{\pageref{classmeow_1_1BallProjection}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1BinaryIndexTree}{meow\-::\-Binary\-Index\-Tree$<$ Value $>$} \\*極度簡化的 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} 已無區間更新的操作 }{\pageref{classmeow_1_1BinaryIndexTree}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Bitmap}{meow\-::\-Bitmap$<$ Pixel $>$} \\*二維點陣資料 }{\pageref{classmeow_1_1Bitmap}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Camera}{meow\-::\-Camera$<$ Pixel $>$} \\*\hyperlink{classmeow_1_1Camera}{Camera} }{\pageref{classmeow_1_1Camera}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Color3__Space}{meow\-::\-Color3\-\_\-\-Space$<$ T $>$} \\*以三個channel所組成的色彩空間 }{\pageref{classmeow_1_1Color3__Space}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1DisjointSet}{meow\-::\-Disjoint\-Set} \\*用來維護一堆互斥集的資訊 }{\pageref{classmeow_1_1DisjointSet}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1SplayTree_1_1Element}{meow\-::\-Splay\-Tree$<$ Key, Value $>$\-::\-Element} \\*類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree_1_1Element}{Element}} }{\pageref{classmeow_1_1SplayTree_1_1Element}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$\-::\-Element} \\*類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element}} }{\pageref{classmeow_1_1SplayTree__Range_1_1Element}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1FeaturePoint}{meow\-::\-Feature\-Point$<$ Scalar, Description $>$} \\*特徵點 }{\pageref{classmeow_1_1FeaturePoint}}{}
+\item\contentsline{section}{\hyperlink{structmeow_1_1FeaturePointIndexPair}{meow\-::\-Feature\-Point\-Index\-Pair} }{\pageref{structmeow_1_1FeaturePointIndexPair}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1FeaturePointsDetector}{meow\-::\-Feature\-Points\-Detector$<$ Pixel $>$} }{\pageref{classmeow_1_1FeaturePointsDetector}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1FeaturePointsDetector__Harris}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$} \\*Harris corner detect }{\pageref{classmeow_1_1FeaturePointsDetector__Harris}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1FeaturePointsMatch}{meow\-::\-Feature\-Points\-Match$<$ Scalar, Description $>$} }{\pageref{classmeow_1_1FeaturePointsMatch}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$} }{\pageref{classmeow_1_1FeaturePointsMatch__K__Match}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1HashTableList}{meow\-::\-Hash\-Table\-List$<$ Data, Hash\-Func $>$} \\*一個當key相撞時會用list解決的hash\-\_\-table }{\pageref{classmeow_1_1HashTableList}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1HSLf__Space}{meow\-::\-H\-S\-Lf\-\_\-\-Space} \\*以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 }{\pageref{classmeow_1_1HSLf__Space}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1HSVf__Space}{meow\-::\-H\-S\-Vf\-\_\-\-Space} \\*以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 }{\pageref{classmeow_1_1HSVf__Space}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1IdentityPoints}{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$} \\*把一個 {\ttfamily std\-::map$<$I\-D},Vector$<$\-Scalar$>$ $>$ 包起來 }{\pageref{classmeow_1_1IdentityPoints}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1KD__Tree}{meow\-::\-K\-D\-\_\-\-Tree$<$ Vector, Scalar $>$} \\*{\ttfamily k-\/dimension} tree }{\pageref{classmeow_1_1KD__Tree}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1LinearTransformation}{meow\-::\-Linear\-Transformation$<$ Scalar $>$} \\*A base class for implementing kinds of linear transformations }{\pageref{classmeow_1_1LinearTransformation}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Matrix}{meow\-::\-Matrix$<$ Entry $>$} \\*{\bfseries matrix} }{\pageref{classmeow_1_1Matrix}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1MergeableHeap}{meow\-::\-Mergeable\-Heap$<$ Element $>$} \\*一個用 {\bfseries 左偏樹} 實作的 {\ttfamily Maximum-\/\-Heap} , 除了原本heap有的功能外, 還支援 {\ttfamily merge} 功能 }{\pageref{classmeow_1_1MergeableHeap}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ObjArray}{meow\-::\-Obj\-Array$<$ T $>$} \\*純粹把 {\ttfamily std\-::vector} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} }{\pageref{classmeow_1_1ObjArray}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ObjBase}{meow\-::\-Obj\-Base} \\*一切物件的\-Base, 並要求每個物件都要有read, write, create, ... 等功能 }{\pageref{classmeow_1_1ObjBase}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ObjDictionary}{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$} \\*純粹把 {\ttfamily std\-::map} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} }{\pageref{classmeow_1_1ObjDictionary}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ObjProperties}{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$} \\*目前擺爛中 }{\pageref{classmeow_1_1ObjProperties}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ObjSelector}{meow\-::\-Obj\-Selector$<$ id $>$} \\*利用register的概念, 達到runtime用string選擇要new的class }{\pageref{classmeow_1_1ObjSelector}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ObjType}{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$} \\*純粹把給定的 {\ttfamily Type} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} }{\pageref{classmeow_1_1ObjType}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Photo}{meow\-::\-Photo$<$ Pixel $>$} \\*底片 }{\pageref{classmeow_1_1Photo}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1PhotoProjection}{meow\-::\-Photo\-Projection$<$ Scalar $>$} \\*A {\bfseries photo} {\bfseries projection} is a kind of transformation that project point/vector to a flat {\bfseries photo} }{\pageref{classmeow_1_1PhotoProjection}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ReaderWriter__double}{meow\-::\-Reader\-Writer\-\_\-double} }{\pageref{classmeow_1_1ReaderWriter__double}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ReaderWriter__int}{meow\-::\-Reader\-Writer\-\_\-int} }{\pageref{classmeow_1_1ReaderWriter__int}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ReaderWriter__size__t}{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t} }{\pageref{classmeow_1_1ReaderWriter__size__t}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ReaderWriter__string}{meow\-::\-Reader\-Writer\-\_\-string} }{\pageref{classmeow_1_1ReaderWriter__string}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1RGBf__Space}{meow\-::\-R\-G\-Bf\-\_\-\-Space} \\*以浮點數{\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間 }{\pageref{classmeow_1_1RGBf__Space}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1RGBi__Space}{meow\-::\-R\-G\-Bi\-\_\-\-Space} \\*以整數 {\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間 }{\pageref{classmeow_1_1RGBi__Space}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Rotation3D}{meow\-::\-Rotation3\-D$<$ Scalar $>$} \\*Rotation a point/vector alone an axis with given angle in 3\-D world }{\pageref{classmeow_1_1Rotation3D}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1SegmentTree}{meow\-::\-Segment\-Tree$<$ Value $>$} \\*中文名 {\ttfamily 線段樹} }{\pageref{classmeow_1_1SegmentTree}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Self}{meow\-::\-Self$<$ Data $>$} \\*具有copy on write, 且擁有比\-C++更靈活的reference機制 }{\pageref{classmeow_1_1Self}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1SplayTree}{meow\-::\-Splay\-Tree$<$ Key, Value $>$} \\*是一種神乎其技的資料結構, 維護一堆 Key-\/$>$Value . 並且支援 一些 {\ttfamily std\-::map} 難以快速實踐的操作, 如 {\ttfamily split} , {\ttfamily merge} , {\ttfamily key\-Offset} }{\pageref{classmeow_1_1SplayTree}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1SplayTree__Range}{meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$} \\*基本上跟\-Splay\-Tree一樣, 不過這邊結合線段樹, 多了區間操作 (線段樹相關operator定義請見 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} ) }{\pageref{classmeow_1_1SplayTree__Range}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Transformation}{meow\-::\-Transformation$<$ Scalar $>$} \\*A base class for implementing kinds of transformations }{\pageref{classmeow_1_1Transformation}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Usage}{meow\-::\-Usage} \\*管理參數設置, 自訂usage document, 分析argc, argv }{\pageref{classmeow_1_1Usage}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Vector}{meow\-::\-Vector$<$ Scalar $>$} \\*{\bfseries vector} }{\pageref{classmeow_1_1Vector}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Vector2D}{meow\-::\-Vector2\-D$<$ Scalar $>$} \\*2\-D's vector }{\pageref{classmeow_1_1Vector2D}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1Vector3D}{meow\-::\-Vector3\-D$<$ Scalar $>$} \\*3\-D's vector }{\pageref{classmeow_1_1Vector3D}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1ViewPort}{meow\-::\-View\-Port} \\*未完待續 }{\pageref{classmeow_1_1ViewPort}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1VP__Tree}{meow\-::\-V\-P\-\_\-\-Tree$<$ Vector, Scalar $>$} \\*跟\-K\-D\-\_\-\-Tree很像歐 }{\pageref{classmeow_1_1VP__Tree}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1WatchBall}{meow\-::\-Watch\-Ball$<$ Pixel $>$} \\*{\bfseries 多個camera}, 一個offset, 一個rotation }{\pageref{classmeow_1_1WatchBall}}{}
+\item\contentsline{section}{\hyperlink{classmeow_1_1YUVf__Space}{meow\-::\-Y\-U\-Vf\-\_\-\-Space} \\*以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 }{\pageref{classmeow_1_1YUVf__Space}}{}
+\end{DoxyCompactList}
diff --git a/doc/latex/classdouble.tex b/doc/latex/classdouble.tex
new file mode 100644
index 0000000..03fe68c
--- /dev/null
+++ b/doc/latex/classdouble.tex
@@ -0,0 +1,6 @@
+\hypertarget{classdouble}{\section{double Class Reference}
+\label{classdouble}\index{double@{double}}
+}
+
+
+The documentation for this class was generated from the following files\-: \ No newline at end of file
diff --git a/doc/latex/classint.tex b/doc/latex/classint.tex
new file mode 100644
index 0000000..3e0c1d6
--- /dev/null
+++ b/doc/latex/classint.tex
@@ -0,0 +1,6 @@
+\hypertarget{classint}{\section{int Class Reference}
+\label{classint}\index{int@{int}}
+}
+
+
+The documentation for this class was generated from the following files\-: \ No newline at end of file
diff --git a/doc/latex/classmeow_1_1BallProjection.eps b/doc/latex/classmeow_1_1BallProjection.eps
new file mode 100644
index 0000000..de2d956
--- /dev/null
+++ b/doc/latex/classmeow_1_1BallProjection.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 197.044335
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.537500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::BallProjection< Scalar >) cw
+(meow::Transformation< Scalar >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::BallProjection< Scalar >) 0.000000 0.000000 box
+ (meow::Transformation< Scalar >) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1BallProjection.pdf b/doc/latex/classmeow_1_1BallProjection.pdf
new file mode 100644
index 0000000..0841085
--- /dev/null
+++ b/doc/latex/classmeow_1_1BallProjection.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1BallProjection.tex b/doc/latex/classmeow_1_1BallProjection.tex
new file mode 100644
index 0000000..0fc7b78
--- /dev/null
+++ b/doc/latex/classmeow_1_1BallProjection.tex
@@ -0,0 +1,342 @@
+\hypertarget{classmeow_1_1BallProjection}{\section{meow\-:\-:Ball\-Projection$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1BallProjection}\index{meow\-::\-Ball\-Projection$<$ Scalar $>$@{meow\-::\-Ball\-Projection$<$ Scalar $>$}}
+}
+
+
+A ball projection is to project the given vector to a hyper-\/sphere.
+
+
+
+
+{\ttfamily \#include \char`\"{}Transformations.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Ball\-Projection$<$ Scalar $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1BallProjection}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1BallProjection_a1efa5c200a9d5605453b47e3856ccf28}{Ball\-Projection} (\hyperlink{classmeow_1_1BallProjection}{Ball\-Projection} const \&b)
+\item
+\hyperlink{classmeow_1_1BallProjection_af7e722b66c6bbc7245726902b6849850}{Ball\-Projection} (size\-\_\-t d)
+\item
+\hyperlink{classmeow_1_1BallProjection_a9d9d151e138e50c2bb4cd3d039fb0808}{Ball\-Projection} (size\-\_\-t d, Scalar const \&r)
+\item
+\hyperlink{classmeow_1_1BallProjection}{Ball\-Projection} \& \hyperlink{classmeow_1_1BallProjection_aec71a15af880bdaea8042986c11e2187}{copy\-From} (\hyperlink{classmeow_1_1BallProjection}{Ball\-Projection} const \&b)
+\begin{DoxyCompactList}\small\item\em Copy settings from another one. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1BallProjection}{Ball\-Projection} \& \hyperlink{classmeow_1_1BallProjection_adaf8d494c1177664f49bb63a5d2f36b0}{reference\-From} (\hyperlink{classmeow_1_1BallProjection}{Ball\-Projection} const \&b)
+\begin{DoxyCompactList}\small\item\em Reference settings from another one. \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1BallProjection_adf2bcb2f82e9f7e2136b187317ba3211}{parameter} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily \hyperlink{classmeow_1_1BallProjection_a82416bac8768d0f40fc09e8cd3896bc8}{radius()}} \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1BallProjection_a288814dc861482dd70129a698b1a2d7e}{parameter} (size\-\_\-t i, Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily radius(s)} \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1BallProjection_a82416bac8768d0f40fc09e8cd3896bc8}{radius} () const
+\begin{DoxyCompactList}\small\item\em Return the value of the radius. \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1BallProjection_a5e4bbc9cf477002fab2dad6f37e2553c}{radius} (Scalar const \&r)
+\begin{DoxyCompactList}\small\item\em Setup the radius. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1BallProjection_a3eff2f36a83ba683da6bc9bb82699b30}{dimension} () const
+\begin{DoxyCompactList}\small\item\em Get the dimension of this projection. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1BallProjection_a2573c364dd1e0d7de32b1e2afc0bb1b5}{transformate} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Project the input vector(s) onto the hyper-\/sphere and return it. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1BallProjection_a4fb7773f5566e93435ba56defbb7efc6}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix (derivate by the input vector) of this projection. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1BallProjection_ad2d62da97dd4b527c254e62a1ec949d8}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x, size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix (derivate by radius) of this projection. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1BallProjection}{Ball\-Projection} \& \hyperlink{classmeow_1_1BallProjection_a8e7e0ddd31c51bbaa934f77aee760f18}{operator=} (\hyperlink{classmeow_1_1BallProjection}{Ball\-Projection} const \&b)
+\begin{DoxyCompactList}\small\item\em Same as {\ttfamily copy\-From(b)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1BallProjection_a4f2e133f911088b7e13cabc52b3e6b92}{operator()} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&v) const
+\begin{DoxyCompactList}\small\item\em Same as {\ttfamily transformate(v)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Ball\-Projection$<$ Scalar $>$}
+
+A ball projection is to project the given vector to a hyper-\/sphere.
+
+Assume\-:
+\begin{DoxyItemize}
+\item The dimension of a ball projection is $ N $
+\item The radius of the hyper-\/sphere is $ R $
+\end{DoxyItemize}Then the transformation is like below\-: \par
+ \[ \left[ \begin{array}{c} x_1 \\ x_2 \\ x_3 \\ . \\ . \\ . \\ x_N \\ \end{array} \right] \stackrel{transformate}{\rightarrow} \left[ \begin{array}{c} \frac{x_1 \times R}{L} \\ \frac{x_2 \times R}{L} \\ \frac{x_3 \times R}{L} \\ . \\ . \\ . \\ \frac{x_N \times R}{L} \\ \end{array} \right] \\ \] where $ L=\sqrt{x_1^2 + x_2^2 + x_3^2 + ... + x_N^2 } $ \begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1BallProjection_a1efa5c200a9d5605453b47e3856ccf28}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!Ball\-Projection@{Ball\-Projection}}
+\index{Ball\-Projection@{Ball\-Projection}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{Ball\-Projection}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::{\bf Ball\-Projection} (
+\begin{DoxyParamCaption}
+\item[{{\bf Ball\-Projection}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_a1efa5c200a9d5605453b47e3856ccf28}
+Constructor, copy settings from given \hyperlink{classmeow_1_1BallProjection}{Ball\-Projection}
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & another ball projection class \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1BallProjection_af7e722b66c6bbc7245726902b6849850}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!Ball\-Projection@{Ball\-Projection}}
+\index{Ball\-Projection@{Ball\-Projection}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{Ball\-Projection}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::{\bf Ball\-Projection} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{d}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_af7e722b66c6bbc7245726902b6849850}
+Constructor and setup, radius = 1
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em d} & Dimension of the input/output vector \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1BallProjection_a9d9d151e138e50c2bb4cd3d039fb0808}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!Ball\-Projection@{Ball\-Projection}}
+\index{Ball\-Projection@{Ball\-Projection}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{Ball\-Projection}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::{\bf Ball\-Projection} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{d, }
+\item[{Scalar const \&}]{r}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_a9d9d151e138e50c2bb4cd3d039fb0808}
+Constructor and setup
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em d} & Dimension of the input/output vector \\
+\hline
+\mbox{\tt in} & {\em r} & Radius of the hyper-\/sphere \\
+\hline
+\end{DoxyParams}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1BallProjection_aec71a15af880bdaea8042986c11e2187}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf Ball\-Projection}\& {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Ball\-Projection}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_aec71a15af880bdaea8042986c11e2187}
+
+
+Copy settings from another one.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & Another one \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1BallProjection_a3eff2f36a83ba683da6bc9bb82699b30}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!dimension@{dimension}}
+\index{dimension@{dimension}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ size\-\_\-t {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::dimension (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_a3eff2f36a83ba683da6bc9bb82699b30}
+
+
+Get the dimension of this projection.
+
+\hypertarget{classmeow_1_1BallProjection_a4fb7773f5566e93435ba56defbb7efc6}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1BallProjection_a4fb7773f5566e93435ba56defbb7efc6}
+
+
+Return the jacobian matrix (derivate by the input vector) of this projection.
+
+This method only allow a vector-\/like matrix be input. Assume\-:
+\begin{DoxyItemize}
+\item The dimension of a ball projection is $ N $
+\item The length of the input vector is $ L=\sqrt{x_1^2+x_2^2+...+x_N^2} $
+\item The radius of the hyper-\/sphere is $ R $
+\end{DoxyItemize}Then the jacobian matrix is like below\-: \par
+ \[ \frac{R}{L^3} \times \left[ \begin{array}{ccccc} L^2-x_1^2 & -x_1x_2 & -x_1x_3 & ... & -x_1x_N \\ -x_2x_1 & L^2-x_2^2 & -x_2x_3 & ... & -x_2x_N \\ -x_3x_1 & -x_3x_2 & L^2-x_3^2 & ... & -x_3x_N \\ . & . & . & & . \\ . & . & . & & . \\ . & . & . & & . \\ -x_Nx_1 & -x_Nx_2 & -x_Nx_3 & ... & L^2-x_N^2 \\ \end{array} \right] \]
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The output matrix.
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1BallProjection_ad2d62da97dd4b527c254e62a1ec949d8}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1BallProjection_ad2d62da97dd4b527c254e62a1ec949d8}
+
+
+Return the jacobian matrix (derivate by radius) of this projection.
+
+This method only allow a vector-\/like matrix be input. Assume\-:
+\begin{DoxyItemize}
+\item The dimension of a ball projection is $ N $
+\item The length of the input vector is $ L=\sqrt{x_1^2+x_2^2+...+x_N^2} $
+\item The radius of the hyper-\/sphere is $ R $
+\end{DoxyItemize}Then the jacobian matrix is like below\-: \par
+ \[ R \times \left[ \begin{array}{c} \frac{x_1}{L} \\ \frac{x_2}{L} \\ \frac{x_3}{L} \\ . \\ . \\ . \\ \frac{x_N}{L} \\ \end{array} \right] \]
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\mbox{\tt in} & {\em i} & Useless parameter \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The output matrix.
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1BallProjection_a4f2e133f911088b7e13cabc52b3e6b92}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_a4f2e133f911088b7e13cabc52b3e6b92}
+
+
+Same as {\ttfamily transformate(v)}
+
+\hypertarget{classmeow_1_1BallProjection_a8e7e0ddd31c51bbaa934f77aee760f18}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf Ball\-Projection}\& {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Ball\-Projection}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_a8e7e0ddd31c51bbaa934f77aee760f18}
+
+
+Same as {\ttfamily copy\-From(b)}
+
+\hypertarget{classmeow_1_1BallProjection_adf2bcb2f82e9f7e2136b187317ba3211}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ Scalar {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1BallProjection_adf2bcb2f82e9f7e2136b187317ba3211}
+
+
+same as {\ttfamily \hyperlink{classmeow_1_1BallProjection_a82416bac8768d0f40fc09e8cd3896bc8}{radius()}}
+
+
+
+Implements \hyperlink{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1BallProjection_a288814dc861482dd70129a698b1a2d7e}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ Scalar {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1BallProjection_a288814dc861482dd70129a698b1a2d7e}
+
+
+same as {\ttfamily radius(s)}
+
+
+
+Implements \hyperlink{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1BallProjection_a82416bac8768d0f40fc09e8cd3896bc8}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!radius@{radius}}
+\index{radius@{radius}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{radius}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ Scalar {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::radius (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_a82416bac8768d0f40fc09e8cd3896bc8}
+
+
+Return the value of the radius.
+
+\hypertarget{classmeow_1_1BallProjection_a5e4bbc9cf477002fab2dad6f37e2553c}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!radius@{radius}}
+\index{radius@{radius}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{radius}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ Scalar {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::radius (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{r}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_a5e4bbc9cf477002fab2dad6f37e2553c}
+
+
+Setup the radius.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em r} & New value of the radius \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+New radius
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1BallProjection_adaf8d494c1177664f49bb63a5d2f36b0}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf Ball\-Projection}\& {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Ball\-Projection}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BallProjection_adaf8d494c1177664f49bb63a5d2f36b0}
+
+
+Reference settings from another one.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & Another one \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1BallProjection_a2573c364dd1e0d7de32b1e2afc0bb1b5}{\index{meow\-::\-Ball\-Projection@{meow\-::\-Ball\-Projection}!transformate@{transformate}}
+\index{transformate@{transformate}!meow::BallProjection@{meow\-::\-Ball\-Projection}}
+\subsubsection[{transformate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar $>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Ball\-Projection}$<$ Scalar $>$\-::transformate (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1BallProjection_a2573c364dd1e0d7de32b1e2afc0bb1b5}
+
+
+Project the input vector(s) onto the hyper-\/sphere and return it.
+
+If the number of columns of the input matrix is larger than 1, this method will think that you want to transform multiple vector once and the number of columns of the output matrix will be the same of the number of columns of the input one.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The output matrix.
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+Take into account that too much safty checking will lead to inefficient, this method will not checking whether the dimension of the input vector/matrix is right. So be sure the data is valid before you call this method.
+\end{DoxyNote}
+
+
+Implements \hyperlink{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/math/\hyperlink{Transformations_8h}{Transformations.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1BinaryIndexTree.tex b/doc/latex/classmeow_1_1BinaryIndexTree.tex
new file mode 100644
index 0000000..756cd8d
--- /dev/null
+++ b/doc/latex/classmeow_1_1BinaryIndexTree.tex
@@ -0,0 +1,165 @@
+\hypertarget{classmeow_1_1BinaryIndexTree}{\section{meow\-:\-:Binary\-Index\-Tree$<$ Value $>$ Class Template Reference}
+\label{classmeow_1_1BinaryIndexTree}\index{meow\-::\-Binary\-Index\-Tree$<$ Value $>$@{meow\-::\-Binary\-Index\-Tree$<$ Value $>$}}
+}
+
+
+極度簡化的 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} 已無區間更新的操作
+
+
+
+
+{\ttfamily \#include \char`\"{}Binary\-Index\-Tree.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1BinaryIndexTree_afe34f33091c5c8267f1d219ff40824c4}{Binary\-Index\-Tree} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1BinaryIndexTree_a355a4eacbfbe2112720d529efdbad021}{Binary\-Index\-Tree} (size\-\_\-t size, Value const \&value)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1BinaryIndexTree_a8323caade12e478be1e47b7612a60b8f}{Binary\-Index\-Tree} (\hyperlink{classmeow_1_1BinaryIndexTree}{Binary\-Index\-Tree} const \&tree2)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1BinaryIndexTree_a5634a9420ee864860bbf8605b9e17c32}{reset} (size\-\_\-t size, Value const \&init)
+\begin{DoxyCompactList}\small\item\em 將資料洗掉, 重設 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1BinaryIndexTree_a3a4f1799b20d5dab24d8cc584db5d32d}{update} (size\-\_\-t index, Value const \&value)
+\begin{DoxyCompactList}\small\item\em 將array中第 {\itshape index} (從零算起)個element多加上指定的值 \end{DoxyCompactList}\item
+Value \hyperlink{classmeow_1_1BinaryIndexTree_a99f7d954c32c0292a9dda4b74abe5833}{query} (ssize\-\_\-t index) const
+\begin{DoxyCompactList}\small\item\em 詢問 {\itshape 0$\sim$index} 的區間值 \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Value$>$class meow\-::\-Binary\-Index\-Tree$<$ Value $>$}
+
+極度簡化的 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} 已無區間更新的操作
+
+一般來說只能用在維護區間總和, 維護區間最大值只有在特殊情況才可以, 即 {\bfseries 針對每個元素}, {\bfseries 每次update()} {\bfseries 的值一定會大於等於原本的值} . 若要用區間最大值 , 則 {\itshape Value} 的 {\ttfamily operator+} 要寫成 {\ttfamily std\-::max}(...)
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1BinaryIndexTree_afe34f33091c5c8267f1d219ff40824c4}{\index{meow\-::\-Binary\-Index\-Tree@{meow\-::\-Binary\-Index\-Tree}!Binary\-Index\-Tree@{Binary\-Index\-Tree}}
+\index{Binary\-Index\-Tree@{Binary\-Index\-Tree}!meow::BinaryIndexTree@{meow\-::\-Binary\-Index\-Tree}}
+\subsubsection[{Binary\-Index\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ {\bf meow\-::\-Binary\-Index\-Tree}$<$ Value $>$\-::{\bf Binary\-Index\-Tree} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BinaryIndexTree_afe34f33091c5c8267f1d219ff40824c4}
+
+
+constructor
+
+\hypertarget{classmeow_1_1BinaryIndexTree_a355a4eacbfbe2112720d529efdbad021}{\index{meow\-::\-Binary\-Index\-Tree@{meow\-::\-Binary\-Index\-Tree}!Binary\-Index\-Tree@{Binary\-Index\-Tree}}
+\index{Binary\-Index\-Tree@{Binary\-Index\-Tree}!meow::BinaryIndexTree@{meow\-::\-Binary\-Index\-Tree}}
+\subsubsection[{Binary\-Index\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ {\bf meow\-::\-Binary\-Index\-Tree}$<$ Value $>$\-::{\bf Binary\-Index\-Tree} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{size, }
+\item[{Value const \&}]{value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BinaryIndexTree_a355a4eacbfbe2112720d529efdbad021}
+
+
+constructor
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em size} & 要維護的區間大小 {\bfseries }\mbox{[}0,size) \\
+\hline
+\mbox{\tt in} & {\em value} & 預設值 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1BinaryIndexTree_a8323caade12e478be1e47b7612a60b8f}{\index{meow\-::\-Binary\-Index\-Tree@{meow\-::\-Binary\-Index\-Tree}!Binary\-Index\-Tree@{Binary\-Index\-Tree}}
+\index{Binary\-Index\-Tree@{Binary\-Index\-Tree}!meow::BinaryIndexTree@{meow\-::\-Binary\-Index\-Tree}}
+\subsubsection[{Binary\-Index\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ {\bf meow\-::\-Binary\-Index\-Tree}$<$ Value $>$\-::{\bf Binary\-Index\-Tree} (
+\begin{DoxyParamCaption}
+\item[{{\bf Binary\-Index\-Tree}$<$ Value $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BinaryIndexTree_a8323caade12e478be1e47b7612a60b8f}
+
+
+constructor
+
+將另一個 {\ttfamily \hyperlink{classmeow_1_1BinaryIndexTree}{Binary\-Index\-Tree}} 原封不動的複製過來
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em tree2} & 另外一個 {\ttfamily \hyperlink{classmeow_1_1BinaryIndexTree}{Binary\-Index\-Tree}} \\
+\hline
+\end{DoxyParams}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1BinaryIndexTree_a99f7d954c32c0292a9dda4b74abe5833}{\index{meow\-::\-Binary\-Index\-Tree@{meow\-::\-Binary\-Index\-Tree}!query@{query}}
+\index{query@{query}!meow::BinaryIndexTree@{meow\-::\-Binary\-Index\-Tree}}
+\subsubsection[{query}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ Value {\bf meow\-::\-Binary\-Index\-Tree}$<$ Value $>$\-::query (
+\begin{DoxyParamCaption}
+\item[{ssize\-\_\-t}]{index}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BinaryIndexTree_a99f7d954c32c0292a9dda4b74abe5833}
+
+
+詢問 {\itshape 0$\sim$index} 的區間值
+
+時間複雜度{\bfseries O(log\-N)}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em index} & 指定的index \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+區間值
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1BinaryIndexTree_a5634a9420ee864860bbf8605b9e17c32}{\index{meow\-::\-Binary\-Index\-Tree@{meow\-::\-Binary\-Index\-Tree}!reset@{reset}}
+\index{reset@{reset}!meow::BinaryIndexTree@{meow\-::\-Binary\-Index\-Tree}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ void {\bf meow\-::\-Binary\-Index\-Tree}$<$ Value $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{size, }
+\item[{Value const \&}]{init}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BinaryIndexTree_a5634a9420ee864860bbf8605b9e17c32}
+
+
+將資料洗掉, 重設
+
+時間複雜度{\bfseries O(\-N)}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em size} & 要維護的區間大小 {\bfseries }\mbox{[}0,size) \\
+\hline
+\mbox{\tt in} & {\em init} & 預設值 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1BinaryIndexTree_a3a4f1799b20d5dab24d8cc584db5d32d}{\index{meow\-::\-Binary\-Index\-Tree@{meow\-::\-Binary\-Index\-Tree}!update@{update}}
+\index{update@{update}!meow::BinaryIndexTree@{meow\-::\-Binary\-Index\-Tree}}
+\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ void {\bf meow\-::\-Binary\-Index\-Tree}$<$ Value $>$\-::update (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{index, }
+\item[{Value const \&}]{value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1BinaryIndexTree_a3a4f1799b20d5dab24d8cc584db5d32d}
+
+
+將array中第 {\itshape index} (從零算起)個element多加上指定的值
+
+時間複雜度{\bfseries O(log\-N)}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em index} & 指定的index \\
+\hline
+\mbox{\tt in} & {\em value} & 指定的值 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{BinaryIndexTree_8h}{Binary\-Index\-Tree.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Bitmap.eps b/doc/latex/classmeow_1_1Bitmap.eps
new file mode 100644
index 0000000..5b016d2
--- /dev/null
+++ b/doc/latex/classmeow_1_1Bitmap.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 273.972603
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.825000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::Bitmap< Pixel >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::Bitmap< Pixel >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1Bitmap.pdf b/doc/latex/classmeow_1_1Bitmap.pdf
new file mode 100644
index 0000000..619f96e
--- /dev/null
+++ b/doc/latex/classmeow_1_1Bitmap.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1Bitmap.tex b/doc/latex/classmeow_1_1Bitmap.tex
new file mode 100644
index 0000000..fa09a61
--- /dev/null
+++ b/doc/latex/classmeow_1_1Bitmap.tex
@@ -0,0 +1,693 @@
+\hypertarget{classmeow_1_1Bitmap}{\section{meow\-:\-:Bitmap$<$ Pixel $>$ Class Template Reference}
+\label{classmeow_1_1Bitmap}\index{meow\-::\-Bitmap$<$ Pixel $>$@{meow\-::\-Bitmap$<$ Pixel $>$}}
+}
+
+
+二維點陣資料
+
+
+
+
+{\ttfamily \#include \char`\"{}Bitmap.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Bitmap$<$ Pixel $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1Bitmap}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Bitmap_ab313e096befabd933633cb75b870f75c}{Bitmap} ()
+\begin{DoxyCompactList}\small\item\em constructor, 產生一個空的\-Bitmap \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap_a2621e8833933b59c0e82e8776f1a6f11}{Bitmap} (\hyperlink{classmeow_1_1Bitmap}{Bitmap} const \&b)
+\begin{DoxyCompactList}\small\item\em constructor, 複製一個bitmap \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap_af4c9896dc2cdc714be5106bef45430c8}{Bitmap} (size\-\_\-t h, size\-\_\-t w, Pixel const \&p)
+\begin{DoxyCompactList}\small\item\em constructor, 指定寬高, 預設{\ttfamily Pixel} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap_a73386b915d50c06f8e15cb6b53e9eb0e}{$\sim$\-Bitmap} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap} \& \hyperlink{classmeow_1_1Bitmap_a5e08b5d3c78c91b33b83da02b658539b}{copy\-From} (\hyperlink{classmeow_1_1Bitmap}{Bitmap} const \&b)
+\begin{DoxyCompactList}\small\item\em 複製 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap} \& \hyperlink{classmeow_1_1Bitmap_affd5f41b44fa6afc55f2a3eb3f01cc4d}{reference\-From} (\hyperlink{classmeow_1_1Bitmap}{Bitmap} const \&b)
+\begin{DoxyCompactList}\small\item\em reference \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Bitmap_ae7bcc670d666a784d6e5e8f14b74aa3d}{reset} (size\-\_\-t h, size\-\_\-t w, Pixel const \&p)
+\begin{DoxyCompactList}\small\item\em 全部重設 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Bitmap_a573af36148f56209f9b537ee446e2867}{clear} ()
+\begin{DoxyCompactList}\small\item\em 清除資料, 寬高階規零 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Bitmap_a2290360ab49bdf1f33dc717fce71d5df}{height} () const
+\begin{DoxyCompactList}\small\item\em 回傳高度 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Bitmap_ad8476258a0f9deefdb7170d53949d3ed}{width} () const
+\begin{DoxyCompactList}\small\item\em 回傳寬度 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Bitmap_a13b986e9310eb100c100fd62fa548233}{size} () const
+\begin{DoxyCompactList}\small\item\em 回傳高度乘以寬度 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Bitmap_a3887d1c54026fe8ed27fd21a294d8d0a}{height} (size\-\_\-t h2, Pixel const \&p)
+\begin{DoxyCompactList}\small\item\em 修改高度 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Bitmap_a49731792bf45d5c230da50e3897e3061}{width} (size\-\_\-t w2, Pixel const \&p)
+\begin{DoxyCompactList}\small\item\em 修改寬度 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Bitmap_aef0bc77675e4652f885baf03cbcc25ef}{size} (size\-\_\-t h2, size\-\_\-t w2, Pixel const \&p)
+\begin{DoxyCompactList}\small\item\em 修改寬高 \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1Bitmap_ac8f41ae97e068549565e9ac83ffef888}{pixel} (size\-\_\-t y, size\-\_\-t x) const
+\begin{DoxyCompactList}\small\item\em 取得 (y, x) 的pixel \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1Bitmap_afe97efe50d112a71ee45da6d2bc3e9dc}{pixel} (size\-\_\-t y, size\-\_\-t x, Pixel const \&p)
+\begin{DoxyCompactList}\small\item\em 修改 (y, x) 的pixel \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Bitmap_a17f92dec30f314d832f040257d6d5584}{pixels} (ssize\-\_\-t y\-First, ssize\-\_\-t y\-Last, ssize\-\_\-t x\-First, ssize\-\_\-t x\-Last, Pixel const \&p)
+\begin{DoxyCompactList}\small\item\em 區塊修改 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap} \hyperlink{classmeow_1_1Bitmap_a499f3f0ceb101cb92ea8cd030b3d9952}{gaussian} (\hyperlink{classdouble}{double} radius\-Y, \hyperlink{classdouble}{double} radius\-X) const
+\begin{DoxyCompactList}\small\item\em 回傳高斯模糊 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ \& \hyperlink{classmeow_1_1Bitmap_a0aae89f4f8dbc1ba2b8f43e29a4a592e}{gaussianed} (\hyperlink{classdouble}{double} radius\-Y, \hyperlink{classdouble}{double} radius\-X)
+\begin{DoxyCompactList}\small\item\em 把自己高斯模糊 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ \hyperlink{classmeow_1_1Bitmap_aaf5c0c592084c80bce532801f4cdeb22}{gradiance\-X} (\hyperlink{classdouble}{double} radius\-Y, \hyperlink{classdouble}{double} radius\-X) const
+\begin{DoxyCompactList}\small\item\em 回傳對x偏微分 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ \& \hyperlink{classmeow_1_1Bitmap_a1630de00aebe37d58e04d6b9fc69eafb}{gradianced\-X} (\hyperlink{classdouble}{double} radius\-Y, \hyperlink{classdouble}{double} radius\-X)
+\begin{DoxyCompactList}\small\item\em 把自己對x偏微分 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ \hyperlink{classmeow_1_1Bitmap_aa08c848b01a304f4569f0e45f3ccee12}{gradiance\-Y} (\hyperlink{classdouble}{double} radius\-Y, \hyperlink{classdouble}{double} radius\-X) const
+\begin{DoxyCompactList}\small\item\em 回傳對y偏微分 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ \& \hyperlink{classmeow_1_1Bitmap_ae8d8985bd64971590862b165e2949faf}{gradianced\-Y} (\hyperlink{classdouble}{double} radius\-Y, \hyperlink{classdouble}{double} radius\-X)
+\begin{DoxyCompactList}\small\item\em 把自己對y偏微分 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap} \& \hyperlink{classmeow_1_1Bitmap_aba3ea0e5f48b63363c91ae4168dbd0bb}{operator=} (\hyperlink{classmeow_1_1Bitmap}{Bitmap} const \&b)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(b)} \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1Bitmap_a646c781896c74a7af4814da06cabf9e5}{operator()} (size\-\_\-t y, size\-\_\-t x) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily pixel(y, x)} \end{DoxyCompactList}\item
+Pixel const \& \hyperlink{classmeow_1_1Bitmap_a6ebb5310e9e24cee25fc748a0b9fef28}{operator()} (size\-\_\-t y, size\-\_\-t x, Pixel const \&p) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily pixel(y, x, p)} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Bitmap_aad700e26eae54cb653919c165dcc98dd}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\begin{DoxyCompactList}\small\item\em 將資料寫入檔案 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Bitmap_a3b13a4923d68de65bb7e21712185bec8}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\begin{DoxyCompactList}\small\item\em 將資料讀入 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1Bitmap_a07b1eb689498112691ca72e8c6ae453f}{create} () const
+\begin{DoxyCompactList}\small\item\em new一個自己 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1Bitmap_a998a6a9607f8552ace65cce0d251042c}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+char const $\ast$ \hyperlink{classmeow_1_1Bitmap_af8debba04055594b8507c77b3dbd0ff7}{ctype} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\item
+std\-::string \hyperlink{classmeow_1_1Bitmap_a7f282d9a1ebb07ca5fe12d8ae73121d1}{type} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Pixel$>$class meow\-::\-Bitmap$<$ Pixel $>$}
+
+二維點陣資料
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Bitmap_ab313e096befabd933633cb75b870f75c}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!Bitmap@{Bitmap}}
+\index{Bitmap@{Bitmap}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{Bitmap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::{\bf Bitmap} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_ab313e096befabd933633cb75b870f75c}
+
+
+constructor, 產生一個空的\-Bitmap
+
+\hypertarget{classmeow_1_1Bitmap_a2621e8833933b59c0e82e8776f1a6f11}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!Bitmap@{Bitmap}}
+\index{Bitmap@{Bitmap}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{Bitmap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::{\bf Bitmap} (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a2621e8833933b59c0e82e8776f1a6f11}
+
+
+constructor, 複製一個bitmap
+
+\hypertarget{classmeow_1_1Bitmap_af4c9896dc2cdc714be5106bef45430c8}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!Bitmap@{Bitmap}}
+\index{Bitmap@{Bitmap}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{Bitmap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::{\bf Bitmap} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{h, }
+\item[{size\-\_\-t}]{w, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_af4c9896dc2cdc714be5106bef45430c8}
+
+
+constructor, 指定寬高, 預設{\ttfamily Pixel}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em h} & 高 \\
+\hline
+\mbox{\tt in} & {\em w} & 寬 \\
+\hline
+\mbox{\tt in} & {\em p} & 預設pixel \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Bitmap_a73386b915d50c06f8e15cb6b53e9eb0e}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!$\sim$\-Bitmap@{$\sim$\-Bitmap}}
+\index{$\sim$\-Bitmap@{$\sim$\-Bitmap}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{$\sim$\-Bitmap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::$\sim${\bf Bitmap} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a73386b915d50c06f8e15cb6b53e9eb0e}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Bitmap_a573af36148f56209f9b537ee446e2867}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!clear@{clear}}
+\index{clear@{clear}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ void {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a573af36148f56209f9b537ee446e2867}
+
+
+清除資料, 寬高階規零
+
+\hypertarget{classmeow_1_1Bitmap_a5e08b5d3c78c91b33b83da02b658539b}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}\& {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a5e08b5d3c78c91b33b83da02b658539b}
+
+
+複製
+
+\hypertarget{classmeow_1_1Bitmap_a998a6a9607f8552ace65cce0d251042c}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Bitmap_a998a6a9607f8552ace65cce0d251042c}
+
+
+複製資料
+
+\begin{DoxyVerb}輸入型別是 \c ObjBase \c const*
+這裡假設實體其實是 \c Bitmap.
+事實上這個method就只是幫忙轉型然後呼叫原本的\c copyFrom
+\end{DoxyVerb}
+
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 資料來源 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+this
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Bitmap_a07b1eb689498112691ca72e8c6ae453f}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!create@{create}}
+\index{create@{create}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Bitmap_a07b1eb689498112691ca72e8c6ae453f}
+
+
+new一個自己
+
+\begin{DoxyReturn}{Returns}
+一個new出來的\-Bitmap$<$\-Pixel$>$
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Bitmap_af8debba04055594b8507c77b3dbd0ff7}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ char const$\ast$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Bitmap_af8debba04055594b8507c77b3dbd0ff7}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily char} {\ttfamily const{\ttfamily $\ast$} 形式的typename}
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Bitmap_a499f3f0ceb101cb92ea8cd030b3d9952}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!gaussian@{gaussian}}
+\index{gaussian@{gaussian}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{gaussian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap} {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::gaussian (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{radius\-Y, }
+\item[{{\bf double}}]{radius\-X}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a499f3f0ceb101cb92ea8cd030b3d9952}
+
+
+回傳高斯模糊
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em radius\-Y} & 高斯模糊的\-Y軸方向的sigma \\
+\hline
+\mbox{\tt in} & {\em radius\-X} & 高斯模糊的\-X軸方向的sigma \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+一個{\ttfamily \hyperlink{classmeow_1_1Bitmap}{Bitmap}} , 是自己被高斯模糊後的結果
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_a0aae89f4f8dbc1ba2b8f43e29a4a592e}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!gaussianed@{gaussianed}}
+\index{gaussianed@{gaussianed}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{gaussianed}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}$<$Pixel$>$\& {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::gaussianed (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{radius\-Y, }
+\item[{{\bf double}}]{radius\-X}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a0aae89f4f8dbc1ba2b8f43e29a4a592e}
+
+
+把自己高斯模糊
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em radius\-Y} & 高斯模糊的\-Y軸方向的sigma \\
+\hline
+\mbox{\tt in} & {\em radius\-X} & 高斯模糊的\-X軸方向的sigma \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+$\ast$this
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_a1630de00aebe37d58e04d6b9fc69eafb}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!gradianced\-X@{gradianced\-X}}
+\index{gradianced\-X@{gradianced\-X}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{gradianced\-X}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}$<$Pixel$>$\& {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::gradianced\-X (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{radius\-Y, }
+\item[{{\bf double}}]{radius\-X}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a1630de00aebe37d58e04d6b9fc69eafb}
+
+
+把自己對x偏微分
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em radius\-Y} & 高斯模糊的\-Y軸方向的sigma \\
+\hline
+\mbox{\tt in} & {\em radius\-X} & 高斯模糊的\-X軸方向的sigma \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+$\ast$this
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_ae8d8985bd64971590862b165e2949faf}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!gradianced\-Y@{gradianced\-Y}}
+\index{gradianced\-Y@{gradianced\-Y}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{gradianced\-Y}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}$<$Pixel$>$\& {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::gradianced\-Y (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{radius\-Y, }
+\item[{{\bf double}}]{radius\-X}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_ae8d8985bd64971590862b165e2949faf}
+
+
+把自己對y偏微分
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em radius\-Y} & 高斯模糊的\-Y軸方向的sigma \\
+\hline
+\mbox{\tt in} & {\em radius\-X} & 高斯模糊的\-X軸方向的sigma \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+$\ast$this
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_aaf5c0c592084c80bce532801f4cdeb22}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!gradiance\-X@{gradiance\-X}}
+\index{gradiance\-X@{gradiance\-X}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{gradiance\-X}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}$<$Pixel$>$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::gradiance\-X (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{radius\-Y, }
+\item[{{\bf double}}]{radius\-X}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_aaf5c0c592084c80bce532801f4cdeb22}
+
+
+回傳對x偏微分
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em radius\-Y} & 高斯模糊的\-Y軸方向的sigma \\
+\hline
+\mbox{\tt in} & {\em radius\-X} & 高斯模糊的\-X軸方向的sigma \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+一個{\ttfamily \hyperlink{classmeow_1_1Bitmap}{Bitmap}} , 是自己被偏微分後的結果
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_aa08c848b01a304f4569f0e45f3ccee12}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!gradiance\-Y@{gradiance\-Y}}
+\index{gradiance\-Y@{gradiance\-Y}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{gradiance\-Y}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}$<$Pixel$>$ {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::gradiance\-Y (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{radius\-Y, }
+\item[{{\bf double}}]{radius\-X}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_aa08c848b01a304f4569f0e45f3ccee12}
+
+
+回傳對y偏微分
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em radius\-Y} & 高斯模糊的\-Y軸方向的sigma \\
+\hline
+\mbox{\tt in} & {\em radius\-X} & 高斯模糊的\-X軸方向的sigma \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+一個{\ttfamily \hyperlink{classmeow_1_1Bitmap}{Bitmap}} , 是自己被偏微分後的結果
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_a2290360ab49bdf1f33dc717fce71d5df}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!height@{height}}
+\index{height@{height}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{height}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ size\-\_\-t {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::height (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a2290360ab49bdf1f33dc717fce71d5df}
+
+
+回傳高度
+
+\hypertarget{classmeow_1_1Bitmap_a3887d1c54026fe8ed27fd21a294d8d0a}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!height@{height}}
+\index{height@{height}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{height}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ size\-\_\-t {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::height (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{h2, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a3887d1c54026fe8ed27fd21a294d8d0a}
+
+
+修改高度
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em h2} & 新的高 \\
+\hline
+\mbox{\tt in} & {\em p} & 如果高有變大, 則新長出來的地方用此 pixel填補 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+新的高
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_a646c781896c74a7af4814da06cabf9e5}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{y, }
+\item[{size\-\_\-t}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a646c781896c74a7af4814da06cabf9e5}
+
+
+same as {\ttfamily pixel(y, x)}
+
+\hypertarget{classmeow_1_1Bitmap_a6ebb5310e9e24cee25fc748a0b9fef28}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel const\& {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{y, }
+\item[{size\-\_\-t}]{x, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a6ebb5310e9e24cee25fc748a0b9fef28}
+
+
+same as {\ttfamily pixel(y, x, p)}
+
+\hypertarget{classmeow_1_1Bitmap_aba3ea0e5f48b63363c91ae4168dbd0bb}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}\& {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_aba3ea0e5f48b63363c91ae4168dbd0bb}
+
+
+same as {\ttfamily copy\-From(b)}
+
+\hypertarget{classmeow_1_1Bitmap_ac8f41ae97e068549565e9ac83ffef888}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!pixel@{pixel}}
+\index{pixel@{pixel}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{pixel}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::pixel (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{y, }
+\item[{size\-\_\-t}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_ac8f41ae97e068549565e9ac83ffef888}
+
+
+取得 (y, x) 的pixel
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em y} & \\
+\hline
+\mbox{\tt in} & {\em x} & \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+該pixel 的 constant reference
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_afe97efe50d112a71ee45da6d2bc3e9dc}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!pixel@{pixel}}
+\index{pixel@{pixel}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{pixel}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::pixel (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{y, }
+\item[{size\-\_\-t}]{x, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_afe97efe50d112a71ee45da6d2bc3e9dc}
+
+
+修改 (y, x) 的pixel
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em y} & \\
+\hline
+\mbox{\tt in} & {\em x} & \\
+\hline
+\mbox{\tt in} & {\em p} & 指定的顏色 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+該pixel 的 constant reference
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_a17f92dec30f314d832f040257d6d5584}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!pixels@{pixels}}
+\index{pixels@{pixels}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{pixels}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ void {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::pixels (
+\begin{DoxyParamCaption}
+\item[{ssize\-\_\-t}]{y\-First, }
+\item[{ssize\-\_\-t}]{y\-Last, }
+\item[{ssize\-\_\-t}]{x\-First, }
+\item[{ssize\-\_\-t}]{x\-Last, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a17f92dec30f314d832f040257d6d5584}
+
+
+區塊修改
+
+一口氣將一個矩形區塊修改成指定的顏色
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em y\-First} & y軸方向最小值(含) \\
+\hline
+\mbox{\tt in} & {\em y\-Last} & y軸方向最大值(含) \\
+\hline
+\mbox{\tt in} & {\em x\-First} & x軸方向最小值(含) \\
+\hline
+\mbox{\tt in} & {\em x\-Last} & x軸方向最大值(含) \\
+\hline
+\mbox{\tt in} & {\em p} & 指定的顏色 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_a3b13a4923d68de65bb7e21712185bec8}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!read@{read}}
+\index{read@{read}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Bitmap_a3b13a4923d68de65bb7e21712185bec8}
+
+
+將資料讀入
+
+\begin{DoxyNote}{Note}
+未完成, 輸入參數 fg 無用
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Bitmap_affd5f41b44fa6afc55f2a3eb3f01cc4d}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}\& {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_affd5f41b44fa6afc55f2a3eb3f01cc4d}
+
+
+reference
+
+\hypertarget{classmeow_1_1Bitmap_ae7bcc670d666a784d6e5e8f14b74aa3d}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!reset@{reset}}
+\index{reset@{reset}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ void {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{h, }
+\item[{size\-\_\-t}]{w, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_ae7bcc670d666a784d6e5e8f14b74aa3d}
+
+
+全部重設
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em h} & 高 \\
+\hline
+\mbox{\tt in} & {\em w} & 寬 \\
+\hline
+\mbox{\tt in} & {\em p} & 預設pixel \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_a13b986e9310eb100c100fd62fa548233}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!size@{size}}
+\index{size@{size}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ size\-\_\-t {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a13b986e9310eb100c100fd62fa548233}
+
+
+回傳高度乘以寬度
+
+\hypertarget{classmeow_1_1Bitmap_aef0bc77675e4652f885baf03cbcc25ef}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!size@{size}}
+\index{size@{size}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ size\-\_\-t {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::size (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{h2, }
+\item[{size\-\_\-t}]{w2, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_aef0bc77675e4652f885baf03cbcc25ef}
+
+
+修改寬高
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em h2} & 新的高 \\
+\hline
+\mbox{\tt in} & {\em w2} & 新的寬 \\
+\hline
+\mbox{\tt in} & {\em p} & 如果寬or高有變大, 則新長出來的地方用此 pixel填補 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+新的size
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_a7f282d9a1ebb07ca5fe12d8ae73121d1}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!type@{type}}
+\index{type@{type}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ std\-::string {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Bitmap_a7f282d9a1ebb07ca5fe12d8ae73121d1}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily std\-::string} 形式的typename
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Bitmap_ad8476258a0f9deefdb7170d53949d3ed}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!width@{width}}
+\index{width@{width}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{width}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ size\-\_\-t {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::width (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_ad8476258a0f9deefdb7170d53949d3ed}
+
+
+回傳寬度
+
+\hypertarget{classmeow_1_1Bitmap_a49731792bf45d5c230da50e3897e3061}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!width@{width}}
+\index{width@{width}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{width}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ size\-\_\-t {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::width (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{w2, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Bitmap_a49731792bf45d5c230da50e3897e3061}
+
+
+修改寬度
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em w2} & 新的寬 \\
+\hline
+\mbox{\tt in} & {\em p} & 如果寬有變大, 則新長出來的地方用此 pixel填補 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+新的寬
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Bitmap_aad700e26eae54cb653919c165dcc98dd}{\index{meow\-::\-Bitmap@{meow\-::\-Bitmap}!write@{write}}
+\index{write@{write}!meow::Bitmap@{meow\-::\-Bitmap}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Bitmap}$<$ Pixel $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Bitmap_aad700e26eae54cb653919c165dcc98dd}
+
+
+將資料寫入檔案
+
+\begin{DoxyNote}{Note}
+未完成, 輸入參數 fg 無用
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{Bitmap_8h}{Bitmap.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Camera.eps b/doc/latex/classmeow_1_1Camera.eps
new file mode 100644
index 0000000..11b2164
--- /dev/null
+++ b/doc/latex/classmeow_1_1Camera.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 261.437908
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.912500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::Camera< Pixel >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::Camera< Pixel >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1Camera.pdf b/doc/latex/classmeow_1_1Camera.pdf
new file mode 100644
index 0000000..1b38c4d
--- /dev/null
+++ b/doc/latex/classmeow_1_1Camera.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1Camera.tex b/doc/latex/classmeow_1_1Camera.tex
new file mode 100644
index 0000000..b8acb1e
--- /dev/null
+++ b/doc/latex/classmeow_1_1Camera.tex
@@ -0,0 +1,452 @@
+\hypertarget{classmeow_1_1Camera}{\section{meow\-:\-:Camera$<$ Pixel $>$ Class Template Reference}
+\label{classmeow_1_1Camera}\index{meow\-::\-Camera$<$ Pixel $>$@{meow\-::\-Camera$<$ Pixel $>$}}
+}
+
+
+\hyperlink{classmeow_1_1Camera}{Camera}.
+
+
+
+
+{\ttfamily \#include \char`\"{}Camera.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Camera$<$ Pixel $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1Camera}
+\end{center}
+\end{figure}
+\subsection*{Public Types}
+\begin{DoxyCompactItemize}
+\item
+typedef \hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points}$<$ \hyperlink{classint}{int}, \\*
+\hyperlink{classdouble}{double} $>$ \hyperlink{classmeow_1_1Camera_a2f9b65351e07acd6e98a53689c49cb84}{Fixed\-Points2\-D}
+\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Camera_a2f1f9f82751c73193952f22ffdd0cc43}{Camera} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera_ab05f55e6b0eb28065c27a89393ccce19}{Camera} (\hyperlink{classmeow_1_1Camera}{Camera} const \&b)
+\begin{DoxyCompactList}\small\item\em copy constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera_a0f29b943c2f6b4c68c4b00b6a3056d63}{$\sim$\-Camera} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera}{Camera} \& \hyperlink{classmeow_1_1Camera_ad6351e87de51e00981b7befff91b6b6d}{copy\-From} (\hyperlink{classmeow_1_1Camera}{Camera} const \&b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera}{Camera} \& \hyperlink{classmeow_1_1Camera_ae00aa539b7d6be9254db1072627d204e}{reference\-From} (\hyperlink{classmeow_1_1Camera}{Camera} const \&b)
+\begin{DoxyCompactList}\small\item\em 參照 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo}{Photo}$<$ Pixel $>$ const \& \hyperlink{classmeow_1_1Camera_a78d30a42c1b67fafd3847f8757c10136}{photo} () const
+\begin{DoxyCompactList}\small\item\em 取得 photo \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo}{Photo}$<$ Pixel $>$ \& \hyperlink{classmeow_1_1Camera_aedd341c40cf8c5ef656bd02d9a1a266b}{photo\-Get} ()
+\begin{DoxyCompactList}\small\item\em 取得 photo (non-\/constant) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo}{Photo}$<$ Pixel $>$ const \& \hyperlink{classmeow_1_1Camera_adecd4f466208aeb53713532ef576bdee}{photo} (\hyperlink{classmeow_1_1Photo}{Photo}$<$ Pixel $>$ const \&pho)
+\begin{DoxyCompactList}\small\item\em 設定 photo \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \& \hyperlink{classmeow_1_1Camera_a1dc458ca5ce2e2f441e6601d7223d370}{rotation} () const
+\begin{DoxyCompactList}\small\item\em 取得rotation \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D}$<$ \hyperlink{classdouble}{double} $>$ \& \hyperlink{classmeow_1_1Camera_a54891144105d5e29a33b98d2fdf799e5}{rotation\-Get} ()
+\begin{DoxyCompactList}\small\item\em 取得rotation (non-\/constant) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \& \hyperlink{classmeow_1_1Camera_aba398741215e99868380dff84e6aaee3}{rotation} (\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&rot)
+\begin{DoxyCompactList}\small\item\em 設定rotation \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera_a2f9b65351e07acd6e98a53689c49cb84}{Fixed\-Points2\-D} const \& \hyperlink{classmeow_1_1Camera_a2fde4fdfcb105e8a44b3333c78f55b6b}{fixed\-Points2\-D} () const
+\begin{DoxyCompactList}\small\item\em 取得所有\-Fixed\-Point \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera_a2f9b65351e07acd6e98a53689c49cb84}{Fixed\-Points2\-D} \& \hyperlink{classmeow_1_1Camera_aa6bfaf360ab9b78adfde7005747368d4}{fixed\-Points2\-D\-Get} () const
+\begin{DoxyCompactList}\small\item\em 取得所有\-Fixed\-Point(non-\/constant reference) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera_a2f9b65351e07acd6e98a53689c49cb84}{Fixed\-Points2\-D} const \& \hyperlink{classmeow_1_1Camera_a298f81d18e2339db23ed5339f59b7986}{fixed\-Points2\-D} (\hyperlink{classmeow_1_1Camera_a2f9b65351e07acd6e98a53689c49cb84}{Fixed\-Points2\-D} const \&fps2d) const
+\begin{DoxyCompactList}\small\item\em 設定\-Fixed\-Point \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ \hyperlink{classdouble}{double} $>$ \hyperlink{classmeow_1_1Camera_a0073158eeefdc6ae662f5127485aa79e}{fixed\-Points2\-D} (\hyperlink{classint}{int} i)
+\begin{DoxyCompactList}\small\item\em 取得編號為i的fixed points 2d \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Camera_a55e165212b212a58b0090b1496a1a40a}{inside} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ p) const
+\begin{DoxyCompactList}\small\item\em 詢問某點是否在底片範圍內 \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1Camera_aa446aa03bc2cb675649c11114e1298b4}{color} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ p) const
+\begin{DoxyCompactList}\small\item\em 取得底片color \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera}{Camera} \& \hyperlink{classmeow_1_1Camera_adc22e067c44d2cf143c3cf4cba9abdbf}{operator=} (\hyperlink{classmeow_1_1Camera}{Camera} const \&b)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(b)} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Camera_acb6443a3ce77804575ec55209b3a1960}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\begin{DoxyCompactList}\small\item\em 將資料寫入檔案 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Camera_aaa82f998dfc1acde6607650ab6514492}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\begin{DoxyCompactList}\small\item\em 將資料讀入 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1Camera_ad3ec34460c84a4a20cf3cb418db76dc3}{create} () const
+\begin{DoxyCompactList}\small\item\em new一個自己 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1Camera_a5dff4c1129c6d74de1938bea9309a408}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+char const $\ast$ \hyperlink{classmeow_1_1Camera_a80ef6d606e9f79255b043c5c17cc4a18}{ctype} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\item
+std\-::string \hyperlink{classmeow_1_1Camera_ae009c09a5e6b5ebdab09dd304f2eca32}{type} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+static \hyperlink{classdouble}{double} \hyperlink{classmeow_1_1Camera_af291cd0bd6253338e05f60bea9878b64}{boundle\-Adjustment2\-D} (std\-::vector$<$ \hyperlink{classmeow_1_1Camera}{Camera} $>$ $\ast$cs, \hyperlink{classdouble}{double} threshold)
+\begin{DoxyCompactList}\small\item\em 將數台camera用fixed points做boundle adjustment \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Pixel$>$class meow\-::\-Camera$<$ Pixel $>$}
+
+\hyperlink{classmeow_1_1Camera}{Camera}.
+
+實際上就是一個 {\ttfamily \hyperlink{classmeow_1_1Photo}{Photo}} 加上一個 {\ttfamily \hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D}}. 另外附有 fixed\-Point, 可以用來定位時參考
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Member Typedef Documentation}
+\hypertarget{classmeow_1_1Camera_a2f9b65351e07acd6e98a53689c49cb84}{\index{meow\-::\-Camera@{meow\-::\-Camera}!Fixed\-Points2\-D@{Fixed\-Points2\-D}}
+\index{Fixed\-Points2\-D@{Fixed\-Points2\-D}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{Fixed\-Points2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ typedef {\bf Identity\-Points}$<${\bf int}, {\bf double}$>$ {\bf meow\-::\-Camera}$<$ Pixel $>$\-::{\bf Fixed\-Points2\-D}}}\label{classmeow_1_1Camera_a2f9b65351e07acd6e98a53689c49cb84}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Camera_a2f1f9f82751c73193952f22ffdd0cc43}{\index{meow\-::\-Camera@{meow\-::\-Camera}!Camera@{Camera}}
+\index{Camera@{Camera}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{Camera}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Camera}$<$ Pixel $>$\-::{\bf Camera} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a2f1f9f82751c73193952f22ffdd0cc43}
+
+
+constructor
+
+\hypertarget{classmeow_1_1Camera_ab05f55e6b0eb28065c27a89393ccce19}{\index{meow\-::\-Camera@{meow\-::\-Camera}!Camera@{Camera}}
+\index{Camera@{Camera}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{Camera}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Camera}$<$ Pixel $>$\-::{\bf Camera} (
+\begin{DoxyParamCaption}
+\item[{{\bf Camera}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_ab05f55e6b0eb28065c27a89393ccce19}
+
+
+copy constructor
+
+\hypertarget{classmeow_1_1Camera_a0f29b943c2f6b4c68c4b00b6a3056d63}{\index{meow\-::\-Camera@{meow\-::\-Camera}!$\sim$\-Camera@{$\sim$\-Camera}}
+\index{$\sim$\-Camera@{$\sim$\-Camera}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{$\sim$\-Camera}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Camera}$<$ Pixel $>$\-::$\sim${\bf Camera} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a0f29b943c2f6b4c68c4b00b6a3056d63}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Camera_af291cd0bd6253338e05f60bea9878b64}{\index{meow\-::\-Camera@{meow\-::\-Camera}!boundle\-Adjustment2\-D@{boundle\-Adjustment2\-D}}
+\index{boundle\-Adjustment2\-D@{boundle\-Adjustment2\-D}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{boundle\-Adjustment2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ static {\bf double} {\bf meow\-::\-Camera}$<$ Pixel $>$\-::boundle\-Adjustment2\-D (
+\begin{DoxyParamCaption}
+\item[{std\-::vector$<$ {\bf Camera}$<$ Pixel $>$ $>$ $\ast$}]{cs, }
+\item[{{\bf double}}]{threshold}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1Camera_af291cd0bd6253338e05f60bea9878b64}
+
+
+將數台camera用fixed points做boundle adjustment
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em cs} & 要調整的cameras \\
+\hline
+\mbox{\tt in} & {\em threshold} & 允許誤差值 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+誤差值
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Camera_aa446aa03bc2cb675649c11114e1298b4}{\index{meow\-::\-Camera@{meow\-::\-Camera}!color@{color}}
+\index{color@{color}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{color}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel {\bf meow\-::\-Camera}$<$ Pixel $>$\-::color (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$}]{p}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_aa446aa03bc2cb675649c11114e1298b4}
+
+
+取得底片color
+
+\hypertarget{classmeow_1_1Camera_ad6351e87de51e00981b7befff91b6b6d}{\index{meow\-::\-Camera@{meow\-::\-Camera}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Camera}\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Camera}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_ad6351e87de51e00981b7befff91b6b6d}
+
+
+複製資料
+
+\hypertarget{classmeow_1_1Camera_a5dff4c1129c6d74de1938bea9309a408}{\index{meow\-::\-Camera@{meow\-::\-Camera}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Camera}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Camera_a5dff4c1129c6d74de1938bea9309a408}
+
+
+複製資料
+
+\begin{DoxyVerb}輸入型別是 \c ObjBase \c const*
+事實上這個method就只是幫忙轉型然後呼叫原本的\c copyFrom
+\end{DoxyVerb}
+
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 資料來源 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+this
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Camera_ad3ec34460c84a4a20cf3cb418db76dc3}{\index{meow\-::\-Camera@{meow\-::\-Camera}!create@{create}}
+\index{create@{create}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Camera}$<$ Pixel $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Camera_ad3ec34460c84a4a20cf3cb418db76dc3}
+
+
+new一個自己
+
+\begin{DoxyReturn}{Returns}
+一個new出來的pointer
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Camera_a80ef6d606e9f79255b043c5c17cc4a18}{\index{meow\-::\-Camera@{meow\-::\-Camera}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ char const$\ast$ {\bf meow\-::\-Camera}$<$ Pixel $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Camera_a80ef6d606e9f79255b043c5c17cc4a18}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily char} {\ttfamily const{\ttfamily $\ast$} 形式的typename}
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Camera_a2fde4fdfcb105e8a44b3333c78f55b6b}{\index{meow\-::\-Camera@{meow\-::\-Camera}!fixed\-Points2\-D@{fixed\-Points2\-D}}
+\index{fixed\-Points2\-D@{fixed\-Points2\-D}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{fixed\-Points2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Fixed\-Points2\-D} const\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::fixed\-Points2\-D (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a2fde4fdfcb105e8a44b3333c78f55b6b}
+
+
+取得所有\-Fixed\-Point
+
+\hypertarget{classmeow_1_1Camera_a298f81d18e2339db23ed5339f59b7986}{\index{meow\-::\-Camera@{meow\-::\-Camera}!fixed\-Points2\-D@{fixed\-Points2\-D}}
+\index{fixed\-Points2\-D@{fixed\-Points2\-D}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{fixed\-Points2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Fixed\-Points2\-D} const\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::fixed\-Points2\-D (
+\begin{DoxyParamCaption}
+\item[{{\bf Fixed\-Points2\-D} const \&}]{fps2d}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a298f81d18e2339db23ed5339f59b7986}
+
+
+設定\-Fixed\-Point
+
+\hypertarget{classmeow_1_1Camera_a0073158eeefdc6ae662f5127485aa79e}{\index{meow\-::\-Camera@{meow\-::\-Camera}!fixed\-Points2\-D@{fixed\-Points2\-D}}
+\index{fixed\-Points2\-D@{fixed\-Points2\-D}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{fixed\-Points2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Vector}$<${\bf double}$>$ {\bf meow\-::\-Camera}$<$ Pixel $>$\-::fixed\-Points2\-D (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a0073158eeefdc6ae662f5127485aa79e}
+
+
+取得編號為i的fixed points 2d
+
+\hypertarget{classmeow_1_1Camera_aa6bfaf360ab9b78adfde7005747368d4}{\index{meow\-::\-Camera@{meow\-::\-Camera}!fixed\-Points2\-D\-Get@{fixed\-Points2\-D\-Get}}
+\index{fixed\-Points2\-D\-Get@{fixed\-Points2\-D\-Get}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{fixed\-Points2\-D\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Fixed\-Points2\-D}\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::fixed\-Points2\-D\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_aa6bfaf360ab9b78adfde7005747368d4}
+
+
+取得所有\-Fixed\-Point(non-\/constant reference)
+
+\hypertarget{classmeow_1_1Camera_a55e165212b212a58b0090b1496a1a40a}{\index{meow\-::\-Camera@{meow\-::\-Camera}!inside@{inside}}
+\index{inside@{inside}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{inside}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Camera}$<$ Pixel $>$\-::inside (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$}]{p}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a55e165212b212a58b0090b1496a1a40a}
+
+
+詢問某點是否在底片範圍內
+
+\hypertarget{classmeow_1_1Camera_adc22e067c44d2cf143c3cf4cba9abdbf}{\index{meow\-::\-Camera@{meow\-::\-Camera}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Camera}\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Camera}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_adc22e067c44d2cf143c3cf4cba9abdbf}
+
+
+same as {\ttfamily copy\-From(b)}
+
+\hypertarget{classmeow_1_1Camera_a78d30a42c1b67fafd3847f8757c10136}{\index{meow\-::\-Camera@{meow\-::\-Camera}!photo@{photo}}
+\index{photo@{photo}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{photo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Photo}$<$Pixel$>$ const\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::photo (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a78d30a42c1b67fafd3847f8757c10136}
+
+
+取得 photo
+
+\hypertarget{classmeow_1_1Camera_adecd4f466208aeb53713532ef576bdee}{\index{meow\-::\-Camera@{meow\-::\-Camera}!photo@{photo}}
+\index{photo@{photo}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{photo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Photo}$<$Pixel$>$ const\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::photo (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo}$<$ Pixel $>$ const \&}]{pho}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_adecd4f466208aeb53713532ef576bdee}
+
+
+設定 photo
+
+\hypertarget{classmeow_1_1Camera_aedd341c40cf8c5ef656bd02d9a1a266b}{\index{meow\-::\-Camera@{meow\-::\-Camera}!photo\-Get@{photo\-Get}}
+\index{photo\-Get@{photo\-Get}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{photo\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Photo}$<$Pixel$>$\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::photo\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_aedd341c40cf8c5ef656bd02d9a1a266b}
+
+
+取得 photo (non-\/constant)
+
+\hypertarget{classmeow_1_1Camera_aaa82f998dfc1acde6607650ab6514492}{\index{meow\-::\-Camera@{meow\-::\-Camera}!read@{read}}
+\index{read@{read}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Camera}$<$ Pixel $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Camera_aaa82f998dfc1acde6607650ab6514492}
+
+
+將資料讀入
+
+\begin{DoxyNote}{Note}
+未完成
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Camera_ae00aa539b7d6be9254db1072627d204e}{\index{meow\-::\-Camera@{meow\-::\-Camera}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Camera}\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Camera}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_ae00aa539b7d6be9254db1072627d204e}
+
+
+參照
+
+\hypertarget{classmeow_1_1Camera_a1dc458ca5ce2e2f441e6601d7223d370}{\index{meow\-::\-Camera@{meow\-::\-Camera}!rotation@{rotation}}
+\index{rotation@{rotation}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{rotation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Rotation3\-D}$<${\bf double}$>$ const\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::rotation (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a1dc458ca5ce2e2f441e6601d7223d370}
+
+
+取得rotation
+
+\hypertarget{classmeow_1_1Camera_aba398741215e99868380dff84e6aaee3}{\index{meow\-::\-Camera@{meow\-::\-Camera}!rotation@{rotation}}
+\index{rotation@{rotation}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{rotation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Rotation3\-D}$<${\bf double}$>$ const\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::rotation (
+\begin{DoxyParamCaption}
+\item[{{\bf Rotation3\-D}$<$ {\bf double} $>$ const \&}]{rot}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_aba398741215e99868380dff84e6aaee3}
+
+
+設定rotation
+
+\hypertarget{classmeow_1_1Camera_a54891144105d5e29a33b98d2fdf799e5}{\index{meow\-::\-Camera@{meow\-::\-Camera}!rotation\-Get@{rotation\-Get}}
+\index{rotation\-Get@{rotation\-Get}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{rotation\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Rotation3\-D}$<${\bf double}$>$\& {\bf meow\-::\-Camera}$<$ Pixel $>$\-::rotation\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Camera_a54891144105d5e29a33b98d2fdf799e5}
+
+
+取得rotation (non-\/constant)
+
+\hypertarget{classmeow_1_1Camera_ae009c09a5e6b5ebdab09dd304f2eca32}{\index{meow\-::\-Camera@{meow\-::\-Camera}!type@{type}}
+\index{type@{type}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ std\-::string {\bf meow\-::\-Camera}$<$ Pixel $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Camera_ae009c09a5e6b5ebdab09dd304f2eca32}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily std\-::string} 形式的typename
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Camera_acb6443a3ce77804575ec55209b3a1960}{\index{meow\-::\-Camera@{meow\-::\-Camera}!write@{write}}
+\index{write@{write}!meow::Camera@{meow\-::\-Camera}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Camera}$<$ Pixel $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Camera_acb6443a3ce77804575ec55209b3a1960}
+
+
+將資料寫入檔案
+
+\begin{DoxyNote}{Note}
+未完成
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{Camera_8h}{Camera.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Color3__Space.tex b/doc/latex/classmeow_1_1Color3__Space.tex
new file mode 100644
index 0000000..b0a61f7
--- /dev/null
+++ b/doc/latex/classmeow_1_1Color3__Space.tex
@@ -0,0 +1,207 @@
+\hypertarget{classmeow_1_1Color3__Space}{\section{meow\-:\-:Color3\-\_\-\-Space$<$ T $>$ Class Template Reference}
+\label{classmeow_1_1Color3__Space}\index{meow\-::\-Color3\-\_\-\-Space$<$ T $>$@{meow\-::\-Color3\-\_\-\-Space$<$ T $>$}}
+}
+
+
+以三個channel所組成的色彩空間
+
+
+
+
+{\ttfamily \#include \char`\"{}Color3\-\_\-\-Space.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+virtual \hyperlink{classmeow_1_1Color3__Space_a3fa85d4369b9db8d8209d244a643b49f}{$\sim$\-Color3\-\_\-\-Space} ()
+\item
+\hyperlink{classmeow_1_1Color3__Space}{Color3\-\_\-\-Space}$<$ T $>$ \& \hyperlink{classmeow_1_1Color3__Space_aa5c43cb67d674223a0a2361ac8de55c1}{copy\-From} (\hyperlink{classmeow_1_1Color3__Space}{Color3\-\_\-\-Space}$<$ T $>$ const \&b)
+\item
+{\footnotesize template$<$class T2 $>$ }\\\hyperlink{classmeow_1_1Color3__Space}{Color3\-\_\-\-Space}$<$ T $>$ \& \hyperlink{classmeow_1_1Color3__Space_ab8be12bacd0e877151189383654029c8}{copy\-From} (\hyperlink{classmeow_1_1Color3__Space}{Color3\-\_\-\-Space}$<$ T2 $>$ const \&b)
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ const \& \hyperlink{classmeow_1_1Color3__Space_a318eedb2acaba5f3a8c79a651c53e676}{min\-V} () const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ const \& \hyperlink{classmeow_1_1Color3__Space_a0bdfe0eaab4a77cdc8a1359518630a07}{max\-V} () const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ const \& \hyperlink{classmeow_1_1Color3__Space_a1c58ba0912a91e71dee240fad6291216}{val\-V} () const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ const \& \hyperlink{classmeow_1_1Color3__Space_aa7638e03124b2304d4d34b57be4b0028}{val\-V} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ const \&vv)
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ \& \hyperlink{classmeow_1_1Color3__Space_a665fe525c47913fb5bca765446adaaab}{val\-V\-Get} ()
+\item
+T const \& \hyperlink{classmeow_1_1Color3__Space_a3351aea64c4ca1596694d6b95dce56df}{min} (size\-\_\-t id) const
+\item
+T const \& \hyperlink{classmeow_1_1Color3__Space_aa6661a1aaaf985a4b2d68db88ec93d2f}{max} (size\-\_\-t id) const
+\item
+T const \& \hyperlink{classmeow_1_1Color3__Space_af08839264f6ea6dc50cf6175d26afa6e}{val} (size\-\_\-t id) const
+\item
+T const \& \hyperlink{classmeow_1_1Color3__Space_ae3f57f9651bb80041ce77ec052fdc436}{val} (size\-\_\-t i, T const \&c)
+\item
+T \& \hyperlink{classmeow_1_1Color3__Space_ac2efb0be959fc60f786bdcdc8a1fd8b2}{val\-Get} (size\-\_\-t id)
+\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ T $>$ \hyperlink{classmeow_1_1Color3__Space_a1f11ba476ffb0ed16ef1b8d06954b6f0}{matrix} () const
+\end{DoxyCompactItemize}
+\subsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Color3__Space_a982a7211fded8d108aee66a536fb8736}{Color3\-\_\-\-Space} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ const \&min\-\_\-bound, \hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ const \&max\-\_\-bound, \hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ const \&init\-\_\-value)
+\item
+\hyperlink{classmeow_1_1Color3__Space_a8017c0aae500a4a57938ae04576caa83}{Color3\-\_\-\-Space} (\hyperlink{classmeow_1_1Color3__Space}{Color3\-\_\-\-Space} const \&b)
+\end{DoxyCompactItemize}
+\subsection*{Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ \hyperlink{classmeow_1_1Color3__Space_ab00eca747ea06269fddd3586dd1bca46}{min\-\_\-}
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ \hyperlink{classmeow_1_1Color3__Space_a3e006b5c37185c8b0f4d383b6b095dac}{max\-\_\-}
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ T $>$ \hyperlink{classmeow_1_1Color3__Space_aa134d705ea25b1f64db8bef07d1757ae}{val\-\_\-}
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class T$>$class meow\-::\-Color3\-\_\-\-Space$<$ T $>$}
+
+以三個channel所組成的色彩空間
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Color3__Space_a982a7211fded8d108aee66a536fb8736}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!Color3\-\_\-\-Space@{Color3\-\_\-\-Space}}
+\index{Color3\-\_\-\-Space@{Color3\-\_\-\-Space}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{Color3\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::{\bf Color3\-\_\-\-Space} (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ T $>$ const \&}]{min\-\_\-bound, }
+\item[{{\bf Vector3\-D}$<$ T $>$ const \&}]{max\-\_\-bound, }
+\item[{{\bf Vector3\-D}$<$ T $>$ const \&}]{init\-\_\-value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Color3__Space_a982a7211fded8d108aee66a536fb8736}
+\hypertarget{classmeow_1_1Color3__Space_a8017c0aae500a4a57938ae04576caa83}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!Color3\-\_\-\-Space@{Color3\-\_\-\-Space}}
+\index{Color3\-\_\-\-Space@{Color3\-\_\-\-Space}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{Color3\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::{\bf Color3\-\_\-\-Space} (
+\begin{DoxyParamCaption}
+\item[{{\bf Color3\-\_\-\-Space}$<$ T $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Color3__Space_a8017c0aae500a4a57938ae04576caa83}
+\hypertarget{classmeow_1_1Color3__Space_a3fa85d4369b9db8d8209d244a643b49f}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!$\sim$\-Color3\-\_\-\-Space@{$\sim$\-Color3\-\_\-\-Space}}
+\index{$\sim$\-Color3\-\_\-\-Space@{$\sim$\-Color3\-\_\-\-Space}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{$\sim$\-Color3\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ virtual {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::$\sim${\bf Color3\-\_\-\-Space} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Color3__Space_a3fa85d4369b9db8d8209d244a643b49f}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Color3__Space_aa5c43cb67d674223a0a2361ac8de55c1}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Color3\-\_\-\-Space}$<$T$>$\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Color3\-\_\-\-Space}$<$ T $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_aa5c43cb67d674223a0a2361ac8de55c1}
+\hypertarget{classmeow_1_1Color3__Space_ab8be12bacd0e877151189383654029c8}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ template$<$class T2 $>$ {\bf Color3\-\_\-\-Space}$<$T$>$\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Color3\-\_\-\-Space}$<$ T2 $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_ab8be12bacd0e877151189383654029c8}
+\hypertarget{classmeow_1_1Color3__Space_a1f11ba476ffb0ed16ef1b8d06954b6f0}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!matrix@{matrix}}
+\index{matrix@{matrix}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Matrix}$<$T$>$ {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::matrix (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_a1f11ba476ffb0ed16ef1b8d06954b6f0}
+\hypertarget{classmeow_1_1Color3__Space_aa6661a1aaaf985a4b2d68db88ec93d2f}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!max@{max}}
+\index{max@{max}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{max}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ T const\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::max (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{id}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_aa6661a1aaaf985a4b2d68db88ec93d2f}
+\hypertarget{classmeow_1_1Color3__Space_a0bdfe0eaab4a77cdc8a1359518630a07}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!max\-V@{max\-V}}
+\index{max\-V@{max\-V}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{max\-V}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Vector3\-D}$<$T$>$ const\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::max\-V (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_a0bdfe0eaab4a77cdc8a1359518630a07}
+\hypertarget{classmeow_1_1Color3__Space_a3351aea64c4ca1596694d6b95dce56df}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!min@{min}}
+\index{min@{min}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{min}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ T const\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::min (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{id}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_a3351aea64c4ca1596694d6b95dce56df}
+\hypertarget{classmeow_1_1Color3__Space_a318eedb2acaba5f3a8c79a651c53e676}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!min\-V@{min\-V}}
+\index{min\-V@{min\-V}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{min\-V}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Vector3\-D}$<$T$>$ const\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::min\-V (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_a318eedb2acaba5f3a8c79a651c53e676}
+\hypertarget{classmeow_1_1Color3__Space_af08839264f6ea6dc50cf6175d26afa6e}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!val@{val}}
+\index{val@{val}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{val}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ T const\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::val (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{id}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_af08839264f6ea6dc50cf6175d26afa6e}
+\hypertarget{classmeow_1_1Color3__Space_ae3f57f9651bb80041ce77ec052fdc436}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!val@{val}}
+\index{val@{val}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{val}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ T const\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::val (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{T const \&}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_ae3f57f9651bb80041ce77ec052fdc436}
+\hypertarget{classmeow_1_1Color3__Space_ac2efb0be959fc60f786bdcdc8a1fd8b2}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!val\-Get@{val\-Get}}
+\index{val\-Get@{val\-Get}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{val\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ T\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::val\-Get (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{id}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_ac2efb0be959fc60f786bdcdc8a1fd8b2}
+\hypertarget{classmeow_1_1Color3__Space_a1c58ba0912a91e71dee240fad6291216}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!val\-V@{val\-V}}
+\index{val\-V@{val\-V}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{val\-V}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Vector3\-D}$<$T$>$ const\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::val\-V (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_a1c58ba0912a91e71dee240fad6291216}
+\hypertarget{classmeow_1_1Color3__Space_aa7638e03124b2304d4d34b57be4b0028}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!val\-V@{val\-V}}
+\index{val\-V@{val\-V}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{val\-V}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Vector3\-D}$<$T$>$ const\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::val\-V (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ T $>$ const \&}]{vv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_aa7638e03124b2304d4d34b57be4b0028}
+\hypertarget{classmeow_1_1Color3__Space_a665fe525c47913fb5bca765446adaaab}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!val\-V\-Get@{val\-V\-Get}}
+\index{val\-V\-Get@{val\-V\-Get}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{val\-V\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Vector3\-D}$<$T$>$\& {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::val\-V\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Color3__Space_a665fe525c47913fb5bca765446adaaab}
+
+
+\subsection{Member Data Documentation}
+\hypertarget{classmeow_1_1Color3__Space_a3e006b5c37185c8b0f4d383b6b095dac}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!max\-\_\-@{max\-\_\-}}
+\index{max\-\_\-@{max\-\_\-}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{max\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Vector3\-D}$<$T$>$ {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::max\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{classmeow_1_1Color3__Space_a3e006b5c37185c8b0f4d383b6b095dac}
+\hypertarget{classmeow_1_1Color3__Space_ab00eca747ea06269fddd3586dd1bca46}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!min\-\_\-@{min\-\_\-}}
+\index{min\-\_\-@{min\-\_\-}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{min\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Vector3\-D}$<$T$>$ {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::min\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{classmeow_1_1Color3__Space_ab00eca747ea06269fddd3586dd1bca46}
+\hypertarget{classmeow_1_1Color3__Space_aa134d705ea25b1f64db8bef07d1757ae}{\index{meow\-::\-Color3\-\_\-\-Space@{meow\-::\-Color3\-\_\-\-Space}!val\-\_\-@{val\-\_\-}}
+\index{val\-\_\-@{val\-\_\-}!meow::Color3_Space@{meow\-::\-Color3\-\_\-\-Space}}
+\subsubsection[{val\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ {\bf Vector3\-D}$<$T$>$ {\bf meow\-::\-Color3\-\_\-\-Space}$<$ T $>$\-::val\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{classmeow_1_1Color3__Space_aa134d705ea25b1f64db8bef07d1757ae}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/colors/\hyperlink{Color3__Space_8h}{Color3\-\_\-\-Space.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1DisjointSet.tex b/doc/latex/classmeow_1_1DisjointSet.tex
new file mode 100644
index 0000000..2e1d638
--- /dev/null
+++ b/doc/latex/classmeow_1_1DisjointSet.tex
@@ -0,0 +1,184 @@
+\hypertarget{classmeow_1_1DisjointSet}{\section{meow\-:\-:Disjoint\-Set Class Reference}
+\label{classmeow_1_1DisjointSet}\index{meow\-::\-Disjoint\-Set@{meow\-::\-Disjoint\-Set}}
+}
+
+
+用來維護一堆互斥集的資訊
+
+
+
+
+{\ttfamily \#include \char`\"{}Disjoint\-Set.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1DisjointSet_a8c55a16b0320c28854ed59795bc2bf3d}{Disjoint\-Set} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1DisjointSet_af86aee43ff23d616c1c065c0825d000c}{Disjoint\-Set} (size\-\_\-t n)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1DisjointSet_ade3ec2924018ac0fd6693e3ae966516f}{Disjoint\-Set} (\hyperlink{classmeow_1_1DisjointSet}{Disjoint\-Set} const \&dsj)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1DisjointSet_a0b66ca7c5e19f640b521630f06b313c1}{root} (size\-\_\-t a) const
+\begin{DoxyCompactList}\small\item\em 回傳指定的number所在的 {\bfseries 集合的編號} \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1DisjointSet_a1738123f2c0456bec373d4a8422d62b5}{size} () const
+\begin{DoxyCompactList}\small\item\em 回傳總element數 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1DisjointSet_a232841a6d2daeb2b974cd7cb7fe6bfb7}{reset} (size\-\_\-t n)
+\begin{DoxyCompactList}\small\item\em 重設 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1DisjointSet_a410399290f718332f5c3df1854182198}{merge} (size\-\_\-t a, size\-\_\-t b)
+\begin{DoxyCompactList}\small\item\em 合併 \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+用來維護一堆互斥集的資訊
+
+\hyperlink{classmeow_1_1DisjointSet}{Disjoint\-Set} 是個 {\bfseries 輕量級\-Data} {\bfseries Dtructure}, 用來維護一堆互斥集的資訊. \par
+ 相關資料可參考 \href{http://www.csie.ntnu.edu.tw/~u91029/DisjointSets.html}{\tt 演算法筆記 }
+
+\begin{DoxyNote}{Note}
+
+\begin{DoxyItemize}
+\item 時間複雜度 {\bfseries 非常快} 表示它真的算的超級快, 可以視為常數時間
+\item 預設值所有 {\itshape number} 所在的集合的編號就是 {\itshape number} 本身, 即沒有任兩個數在同一個set裡面
+\end{DoxyItemize}
+\end{DoxyNote}
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1DisjointSet_a8c55a16b0320c28854ed59795bc2bf3d}{\index{meow\-::\-Disjoint\-Set@{meow\-::\-Disjoint\-Set}!Disjoint\-Set@{Disjoint\-Set}}
+\index{Disjoint\-Set@{Disjoint\-Set}!meow::DisjointSet@{meow\-::\-Disjoint\-Set}}
+\subsubsection[{Disjoint\-Set}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Disjoint\-Set\-::\-Disjoint\-Set (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1DisjointSet_a8c55a16b0320c28854ed59795bc2bf3d}
+
+
+constructor
+
+\hypertarget{classmeow_1_1DisjointSet_af86aee43ff23d616c1c065c0825d000c}{\index{meow\-::\-Disjoint\-Set@{meow\-::\-Disjoint\-Set}!Disjoint\-Set@{Disjoint\-Set}}
+\index{Disjoint\-Set@{Disjoint\-Set}!meow::DisjointSet@{meow\-::\-Disjoint\-Set}}
+\subsubsection[{Disjoint\-Set}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Disjoint\-Set\-::\-Disjoint\-Set (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{n}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1DisjointSet_af86aee43ff23d616c1c065c0825d000c}
+
+
+constructor
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em n} & elements數 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1DisjointSet_ade3ec2924018ac0fd6693e3ae966516f}{\index{meow\-::\-Disjoint\-Set@{meow\-::\-Disjoint\-Set}!Disjoint\-Set@{Disjoint\-Set}}
+\index{Disjoint\-Set@{Disjoint\-Set}!meow::DisjointSet@{meow\-::\-Disjoint\-Set}}
+\subsubsection[{Disjoint\-Set}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Disjoint\-Set\-::\-Disjoint\-Set (
+\begin{DoxyParamCaption}
+\item[{{\bf Disjoint\-Set} const \&}]{dsj}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1DisjointSet_ade3ec2924018ac0fd6693e3ae966516f}
+
+
+constructor
+
+將另一個 {\ttfamily \hyperlink{classmeow_1_1DisjointSet}{Disjoint\-Set}} 原封不動的複製過來
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em dsj} & 另一個 {\ttfamily \hyperlink{classmeow_1_1DisjointSet}{Disjoint\-Set}} \\
+\hline
+\end{DoxyParams}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1DisjointSet_a410399290f718332f5c3df1854182198}{\index{meow\-::\-Disjoint\-Set@{meow\-::\-Disjoint\-Set}!merge@{merge}}
+\index{merge@{merge}!meow::DisjointSet@{meow\-::\-Disjoint\-Set}}
+\subsubsection[{merge}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t meow\-::\-Disjoint\-Set\-::merge (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{a, }
+\item[{size\-\_\-t}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1DisjointSet_a410399290f718332f5c3df1854182198}
+
+
+合併
+
+將 {\itshape number1} 所在的集合 跟 {\bfseries number2} 所在的集合 {\bfseries 合併}, 並回傳合併後新的集合的編號. \par
+ 時間複雜度{\bfseries 非常快}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em a} & 即上述{\itshape number1} \\
+\hline
+\mbox{\tt in} & {\em b} & 即上述{\itshape number2} \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+新的編號
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1DisjointSet_a232841a6d2daeb2b974cd7cb7fe6bfb7}{\index{meow\-::\-Disjoint\-Set@{meow\-::\-Disjoint\-Set}!reset@{reset}}
+\index{reset@{reset}!meow::DisjointSet@{meow\-::\-Disjoint\-Set}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::\-Disjoint\-Set\-::reset (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{n}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1DisjointSet_a232841a6d2daeb2b974cd7cb7fe6bfb7}
+
+
+重設
+
+清空, 並且設定總集合大小為 {\itshape n}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em n} & 重新設定的集合大小 {\itshape n} \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1DisjointSet_a0b66ca7c5e19f640b521630f06b313c1}{\index{meow\-::\-Disjoint\-Set@{meow\-::\-Disjoint\-Set}!root@{root}}
+\index{root@{root}!meow::DisjointSet@{meow\-::\-Disjoint\-Set}}
+\subsubsection[{root}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t meow\-::\-Disjoint\-Set\-::root (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{a}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1DisjointSet_a0b66ca7c5e19f640b521630f06b313c1}
+
+
+回傳指定的number所在的 {\bfseries 集合的編號}
+
+時間複雜度 {\bfseries 超級快}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em a} & 指定的number \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+集合的編號
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1DisjointSet_a1738123f2c0456bec373d4a8422d62b5}{\index{meow\-::\-Disjoint\-Set@{meow\-::\-Disjoint\-Set}!size@{size}}
+\index{size@{size}!meow::DisjointSet@{meow\-::\-Disjoint\-Set}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t meow\-::\-Disjoint\-Set\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1DisjointSet_a1738123f2c0456bec373d4a8422d62b5}
+
+
+回傳總element數
+
+\begin{DoxyReturn}{Returns}
+總element數
+\end{DoxyReturn}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{DisjointSet_8h}{Disjoint\-Set.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1FeaturePoint.eps b/doc/latex/classmeow_1_1FeaturePoint.eps
new file mode 100644
index 0000000..385638b
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePoint.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 151.515152
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 3.300000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::FeaturePoint< Scalar, Description >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::FeaturePoint< Scalar, Description >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1FeaturePoint.pdf b/doc/latex/classmeow_1_1FeaturePoint.pdf
new file mode 100644
index 0000000..ad90eca
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePoint.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1FeaturePoint.tex b/doc/latex/classmeow_1_1FeaturePoint.tex
new file mode 100644
index 0000000..f09396b
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePoint.tex
@@ -0,0 +1,371 @@
+\hypertarget{classmeow_1_1FeaturePoint}{\section{meow\-:\-:Feature\-Point$<$ Scalar, Description $>$ Class Template Reference}
+\label{classmeow_1_1FeaturePoint}\index{meow\-::\-Feature\-Point$<$ Scalar, Description $>$@{meow\-::\-Feature\-Point$<$ Scalar, Description $>$}}
+}
+
+
+特徵點
+
+
+
+
+{\ttfamily \#include \char`\"{}Feature\-Point.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Feature\-Point$<$ Scalar, Description $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1FeaturePoint}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1FeaturePoint_a26dab8fef1872435a64fe1cdfba35fd8}{Feature\-Point} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePoint_a6d2ba1cdc942272027767b1ccde483a3}{Feature\-Point} (size\-\_\-t p\-Dim, size\-\_\-t d\-Dim)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePoint_ad1ba9d0f99f650299347678c54ee08fa}{Feature\-Point} (\hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point} const \&fp)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePoint_a1ce1b82f9c46a33cd0983f502fe166a3}{$\sim$\-Feature\-Point} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point} \& \hyperlink{classmeow_1_1FeaturePoint_af4eb7b53a35a3011954d6d92e364db19}{copy\-From} (\hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point} const \&fp)
+\begin{DoxyCompactList}\small\item\em 複製 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point} \& \hyperlink{classmeow_1_1FeaturePoint_af5e944e79a1dfe6644fe429577734bc4}{reference\-From} (\hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point} const \&fp)
+\begin{DoxyCompactList}\small\item\em 參照 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \& \hyperlink{classmeow_1_1FeaturePoint_ad1f47bfe65ca5174e4e17291aab74cb7}{position} () const
+\begin{DoxyCompactList}\small\item\em 回傳position \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Description $>$ const \& \hyperlink{classmeow_1_1FeaturePoint_a563bdbbea5b633b86666c7e340affbee}{description} () const
+\begin{DoxyCompactList}\small\item\em 回傳description \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \& \hyperlink{classmeow_1_1FeaturePoint_a9c2983fb889eb6ffa1e38f233c78e743}{position} (\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&p) const
+\begin{DoxyCompactList}\small\item\em 修改position \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Description $>$ const \& \hyperlink{classmeow_1_1FeaturePoint_ac8b9a335b295c6ee26d3eb2fc2d946ad}{description} (\hyperlink{classmeow_1_1Vector}{Vector}$<$ Description $>$ const \&d)
+\begin{DoxyCompactList}\small\item\em 修改description \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1FeaturePoint_a1ab9595d5babd2eb1c3b51202b28cdf9}{position} (size\-\_\-t index) const
+\begin{DoxyCompactList}\small\item\em 回傳position的第i個scalar \end{DoxyCompactList}\item
+Description \hyperlink{classmeow_1_1FeaturePoint_aaeda2a79560fb65c74da0141927991bd}{description} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em 回傳description的第i個\-Description \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1FeaturePoint_a9c0722f2de0ea4a34f5f52e477bace9b}{position} (size\-\_\-t i, Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em 修改position的第i個scalar \end{DoxyCompactList}\item
+Description \hyperlink{classmeow_1_1FeaturePoint_a9ec56431823d26785924bda1c9e534f9}{description} (size\-\_\-t i, Description const \&d)
+\begin{DoxyCompactList}\small\item\em 修改description的第i個\-Description \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ \& \hyperlink{classmeow_1_1FeaturePoint_adb4e1f091fb82cdb2fbb6ed50bd3415a}{position\-Get} ()
+\begin{DoxyCompactList}\small\item\em 取得position \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Description $>$ \& \hyperlink{classmeow_1_1FeaturePoint_ab1137db2819c486688872d4af14c4ef6}{description\-Get} ()
+\begin{DoxyCompactList}\small\item\em 取得description \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point} \& \hyperlink{classmeow_1_1FeaturePoint_a2bab58e7d4bb768cd5140db86c448f4c}{operator=} (\hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point} const \&fp)
+\begin{DoxyCompactList}\small\item\em same as copy\-From(fp) \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1FeaturePoint_ab214706427b962a1404ee8fcfefd6465}{operator()} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em same as position(i) \end{DoxyCompactList}\item
+Description \hyperlink{classmeow_1_1FeaturePoint_a54b483836901fd5ad6b3c115f3afda69}{operator\mbox{[}$\,$\mbox{]}} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em same as description(i) \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1FeaturePoint_a54a0ca59d340d0bcd969609a0682d2d9}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\item
+bool \hyperlink{classmeow_1_1FeaturePoint_a48908e47535a5528207f8dff2db85ba4}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1FeaturePoint_a7244e348b529719748d1643a6f11adbf}{create} () const
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1FeaturePoint_a989fc819567e6b430a36351216a1b4b4}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const \&b)
+\item
+char const $\ast$ \hyperlink{classmeow_1_1FeaturePoint_a1ffb238473ef9f745eb79670fc46da13}{ctype} () const
+\item
+std\-::string \hyperlink{classmeow_1_1FeaturePoint_ab6ee7c5a267d5c64e3b021b0397880d1}{type} () const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar, class Description$>$class meow\-::\-Feature\-Point$<$ Scalar, Description $>$}
+
+特徵點
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1FeaturePoint_a26dab8fef1872435a64fe1cdfba35fd8}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!Feature\-Point@{Feature\-Point}}
+\index{Feature\-Point@{Feature\-Point}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{Feature\-Point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::{\bf Feature\-Point} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a26dab8fef1872435a64fe1cdfba35fd8}
+
+
+constructor
+
+\hypertarget{classmeow_1_1FeaturePoint_a6d2ba1cdc942272027767b1ccde483a3}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!Feature\-Point@{Feature\-Point}}
+\index{Feature\-Point@{Feature\-Point}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{Feature\-Point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::{\bf Feature\-Point} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{p\-Dim, }
+\item[{size\-\_\-t}]{d\-Dim}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a6d2ba1cdc942272027767b1ccde483a3}
+
+
+constructor
+
+\hypertarget{classmeow_1_1FeaturePoint_ad1ba9d0f99f650299347678c54ee08fa}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!Feature\-Point@{Feature\-Point}}
+\index{Feature\-Point@{Feature\-Point}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{Feature\-Point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::{\bf Feature\-Point} (
+\begin{DoxyParamCaption}
+\item[{{\bf Feature\-Point}$<$ Scalar, Description $>$ const \&}]{fp}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_ad1ba9d0f99f650299347678c54ee08fa}
+
+
+constructor
+
+\hypertarget{classmeow_1_1FeaturePoint_a1ce1b82f9c46a33cd0983f502fe166a3}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!$\sim$\-Feature\-Point@{$\sim$\-Feature\-Point}}
+\index{$\sim$\-Feature\-Point@{$\sim$\-Feature\-Point}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{$\sim$\-Feature\-Point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::$\sim${\bf Feature\-Point} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a1ce1b82f9c46a33cd0983f502fe166a3}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1FeaturePoint_af4eb7b53a35a3011954d6d92e364db19}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Feature\-Point}\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Feature\-Point}$<$ Scalar, Description $>$ const \&}]{fp}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_af4eb7b53a35a3011954d6d92e364db19}
+
+
+複製
+
+\hypertarget{classmeow_1_1FeaturePoint_a989fc819567e6b430a36351216a1b4b4}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a989fc819567e6b430a36351216a1b4b4}
+\hypertarget{classmeow_1_1FeaturePoint_a7244e348b529719748d1643a6f11adbf}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!create@{create}}
+\index{create@{create}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePoint_a7244e348b529719748d1643a6f11adbf}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePoint_a1ffb238473ef9f745eb79670fc46da13}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ char const$\ast$ {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePoint_a1ffb238473ef9f745eb79670fc46da13}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePoint_a563bdbbea5b633b86666c7e340affbee}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!description@{description}}
+\index{description@{description}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{description}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Vector}$<$Description$>$ const\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::description (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a563bdbbea5b633b86666c7e340affbee}
+
+
+回傳description
+
+\hypertarget{classmeow_1_1FeaturePoint_ac8b9a335b295c6ee26d3eb2fc2d946ad}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!description@{description}}
+\index{description@{description}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{description}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Vector}$<$Description$>$ const\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::description (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Description $>$ const \&}]{d}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_ac8b9a335b295c6ee26d3eb2fc2d946ad}
+
+
+修改description
+
+\hypertarget{classmeow_1_1FeaturePoint_aaeda2a79560fb65c74da0141927991bd}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!description@{description}}
+\index{description@{description}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{description}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ Description {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::description (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_aaeda2a79560fb65c74da0141927991bd}
+
+
+回傳description的第i個\-Description
+
+\hypertarget{classmeow_1_1FeaturePoint_a9ec56431823d26785924bda1c9e534f9}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!description@{description}}
+\index{description@{description}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{description}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ Description {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::description (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Description const \&}]{d}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a9ec56431823d26785924bda1c9e534f9}
+
+
+修改description的第i個\-Description
+
+\hypertarget{classmeow_1_1FeaturePoint_ab1137db2819c486688872d4af14c4ef6}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!description\-Get@{description\-Get}}
+\index{description\-Get@{description\-Get}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{description\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Vector}$<$Description$>$\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::description\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_ab1137db2819c486688872d4af14c4ef6}
+
+
+取得description
+
+\hypertarget{classmeow_1_1FeaturePoint_ab214706427b962a1404ee8fcfefd6465}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ Scalar const\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_ab214706427b962a1404ee8fcfefd6465}
+
+
+same as position(i)
+
+\hypertarget{classmeow_1_1FeaturePoint_a2bab58e7d4bb768cd5140db86c448f4c}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Feature\-Point}\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Feature\-Point}$<$ Scalar, Description $>$ const \&}]{fp}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a2bab58e7d4bb768cd5140db86c448f4c}
+
+
+same as copy\-From(fp)
+
+\hypertarget{classmeow_1_1FeaturePoint_a54b483836901fd5ad6b3c115f3afda69}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
+\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ Description {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::operator\mbox{[}$\,$\mbox{]} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a54b483836901fd5ad6b3c115f3afda69}
+
+
+same as description(i)
+
+\hypertarget{classmeow_1_1FeaturePoint_ad1f47bfe65ca5174e4e17291aab74cb7}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!position@{position}}
+\index{position@{position}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{position}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Vector}$<$Scalar$>$ const\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::position (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_ad1f47bfe65ca5174e4e17291aab74cb7}
+
+
+回傳position
+
+\hypertarget{classmeow_1_1FeaturePoint_a9c2983fb889eb6ffa1e38f233c78e743}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!position@{position}}
+\index{position@{position}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{position}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Vector}$<$Scalar$>$ const\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::position (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{p}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a9c2983fb889eb6ffa1e38f233c78e743}
+
+
+修改position
+
+\hypertarget{classmeow_1_1FeaturePoint_a1ab9595d5babd2eb1c3b51202b28cdf9}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!position@{position}}
+\index{position@{position}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{position}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ Scalar {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::position (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{index}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a1ab9595d5babd2eb1c3b51202b28cdf9}
+
+
+回傳position的第i個scalar
+
+\hypertarget{classmeow_1_1FeaturePoint_a9c0722f2de0ea4a34f5f52e477bace9b}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!position@{position}}
+\index{position@{position}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{position}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ Scalar {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::position (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_a9c0722f2de0ea4a34f5f52e477bace9b}
+
+
+修改position的第i個scalar
+
+\hypertarget{classmeow_1_1FeaturePoint_adb4e1f091fb82cdb2fbb6ed50bd3415a}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!position\-Get@{position\-Get}}
+\index{position\-Get@{position\-Get}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{position\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Vector}$<$Scalar$>$\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::position\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_adb4e1f091fb82cdb2fbb6ed50bd3415a}
+
+
+取得position
+
+\hypertarget{classmeow_1_1FeaturePoint_a48908e47535a5528207f8dff2db85ba4}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!read@{read}}
+\index{read@{read}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ bool {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePoint_a48908e47535a5528207f8dff2db85ba4}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePoint_af5e944e79a1dfe6644fe429577734bc4}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Feature\-Point}\& {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Feature\-Point}$<$ Scalar, Description $>$ const \&}]{fp}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePoint_af5e944e79a1dfe6644fe429577734bc4}
+
+
+參照
+
+\hypertarget{classmeow_1_1FeaturePoint_ab6ee7c5a267d5c64e3b021b0397880d1}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!type@{type}}
+\index{type@{type}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ std\-::string {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePoint_ab6ee7c5a267d5c64e3b021b0397880d1}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePoint_a54a0ca59d340d0bcd969609a0682d2d9}{\index{meow\-::\-Feature\-Point@{meow\-::\-Feature\-Point}!write@{write}}
+\index{write@{write}!meow::FeaturePoint@{meow\-::\-Feature\-Point}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ bool {\bf meow\-::\-Feature\-Point}$<$ Scalar, Description $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePoint_a54a0ca59d340d0bcd969609a0682d2d9}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{FeaturePoint_8h}{Feature\-Point.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1FeaturePointsDetector.eps b/doc/latex/classmeow_1_1FeaturePointsDetector.eps
new file mode 100644
index 0000000..156c028
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsDetector.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 216.606498
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.308333 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::FeaturePointsDetector< Pixel >) cw
+(meow::ObjBase) cw
+(meow::FeaturePointsDetector_Harris< Pixel >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::FeaturePointsDetector< Pixel >) 0.000000 1.000000 box
+ (meow::ObjBase) 0.000000 2.000000 box
+ (meow::FeaturePointsDetector_Harris< Pixel >) 0.000000 0.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
+solid
+1 0.000000 0.250000 out
+solid
+0 0.000000 0.750000 in
diff --git a/doc/latex/classmeow_1_1FeaturePointsDetector.pdf b/doc/latex/classmeow_1_1FeaturePointsDetector.pdf
new file mode 100644
index 0000000..b6b6ca9
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsDetector.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1FeaturePointsDetector.tex b/doc/latex/classmeow_1_1FeaturePointsDetector.tex
new file mode 100644
index 0000000..4d077d0
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsDetector.tex
@@ -0,0 +1,63 @@
+\hypertarget{classmeow_1_1FeaturePointsDetector}{\section{meow\-:\-:Feature\-Points\-Detector$<$ Pixel $>$ Class Template Reference}
+\label{classmeow_1_1FeaturePointsDetector}\index{meow\-::\-Feature\-Points\-Detector$<$ Pixel $>$@{meow\-::\-Feature\-Points\-Detector$<$ Pixel $>$}}
+}
+
+
+{\ttfamily \#include \char`\"{}Feature\-Points\-Detector.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Feature\-Points\-Detector$<$ Pixel $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classmeow_1_1FeaturePointsDetector}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+virtual \hyperlink{classmeow_1_1FeaturePointsDetector_adea2550181cf483dff301c8bbaa9977f}{$\sim$\-Feature\-Points\-Detector} ()
+\item
+virtual std\-::vector\\*
+$<$ \hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point}$<$ \hyperlink{classdouble}{double}, \hyperlink{classdouble}{double} $>$ $>$ \hyperlink{classmeow_1_1FeaturePointsDetector_a1018fe88eac5ab1ceab046f908d0fe07}{detect} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&\-\_\-\-\_\-bitmap) const =0
+\end{DoxyCompactItemize}
+\subsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1FeaturePointsDetector_ad8ce3d515825b6e3b8c4865ebe7c8d76}{Feature\-Points\-Detector} ()
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1FeaturePointsDetector_ad8ce3d515825b6e3b8c4865ebe7c8d76}{\index{meow\-::\-Feature\-Points\-Detector@{meow\-::\-Feature\-Points\-Detector}!Feature\-Points\-Detector@{Feature\-Points\-Detector}}
+\index{Feature\-Points\-Detector@{Feature\-Points\-Detector}!meow::FeaturePointsDetector@{meow\-::\-Feature\-Points\-Detector}}
+\subsubsection[{Feature\-Points\-Detector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf meow\-::\-Feature\-Points\-Detector}$<$ Pixel $>$\-::{\bf Feature\-Points\-Detector} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1FeaturePointsDetector_ad8ce3d515825b6e3b8c4865ebe7c8d76}
+\hypertarget{classmeow_1_1FeaturePointsDetector_adea2550181cf483dff301c8bbaa9977f}{\index{meow\-::\-Feature\-Points\-Detector@{meow\-::\-Feature\-Points\-Detector}!$\sim$\-Feature\-Points\-Detector@{$\sim$\-Feature\-Points\-Detector}}
+\index{$\sim$\-Feature\-Points\-Detector@{$\sim$\-Feature\-Points\-Detector}!meow::FeaturePointsDetector@{meow\-::\-Feature\-Points\-Detector}}
+\subsubsection[{$\sim$\-Feature\-Points\-Detector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ virtual {\bf meow\-::\-Feature\-Points\-Detector}$<$ Pixel $>$\-::$\sim${\bf Feature\-Points\-Detector} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsDetector_adea2550181cf483dff301c8bbaa9977f}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1FeaturePointsDetector_a1018fe88eac5ab1ceab046f908d0fe07}{\index{meow\-::\-Feature\-Points\-Detector@{meow\-::\-Feature\-Points\-Detector}!detect@{detect}}
+\index{detect@{detect}!meow::FeaturePointsDetector@{meow\-::\-Feature\-Points\-Detector}}
+\subsubsection[{detect}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ virtual std\-::vector$<${\bf Feature\-Point}$<${\bf double}, {\bf double}$>$ $>$ {\bf meow\-::\-Feature\-Points\-Detector}$<$ Pixel $>$\-::detect (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{\-\_\-\-\_\-bitmap}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1FeaturePointsDetector_a1018fe88eac5ab1ceab046f908d0fe07}
+
+
+Implemented in \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a73c79a7194bd8438685d6d252f9acf2c}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{FeaturePointsDetector_8h}{Feature\-Points\-Detector.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.eps b/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.eps
new file mode 100644
index 0000000..6f6bd6a
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 216.606498
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.308333 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::FeaturePointsDetector_Harris< Pixel >) cw
+(meow::FeaturePointsDetector< Pixel >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::FeaturePointsDetector_Harris< Pixel >) 0.000000 0.000000 box
+ (meow::FeaturePointsDetector< Pixel >) 0.000000 1.000000 box
+ (meow::ObjBase) 0.000000 2.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
diff --git a/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.pdf b/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.pdf
new file mode 100644
index 0000000..7a72c05
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.tex b/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.tex
new file mode 100644
index 0000000..5b668f4
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsDetector__Harris.tex
@@ -0,0 +1,488 @@
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris}{\section{meow\-:\-:Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$ Class Template Reference}
+\label{classmeow_1_1FeaturePointsDetector__Harris}\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}}
+}
+
+
+Harris corner detect.
+
+
+
+
+{\ttfamily \#include \char`\"{}Feature\-Points\-Detector\-\_\-\-Harris.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classmeow_1_1FeaturePointsDetector__Harris}
+\end{center}
+\end{figure}
+\subsection*{Public Types}
+\begin{DoxyCompactItemize}
+\item
+typedef \hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point}$<$ \hyperlink{classdouble}{double}, \\*
+\hyperlink{classdouble}{double} $>$ \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a6d7cd13c351d03b759fc007da55533bd}{My\-Feature\-Point}
+\item
+typedef std\-::vector\\*
+$<$ \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a6d7cd13c351d03b759fc007da55533bd}{My\-Feature\-Point} $>$ \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ae965b4c2726644be2310cbf153ec8343}{My\-Feature\-Points}
+\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}{F\-P\-D\-\_\-\-Harris} ()
+\begin{DoxyCompactList}\small\item\em constructor 使用預設參數 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a6c985645f3e3c3d649edb72c08168cf3}{F\-P\-D\-\_\-\-Harris} (F\-P\-D\-\_\-\-Harris const \&fps)
+\begin{DoxyCompactList}\small\item\em constructor 參數複製自另一個 \hyperlink{classmeow_1_1FeaturePointsDetector__Harris}{Feature\-Points\-Detector\-\_\-\-Harris} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ad64fc165235876aa681023c3880f708b}{$\sim$\-F\-P\-D\-\_\-\-Harris} ()
+\begin{DoxyCompactList}\small\item\em 解構子 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}{F\-P\-D\-\_\-\-Harris} \& \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_aa0bcd7cc0afbe1dc6fa06eef32c9c1f3}{copy\-From} (\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}{F\-P\-D\-\_\-\-Harris} const \&fps)
+\begin{DoxyCompactList}\small\item\em 複製 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}{F\-P\-D\-\_\-\-Harris} \& \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_aedd26ad4f5ce224bf925271d467aaf06}{reference\-From} (\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}{F\-P\-D\-\_\-\-Harris} const \&fps)
+\begin{DoxyCompactList}\small\item\em 參照 \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a5ba64f79bf3a94d7cf7a3a5a20dceabf}{param\-K} () const
+\begin{DoxyCompactList}\small\item\em K. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a05ec8973f1ea8611c19f7184d3ad5422}{param\-R} () const
+\begin{DoxyCompactList}\small\item\em R. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_afc8cb8cd55dec0769f9cc3486d431772}{param\-W} () const
+\begin{DoxyCompactList}\small\item\em W. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a6670eebe33689042e0e01911763197f2}{param\-N} () const
+\begin{DoxyCompactList}\small\item\em N. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a956719ee4c4620233bb38983b8acf908}{param\-G} () const
+\begin{DoxyCompactList}\small\item\em G. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a24e273bd865b89568e70b4f65bf56806}{param\-L} () const
+\begin{DoxyCompactList}\small\item\em L. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a40f5a7ac2425243fd637ba6ed400820a}{param\-B} () const
+\begin{DoxyCompactList}\small\item\em bound \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_aa5053b3bfc11a7333f84183fef1c0297}{param\-K} (\hyperlink{classdouble}{double} k)
+\begin{DoxyCompactList}\small\item\em K. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_acdb6ae069a9ef7e3f55c3a9666f97cfd}{param\-R} (\hyperlink{classdouble}{double} r)
+\begin{DoxyCompactList}\small\item\em R. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a084adc4ffa9b035c1b83da55e496b683}{param\-W} (\hyperlink{classdouble}{double} w)
+\begin{DoxyCompactList}\small\item\em W. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_af987b2022023708f61c6c7d4bb78e255}{param\-N} (\hyperlink{classdouble}{double} n)
+\begin{DoxyCompactList}\small\item\em N. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0a905f8e6562eca76dbdeee6899c5fec}{param\-L} (\hyperlink{classdouble}{double} l)
+\begin{DoxyCompactList}\small\item\em L. \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0faf2dae43fe1e07b145c04c13e9083f}{param\-G} (\hyperlink{classdouble}{double} g)
+\begin{DoxyCompactList}\small\item\em G. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a5033d1d9c34d0ab2f12408b9c9c33bc8}{param\-B} (size\-\_\-t b)
+\begin{DoxyCompactList}\small\item\em B. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ae965b4c2726644be2310cbf153ec8343}{My\-Feature\-Points} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a73c79a7194bd8438685d6d252f9acf2c}{detect} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp) const
+\begin{DoxyCompactList}\small\item\em 找出特徵點 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}{F\-P\-D\-\_\-\-Harris} \& \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_aab9f554d028c13587d29abe0dc5fa1bd}{operator=} (\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}{F\-P\-D\-\_\-\-Harris} const \&fps)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(fps)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ae965b4c2726644be2310cbf153ec8343}{My\-Feature\-Points} \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ac3d52bb2286377febbe692480e9afa75}{operator()} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily detect(bmp)} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a83d9ec3557a4251dc98dae1ab7146a14}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\begin{DoxyCompactList}\small\item\em 寫到檔案裡 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a3bf522cf08285d1afbaca76c643ea4a7}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\begin{DoxyCompactList}\small\item\em 將資料讀入 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ae7a96030ea8d06322b632c89eb65655d}{create} () const
+\begin{DoxyCompactList}\small\item\em new一個自己 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a51ea4943d3c0515466a801ec63ba44ea}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+char const $\ast$ \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a00be866b3cf9bd2469e0eef32a3b2287}{ctype} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\item
+std\-::string \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ae13f041624113e4b87d49befc2e1d77a}{type} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Pixel$>$class meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}
+
+Harris corner detect.
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Member Typedef Documentation}
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a6d7cd13c351d03b759fc007da55533bd}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!My\-Feature\-Point@{My\-Feature\-Point}}
+\index{My\-Feature\-Point@{My\-Feature\-Point}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{My\-Feature\-Point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ typedef {\bf Feature\-Point}$<${\bf double}, {\bf double}$>$ {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::{\bf My\-Feature\-Point}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a6d7cd13c351d03b759fc007da55533bd}
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_ae965b4c2726644be2310cbf153ec8343}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!My\-Feature\-Points@{My\-Feature\-Points}}
+\index{My\-Feature\-Points@{My\-Feature\-Points}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{My\-Feature\-Points}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ typedef std\-::vector$<${\bf My\-Feature\-Point}$>$ {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::{\bf My\-Feature\-Points}}}\label{classmeow_1_1FeaturePointsDetector__Harris_ae965b4c2726644be2310cbf153ec8343}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_ad64fc165235876aa681023c3880f708b}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!$\sim$\-F\-P\-D\-\_\-\-Harris@{$\sim$\-F\-P\-D\-\_\-\-Harris}}
+\index{$\sim$\-F\-P\-D\-\_\-\-Harris@{$\sim$\-F\-P\-D\-\_\-\-Harris}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{$\sim$\-F\-P\-D\-\_\-\-Harris}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::$\sim${\bf F\-P\-D\-\_\-\-Harris} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_ad64fc165235876aa681023c3880f708b}
+
+
+解構子
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_aa0bcd7cc0afbe1dc6fa06eef32c9c1f3}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf F\-P\-D\-\_\-\-Harris}\& {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf F\-P\-D\-\_\-\-Harris} const \&}]{fps}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_aa0bcd7cc0afbe1dc6fa06eef32c9c1f3}
+
+
+複製
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a51ea4943d3c0515466a801ec63ba44ea}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a51ea4943d3c0515466a801ec63ba44ea}
+
+
+複製資料
+
+\begin{DoxyVerb}輸入型別是 \c ObjBase \c const*
+這裡假設實體其實是 \c FeaturePointsDetector_Harris.
+事實上這個method就只是幫忙轉型然後呼叫原本的\c copyFrom
+\end{DoxyVerb}
+
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 資料來源 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+this
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_ae7a96030ea8d06322b632c89eb65655d}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!create@{create}}
+\index{create@{create}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_ae7a96030ea8d06322b632c89eb65655d}
+
+
+new一個自己
+
+\begin{DoxyReturn}{Returns}
+一個new出來的\-Feature\-Points\-Detector\-\_\-\-Harris$<$\-Pixel$>$
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a00be866b3cf9bd2469e0eef32a3b2287}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ char const$\ast$ {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a00be866b3cf9bd2469e0eef32a3b2287}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily char} {\ttfamily const{\ttfamily $\ast$} 形式的typename}
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a73c79a7194bd8438685d6d252f9acf2c}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!detect@{detect}}
+\index{detect@{detect}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{detect}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf My\-Feature\-Points} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::detect (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a73c79a7194bd8438685d6d252f9acf2c}
+
+
+找出特徵點
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em bmp} & 要抓特徵點的點陣圖 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily std\-::vector$<$Feature\-Point$<$double,double$>$$>$} 型態的一堆特徵點
+\end{DoxyReturn}
+
+
+Implements \hyperlink{classmeow_1_1FeaturePointsDetector_a1018fe88eac5ab1ceab046f908d0fe07}{meow\-::\-Feature\-Points\-Detector$<$ Pixel $>$}.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!F\-P\-D\-\_\-\-Harris@{F\-P\-D\-\_\-\-Harris}}
+\index{F\-P\-D\-\_\-\-Harris@{F\-P\-D\-\_\-\-Harris}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{F\-P\-D\-\_\-\-Harris}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::F\-P\-D\-\_\-\-Harris (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a0f9868d0d8e412908bc28ba56b6eaf9c}
+
+
+constructor 使用預設參數
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a6c985645f3e3c3d649edb72c08168cf3}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!F\-P\-D\-\_\-\-Harris@{F\-P\-D\-\_\-\-Harris}}
+\index{F\-P\-D\-\_\-\-Harris@{F\-P\-D\-\_\-\-Harris}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{F\-P\-D\-\_\-\-Harris}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::F\-P\-D\-\_\-\-Harris (
+\begin{DoxyParamCaption}
+\item[{F\-P\-D\-\_\-\-Harris const \&}]{fps}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a6c985645f3e3c3d649edb72c08168cf3}
+
+
+constructor 參數複製自另一個 \hyperlink{classmeow_1_1FeaturePointsDetector__Harris}{Feature\-Points\-Detector\-\_\-\-Harris}
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_ac3d52bb2286377febbe692480e9afa75}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf My\-Feature\-Points} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_ac3d52bb2286377febbe692480e9afa75}
+
+
+same as {\ttfamily detect(bmp)}
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_aab9f554d028c13587d29abe0dc5fa1bd}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf F\-P\-D\-\_\-\-Harris}\& {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf F\-P\-D\-\_\-\-Harris} const \&}]{fps}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_aab9f554d028c13587d29abe0dc5fa1bd}
+
+
+same as {\ttfamily copy\-From(fps)}
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a40f5a7ac2425243fd637ba6ed400820a}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-B@{param\-B}}
+\index{param\-B@{param\-B}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-B}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ size\-\_\-t {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-B (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a40f5a7ac2425243fd637ba6ed400820a}
+
+
+bound
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a5033d1d9c34d0ab2f12408b9c9c33bc8}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-B@{param\-B}}
+\index{param\-B@{param\-B}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-B}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ size\-\_\-t {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-B (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a5033d1d9c34d0ab2f12408b9c9c33bc8}
+
+
+B.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a956719ee4c4620233bb38983b8acf908}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-G@{param\-G}}
+\index{param\-G@{param\-G}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-G}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-G (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a956719ee4c4620233bb38983b8acf908}
+
+
+G.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a0faf2dae43fe1e07b145c04c13e9083f}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-G@{param\-G}}
+\index{param\-G@{param\-G}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-G}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-G (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{g}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a0faf2dae43fe1e07b145c04c13e9083f}
+
+
+G.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a5ba64f79bf3a94d7cf7a3a5a20dceabf}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-K@{param\-K}}
+\index{param\-K@{param\-K}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-K}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-K (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a5ba64f79bf3a94d7cf7a3a5a20dceabf}
+
+
+K.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_aa5053b3bfc11a7333f84183fef1c0297}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-K@{param\-K}}
+\index{param\-K@{param\-K}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-K}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-K (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_aa5053b3bfc11a7333f84183fef1c0297}
+
+
+K.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a24e273bd865b89568e70b4f65bf56806}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-L@{param\-L}}
+\index{param\-L@{param\-L}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-L}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-L (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a24e273bd865b89568e70b4f65bf56806}
+
+
+L.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a0a905f8e6562eca76dbdeee6899c5fec}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-L@{param\-L}}
+\index{param\-L@{param\-L}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-L}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-L (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{l}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a0a905f8e6562eca76dbdeee6899c5fec}
+
+
+L.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a6670eebe33689042e0e01911763197f2}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-N@{param\-N}}
+\index{param\-N@{param\-N}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-N}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-N (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a6670eebe33689042e0e01911763197f2}
+
+
+N.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_af987b2022023708f61c6c7d4bb78e255}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-N@{param\-N}}
+\index{param\-N@{param\-N}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-N}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-N (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{n}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_af987b2022023708f61c6c7d4bb78e255}
+
+
+N.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a05ec8973f1ea8611c19f7184d3ad5422}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-R@{param\-R}}
+\index{param\-R@{param\-R}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-R}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-R (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a05ec8973f1ea8611c19f7184d3ad5422}
+
+
+R.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_acdb6ae069a9ef7e3f55c3a9666f97cfd}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-R@{param\-R}}
+\index{param\-R@{param\-R}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-R}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-R (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{r}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_acdb6ae069a9ef7e3f55c3a9666f97cfd}
+
+
+R.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_afc8cb8cd55dec0769f9cc3486d431772}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-W@{param\-W}}
+\index{param\-W@{param\-W}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-W}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-W (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_afc8cb8cd55dec0769f9cc3486d431772}
+
+
+W.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a084adc4ffa9b035c1b83da55e496b683}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!param\-W@{param\-W}}
+\index{param\-W@{param\-W}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{param\-W}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf double} {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::param\-W (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{w}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a084adc4ffa9b035c1b83da55e496b683}
+
+
+W.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a3bf522cf08285d1afbaca76c643ea4a7}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!read@{read}}
+\index{read@{read}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ bool {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a3bf522cf08285d1afbaca76c643ea4a7}
+
+
+將資料讀入
+
+未完成
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_aedd26ad4f5ce224bf925271d467aaf06}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf F\-P\-D\-\_\-\-Harris}\& {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf F\-P\-D\-\_\-\-Harris} const \&}]{fps}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_aedd26ad4f5ce224bf925271d467aaf06}
+
+
+參照
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_ae13f041624113e4b87d49befc2e1d77a}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!type@{type}}
+\index{type@{type}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ std\-::string {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_ae13f041624113e4b87d49befc2e1d77a}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily std\-::string} 形式的typename
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsDetector__Harris_a83d9ec3557a4251dc98dae1ab7146a14}{\index{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}!write@{write}}
+\index{write@{write}!meow::FeaturePointsDetector_Harris@{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ bool {\bf meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris}$<$ Pixel $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsDetector__Harris_a83d9ec3557a4251dc98dae1ab7146a14}
+
+
+寫到檔案裡
+
+未完成
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{FeaturePointsDetector__Harris_8h}{Feature\-Points\-Detector\-\_\-\-Harris.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1FeaturePointsMatch.eps b/doc/latex/classmeow_1_1FeaturePointsMatch.eps
new file mode 100644
index 0000000..211904e
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsMatch.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 165.745856
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 3.016667 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::FeaturePointsMatch< Scalar, Description >) cw
+(meow::ObjBase) cw
+(meow::FeaturePointsMatch_K_Match< Scalar, Description >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::FeaturePointsMatch< Scalar, Description >) 0.000000 1.000000 box
+ (meow::ObjBase) 0.000000 2.000000 box
+ (meow::FeaturePointsMatch_K_Match< Scalar, Description >) 0.000000 0.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
+solid
+1 0.000000 0.250000 out
+solid
+0 0.000000 0.750000 in
diff --git a/doc/latex/classmeow_1_1FeaturePointsMatch.pdf b/doc/latex/classmeow_1_1FeaturePointsMatch.pdf
new file mode 100644
index 0000000..5b3c330
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsMatch.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1FeaturePointsMatch.tex b/doc/latex/classmeow_1_1FeaturePointsMatch.tex
new file mode 100644
index 0000000..a31d650
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsMatch.tex
@@ -0,0 +1,127 @@
+\hypertarget{classmeow_1_1FeaturePointsMatch}{\section{meow\-:\-:Feature\-Points\-Match$<$ Scalar, Description $>$ Class Template Reference}
+\label{classmeow_1_1FeaturePointsMatch}\index{meow\-::\-Feature\-Points\-Match$<$ Scalar, Description $>$@{meow\-::\-Feature\-Points\-Match$<$ Scalar, Description $>$}}
+}
+
+
+{\ttfamily \#include \char`\"{}Feature\-Points\-Match.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Feature\-Points\-Match$<$ Scalar, Description $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classmeow_1_1FeaturePointsMatch}
+\end{center}
+\end{figure}
+\subsection*{Public Types}
+\begin{DoxyCompactItemize}
+\item
+typedef std\-::vector\\*
+$<$ \hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point}$<$ Scalar, \\*
+Description $>$ $>$ \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points}
+\item
+typedef std\-::vector\\*
+$<$ \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points} $>$ \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss}
+\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+virtual \hyperlink{classmeow_1_1FeaturePointsMatch_a8b90a39f83d8b86e324eab3cb45064a2}{$\sim$\-Feature\-Points\-Match} ()
+\item
+virtual \hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs} \hyperlink{classmeow_1_1FeaturePointsMatch_aa16339c126971f455938bbb70ec2626a}{match} (size\-\_\-t dimension, \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points} const \&from, \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points} const \&to) const =0
+\item
+virtual \hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs} \hyperlink{classmeow_1_1FeaturePointsMatch_a474944b0cb2371aabb0f41164afa90fd}{match} (size\-\_\-t dimension, \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points} const \&from, \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss} const \&to) const =0
+\item
+virtual \hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs} \hyperlink{classmeow_1_1FeaturePointsMatch_ae5a6610fe39f727fc9f6ca0f5603ed6b}{match} (size\-\_\-t dimension, \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss} const \&from, \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss} const \&to) const =0
+\item
+virtual \hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs} \hyperlink{classmeow_1_1FeaturePointsMatch_ae7bd29fe1ddfca20ee140268f354ccba}{match} (size\-\_\-t dimension, \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss} const \&fpss) const =0
+\end{DoxyCompactItemize}
+\subsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1FeaturePointsMatch_a474b17d1df14547565c6536a73e8484d}{Feature\-Points\-Match} ()
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Member Typedef Documentation}
+\hypertarget{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{\index{meow\-::\-Feature\-Points\-Match@{meow\-::\-Feature\-Points\-Match}!Feature\-Points@{Feature\-Points}}
+\index{Feature\-Points@{Feature\-Points}!meow::FeaturePointsMatch@{meow\-::\-Feature\-Points\-Match}}
+\subsubsection[{Feature\-Points}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ typedef std\-::vector$<${\bf Feature\-Point}$<$Scalar, Description$>$ $>$ {\bf meow\-::\-Feature\-Points\-Match}$<$ Scalar, Description $>$\-::{\bf Feature\-Points}}}\label{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}
+\hypertarget{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{\index{meow\-::\-Feature\-Points\-Match@{meow\-::\-Feature\-Points\-Match}!Feature\-Pointss@{Feature\-Pointss}}
+\index{Feature\-Pointss@{Feature\-Pointss}!meow::FeaturePointsMatch@{meow\-::\-Feature\-Points\-Match}}
+\subsubsection[{Feature\-Pointss}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ typedef std\-::vector$<${\bf Feature\-Points} $>$ {\bf meow\-::\-Feature\-Points\-Match}$<$ Scalar, Description $>$\-::{\bf Feature\-Pointss}}}\label{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1FeaturePointsMatch_a474b17d1df14547565c6536a73e8484d}{\index{meow\-::\-Feature\-Points\-Match@{meow\-::\-Feature\-Points\-Match}!Feature\-Points\-Match@{Feature\-Points\-Match}}
+\index{Feature\-Points\-Match@{Feature\-Points\-Match}!meow::FeaturePointsMatch@{meow\-::\-Feature\-Points\-Match}}
+\subsubsection[{Feature\-Points\-Match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Points\-Match}$<$ Scalar, Description $>$\-::{\bf Feature\-Points\-Match} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1FeaturePointsMatch_a474b17d1df14547565c6536a73e8484d}
+\hypertarget{classmeow_1_1FeaturePointsMatch_a8b90a39f83d8b86e324eab3cb45064a2}{\index{meow\-::\-Feature\-Points\-Match@{meow\-::\-Feature\-Points\-Match}!$\sim$\-Feature\-Points\-Match@{$\sim$\-Feature\-Points\-Match}}
+\index{$\sim$\-Feature\-Points\-Match@{$\sim$\-Feature\-Points\-Match}!meow::FeaturePointsMatch@{meow\-::\-Feature\-Points\-Match}}
+\subsubsection[{$\sim$\-Feature\-Points\-Match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ virtual {\bf meow\-::\-Feature\-Points\-Match}$<$ Scalar, Description $>$\-::$\sim${\bf Feature\-Points\-Match} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch_a8b90a39f83d8b86e324eab3cb45064a2}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1FeaturePointsMatch_aa16339c126971f455938bbb70ec2626a}{\index{meow\-::\-Feature\-Points\-Match@{meow\-::\-Feature\-Points\-Match}!match@{match}}
+\index{match@{match}!meow::FeaturePointsMatch@{meow\-::\-Feature\-Points\-Match}}
+\subsubsection[{match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ virtual {\bf Feature\-Point\-Index\-Pairs} {\bf meow\-::\-Feature\-Points\-Match}$<$ Scalar, Description $>$\-::match (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{{\bf Feature\-Points} const \&}]{from, }
+\item[{{\bf Feature\-Points} const \&}]{to}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1FeaturePointsMatch_aa16339c126971f455938bbb70ec2626a}
+
+
+Implemented in \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a2ff2134f80203305304dd4a406bfbdba}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch_a474944b0cb2371aabb0f41164afa90fd}{\index{meow\-::\-Feature\-Points\-Match@{meow\-::\-Feature\-Points\-Match}!match@{match}}
+\index{match@{match}!meow::FeaturePointsMatch@{meow\-::\-Feature\-Points\-Match}}
+\subsubsection[{match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ virtual {\bf Feature\-Point\-Index\-Pairs} {\bf meow\-::\-Feature\-Points\-Match}$<$ Scalar, Description $>$\-::match (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{{\bf Feature\-Points} const \&}]{from, }
+\item[{{\bf Feature\-Pointss} const \&}]{to}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1FeaturePointsMatch_a474944b0cb2371aabb0f41164afa90fd}
+
+
+Implemented in \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a08db3f32030af64ac738a21ac915e5bb}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch_ae5a6610fe39f727fc9f6ca0f5603ed6b}{\index{meow\-::\-Feature\-Points\-Match@{meow\-::\-Feature\-Points\-Match}!match@{match}}
+\index{match@{match}!meow::FeaturePointsMatch@{meow\-::\-Feature\-Points\-Match}}
+\subsubsection[{match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ virtual {\bf Feature\-Point\-Index\-Pairs} {\bf meow\-::\-Feature\-Points\-Match}$<$ Scalar, Description $>$\-::match (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{{\bf Feature\-Pointss} const \&}]{from, }
+\item[{{\bf Feature\-Pointss} const \&}]{to}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1FeaturePointsMatch_ae5a6610fe39f727fc9f6ca0f5603ed6b}
+
+
+Implemented in \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_aee934fd68801d6612cfabe4742d3f1cb}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch_ae7bd29fe1ddfca20ee140268f354ccba}{\index{meow\-::\-Feature\-Points\-Match@{meow\-::\-Feature\-Points\-Match}!match@{match}}
+\index{match@{match}!meow::FeaturePointsMatch@{meow\-::\-Feature\-Points\-Match}}
+\subsubsection[{match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ virtual {\bf Feature\-Point\-Index\-Pairs} {\bf meow\-::\-Feature\-Points\-Match}$<$ Scalar, Description $>$\-::match (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{{\bf Feature\-Pointss} const \&}]{fpss}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1FeaturePointsMatch_ae7bd29fe1ddfca20ee140268f354ccba}
+
+
+Implemented in \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_ae8ea7cbe57606eac89b5709058ea8f61}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{FeaturePointsMatch_8h}{Feature\-Points\-Match.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.eps b/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.eps
new file mode 100644
index 0000000..6522104
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 165.745856
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 3.016667 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::FeaturePointsMatch_K_Match< Scalar, Description >) cw
+(meow::FeaturePointsMatch< Scalar, Description >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::FeaturePointsMatch_K_Match< Scalar, Description >) 0.000000 0.000000 box
+ (meow::FeaturePointsMatch< Scalar, Description >) 0.000000 1.000000 box
+ (meow::ObjBase) 0.000000 2.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
diff --git a/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.pdf b/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.pdf
new file mode 100644
index 0000000..1b94a3b
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.tex b/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.tex
new file mode 100644
index 0000000..3b32e62
--- /dev/null
+++ b/doc/latex/classmeow_1_1FeaturePointsMatch__K__Match.tex
@@ -0,0 +1,269 @@
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match}{\section{meow\-:\-:Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$ Class Template Reference}
+\label{classmeow_1_1FeaturePointsMatch__K__Match}\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}}
+}
+
+
+{\ttfamily \#include \char`\"{}Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classmeow_1_1FeaturePointsMatch__K__Match}
+\end{center}
+\end{figure}
+\subsection*{Public Types}
+\begin{DoxyCompactItemize}
+\item
+typedef std\-::vector\\*
+$<$ \hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point}$<$ Scalar, \\*
+Description $>$ $>$ \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_aa32d28d84f9b83a28d2fa2d2c2cb8244}{Feature\-Points}
+\item
+typedef std\-::vector\\*
+$<$ \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points} $>$ \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a92fe94701cf2c24812c8ea54e81a1b8a}{Feature\-Pointss}
+\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}{F\-P\-M\-K\-M} ()
+\item
+\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_aa67e41546eb54e64fea560f5d0e50586}{F\-P\-M\-K\-M} (F\-P\-M\-K\-M const \&m)
+\item
+\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a42dcafedd8ed16536de65bedbda0a0ed}{F\-P\-M\-K\-M} (size\-\_\-t k)
+\item
+\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_ac9b46623e4ce1005936db8631d91df50}{$\sim$\-F\-P\-M\-K\-M} ()
+\item
+\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}{F\-P\-M\-K\-M} \& \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a2c5ee9a105e6c74bf54e061f5cc04c21}{copy\-From} (\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}{F\-P\-M\-K\-M} const \&m)
+\item
+\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}{F\-P\-M\-K\-M} \& \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a881f9a17c264659c2604a79c1ae81286}{reference\-From} (\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}{F\-P\-M\-K\-M} const \&m)
+\item
+size\-\_\-t \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a4583b168a21acc27691d32b86f291534}{param\-K} () const
+\item
+size\-\_\-t \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_acd541d95ffe2de170c757b401fc00013}{param\-K} (size\-\_\-t k)
+\item
+\hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs} \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a2ff2134f80203305304dd4a406bfbdba}{match} (size\-\_\-t dimension, \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points} const \&from, \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points} const \&to) const
+\item
+\hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs} \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a08db3f32030af64ac738a21ac915e5bb}{match} (size\-\_\-t dimension, \hyperlink{classmeow_1_1FeaturePointsMatch_aabbd59cc0e43b1b436f9e61205d39e72}{Feature\-Points} const \&from, \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss} const \&to) const
+\item
+\hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs} \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_aee934fd68801d6612cfabe4742d3f1cb}{match} (size\-\_\-t dimension, \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss} const \&from, \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss} const \&to) const
+\item
+\hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs} \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_ae8ea7cbe57606eac89b5709058ea8f61}{match} (size\-\_\-t dimension, \hyperlink{classmeow_1_1FeaturePointsMatch_a20914f57403c2a810601320b6a0f0715}{Feature\-Pointss} const \&fpss) const
+\item
+\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}{F\-P\-M\-K\-M} \& \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a11beaa0b96effbc990c3d7d3c6922e9a}{operator=} (\hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}{F\-P\-M\-K\-M} const \&b)
+\item
+bool \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_acbdc25595aeb8280c11543fec230e1a6}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\item
+bool \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a207813017b7eab06672ec324968e6caa}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_aaa320097355fccd00677bd0413935ee5}{create} () const
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_ab5aa47ae36052a5916515a2e504f2c53}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$ptr)
+\item
+char const $\ast$ \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a2c89f6a79cba1b477c31e294ec7d9c71}{ctype} () const
+\item
+std\-::string \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_ab10e50514ac4b0de505800b1894dbb0a}{type} () const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Member Typedef Documentation}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_aa32d28d84f9b83a28d2fa2d2c2cb8244}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!Feature\-Points@{Feature\-Points}}
+\index{Feature\-Points@{Feature\-Points}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{Feature\-Points}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ typedef std\-::vector$<${\bf Feature\-Point}$<$Scalar, Description$>$ $>$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::{\bf Feature\-Points}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_aa32d28d84f9b83a28d2fa2d2c2cb8244}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a92fe94701cf2c24812c8ea54e81a1b8a}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!Feature\-Pointss@{Feature\-Pointss}}
+\index{Feature\-Pointss@{Feature\-Pointss}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{Feature\-Pointss}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ typedef std\-::vector$<${\bf Feature\-Points} $>$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::{\bf Feature\-Pointss}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a92fe94701cf2c24812c8ea54e81a1b8a}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_ac9b46623e4ce1005936db8631d91df50}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!$\sim$\-F\-P\-M\-K\-M@{$\sim$\-F\-P\-M\-K\-M}}
+\index{$\sim$\-F\-P\-M\-K\-M@{$\sim$\-F\-P\-M\-K\-M}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{$\sim$\-F\-P\-M\-K\-M}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::$\sim${\bf F\-P\-M\-K\-M} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_ac9b46623e4ce1005936db8631d91df50}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a2c5ee9a105e6c74bf54e061f5cc04c21}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf F\-P\-M\-K\-M}\& {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf F\-P\-M\-K\-M} const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a2c5ee9a105e6c74bf54e061f5cc04c21}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_ab5aa47ae36052a5916515a2e504f2c53}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{ptr}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_ab5aa47ae36052a5916515a2e504f2c53}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_aaa320097355fccd00677bd0413935ee5}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!create@{create}}
+\index{create@{create}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_aaa320097355fccd00677bd0413935ee5}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a2c89f6a79cba1b477c31e294ec7d9c71}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ char const$\ast$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a2c89f6a79cba1b477c31e294ec7d9c71}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!F\-P\-M\-K\-M@{F\-P\-M\-K\-M}}
+\index{F\-P\-M\-K\-M@{F\-P\-M\-K\-M}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{F\-P\-M\-K\-M}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::F\-P\-M\-K\-M (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a6e657c4cb57c418e39ed91b35aae448c}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_aa67e41546eb54e64fea560f5d0e50586}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!F\-P\-M\-K\-M@{F\-P\-M\-K\-M}}
+\index{F\-P\-M\-K\-M@{F\-P\-M\-K\-M}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{F\-P\-M\-K\-M}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::F\-P\-M\-K\-M (
+\begin{DoxyParamCaption}
+\item[{F\-P\-M\-K\-M const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_aa67e41546eb54e64fea560f5d0e50586}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a42dcafedd8ed16536de65bedbda0a0ed}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!F\-P\-M\-K\-M@{F\-P\-M\-K\-M}}
+\index{F\-P\-M\-K\-M@{F\-P\-M\-K\-M}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{F\-P\-M\-K\-M}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::F\-P\-M\-K\-M (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a42dcafedd8ed16536de65bedbda0a0ed}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a2ff2134f80203305304dd4a406bfbdba}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!match@{match}}
+\index{match@{match}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Feature\-Point\-Index\-Pairs} {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::match (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{{\bf Feature\-Points} const \&}]{from, }
+\item[{{\bf Feature\-Points} const \&}]{to}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a2ff2134f80203305304dd4a406bfbdba}
+
+
+Implements \hyperlink{classmeow_1_1FeaturePointsMatch_aa16339c126971f455938bbb70ec2626a}{meow\-::\-Feature\-Points\-Match$<$ Scalar, Description $>$}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a08db3f32030af64ac738a21ac915e5bb}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!match@{match}}
+\index{match@{match}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Feature\-Point\-Index\-Pairs} {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::match (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{{\bf Feature\-Points} const \&}]{from, }
+\item[{{\bf Feature\-Pointss} const \&}]{to}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a08db3f32030af64ac738a21ac915e5bb}
+
+
+Implements \hyperlink{classmeow_1_1FeaturePointsMatch_a474944b0cb2371aabb0f41164afa90fd}{meow\-::\-Feature\-Points\-Match$<$ Scalar, Description $>$}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_aee934fd68801d6612cfabe4742d3f1cb}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!match@{match}}
+\index{match@{match}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Feature\-Point\-Index\-Pairs} {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::match (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{{\bf Feature\-Pointss} const \&}]{from, }
+\item[{{\bf Feature\-Pointss} const \&}]{to}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_aee934fd68801d6612cfabe4742d3f1cb}
+
+
+Implements \hyperlink{classmeow_1_1FeaturePointsMatch_ae5a6610fe39f727fc9f6ca0f5603ed6b}{meow\-::\-Feature\-Points\-Match$<$ Scalar, Description $>$}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_ae8ea7cbe57606eac89b5709058ea8f61}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!match@{match}}
+\index{match@{match}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{match}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf Feature\-Point\-Index\-Pairs} {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::match (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{{\bf Feature\-Pointss} const \&}]{fpss}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_ae8ea7cbe57606eac89b5709058ea8f61}
+
+
+Implements \hyperlink{classmeow_1_1FeaturePointsMatch_ae7bd29fe1ddfca20ee140268f354ccba}{meow\-::\-Feature\-Points\-Match$<$ Scalar, Description $>$}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a11beaa0b96effbc990c3d7d3c6922e9a}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf F\-P\-M\-K\-M}\& {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf F\-P\-M\-K\-M} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a11beaa0b96effbc990c3d7d3c6922e9a}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a4583b168a21acc27691d32b86f291534}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!param\-K@{param\-K}}
+\index{param\-K@{param\-K}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{param\-K}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ size\-\_\-t {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::param\-K (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a4583b168a21acc27691d32b86f291534}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_acd541d95ffe2de170c757b401fc00013}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!param\-K@{param\-K}}
+\index{param\-K@{param\-K}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{param\-K}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ size\-\_\-t {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::param\-K (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_acd541d95ffe2de170c757b401fc00013}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a207813017b7eab06672ec324968e6caa}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!read@{read}}
+\index{read@{read}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ bool {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a207813017b7eab06672ec324968e6caa}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_a881f9a17c264659c2604a79c1ae81286}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ {\bf F\-P\-M\-K\-M}\& {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf F\-P\-M\-K\-M} const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_a881f9a17c264659c2604a79c1ae81286}
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_ab10e50514ac4b0de505800b1894dbb0a}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!type@{type}}
+\index{type@{type}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ std\-::string {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_ab10e50514ac4b0de505800b1894dbb0a}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1FeaturePointsMatch__K__Match_acbdc25595aeb8280c11543fec230e1a6}{\index{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}!write@{write}}
+\index{write@{write}!meow::FeaturePointsMatch_K_Match@{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class Description $>$ bool {\bf meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}$<$ Scalar, Description $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1FeaturePointsMatch__K__Match_acbdc25595aeb8280c11543fec230e1a6}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{FeaturePointsMatch__K__Match_8h}{Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1HSLf__Space.eps b/doc/latex/classmeow_1_1HSLf__Space.eps
new file mode 100644
index 0000000..cf26ab0
--- /dev/null
+++ b/doc/latex/classmeow_1_1HSLf__Space.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 199.004975
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.512500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::HSLf_Space) cw
+(meow::Color3_Space< double >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::HSLf_Space) 0.000000 0.000000 box
+ (meow::Color3_Space< double >) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1HSLf__Space.pdf b/doc/latex/classmeow_1_1HSLf__Space.pdf
new file mode 100644
index 0000000..ea1ca1a
--- /dev/null
+++ b/doc/latex/classmeow_1_1HSLf__Space.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1HSLf__Space.tex b/doc/latex/classmeow_1_1HSLf__Space.tex
new file mode 100644
index 0000000..ddad316
--- /dev/null
+++ b/doc/latex/classmeow_1_1HSLf__Space.tex
@@ -0,0 +1,323 @@
+\hypertarget{classmeow_1_1HSLf__Space}{\section{meow\-:\-:H\-S\-Lf\-\_\-\-Space Class Reference}
+\label{classmeow_1_1HSLf__Space}\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+}
+
+
+以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間
+
+
+
+
+{\ttfamily \#include \char`\"{}H\-S\-L\-\_\-\-Space.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:H\-S\-Lf\-\_\-\-Space\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1HSLf__Space}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1HSLf__Space_a5920c0fc93e0481957c629c47d302849}{H\-S\-Lf\-\_\-\-Space} ()
+\item
+\hyperlink{classmeow_1_1HSLf__Space_aa210413146f56ae8106649f879139128}{H\-S\-Lf\-\_\-\-Space} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classmeow_1_1HSLf__Space_ad7dea28eaf17078b39008e96b7df7d8f}{H\-S\-Lf\-\_\-\-Space} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&v)
+\item
+\hyperlink{classmeow_1_1HSLf__Space_a5c5eb948c40916f2f49c5004d84776b5}{H\-S\-Lf\-\_\-\-Space} (H\-S\-L\-\_\-\-Space const \&b)
+\item
+\hyperlink{classmeow_1_1HSLf__Space_a1859ba937aa097dcd627b7b2349a262f}{$\sim$\-H\-S\-Lf\-\_\-\-Space} ()
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_ae97959215ff50cc62af6a309226a0061}{hsl\-Min} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_ae8cdb0610e7c4c7c8cae0071e89190a1}{h\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_aa6f73697310484b178c2dac3acdf4f4b}{s\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a41ab2ddd1544632a138e2660e4c9152a}{l\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a93487838e17ee5ff1e586d0253ada7c6}{hsl\-Max} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a145882c607f9029859eb418ce979b64c}{h\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_ac04d25efca77d6e53ddb5de801593ea2}{s\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a93c3d32fd0bc4aab24835409688cdf72}{l\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a7bfcdff0e263e1fc668378e62fcc7bbe}{hsl} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a1aca0fee7322efd313d6b070b580d0ad}{h} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a8f7487b203cd3be19b08a6c80d33d5d2}{s} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_ae7e4b58fd85ace76a0979a3c7e14407c}{l} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a28f6cd1737415fb043fccacc39686efe}{hsl} (size\-\_\-t i, \hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a8379a7dec9f95eac7908b6b4c0aff98e}{h} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_ae6de1c7bf42d04c0f982a58df3bdb4d3}{s} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSLf__Space_a639c043bb6ba788ad2ea183e59643cdf}{l} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1HSLf__Space_ae5299a5b58224fcf600812cbcebb7031}{hsl\-Get} (size\-\_\-t i)
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1HSLf__Space_a12fa00864b6e4ed1b129f3d98506772d}{h\-Get} ()
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1HSLf__Space_adb7cc82245b20e389d02224ac99444f2}{s\-Get} ()
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1HSLf__Space_a5dd4d3ea93f86b627d51936b7388da44}{l\-Get} ()
+\item
+\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} \& \hyperlink{classmeow_1_1HSLf__Space_a3d4ccb8d33991e2edb64904669d2a21c}{operator=} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&b)
+\item
+\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} \hyperlink{classmeow_1_1HSLf__Space_a98d1df6b95a2893d02251119ef186b02}{operator+} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&b) const
+\item
+\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} \hyperlink{classmeow_1_1HSLf__Space_aa6fcf6ef67c2f37e998486e36dc4a0aa}{operator-\/} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&b) const
+\item
+\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} \hyperlink{classmeow_1_1HSLf__Space_a4cdbbac5bcfbcd5546e41d1c1480fad4}{operator$\ast$} (\hyperlink{classdouble}{double} const \&c) const
+\item
+\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} \hyperlink{classmeow_1_1HSLf__Space_a88eb3f94b211a3e29c80c334f0f8e963}{operator/} (\hyperlink{classdouble}{double} const \&c) const
+\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1HSLf__Space_abc883a59f2eeeffc84a9560558cd6619}{operator$\ast$} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&b) const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間
+
+其中範圍都介於0.0$\sim$1.0之間
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1HSLf__Space_a5920c0fc93e0481957c629c47d302849}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!H\-S\-Lf\-\_\-\-Space@{H\-S\-Lf\-\_\-\-Space}}
+\index{H\-S\-Lf\-\_\-\-Space@{H\-S\-Lf\-\_\-\-Space}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{H\-S\-Lf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Lf\-\_\-\-Space\-::\-H\-S\-Lf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a5920c0fc93e0481957c629c47d302849}
+\hypertarget{classmeow_1_1HSLf__Space_aa210413146f56ae8106649f879139128}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!H\-S\-Lf\-\_\-\-Space@{H\-S\-Lf\-\_\-\-Space}}
+\index{H\-S\-Lf\-\_\-\-Space@{H\-S\-Lf\-\_\-\-Space}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{H\-S\-Lf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Lf\-\_\-\-Space\-::\-H\-S\-Lf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_aa210413146f56ae8106649f879139128}
+\hypertarget{classmeow_1_1HSLf__Space_ad7dea28eaf17078b39008e96b7df7d8f}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!H\-S\-Lf\-\_\-\-Space@{H\-S\-Lf\-\_\-\-Space}}
+\index{H\-S\-Lf\-\_\-\-Space@{H\-S\-Lf\-\_\-\-Space}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{H\-S\-Lf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Lf\-\_\-\-Space\-::\-H\-S\-Lf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_ad7dea28eaf17078b39008e96b7df7d8f}
+\hypertarget{classmeow_1_1HSLf__Space_a5c5eb948c40916f2f49c5004d84776b5}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!H\-S\-Lf\-\_\-\-Space@{H\-S\-Lf\-\_\-\-Space}}
+\index{H\-S\-Lf\-\_\-\-Space@{H\-S\-Lf\-\_\-\-Space}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{H\-S\-Lf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Lf\-\_\-\-Space\-::\-H\-S\-Lf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{H\-S\-L\-\_\-\-Space const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a5c5eb948c40916f2f49c5004d84776b5}
+\hypertarget{classmeow_1_1HSLf__Space_a1859ba937aa097dcd627b7b2349a262f}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!$\sim$\-H\-S\-Lf\-\_\-\-Space@{$\sim$\-H\-S\-Lf\-\_\-\-Space}}
+\index{$\sim$\-H\-S\-Lf\-\_\-\-Space@{$\sim$\-H\-S\-Lf\-\_\-\-Space}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{$\sim$\-H\-S\-Lf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Lf\-\_\-\-Space\-::$\sim$\-H\-S\-Lf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a1859ba937aa097dcd627b7b2349a262f}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1HSLf__Space_a1aca0fee7322efd313d6b070b580d0ad}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!h@{h}}
+\index{h@{h}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{h}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::h (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a1aca0fee7322efd313d6b070b580d0ad}
+\hypertarget{classmeow_1_1HSLf__Space_a8379a7dec9f95eac7908b6b4c0aff98e}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!h@{h}}
+\index{h@{h}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{h}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::h (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a8379a7dec9f95eac7908b6b4c0aff98e}
+\hypertarget{classmeow_1_1HSLf__Space_a12fa00864b6e4ed1b129f3d98506772d}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!h\-Get@{h\-Get}}
+\index{h\-Get@{h\-Get}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{h\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::h\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a12fa00864b6e4ed1b129f3d98506772d}
+\hypertarget{classmeow_1_1HSLf__Space_a145882c607f9029859eb418ce979b64c}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!h\-Max@{h\-Max}}
+\index{h\-Max@{h\-Max}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{h\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::h\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a145882c607f9029859eb418ce979b64c}
+\hypertarget{classmeow_1_1HSLf__Space_ae8cdb0610e7c4c7c8cae0071e89190a1}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!h\-Min@{h\-Min}}
+\index{h\-Min@{h\-Min}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{h\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::h\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_ae8cdb0610e7c4c7c8cae0071e89190a1}
+\hypertarget{classmeow_1_1HSLf__Space_a7bfcdff0e263e1fc668378e62fcc7bbe}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!hsl@{hsl}}
+\index{hsl@{hsl}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{hsl}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::hsl (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a7bfcdff0e263e1fc668378e62fcc7bbe}
+\hypertarget{classmeow_1_1HSLf__Space_a28f6cd1737415fb043fccacc39686efe}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!hsl@{hsl}}
+\index{hsl@{hsl}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{hsl}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::hsl (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a28f6cd1737415fb043fccacc39686efe}
+\hypertarget{classmeow_1_1HSLf__Space_ae5299a5b58224fcf600812cbcebb7031}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!hsl\-Get@{hsl\-Get}}
+\index{hsl\-Get@{hsl\-Get}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{hsl\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::hsl\-Get (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_ae5299a5b58224fcf600812cbcebb7031}
+\hypertarget{classmeow_1_1HSLf__Space_a93487838e17ee5ff1e586d0253ada7c6}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!hsl\-Max@{hsl\-Max}}
+\index{hsl\-Max@{hsl\-Max}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{hsl\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::hsl\-Max (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a93487838e17ee5ff1e586d0253ada7c6}
+\hypertarget{classmeow_1_1HSLf__Space_ae97959215ff50cc62af6a309226a0061}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!hsl\-Min@{hsl\-Min}}
+\index{hsl\-Min@{hsl\-Min}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{hsl\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::hsl\-Min (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_ae97959215ff50cc62af6a309226a0061}
+\hypertarget{classmeow_1_1HSLf__Space_ae7e4b58fd85ace76a0979a3c7e14407c}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!l@{l}}
+\index{l@{l}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{l}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::l (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_ae7e4b58fd85ace76a0979a3c7e14407c}
+\hypertarget{classmeow_1_1HSLf__Space_a639c043bb6ba788ad2ea183e59643cdf}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!l@{l}}
+\index{l@{l}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{l}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::l (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a639c043bb6ba788ad2ea183e59643cdf}
+\hypertarget{classmeow_1_1HSLf__Space_a5dd4d3ea93f86b627d51936b7388da44}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!l\-Get@{l\-Get}}
+\index{l\-Get@{l\-Get}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{l\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::l\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a5dd4d3ea93f86b627d51936b7388da44}
+\hypertarget{classmeow_1_1HSLf__Space_a93c3d32fd0bc4aab24835409688cdf72}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!l\-Max@{l\-Max}}
+\index{l\-Max@{l\-Max}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{l\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::l\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a93c3d32fd0bc4aab24835409688cdf72}
+\hypertarget{classmeow_1_1HSLf__Space_a41ab2ddd1544632a138e2660e4c9152a}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!l\-Min@{l\-Min}}
+\index{l\-Min@{l\-Min}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{l\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::l\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a41ab2ddd1544632a138e2660e4c9152a}
+\hypertarget{classmeow_1_1HSLf__Space_a4cdbbac5bcfbcd5546e41d1c1480fad4}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Lf\-\_\-\-Space} meow\-::\-H\-S\-Lf\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf double} const \&}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a4cdbbac5bcfbcd5546e41d1c1480fad4}
+\hypertarget{classmeow_1_1HSLf__Space_abc883a59f2eeeffc84a9560558cd6619}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} meow\-::\-H\-S\-Lf\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf H\-S\-Lf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_abc883a59f2eeeffc84a9560558cd6619}
+\hypertarget{classmeow_1_1HSLf__Space_a98d1df6b95a2893d02251119ef186b02}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Lf\-\_\-\-Space} meow\-::\-H\-S\-Lf\-\_\-\-Space\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf H\-S\-Lf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a98d1df6b95a2893d02251119ef186b02}
+\hypertarget{classmeow_1_1HSLf__Space_aa6fcf6ef67c2f37e998486e36dc4a0aa}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Lf\-\_\-\-Space} meow\-::\-H\-S\-Lf\-\_\-\-Space\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf H\-S\-Lf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_aa6fcf6ef67c2f37e998486e36dc4a0aa}
+\hypertarget{classmeow_1_1HSLf__Space_a88eb3f94b211a3e29c80c334f0f8e963}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Lf\-\_\-\-Space} meow\-::\-H\-S\-Lf\-\_\-\-Space\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{{\bf double} const \&}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a88eb3f94b211a3e29c80c334f0f8e963}
+\hypertarget{classmeow_1_1HSLf__Space_a3d4ccb8d33991e2edb64904669d2a21c}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Lf\-\_\-\-Space}\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf H\-S\-Lf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a3d4ccb8d33991e2edb64904669d2a21c}
+\hypertarget{classmeow_1_1HSLf__Space_a8f7487b203cd3be19b08a6c80d33d5d2}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!s@{s}}
+\index{s@{s}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{s}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::s (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_a8f7487b203cd3be19b08a6c80d33d5d2}
+\hypertarget{classmeow_1_1HSLf__Space_ae6de1c7bf42d04c0f982a58df3bdb4d3}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!s@{s}}
+\index{s@{s}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{s}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::s (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_ae6de1c7bf42d04c0f982a58df3bdb4d3}
+\hypertarget{classmeow_1_1HSLf__Space_adb7cc82245b20e389d02224ac99444f2}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!s\-Get@{s\-Get}}
+\index{s\-Get@{s\-Get}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{s\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::s\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_adb7cc82245b20e389d02224ac99444f2}
+\hypertarget{classmeow_1_1HSLf__Space_ac04d25efca77d6e53ddb5de801593ea2}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!s\-Max@{s\-Max}}
+\index{s\-Max@{s\-Max}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{s\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::s\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_ac04d25efca77d6e53ddb5de801593ea2}
+\hypertarget{classmeow_1_1HSLf__Space_aa6f73697310484b178c2dac3acdf4f4b}{\index{meow\-::\-H\-S\-Lf\-\_\-\-Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}!s\-Min@{s\-Min}}
+\index{s\-Min@{s\-Min}!meow::HSLf_Space@{meow\-::\-H\-S\-Lf\-\_\-\-Space}}
+\subsubsection[{s\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Lf\-\_\-\-Space\-::s\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSLf__Space_aa6f73697310484b178c2dac3acdf4f4b}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/colors/\hyperlink{HSL__Space_8h}{H\-S\-L\-\_\-\-Space.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1HSVf__Space.eps b/doc/latex/classmeow_1_1HSVf__Space.eps
new file mode 100644
index 0000000..a72b7c1
--- /dev/null
+++ b/doc/latex/classmeow_1_1HSVf__Space.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 199.004975
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.512500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::HSVf_Space) cw
+(meow::Color3_Space< double >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::HSVf_Space) 0.000000 0.000000 box
+ (meow::Color3_Space< double >) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1HSVf__Space.pdf b/doc/latex/classmeow_1_1HSVf__Space.pdf
new file mode 100644
index 0000000..b5596ce
--- /dev/null
+++ b/doc/latex/classmeow_1_1HSVf__Space.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1HSVf__Space.tex b/doc/latex/classmeow_1_1HSVf__Space.tex
new file mode 100644
index 0000000..ce4ad87
--- /dev/null
+++ b/doc/latex/classmeow_1_1HSVf__Space.tex
@@ -0,0 +1,323 @@
+\hypertarget{classmeow_1_1HSVf__Space}{\section{meow\-:\-:H\-S\-Vf\-\_\-\-Space Class Reference}
+\label{classmeow_1_1HSVf__Space}\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+}
+
+
+以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間
+
+
+
+
+{\ttfamily \#include \char`\"{}H\-S\-V\-\_\-\-Space.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:H\-S\-Vf\-\_\-\-Space\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1HSVf__Space}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1HSVf__Space_aa27859136b4695a1923b0451eabb6e74}{H\-S\-Vf\-\_\-\-Space} ()
+\item
+\hyperlink{classmeow_1_1HSVf__Space_a8b92ab84b9fe888ee6f06d55b4368cb3}{H\-S\-Vf\-\_\-\-Space} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classmeow_1_1HSVf__Space_a27eb3acfdc06d03d88f5f3d1ae1cb7cc}{H\-S\-Vf\-\_\-\-Space} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&\hyperlink{classmeow_1_1HSVf__Space_ae8ffcdef1e7978832081db18ebedeffa}{v})
+\item
+\hyperlink{classmeow_1_1HSVf__Space_a882530369f9c06287328337fa7c6fcda}{H\-S\-Vf\-\_\-\-Space} (H\-S\-V\-\_\-\-Space const \&b)
+\item
+\hyperlink{classmeow_1_1HSVf__Space_a662428fed0f4f2beddc16d5af52b228c}{$\sim$\-H\-S\-Vf\-\_\-\-Space} ()
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_ae7f41bf982b0e89a829598ed0e6fa9de}{hsv\-Min} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a55d7dc460276eedec803905bc896e3f4}{h\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a042f969c34c4b708ef7c9ed2f914825b}{s\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_afb8087a590e96a0da95793acf5d0228e}{v\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a017762ec97277e45f7bf1678b805b5ec}{hsv\-Max} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a9c477bb3f4bd4a6e275454b5c17f70af}{h\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a2aedcabd4c079b5662502642c919b974}{s\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_ad603b398c6e50a238a87c0aad890ab2c}{v\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a0013ba6629d7ed35617c01b577078502}{hsv} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a234e37a7fe30be5d6c99b41d99d67016}{h} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a9fa2946d82a60f47487364bbbbfb824f}{s} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_ae8ffcdef1e7978832081db18ebedeffa}{v} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_aa5d83feefbbd4dee3d2642bd4782ee63}{hsv} (size\-\_\-t i, \hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a400aceb17358373551aba79aac046e88}{h} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_aa38bd8f828839f4cefb08251125b7dbe}{s} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1HSVf__Space_a163e91d4a36c40295e0d59e56881c9b7}{v} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1HSVf__Space_a1425760cfd045ecab3ecadd6e9060744}{hsv\-Get} (size\-\_\-t i)
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1HSVf__Space_ae142d6dfee8ac3f1e8471792911dca46}{h\-Get} ()
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1HSVf__Space_aa3a78aa9771124051ddeb73ecc0ae3c2}{s\-Get} ()
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1HSVf__Space_a681393735e63a1de944373b071ebef18}{v\-Get} ()
+\item
+\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} \& \hyperlink{classmeow_1_1HSVf__Space_a96d429221b88c5e568813d8a42c49af0}{operator=} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&b)
+\item
+\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} \hyperlink{classmeow_1_1HSVf__Space_af31230b50cb0e7534c6668d48eee1462}{operator+} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&b) const
+\item
+\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} \hyperlink{classmeow_1_1HSVf__Space_a31d3e70dc358f146a109c049a0776cca}{operator-\/} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&b) const
+\item
+\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} \hyperlink{classmeow_1_1HSVf__Space_a205e6c509f76312faeb75ffd3e0436c1}{operator$\ast$} (\hyperlink{classdouble}{double} const \&c) const
+\item
+\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} \hyperlink{classmeow_1_1HSVf__Space_ae8368184fb8579d83d4f883191b8502e}{operator/} (\hyperlink{classdouble}{double} const \&c) const
+\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1HSVf__Space_a5fa3457961d84b052bade3435cae2260}{operator$\ast$} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&b) const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間
+
+其中範圍都介於0.0$\sim$1.0之間
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1HSVf__Space_aa27859136b4695a1923b0451eabb6e74}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!H\-S\-Vf\-\_\-\-Space@{H\-S\-Vf\-\_\-\-Space}}
+\index{H\-S\-Vf\-\_\-\-Space@{H\-S\-Vf\-\_\-\-Space}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{H\-S\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Vf\-\_\-\-Space\-::\-H\-S\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_aa27859136b4695a1923b0451eabb6e74}
+\hypertarget{classmeow_1_1HSVf__Space_a8b92ab84b9fe888ee6f06d55b4368cb3}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!H\-S\-Vf\-\_\-\-Space@{H\-S\-Vf\-\_\-\-Space}}
+\index{H\-S\-Vf\-\_\-\-Space@{H\-S\-Vf\-\_\-\-Space}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{H\-S\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Vf\-\_\-\-Space\-::\-H\-S\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a8b92ab84b9fe888ee6f06d55b4368cb3}
+\hypertarget{classmeow_1_1HSVf__Space_a27eb3acfdc06d03d88f5f3d1ae1cb7cc}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!H\-S\-Vf\-\_\-\-Space@{H\-S\-Vf\-\_\-\-Space}}
+\index{H\-S\-Vf\-\_\-\-Space@{H\-S\-Vf\-\_\-\-Space}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{H\-S\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Vf\-\_\-\-Space\-::\-H\-S\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a27eb3acfdc06d03d88f5f3d1ae1cb7cc}
+\hypertarget{classmeow_1_1HSVf__Space_a882530369f9c06287328337fa7c6fcda}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!H\-S\-Vf\-\_\-\-Space@{H\-S\-Vf\-\_\-\-Space}}
+\index{H\-S\-Vf\-\_\-\-Space@{H\-S\-Vf\-\_\-\-Space}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{H\-S\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Vf\-\_\-\-Space\-::\-H\-S\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{H\-S\-V\-\_\-\-Space const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a882530369f9c06287328337fa7c6fcda}
+\hypertarget{classmeow_1_1HSVf__Space_a662428fed0f4f2beddc16d5af52b228c}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!$\sim$\-H\-S\-Vf\-\_\-\-Space@{$\sim$\-H\-S\-Vf\-\_\-\-Space}}
+\index{$\sim$\-H\-S\-Vf\-\_\-\-Space@{$\sim$\-H\-S\-Vf\-\_\-\-Space}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{$\sim$\-H\-S\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-H\-S\-Vf\-\_\-\-Space\-::$\sim$\-H\-S\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a662428fed0f4f2beddc16d5af52b228c}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1HSVf__Space_a234e37a7fe30be5d6c99b41d99d67016}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!h@{h}}
+\index{h@{h}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{h}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::h (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a234e37a7fe30be5d6c99b41d99d67016}
+\hypertarget{classmeow_1_1HSVf__Space_a400aceb17358373551aba79aac046e88}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!h@{h}}
+\index{h@{h}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{h}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::h (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a400aceb17358373551aba79aac046e88}
+\hypertarget{classmeow_1_1HSVf__Space_ae142d6dfee8ac3f1e8471792911dca46}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!h\-Get@{h\-Get}}
+\index{h\-Get@{h\-Get}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{h\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::h\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_ae142d6dfee8ac3f1e8471792911dca46}
+\hypertarget{classmeow_1_1HSVf__Space_a9c477bb3f4bd4a6e275454b5c17f70af}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!h\-Max@{h\-Max}}
+\index{h\-Max@{h\-Max}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{h\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::h\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a9c477bb3f4bd4a6e275454b5c17f70af}
+\hypertarget{classmeow_1_1HSVf__Space_a55d7dc460276eedec803905bc896e3f4}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!h\-Min@{h\-Min}}
+\index{h\-Min@{h\-Min}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{h\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::h\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a55d7dc460276eedec803905bc896e3f4}
+\hypertarget{classmeow_1_1HSVf__Space_a0013ba6629d7ed35617c01b577078502}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!hsv@{hsv}}
+\index{hsv@{hsv}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{hsv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::hsv (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a0013ba6629d7ed35617c01b577078502}
+\hypertarget{classmeow_1_1HSVf__Space_aa5d83feefbbd4dee3d2642bd4782ee63}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!hsv@{hsv}}
+\index{hsv@{hsv}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{hsv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::hsv (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_aa5d83feefbbd4dee3d2642bd4782ee63}
+\hypertarget{classmeow_1_1HSVf__Space_a1425760cfd045ecab3ecadd6e9060744}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!hsv\-Get@{hsv\-Get}}
+\index{hsv\-Get@{hsv\-Get}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{hsv\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::hsv\-Get (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a1425760cfd045ecab3ecadd6e9060744}
+\hypertarget{classmeow_1_1HSVf__Space_a017762ec97277e45f7bf1678b805b5ec}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!hsv\-Max@{hsv\-Max}}
+\index{hsv\-Max@{hsv\-Max}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{hsv\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::hsv\-Max (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a017762ec97277e45f7bf1678b805b5ec}
+\hypertarget{classmeow_1_1HSVf__Space_ae7f41bf982b0e89a829598ed0e6fa9de}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!hsv\-Min@{hsv\-Min}}
+\index{hsv\-Min@{hsv\-Min}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{hsv\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::hsv\-Min (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_ae7f41bf982b0e89a829598ed0e6fa9de}
+\hypertarget{classmeow_1_1HSVf__Space_a205e6c509f76312faeb75ffd3e0436c1}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Vf\-\_\-\-Space} meow\-::\-H\-S\-Vf\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf double} const \&}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a205e6c509f76312faeb75ffd3e0436c1}
+\hypertarget{classmeow_1_1HSVf__Space_a5fa3457961d84b052bade3435cae2260}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} meow\-::\-H\-S\-Vf\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf H\-S\-Vf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a5fa3457961d84b052bade3435cae2260}
+\hypertarget{classmeow_1_1HSVf__Space_af31230b50cb0e7534c6668d48eee1462}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Vf\-\_\-\-Space} meow\-::\-H\-S\-Vf\-\_\-\-Space\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf H\-S\-Vf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_af31230b50cb0e7534c6668d48eee1462}
+\hypertarget{classmeow_1_1HSVf__Space_a31d3e70dc358f146a109c049a0776cca}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Vf\-\_\-\-Space} meow\-::\-H\-S\-Vf\-\_\-\-Space\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf H\-S\-Vf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a31d3e70dc358f146a109c049a0776cca}
+\hypertarget{classmeow_1_1HSVf__Space_ae8368184fb8579d83d4f883191b8502e}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Vf\-\_\-\-Space} meow\-::\-H\-S\-Vf\-\_\-\-Space\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{{\bf double} const \&}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_ae8368184fb8579d83d4f883191b8502e}
+\hypertarget{classmeow_1_1HSVf__Space_a96d429221b88c5e568813d8a42c49af0}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf H\-S\-Vf\-\_\-\-Space}\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf H\-S\-Vf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a96d429221b88c5e568813d8a42c49af0}
+\hypertarget{classmeow_1_1HSVf__Space_a9fa2946d82a60f47487364bbbbfb824f}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!s@{s}}
+\index{s@{s}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{s}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::s (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a9fa2946d82a60f47487364bbbbfb824f}
+\hypertarget{classmeow_1_1HSVf__Space_aa38bd8f828839f4cefb08251125b7dbe}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!s@{s}}
+\index{s@{s}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{s}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::s (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_aa38bd8f828839f4cefb08251125b7dbe}
+\hypertarget{classmeow_1_1HSVf__Space_aa3a78aa9771124051ddeb73ecc0ae3c2}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!s\-Get@{s\-Get}}
+\index{s\-Get@{s\-Get}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{s\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::s\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_aa3a78aa9771124051ddeb73ecc0ae3c2}
+\hypertarget{classmeow_1_1HSVf__Space_a2aedcabd4c079b5662502642c919b974}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!s\-Max@{s\-Max}}
+\index{s\-Max@{s\-Max}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{s\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::s\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a2aedcabd4c079b5662502642c919b974}
+\hypertarget{classmeow_1_1HSVf__Space_a042f969c34c4b708ef7c9ed2f914825b}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!s\-Min@{s\-Min}}
+\index{s\-Min@{s\-Min}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{s\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::s\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a042f969c34c4b708ef7c9ed2f914825b}
+\hypertarget{classmeow_1_1HSVf__Space_ae8ffcdef1e7978832081db18ebedeffa}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!v@{v}}
+\index{v@{v}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{v}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::v (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_ae8ffcdef1e7978832081db18ebedeffa}
+\hypertarget{classmeow_1_1HSVf__Space_a163e91d4a36c40295e0d59e56881c9b7}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!v@{v}}
+\index{v@{v}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{v}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::v (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a163e91d4a36c40295e0d59e56881c9b7}
+\hypertarget{classmeow_1_1HSVf__Space_a681393735e63a1de944373b071ebef18}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!v\-Get@{v\-Get}}
+\index{v\-Get@{v\-Get}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{v\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::v\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_a681393735e63a1de944373b071ebef18}
+\hypertarget{classmeow_1_1HSVf__Space_ad603b398c6e50a238a87c0aad890ab2c}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!v\-Max@{v\-Max}}
+\index{v\-Max@{v\-Max}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{v\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::v\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_ad603b398c6e50a238a87c0aad890ab2c}
+\hypertarget{classmeow_1_1HSVf__Space_afb8087a590e96a0da95793acf5d0228e}{\index{meow\-::\-H\-S\-Vf\-\_\-\-Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}!v\-Min@{v\-Min}}
+\index{v\-Min@{v\-Min}!meow::HSVf_Space@{meow\-::\-H\-S\-Vf\-\_\-\-Space}}
+\subsubsection[{v\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-H\-S\-Vf\-\_\-\-Space\-::v\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HSVf__Space_afb8087a590e96a0da95793acf5d0228e}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/colors/\hyperlink{HSV__Space_8h}{H\-S\-V\-\_\-\-Space.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1HashTableList.tex b/doc/latex/classmeow_1_1HashTableList.tex
new file mode 100644
index 0000000..7b79b6b
--- /dev/null
+++ b/doc/latex/classmeow_1_1HashTableList.tex
@@ -0,0 +1,285 @@
+\hypertarget{classmeow_1_1HashTableList}{\section{meow\-:\-:Hash\-Table\-List$<$ Data, Hash\-Func $>$ Class Template Reference}
+\label{classmeow_1_1HashTableList}\index{meow\-::\-Hash\-Table\-List$<$ Data, Hash\-Func $>$@{meow\-::\-Hash\-Table\-List$<$ Data, Hash\-Func $>$}}
+}
+
+
+一個當key相撞時會用list解決的hash\-\_\-table
+
+
+
+
+{\ttfamily \#include \char`\"{}Hash\-Table.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1HashTableList_a327ccf67321d9b5061dbe01c287bd7e3}{Hash\-Table\-List} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1HashTableList_a0ac878f202fd1aba101df32a481e177c}{Hash\-Table\-List} (size\-\_\-t \hyperlink{classmeow_1_1HashTableList_af8d49492c5f35bb18706e9fb72d18157}{size}, Hash\-Func const \&\hyperlink{classmeow_1_1HashTableList_aaf4154c2534c861455149261c0194f00}{func})
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1HashTableList_ad460ece4097203d379e95c835a10d79d}{$\sim$\-Hash\-Table\-List} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} \& \hyperlink{classmeow_1_1HashTableList_a3d769d64e448f0bdbe52514e06b73f54}{copy\-From} (\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} const \&b)
+\begin{DoxyCompactList}\small\item\em copy \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1HashTableList_a79da4ec6056713e2993e367aac2e6220}{clear} ()
+\begin{DoxyCompactList}\small\item\em 清除資料 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1HashTableList_ac7417270658997ef1cb33221fba8d6e8}{reset} (size\-\_\-t \hyperlink{classmeow_1_1HashTableList_af8d49492c5f35bb18706e9fb72d18157}{size}, Hash\-Func const \&\hyperlink{classmeow_1_1HashTableList_aaf4154c2534c861455149261c0194f00}{func})
+\begin{DoxyCompactList}\small\item\em 清除資料, 指定新的size與hash function \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1HashTableList_a2f72023134f79ce5c7e889779a20762e}{table\-Size} () const
+\begin{DoxyCompactList}\small\item\em 回傳table size \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1HashTableList_af8d49492c5f35bb18706e9fb72d18157}{size} () const
+\begin{DoxyCompactList}\small\item\em 回傳目前有多少element在其中 \end{DoxyCompactList}\item
+Hash\-Func const \& \hyperlink{classmeow_1_1HashTableList_aaf4154c2534c861455149261c0194f00}{func} () const
+\begin{DoxyCompactList}\small\item\em 回傳hash function \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1HashTableList_a6d7a0c3ac05a355cc9e1c60856ebd781}{add} (Data const \&e)
+\begin{DoxyCompactList}\small\item\em 加入新的element \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1HashTableList_a490a3325017696441fdc4ab8db517871}{add} (\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} const \&h)
+\begin{DoxyCompactList}\small\item\em 把給定的\-Hash\-Table\-List中所有的element全加進來 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1HashTableList_a63cc363a99ee99024a32133cf0331325}{del} (Data const \&e)
+\begin{DoxyCompactList}\small\item\em 刪除element \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1HashTableList_a25fa6ad234486128f2b0357bfabf5206}{del} (\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} const \&h)
+\begin{DoxyCompactList}\small\item\em 刪除有出現在給定的的\-Hash\-Table\-List中的element \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1HashTableList_a65227191dccd021a0802810ffe007040}{exist} (Data const \&e) const
+\begin{DoxyCompactList}\small\item\em 查看某element是否已經擁有 \end{DoxyCompactList}\item
+std\-::vector$<$ Data $>$ \hyperlink{classmeow_1_1HashTableList_a2cdacf0bac46df21b852c3cb91cd44c3}{all} () const
+\begin{DoxyCompactList}\small\item\em 回傳所有存下來的資料 \end{DoxyCompactList}\item
+std\-::vector$<$ Data $>$ \hyperlink{classmeow_1_1HashTableList_af3ac22fd18ce14878e881331883397b8}{all} (size\-\_\-t index) const
+\begin{DoxyCompactList}\small\item\em 回傳所有存下來且key為index的資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} \& \hyperlink{classmeow_1_1HashTableList_a9f9493e2044df374ac9e650303fdf212}{operator=} (\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} const \&h)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(h)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} \& \hyperlink{classmeow_1_1HashTableList_a7bef8d0510d33a06507881a872c62156}{operator+=} (\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} const \&h)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily add(h)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} \& \hyperlink{classmeow_1_1HashTableList_a3c3e1ad9bf9993ded4a6904f07abb920}{operator-\/=} (\hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List} const \&h)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily del(h)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Data, class Hash\-Func$>$class meow\-::\-Hash\-Table\-List$<$ Data, Hash\-Func $>$}
+
+一個當key相撞時會用list解決的hash\-\_\-table
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1HashTableList_a327ccf67321d9b5061dbe01c287bd7e3}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!Hash\-Table\-List@{Hash\-Table\-List}}
+\index{Hash\-Table\-List@{Hash\-Table\-List}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{Hash\-Table\-List}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::{\bf Hash\-Table\-List} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a327ccf67321d9b5061dbe01c287bd7e3}
+
+
+constructor
+
+\hypertarget{classmeow_1_1HashTableList_a0ac878f202fd1aba101df32a481e177c}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!Hash\-Table\-List@{Hash\-Table\-List}}
+\index{Hash\-Table\-List@{Hash\-Table\-List}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{Hash\-Table\-List}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::{\bf Hash\-Table\-List} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{size, }
+\item[{Hash\-Func const \&}]{func}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a0ac878f202fd1aba101df32a481e177c}
+
+
+constructor
+
+設定table size, hash function \hypertarget{classmeow_1_1HashTableList_ad460ece4097203d379e95c835a10d79d}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!$\sim$\-Hash\-Table\-List@{$\sim$\-Hash\-Table\-List}}
+\index{$\sim$\-Hash\-Table\-List@{$\sim$\-Hash\-Table\-List}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{$\sim$\-Hash\-Table\-List}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::$\sim${\bf Hash\-Table\-List} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_ad460ece4097203d379e95c835a10d79d}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1HashTableList_a6d7a0c3ac05a355cc9e1c60856ebd781}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!add@{add}}
+\index{add@{add}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ bool {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{Data const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a6d7a0c3ac05a355cc9e1c60856ebd781}
+
+
+加入新的element
+
+\hypertarget{classmeow_1_1HashTableList_a490a3325017696441fdc4ab8db517871}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!add@{add}}
+\index{add@{add}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ bool {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{{\bf Hash\-Table\-List}$<$ Data, Hash\-Func $>$ const \&}]{h}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a490a3325017696441fdc4ab8db517871}
+
+
+把給定的\-Hash\-Table\-List中所有的element全加進來
+
+\hypertarget{classmeow_1_1HashTableList_a2cdacf0bac46df21b852c3cb91cd44c3}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!all@{all}}
+\index{all@{all}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{all}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ std\-::vector$<$Data$>$ {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::all (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a2cdacf0bac46df21b852c3cb91cd44c3}
+
+
+回傳所有存下來的資料
+
+\hypertarget{classmeow_1_1HashTableList_af3ac22fd18ce14878e881331883397b8}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!all@{all}}
+\index{all@{all}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{all}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ std\-::vector$<$Data$>$ {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::all (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{index}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_af3ac22fd18ce14878e881331883397b8}
+
+
+回傳所有存下來且key為index的資料
+
+\hypertarget{classmeow_1_1HashTableList_a79da4ec6056713e2993e367aac2e6220}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!clear@{clear}}
+\index{clear@{clear}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ void {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a79da4ec6056713e2993e367aac2e6220}
+
+
+清除資料
+
+\hypertarget{classmeow_1_1HashTableList_a3d769d64e448f0bdbe52514e06b73f54}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ {\bf Hash\-Table\-List}\& {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Hash\-Table\-List}$<$ Data, Hash\-Func $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a3d769d64e448f0bdbe52514e06b73f54}
+
+
+copy
+
+\hypertarget{classmeow_1_1HashTableList_a63cc363a99ee99024a32133cf0331325}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!del@{del}}
+\index{del@{del}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{del}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ bool {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::del (
+\begin{DoxyParamCaption}
+\item[{Data const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a63cc363a99ee99024a32133cf0331325}
+
+
+刪除element
+
+\hypertarget{classmeow_1_1HashTableList_a25fa6ad234486128f2b0357bfabf5206}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!del@{del}}
+\index{del@{del}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{del}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ bool {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::del (
+\begin{DoxyParamCaption}
+\item[{{\bf Hash\-Table\-List}$<$ Data, Hash\-Func $>$ const \&}]{h}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a25fa6ad234486128f2b0357bfabf5206}
+
+
+刪除有出現在給定的的\-Hash\-Table\-List中的element
+
+\hypertarget{classmeow_1_1HashTableList_a65227191dccd021a0802810ffe007040}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!exist@{exist}}
+\index{exist@{exist}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{exist}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ bool {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::exist (
+\begin{DoxyParamCaption}
+\item[{Data const \&}]{e}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a65227191dccd021a0802810ffe007040}
+
+
+查看某element是否已經擁有
+
+\hypertarget{classmeow_1_1HashTableList_aaf4154c2534c861455149261c0194f00}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!func@{func}}
+\index{func@{func}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{func}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ Hash\-Func const\& {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::func (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_aaf4154c2534c861455149261c0194f00}
+
+
+回傳hash function
+
+\hypertarget{classmeow_1_1HashTableList_a7bef8d0510d33a06507881a872c62156}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!operator+=@{operator+=}}
+\index{operator+=@{operator+=}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{operator+=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ {\bf Hash\-Table\-List}\& {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::operator+= (
+\begin{DoxyParamCaption}
+\item[{{\bf Hash\-Table\-List}$<$ Data, Hash\-Func $>$ const \&}]{h}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a7bef8d0510d33a06507881a872c62156}
+
+
+same as {\ttfamily add(h)}
+
+\hypertarget{classmeow_1_1HashTableList_a3c3e1ad9bf9993ded4a6904f07abb920}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!operator-\/=@{operator-\/=}}
+\index{operator-\/=@{operator-\/=}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{operator-\/=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ {\bf Hash\-Table\-List}\& {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::operator-\/= (
+\begin{DoxyParamCaption}
+\item[{{\bf Hash\-Table\-List}$<$ Data, Hash\-Func $>$ const \&}]{h}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a3c3e1ad9bf9993ded4a6904f07abb920}
+
+
+same as {\ttfamily del(h)}
+
+\hypertarget{classmeow_1_1HashTableList_a9f9493e2044df374ac9e650303fdf212}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ {\bf Hash\-Table\-List}\& {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Hash\-Table\-List}$<$ Data, Hash\-Func $>$ const \&}]{h}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a9f9493e2044df374ac9e650303fdf212}
+
+
+same as {\ttfamily copy\-From(h)}
+
+\hypertarget{classmeow_1_1HashTableList_ac7417270658997ef1cb33221fba8d6e8}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!reset@{reset}}
+\index{reset@{reset}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ void {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{size, }
+\item[{Hash\-Func const \&}]{func}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_ac7417270658997ef1cb33221fba8d6e8}
+
+
+清除資料, 指定新的size與hash function
+
+\hypertarget{classmeow_1_1HashTableList_af8d49492c5f35bb18706e9fb72d18157}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!size@{size}}
+\index{size@{size}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ size\-\_\-t {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_af8d49492c5f35bb18706e9fb72d18157}
+
+
+回傳目前有多少element在其中
+
+\hypertarget{classmeow_1_1HashTableList_a2f72023134f79ce5c7e889779a20762e}{\index{meow\-::\-Hash\-Table\-List@{meow\-::\-Hash\-Table\-List}!table\-Size@{table\-Size}}
+\index{table\-Size@{table\-Size}!meow::HashTableList@{meow\-::\-Hash\-Table\-List}}
+\subsubsection[{table\-Size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Hash\-Func $>$ size\-\_\-t {\bf meow\-::\-Hash\-Table\-List}$<$ Data, Hash\-Func $>$\-::table\-Size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1HashTableList_a2f72023134f79ce5c7e889779a20762e}
+
+
+回傳table size
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{HashTable_8h}{Hash\-Table.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1IdentityPoints.eps b/doc/latex/classmeow_1_1IdentityPoints.eps
new file mode 100644
index 0000000..a955fbd
--- /dev/null
+++ b/doc/latex/classmeow_1_1IdentityPoints.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 186.915888
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.675000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::IdentityPoints< ID, Scalar >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::IdentityPoints< ID, Scalar >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1IdentityPoints.pdf b/doc/latex/classmeow_1_1IdentityPoints.pdf
new file mode 100644
index 0000000..4077291
--- /dev/null
+++ b/doc/latex/classmeow_1_1IdentityPoints.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1IdentityPoints.tex b/doc/latex/classmeow_1_1IdentityPoints.tex
new file mode 100644
index 0000000..c7f387c
--- /dev/null
+++ b/doc/latex/classmeow_1_1IdentityPoints.tex
@@ -0,0 +1,490 @@
+\hypertarget{classmeow_1_1IdentityPoints}{\section{meow\-:\-:Identity\-Points$<$ I\-D, Scalar $>$ Class Template Reference}
+\label{classmeow_1_1IdentityPoints}\index{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$@{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}}
+}
+
+
+把一個 {\ttfamily std\-::map$<$I\-D},Vector$<$\-Scalar$>$ $>$ 包起來
+
+
+
+
+{\ttfamily \#include \char`\"{}Identity\-Points.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Identity\-Points$<$ I\-D, Scalar $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1IdentityPoints}
+\end{center}
+\end{figure}
+\subsection*{Public Types}
+\begin{DoxyCompactItemize}
+\item
+typedef std\-::map$<$ I\-D, \hyperlink{classmeow_1_1Vector}{Vector}\\*
+$<$ Scalar $>$ $>$ \hyperlink{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}{Identity\-Points\-Map}
+\item
+typedef Identity\-Points\-Map\-::iterator \hyperlink{classmeow_1_1IdentityPoints_af0d41f58b9dfa0f63fdd3085defd6386}{Identity\-Points\-Map\-Iter}
+\item
+typedef \\*
+Identity\-Points\-Map\-::const\-\_\-iterator \hyperlink{classmeow_1_1IdentityPoints_a577f4fbc69ba3a99d2b0deabcdd1f72c}{Identity\-Points\-Map\-Iter\-K}
+\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1IdentityPoints_ab3566725696aa78c8b4f85892b6dacc4}{Identity\-Points} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints_a803396e9f4cb1fc6d35b60cc70bcc50a}{Identity\-Points} (\hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points} const \&b)
+\begin{DoxyCompactList}\small\item\em constructor, 並且複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints_ab32aa1152834a8f95625ccdc6f26b0c6}{$\sim$\-Identity\-Points} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points} \& \hyperlink{classmeow_1_1IdentityPoints_ae1ea1968aad3345a61257ba5db970429}{copy\-From} (\hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points} const \&b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points} \& \hyperlink{classmeow_1_1IdentityPoints_a7ec681b9849372eb14ed46734a4f885e}{reference\-From} (\hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points} const \&b)
+\begin{DoxyCompactList}\small\item\em 參照 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1IdentityPoints_ac9b4356b0c73a799ad97384a4688db66}{clear} ()
+\begin{DoxyCompactList}\small\item\em 清除一切identity points \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1IdentityPoints_a48e856fca0660a5f56a13ccea992e3ea}{size} () const
+\begin{DoxyCompactList}\small\item\em 回傳有幾個identity points \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1IdentityPoints_a58a91f88750306e4ede279dabd7a1791}{empty} () const
+\begin{DoxyCompactList}\small\item\em 回傳是否沒有identity points \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1IdentityPoints_a171499ffe3d474aa3632b1a31b6402a0}{exist} (I\-D const \&id) const
+\begin{DoxyCompactList}\small\item\em 檢查某id是否有使用 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1IdentityPoints_a19da7e561a7216146da2d974434a0c68}{dimension} () const
+\begin{DoxyCompactList}\small\item\em 回傳dimension \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1IdentityPoints_a4133a7d9107e92a54d7d602ff8df4a87}{dimension} (size\-\_\-t dim)
+\begin{DoxyCompactList}\small\item\em 設定dimension, 並且清空資料 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1IdentityPoints_a3955912afecde0f268cb1c6ec6a876ce}{dimension} (size\-\_\-t dim, Scalar const \&init\-\_\-value)
+\begin{DoxyCompactList}\small\item\em 設定dimension, 並且針對每個identity point指定重設dimension \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}{Identity\-Points\-Map} const \& \hyperlink{classmeow_1_1IdentityPoints_a312db9235d0a92aa6c297757079f6dd7}{identity\-Points} () const
+\begin{DoxyCompactList}\small\item\em 取得所有identity points \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}{Identity\-Points\-Map} const \& \hyperlink{classmeow_1_1IdentityPoints_aa812c3c2040fa9c5aa863fd34983c276}{identity\-Points} (\hyperlink{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}{Identity\-Points\-Map} const \&points)
+\begin{DoxyCompactList}\small\item\em 設定所有identity points \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}{Identity\-Points\-Map} const \& \hyperlink{classmeow_1_1IdentityPoints_af7b65433eccc4d45af938a577a5b5946}{identity\-Points\-Add} (\hyperlink{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}{Identity\-Points\-Map} const \&points)
+\begin{DoxyCompactList}\small\item\em 加入identity Points \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}{Identity\-Points\-Map} const \& \hyperlink{classmeow_1_1IdentityPoints_a442f6744170780c61801706bb45c74f5}{identity\-Points\-Del} (std\-::set$<$ I\-D $>$ const \&ids)
+\begin{DoxyCompactList}\small\item\em 移除identity Points \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ \hyperlink{classmeow_1_1IdentityPoints_aabf2528a2d24a68d3a859f239383701f}{identity\-Point} (I\-D const \&id) const
+\begin{DoxyCompactList}\small\item\em 取得一個identity point \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ \hyperlink{classmeow_1_1IdentityPoints_a22cc708e09447d1c059d8f7a07fa34cc}{identity\-Point} (I\-D const \&id, \hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&b)
+\begin{DoxyCompactList}\small\item\em 修改一個identity point \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ \hyperlink{classmeow_1_1IdentityPoints_a8ad5a9cc2cfa2a9a32bf90b47cc42d94}{identity\-Point\-Add} (I\-D const \&id, \hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&b)
+\begin{DoxyCompactList}\small\item\em 新增一個identity point \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1IdentityPoints_ad6df062b618a5b7dae5723eea1eb1403}{identity\-Point\-Del} (I\-D const \&id)
+\begin{DoxyCompactList}\small\item\em 刪除一個identity point \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ \& \hyperlink{classmeow_1_1IdentityPoints_a4a87edebfe33238c687ff6d6485c53f3}{identity\-Point\-Get} (I\-D const \&id)
+\begin{DoxyCompactList}\small\item\em 取得一個identity point, non-\/constant reference \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points} \& \hyperlink{classmeow_1_1IdentityPoints_a8c2bcc67932db294e3b4e9f665ff505d}{operator=} (\hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points} const \&b)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(b)} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1IdentityPoints_a7ecba020418b86d76db75e9f636aae9a}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\begin{DoxyCompactList}\small\item\em 將資料寫入檔案 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1IdentityPoints_a66b8a6b980dad9b2cb71cb0823304c51}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\begin{DoxyCompactList}\small\item\em 將資料讀入 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1IdentityPoints_a464d62354fc3d12767b71632f9b27524}{create} () const
+\begin{DoxyCompactList}\small\item\em new一個自己 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1IdentityPoints_a6b17e68e14290ebfdcdd59a0724cdc41}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+char const $\ast$ \hyperlink{classmeow_1_1IdentityPoints_ae90d4c4d8125919ae8807d89790bed61}{ctype} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\item
+std\-::string \hyperlink{classmeow_1_1IdentityPoints_a6ce521c18a45b50bd8b75201480b97f7}{type} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class I\-D, class Scalar$>$class meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}
+
+把一個 {\ttfamily std\-::map$<$I\-D},Vector$<$\-Scalar$>$ $>$ 包起來
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Member Typedef Documentation}
+\hypertarget{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!Identity\-Points\-Map@{Identity\-Points\-Map}}
+\index{Identity\-Points\-Map@{Identity\-Points\-Map}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{Identity\-Points\-Map}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ typedef std\-::map$<$I\-D, {\bf Vector}$<$Scalar$>$ $>$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::{\bf Identity\-Points\-Map}}}\label{classmeow_1_1IdentityPoints_adf552ad8e91278d3ba67ab149611b634}
+\hypertarget{classmeow_1_1IdentityPoints_af0d41f58b9dfa0f63fdd3085defd6386}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!Identity\-Points\-Map\-Iter@{Identity\-Points\-Map\-Iter}}
+\index{Identity\-Points\-Map\-Iter@{Identity\-Points\-Map\-Iter}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{Identity\-Points\-Map\-Iter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ typedef Identity\-Points\-Map\-:: iterator {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::{\bf Identity\-Points\-Map\-Iter}}}\label{classmeow_1_1IdentityPoints_af0d41f58b9dfa0f63fdd3085defd6386}
+\hypertarget{classmeow_1_1IdentityPoints_a577f4fbc69ba3a99d2b0deabcdd1f72c}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!Identity\-Points\-Map\-Iter\-K@{Identity\-Points\-Map\-Iter\-K}}
+\index{Identity\-Points\-Map\-Iter\-K@{Identity\-Points\-Map\-Iter\-K}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{Identity\-Points\-Map\-Iter\-K}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ typedef Identity\-Points\-Map\-::const\-\_\-iterator {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::{\bf Identity\-Points\-Map\-Iter\-K}}}\label{classmeow_1_1IdentityPoints_a577f4fbc69ba3a99d2b0deabcdd1f72c}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1IdentityPoints_ab3566725696aa78c8b4f85892b6dacc4}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!Identity\-Points@{Identity\-Points}}
+\index{Identity\-Points@{Identity\-Points}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{Identity\-Points}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::{\bf Identity\-Points} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_ab3566725696aa78c8b4f85892b6dacc4}
+
+
+constructor
+
+\hypertarget{classmeow_1_1IdentityPoints_a803396e9f4cb1fc6d35b60cc70bcc50a}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!Identity\-Points@{Identity\-Points}}
+\index{Identity\-Points@{Identity\-Points}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{Identity\-Points}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::{\bf Identity\-Points} (
+\begin{DoxyParamCaption}
+\item[{{\bf Identity\-Points}$<$ I\-D, Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a803396e9f4cb1fc6d35b60cc70bcc50a}
+
+
+constructor, 並且複製資料
+
+\hypertarget{classmeow_1_1IdentityPoints_ab32aa1152834a8f95625ccdc6f26b0c6}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!$\sim$\-Identity\-Points@{$\sim$\-Identity\-Points}}
+\index{$\sim$\-Identity\-Points@{$\sim$\-Identity\-Points}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{$\sim$\-Identity\-Points}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::$\sim${\bf Identity\-Points} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_ab32aa1152834a8f95625ccdc6f26b0c6}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1IdentityPoints_ac9b4356b0c73a799ad97384a4688db66}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!clear@{clear}}
+\index{clear@{clear}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ void {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_ac9b4356b0c73a799ad97384a4688db66}
+
+
+清除一切identity points
+
+\hypertarget{classmeow_1_1IdentityPoints_ae1ea1968aad3345a61257ba5db970429}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Identity\-Points}\& {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Identity\-Points}$<$ I\-D, Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_ae1ea1968aad3345a61257ba5db970429}
+
+
+複製資料
+
+\hypertarget{classmeow_1_1IdentityPoints_a6b17e68e14290ebfdcdd59a0724cdc41}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1IdentityPoints_a6b17e68e14290ebfdcdd59a0724cdc41}
+
+
+複製資料
+
+\begin{DoxyVerb}輸入型別是 \c ObjBase \c const*
+這裡假設實體其實是 \c Bitmap.
+事實上這個method就只是幫忙轉型然後呼叫原本的\c copyFrom
+\end{DoxyVerb}
+
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 資料來源 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+this
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1IdentityPoints_a464d62354fc3d12767b71632f9b27524}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!create@{create}}
+\index{create@{create}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1IdentityPoints_a464d62354fc3d12767b71632f9b27524}
+
+
+new一個自己
+
+\begin{DoxyReturn}{Returns}
+一個new出來的\-Bitmap$<$\-Pixel$>$
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1IdentityPoints_ae90d4c4d8125919ae8807d89790bed61}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ char const$\ast$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1IdentityPoints_ae90d4c4d8125919ae8807d89790bed61}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily char} {\ttfamily const{\ttfamily $\ast$} 形式的typename}
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1IdentityPoints_a19da7e561a7216146da2d974434a0c68}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!dimension@{dimension}}
+\index{dimension@{dimension}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ size\-\_\-t {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::dimension (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a19da7e561a7216146da2d974434a0c68}
+
+
+回傳dimension
+
+\hypertarget{classmeow_1_1IdentityPoints_a4133a7d9107e92a54d7d602ff8df4a87}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!dimension@{dimension}}
+\index{dimension@{dimension}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ size\-\_\-t {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::dimension (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dim}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a4133a7d9107e92a54d7d602ff8df4a87}
+
+
+設定dimension, 並且清空資料
+
+\hypertarget{classmeow_1_1IdentityPoints_a3955912afecde0f268cb1c6ec6a876ce}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!dimension@{dimension}}
+\index{dimension@{dimension}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ size\-\_\-t {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::dimension (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dim, }
+\item[{Scalar const \&}]{init\-\_\-value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a3955912afecde0f268cb1c6ec6a876ce}
+
+
+設定dimension, 並且針對每個identity point指定重設dimension
+
+\hypertarget{classmeow_1_1IdentityPoints_a58a91f88750306e4ede279dabd7a1791}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!empty@{empty}}
+\index{empty@{empty}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ bool {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::empty (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a58a91f88750306e4ede279dabd7a1791}
+
+
+回傳是否沒有identity points
+
+\hypertarget{classmeow_1_1IdentityPoints_a171499ffe3d474aa3632b1a31b6402a0}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!exist@{exist}}
+\index{exist@{exist}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{exist}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ bool {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::exist (
+\begin{DoxyParamCaption}
+\item[{I\-D const \&}]{id}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a171499ffe3d474aa3632b1a31b6402a0}
+
+
+檢查某id是否有使用
+
+\hypertarget{classmeow_1_1IdentityPoints_aabf2528a2d24a68d3a859f239383701f}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Point@{identity\-Point}}
+\index{identity\-Point@{identity\-Point}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Vector}$<$Scalar$>$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Point (
+\begin{DoxyParamCaption}
+\item[{I\-D const \&}]{id}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_aabf2528a2d24a68d3a859f239383701f}
+
+
+取得一個identity point
+
+\hypertarget{classmeow_1_1IdentityPoints_a22cc708e09447d1c059d8f7a07fa34cc}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Point@{identity\-Point}}
+\index{identity\-Point@{identity\-Point}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Vector}$<$Scalar$>$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Point (
+\begin{DoxyParamCaption}
+\item[{I\-D const \&}]{id, }
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a22cc708e09447d1c059d8f7a07fa34cc}
+
+
+修改一個identity point
+
+\hypertarget{classmeow_1_1IdentityPoints_a8ad5a9cc2cfa2a9a32bf90b47cc42d94}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Point\-Add@{identity\-Point\-Add}}
+\index{identity\-Point\-Add@{identity\-Point\-Add}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Point\-Add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Vector}$<$Scalar$>$ {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Point\-Add (
+\begin{DoxyParamCaption}
+\item[{I\-D const \&}]{id, }
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a8ad5a9cc2cfa2a9a32bf90b47cc42d94}
+
+
+新增一個identity point
+
+\hypertarget{classmeow_1_1IdentityPoints_ad6df062b618a5b7dae5723eea1eb1403}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Point\-Del@{identity\-Point\-Del}}
+\index{identity\-Point\-Del@{identity\-Point\-Del}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Point\-Del}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ void {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Point\-Del (
+\begin{DoxyParamCaption}
+\item[{I\-D const \&}]{id}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_ad6df062b618a5b7dae5723eea1eb1403}
+
+
+刪除一個identity point
+
+\hypertarget{classmeow_1_1IdentityPoints_a4a87edebfe33238c687ff6d6485c53f3}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Point\-Get@{identity\-Point\-Get}}
+\index{identity\-Point\-Get@{identity\-Point\-Get}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Point\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Vector}$<$Scalar$>$\& {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Point\-Get (
+\begin{DoxyParamCaption}
+\item[{I\-D const \&}]{id}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a4a87edebfe33238c687ff6d6485c53f3}
+
+
+取得一個identity point, non-\/constant reference
+
+\hypertarget{classmeow_1_1IdentityPoints_a312db9235d0a92aa6c297757079f6dd7}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Points@{identity\-Points}}
+\index{identity\-Points@{identity\-Points}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Points}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Identity\-Points\-Map} const\& {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Points (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a312db9235d0a92aa6c297757079f6dd7}
+
+
+取得所有identity points
+
+\hypertarget{classmeow_1_1IdentityPoints_aa812c3c2040fa9c5aa863fd34983c276}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Points@{identity\-Points}}
+\index{identity\-Points@{identity\-Points}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Points}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Identity\-Points\-Map} const\& {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Points (
+\begin{DoxyParamCaption}
+\item[{{\bf Identity\-Points\-Map} const \&}]{points}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_aa812c3c2040fa9c5aa863fd34983c276}
+
+
+設定所有identity points
+
+\hypertarget{classmeow_1_1IdentityPoints_af7b65433eccc4d45af938a577a5b5946}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Points\-Add@{identity\-Points\-Add}}
+\index{identity\-Points\-Add@{identity\-Points\-Add}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Points\-Add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Identity\-Points\-Map} const\& {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Points\-Add (
+\begin{DoxyParamCaption}
+\item[{{\bf Identity\-Points\-Map} const \&}]{points}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_af7b65433eccc4d45af938a577a5b5946}
+
+
+加入identity Points
+
+\hypertarget{classmeow_1_1IdentityPoints_a442f6744170780c61801706bb45c74f5}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!identity\-Points\-Del@{identity\-Points\-Del}}
+\index{identity\-Points\-Del@{identity\-Points\-Del}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{identity\-Points\-Del}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Identity\-Points\-Map} const\& {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::identity\-Points\-Del (
+\begin{DoxyParamCaption}
+\item[{std\-::set$<$ I\-D $>$ const \&}]{ids}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a442f6744170780c61801706bb45c74f5}
+
+
+移除identity Points
+
+\hypertarget{classmeow_1_1IdentityPoints_a8c2bcc67932db294e3b4e9f665ff505d}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Identity\-Points}\& {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Identity\-Points}$<$ I\-D, Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a8c2bcc67932db294e3b4e9f665ff505d}
+
+
+same as {\ttfamily copy\-From(b)}
+
+\hypertarget{classmeow_1_1IdentityPoints_a66b8a6b980dad9b2cb71cb0823304c51}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!read@{read}}
+\index{read@{read}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ bool {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1IdentityPoints_a66b8a6b980dad9b2cb71cb0823304c51}
+
+
+將資料讀入
+
+\begin{DoxyNote}{Note}
+未完成
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1IdentityPoints_a7ec681b9849372eb14ed46734a4f885e}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ {\bf Identity\-Points}\& {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Identity\-Points}$<$ I\-D, Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a7ec681b9849372eb14ed46734a4f885e}
+
+
+參照
+
+\hypertarget{classmeow_1_1IdentityPoints_a48e856fca0660a5f56a13ccea992e3ea}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!size@{size}}
+\index{size@{size}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ size\-\_\-t {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1IdentityPoints_a48e856fca0660a5f56a13ccea992e3ea}
+
+
+回傳有幾個identity points
+
+\hypertarget{classmeow_1_1IdentityPoints_a6ce521c18a45b50bd8b75201480b97f7}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!type@{type}}
+\index{type@{type}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ std\-::string {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1IdentityPoints_a6ce521c18a45b50bd8b75201480b97f7}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily std\-::string} 形式的typename
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1IdentityPoints_a7ecba020418b86d76db75e9f636aae9a}{\index{meow\-::\-Identity\-Points@{meow\-::\-Identity\-Points}!write@{write}}
+\index{write@{write}!meow::IdentityPoints@{meow\-::\-Identity\-Points}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class I\-D, class Scalar$>$ bool {\bf meow\-::\-Identity\-Points}$<$ I\-D, Scalar $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1IdentityPoints_a7ecba020418b86d76db75e9f636aae9a}
+
+
+將資料寫入檔案
+
+\begin{DoxyNote}{Note}
+未完成
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{IdentityPoints_8h}{Identity\-Points.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1KD__Tree.tex b/doc/latex/classmeow_1_1KD__Tree.tex
new file mode 100644
index 0000000..feadea9
--- /dev/null
+++ b/doc/latex/classmeow_1_1KD__Tree.tex
@@ -0,0 +1,202 @@
+\hypertarget{classmeow_1_1KD__Tree}{\section{meow\-:\-:K\-D\-\_\-\-Tree$<$ Vector, Scalar $>$ Class Template Reference}
+\label{classmeow_1_1KD__Tree}\index{meow\-::\-K\-D\-\_\-\-Tree$<$ Vector, Scalar $>$@{meow\-::\-K\-D\-\_\-\-Tree$<$ Vector, Scalar $>$}}
+}
+
+
+{\ttfamily k-\/dimension} tree
+
+
+
+
+{\ttfamily \#include \char`\"{}K\-D\-\_\-\-Tree.\-h\char`\"{}}
+
+\subsection*{Public Types}
+\begin{DoxyCompactItemize}
+\item
+typedef std\-::vector$<$ \hyperlink{classmeow_1_1Vector}{Vector} $>$ \hyperlink{classmeow_1_1KD__Tree_afc143e90dba569c51b6eb146ba9df7f8}{Vectors}
+\begin{DoxyCompactList}\small\item\em Custom Type\-: Vectors is {\ttfamily std\-::vector$<$\-Vector$>$} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1KD__Tree_a782840070cd90370c37d72e8a39765f9}{K\-D\-\_\-\-Tree} ()
+\begin{DoxyCompactList}\small\item\em constructor, with dimension = 1 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1KD__Tree_aafecfa34e96615249e11e9ba1b85fdc7}{K\-D\-\_\-\-Tree} (size\-\_\-t dimension)
+\begin{DoxyCompactList}\small\item\em constructor, given dimension \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1KD__Tree_a6ffacb6d4020cfb1c127b68f3f427ee4}{$\sim$\-K\-D\-\_\-\-Tree} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1KD__Tree_ad1af6def42b23b9b4acef03d32774b9e}{insert} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v)
+\begin{DoxyCompactList}\small\item\em 將給定的\-Vector加到set中 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1KD__Tree_adb0aaa5a70a7255935d8a4326c454434}{erase} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v)
+\begin{DoxyCompactList}\small\item\em 將給定的\-Vector從set移除 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1KD__Tree_abdeb11a064dc06f80437126d6744b022}{build} ()
+\begin{DoxyCompactList}\small\item\em 檢查至今是否有 insert/erase 被呼叫來決定是否 {\ttfamily rebuild()} \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1KD__Tree_a09bf16356618fde6d256a843b87f44b6}{force\-Build} ()
+\begin{DoxyCompactList}\small\item\em 重新建樹 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1KD__Tree_afc143e90dba569c51b6eb146ba9df7f8}{Vectors} \hyperlink{classmeow_1_1KD__Tree_a10e1cac9c14e047d77fb95eaf0b49bd8}{query} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v, size\-\_\-t nearest\-Number, bool compare\-Whole\-Vector) const
+\begin{DoxyCompactList}\small\item\em 查找 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1KD__Tree_a586afb8e59665a951ab0a9deae2fde40}{clear} ()
+\begin{DoxyCompactList}\small\item\em 清空所有資料 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1KD__Tree_a45be7cf06442b1a75902faa266950121}{reset} (size\-\_\-t dimension)
+\begin{DoxyCompactList}\small\item\em 清空所有資料並重新給定維度 \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Vector, class Scalar$>$class meow\-::\-K\-D\-\_\-\-Tree$<$ Vector, Scalar $>$}
+
+{\ttfamily k-\/dimension} tree
+
+全名k-\/dimension tree, 用來維護由{\bfseries N個\-K維度向量所成的集合}, 並可於該set中查找 {\bfseries 前i個離給定向量最接近的向量}
+
+\subsubsection*{Template Class Operators Request}
+
+\begin{TabularC}{6}
+\hline
+\rowcolor{lightgray}\PBS\raggedleft {\bf const?}&\PBS\centering {\bf Typename}&\PBS\raggedleft {\bf Operator }&{\bf Parameters }&\PBS\centering {\bf Return Type }&{\bf Description }\\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering \hyperlink{classmeow_1_1Vector}{Vector} &\PBS\raggedleft operator\mbox{[}\mbox{]} &(size\-\_\-t {\ttfamily n}) &\PBS\centering Scalar &取得第 {\ttfamily n} 維度量 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering \hyperlink{classmeow_1_1Vector}{Vector} &\PBS\raggedleft operator$<$ &(\hyperlink{classmeow_1_1Vector}{Vector} {\ttfamily v}) &\PBS\centering bool &權重比較 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar &\PBS\raggedleft operator$\ast$ &(Scalar {\ttfamily s}) &\PBS\centering Scalar &相乘 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar &\PBS\raggedleft operator+ &(Scalar {\ttfamily s}) &\PBS\centering Scalar &相加 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar &\PBS\raggedleft operator-\/ &(Scalar {\ttfamily s}) &\PBS\centering Scalar &相差 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar &\PBS\raggedleft operator$<$ &(Scalar {\ttfamily s}) &\PBS\centering bool &大小比較 \\\cline{1-6}
+\end{TabularC}
+
+
+\begin{DoxyNote}{Note}
+\-: 此資料結構只有在 N $>$$>$ 2 $^{\mbox{K}}$ 時才比較有優勢, 當 K 逐漸變大時, 所花時間會跟暴搜沒兩樣
+\end{DoxyNote}
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Member Typedef Documentation}
+\hypertarget{classmeow_1_1KD__Tree_afc143e90dba569c51b6eb146ba9df7f8}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!Vectors@{Vectors}}
+\index{Vectors@{Vectors}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{Vectors}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ typedef std\-::vector$<${\bf Vector}$>$ {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::{\bf Vectors}}}\label{classmeow_1_1KD__Tree_afc143e90dba569c51b6eb146ba9df7f8}
+
+
+Custom Type\-: Vectors is {\ttfamily std\-::vector$<$\-Vector$>$}
+
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1KD__Tree_a782840070cd90370c37d72e8a39765f9}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!K\-D\-\_\-\-Tree@{K\-D\-\_\-\-Tree}}
+\index{K\-D\-\_\-\-Tree@{K\-D\-\_\-\-Tree}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{K\-D\-\_\-\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::{\bf K\-D\-\_\-\-Tree} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_a782840070cd90370c37d72e8a39765f9}
+
+
+constructor, with dimension = 1
+
+\hypertarget{classmeow_1_1KD__Tree_aafecfa34e96615249e11e9ba1b85fdc7}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!K\-D\-\_\-\-Tree@{K\-D\-\_\-\-Tree}}
+\index{K\-D\-\_\-\-Tree@{K\-D\-\_\-\-Tree}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{K\-D\-\_\-\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::{\bf K\-D\-\_\-\-Tree} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_aafecfa34e96615249e11e9ba1b85fdc7}
+
+
+constructor, given dimension
+
+\hypertarget{classmeow_1_1KD__Tree_a6ffacb6d4020cfb1c127b68f3f427ee4}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!$\sim$\-K\-D\-\_\-\-Tree@{$\sim$\-K\-D\-\_\-\-Tree}}
+\index{$\sim$\-K\-D\-\_\-\-Tree@{$\sim$\-K\-D\-\_\-\-Tree}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{$\sim$\-K\-D\-\_\-\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::$\sim${\bf K\-D\-\_\-\-Tree} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_a6ffacb6d4020cfb1c127b68f3f427ee4}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1KD__Tree_abdeb11a064dc06f80437126d6744b022}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!build@{build}}
+\index{build@{build}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{build}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ void {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::build (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_abdeb11a064dc06f80437126d6744b022}
+
+
+檢查至今是否有 insert/erase 被呼叫來決定是否 {\ttfamily rebuild()}
+
+\hypertarget{classmeow_1_1KD__Tree_a586afb8e59665a951ab0a9deae2fde40}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!clear@{clear}}
+\index{clear@{clear}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ void {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_a586afb8e59665a951ab0a9deae2fde40}
+
+
+清空所有資料
+
+\hypertarget{classmeow_1_1KD__Tree_adb0aaa5a70a7255935d8a4326c454434}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!erase@{erase}}
+\index{erase@{erase}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{erase}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ bool {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::erase (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector} const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_adb0aaa5a70a7255935d8a4326c454434}
+
+
+將給定的\-Vector從set移除
+
+\hypertarget{classmeow_1_1KD__Tree_a09bf16356618fde6d256a843b87f44b6}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!force\-Build@{force\-Build}}
+\index{force\-Build@{force\-Build}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{force\-Build}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ void {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::force\-Build (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_a09bf16356618fde6d256a843b87f44b6}
+
+
+重新建樹
+
+\hypertarget{classmeow_1_1KD__Tree_ad1af6def42b23b9b4acef03d32774b9e}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!insert@{insert}}
+\index{insert@{insert}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ void {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::insert (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector} const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_ad1af6def42b23b9b4acef03d32774b9e}
+
+
+將給定的\-Vector加到set中
+
+\hypertarget{classmeow_1_1KD__Tree_a10e1cac9c14e047d77fb95eaf0b49bd8}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!query@{query}}
+\index{query@{query}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{query}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ {\bf Vectors} {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::query (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector} const \&}]{v, }
+\item[{size\-\_\-t}]{nearest\-Number, }
+\item[{bool}]{compare\-Whole\-Vector}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_a10e1cac9c14e047d77fb95eaf0b49bd8}
+
+
+查找
+
+於set中找尋距離指定向量前 {\ttfamily i} 近的向量, 並依照由近而遠的順序排序. 如果有兩個向量{\ttfamily v1},v2 距離一樣, 且 {\ttfamily cmp} 為{\ttfamily true} , 則直接依照 {\ttfamily v1$<$v2} 來決定誰在前面. 最後回傳一陣列包含所有解. \hypertarget{classmeow_1_1KD__Tree_a45be7cf06442b1a75902faa266950121}{\index{meow\-::\-K\-D\-\_\-\-Tree@{meow\-::\-K\-D\-\_\-\-Tree}!reset@{reset}}
+\index{reset@{reset}!meow::KD_Tree@{meow\-::\-K\-D\-\_\-\-Tree}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector , class Scalar $>$ void {\bf meow\-::\-K\-D\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1KD__Tree_a45be7cf06442b1a75902faa266950121}
+
+
+清空所有資料並重新給定維度
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{KD__Tree_8h}{K\-D\-\_\-\-Tree.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1LinearTransformation.eps b/doc/latex/classmeow_1_1LinearTransformation.eps
new file mode 100644
index 0000000..21dfa87
--- /dev/null
+++ b/doc/latex/classmeow_1_1LinearTransformation.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 251.046025
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.991667 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::LinearTransformation< Scalar >) cw
+(meow::Transformation< Scalar >) cw
+(meow::Rotation3D< Scalar >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::LinearTransformation< Scalar >) 0.000000 1.000000 box
+ (meow::Transformation< Scalar >) 0.000000 2.000000 box
+ (meow::Rotation3D< Scalar >) 0.000000 0.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
+solid
+1 0.000000 0.250000 out
+solid
+0 0.000000 0.750000 in
diff --git a/doc/latex/classmeow_1_1LinearTransformation.pdf b/doc/latex/classmeow_1_1LinearTransformation.pdf
new file mode 100644
index 0000000..42d064b
--- /dev/null
+++ b/doc/latex/classmeow_1_1LinearTransformation.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1LinearTransformation.tex b/doc/latex/classmeow_1_1LinearTransformation.tex
new file mode 100644
index 0000000..b44110b
--- /dev/null
+++ b/doc/latex/classmeow_1_1LinearTransformation.tex
@@ -0,0 +1,188 @@
+\hypertarget{classmeow_1_1LinearTransformation}{\section{meow\-:\-:Linear\-Transformation$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1LinearTransformation}\index{meow\-::\-Linear\-Transformation$<$ Scalar $>$@{meow\-::\-Linear\-Transformation$<$ Scalar $>$}}
+}
+
+
+A base class for implementing kinds of linear transformations.
+
+
+
+
+{\ttfamily \#include \char`\"{}Linear\-Transformation.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Linear\-Transformation$<$ Scalar $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classmeow_1_1LinearTransformation}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+virtual \hyperlink{classmeow_1_1LinearTransformation_ad21d0eb275d3ac9ce780e4ccf2c78bcb}{$\sim$\-Linear\-Transformation} ()
+\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \& \hyperlink{classmeow_1_1LinearTransformation_aeab1cf88fc67a1857504bd2fb18519f5}{matrix} () const
+\begin{DoxyCompactList}\small\item\em Return the matrix form of this transformation. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1LinearTransformation_a60ead2898f321c5d77d099e1dc3e103c}{matrix\-Inv} () const
+\begin{DoxyCompactList}\small\item\em Return the inverse of the matrix form of this transformate. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1LinearTransformation_a2c5d98a8bf1dc09c9284d40db9534a6e}{Linear\-Transformation} (size\-\_\-t \hyperlink{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}{input\-Rows}, size\-\_\-t \hyperlink{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}{output\-Rows}, size\-\_\-t psize)
+\item
+\hyperlink{classmeow_1_1LinearTransformation_a799ed3fafc41010b87807b46e9b9c222}{Linear\-Transformation} (size\-\_\-t \hyperlink{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}{input\-Rows}, size\-\_\-t \hyperlink{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}{output\-Rows}, size\-\_\-t psize, \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&m)
+\item
+\hyperlink{classmeow_1_1LinearTransformation_a4d73d74510c76bdbe176a8d498be185e}{Linear\-Transformation} (\hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation} const \&b)
+\item
+\hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation} \& \hyperlink{classmeow_1_1LinearTransformation_afb3ea3e2653152b7b5a8bbad952d3f0e}{copy\-From} (\hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation} const \&b)
+\begin{DoxyCompactList}\small\item\em Copy settings, matrix from another \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation}. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation} \& \hyperlink{classmeow_1_1LinearTransformation_a573c034e179570f7a1c41f0c1de54c87}{reference\-From} (\hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation} const \&b)
+\begin{DoxyCompactList}\small\item\em Reference settings, matrix from another \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation}. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \& \hyperlink{classmeow_1_1LinearTransformation_a9227417bd74bb950e1c732e5948befc0}{matrix} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&m)
+\begin{DoxyCompactList}\small\item\em Setup the matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Linear\-Transformation$<$ Scalar $>$}
+
+A base class for implementing kinds of linear transformations.
+
+Because all linear transformations belong to transformations, this class inherit to \hyperlink{classmeow_1_1Transformation}{Transformation}.
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1LinearTransformation_a2c5d98a8bf1dc09c9284d40db9534a6e}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!Linear\-Transformation@{Linear\-Transformation}}
+\index{Linear\-Transformation@{Linear\-Transformation}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{Linear\-Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::{\bf Linear\-Transformation} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{input\-Rows, }
+\item[{size\-\_\-t}]{output\-Rows, }
+\item[{size\-\_\-t}]{psize}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1LinearTransformation_a2c5d98a8bf1dc09c9284d40db9534a6e}
+Constructor with input/output size gived \hypertarget{classmeow_1_1LinearTransformation_a799ed3fafc41010b87807b46e9b9c222}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!Linear\-Transformation@{Linear\-Transformation}}
+\index{Linear\-Transformation@{Linear\-Transformation}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{Linear\-Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::{\bf Linear\-Transformation} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{input\-Rows, }
+\item[{size\-\_\-t}]{output\-Rows, }
+\item[{size\-\_\-t}]{psize, }
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1LinearTransformation_a799ed3fafc41010b87807b46e9b9c222}
+Constructor with input/output size gived and a inital matrix \hypertarget{classmeow_1_1LinearTransformation_a4d73d74510c76bdbe176a8d498be185e}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!Linear\-Transformation@{Linear\-Transformation}}
+\index{Linear\-Transformation@{Linear\-Transformation}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{Linear\-Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::{\bf Linear\-Transformation} (
+\begin{DoxyParamCaption}
+\item[{{\bf Linear\-Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1LinearTransformation_a4d73d74510c76bdbe176a8d498be185e}
+Constructor with another \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & another \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation} \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1LinearTransformation_ad21d0eb275d3ac9ce780e4ccf2c78bcb}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!$\sim$\-Linear\-Transformation@{$\sim$\-Linear\-Transformation}}
+\index{$\sim$\-Linear\-Transformation@{$\sim$\-Linear\-Transformation}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{$\sim$\-Linear\-Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::$\sim${\bf Linear\-Transformation} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1LinearTransformation_ad21d0eb275d3ac9ce780e4ccf2c78bcb}
+Destructor
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1LinearTransformation_afb3ea3e2653152b7b5a8bbad952d3f0e}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Linear\-Transformation}\& {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Linear\-Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1LinearTransformation_afb3ea3e2653152b7b5a8bbad952d3f0e}
+
+
+Copy settings, matrix from another \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation}.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & another \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation} \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1LinearTransformation_a9227417bd74bb950e1c732e5948befc0}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!matrix@{matrix}}
+\index{matrix@{matrix}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ const\& {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::matrix (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1LinearTransformation_a9227417bd74bb950e1c732e5948befc0}
+
+
+Setup the matrix.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em m} & matrix \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+new matrix
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1LinearTransformation_aeab1cf88fc67a1857504bd2fb18519f5}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!matrix@{matrix}}
+\index{matrix@{matrix}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ const\& {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::matrix (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1LinearTransformation_aeab1cf88fc67a1857504bd2fb18519f5}
+
+
+Return the matrix form of this transformation.
+
+\begin{DoxyReturn}{Returns}
+A matrix
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1LinearTransformation_a60ead2898f321c5d77d099e1dc3e103c}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!matrix\-Inv@{matrix\-Inv}}
+\index{matrix\-Inv@{matrix\-Inv}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{matrix\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::matrix\-Inv (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1LinearTransformation_a60ead2898f321c5d77d099e1dc3e103c}
+
+
+Return the inverse of the matrix form of this transformate.
+
+\begin{DoxyReturn}{Returns}
+A matrix (may be invalid)
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Rotation3D_a513851c5d53274b76fd9511ba1aea484}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_a513851c5d53274b76fd9511ba1aea484}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1LinearTransformation_a573c034e179570f7a1c41f0c1de54c87}{\index{meow\-::\-Linear\-Transformation@{meow\-::\-Linear\-Transformation}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::LinearTransformation@{meow\-::\-Linear\-Transformation}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Linear\-Transformation}\& {\bf meow\-::\-Linear\-Transformation}$<$ Scalar $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Linear\-Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1LinearTransformation_a573c034e179570f7a1c41f0c1de54c87}
+
+
+Reference settings, matrix from another \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation}.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & another \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation} \\
+\hline
+\end{DoxyParams}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/math/\hyperlink{LinearTransformation_8h}{Linear\-Transformation.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Matrix.tex b/doc/latex/classmeow_1_1Matrix.tex
new file mode 100644
index 0000000..617125e
--- /dev/null
+++ b/doc/latex/classmeow_1_1Matrix.tex
@@ -0,0 +1,750 @@
+\hypertarget{classmeow_1_1Matrix}{\section{meow\-:\-:Matrix$<$ Entry $>$ Class Template Reference}
+\label{classmeow_1_1Matrix}\index{meow\-::\-Matrix$<$ Entry $>$@{meow\-::\-Matrix$<$ Entry $>$}}
+}
+
+
+{\bfseries matrix}
+
+
+
+
+{\ttfamily \#include \char`\"{}Matrix.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Matrix_a2dc9f17e38ba52376822744d2fc48f29}{Matrix} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix_a5728557810b6c5444332557ac53597d5}{Matrix} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix_af0b4507ec5ea08e8f33aeb99f11e5f74}{Matrix} (size\-\_\-t r, size\-\_\-t c, Entry const \&e)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix_ae66fe3b4deb85b9b4c047f405a60f10e}{$\sim$\-Matrix} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \& \hyperlink{classmeow_1_1Matrix_afb81446984f7c27458ccef86be2de413}{copy\-From} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m)
+\begin{DoxyCompactList}\small\item\em copy \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \& \hyperlink{classmeow_1_1Matrix_a1dbef5b1a46df480f7fa3e118fd12bec}{reference\-From} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m)
+\begin{DoxyCompactList}\small\item\em reference \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Matrix_ac17251cb984beb1f74558724a22a0120}{reset} (size\-\_\-t r, size\-\_\-t c, Entry const \&e)
+\begin{DoxyCompactList}\small\item\em reset the size of the matrix to {\itshape r} x {\itshape c} with entry all be {\itshape e} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Matrix_a030758e4938c4d56a0b665e6a51d1405}{valid} () const
+\begin{DoxyCompactList}\small\item\em Return whether it is a {\bfseries valid} matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Matrix_a560adbe0b39f52bfb016edddc2955178}{rows} () const
+\begin{DoxyCompactList}\small\item\em Return number of rows. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Matrix_a4db3bb07e2557cbc668bdaa1beb241df}{cols} () const
+\begin{DoxyCompactList}\small\item\em Return number of cols. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Matrix_a8e35443c856f669d02b352f091c0404c}{size} () const
+\begin{DoxyCompactList}\small\item\em Return number of rows times number of cols. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Matrix_add7842aea9c5b0372f56656af0d43325}{rows} (size\-\_\-t r, Entry const \&e)
+\begin{DoxyCompactList}\small\item\em resize the matrix such that number of rows become {\itshape r}. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Matrix_a30d16679bb6843c5e35aae81738f3306}{cols} (size\-\_\-t c, Entry const \&e)
+\begin{DoxyCompactList}\small\item\em resize the matrix such that number of cols become {\itshape c} \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Matrix_ac492cefa5df3a4ac6c9799931fb93605}{size} (size\-\_\-t r, size\-\_\-t c, Entry const \&e)
+\begin{DoxyCompactList}\small\item\em resize \end{DoxyCompactList}\item
+Entry \hyperlink{classmeow_1_1Matrix_a46a12f45237e654e0140387d7290eb8b}{entry} (size\-\_\-t r, size\-\_\-t c) const
+\begin{DoxyCompactList}\small\item\em Access the entry at {\itshape r} x {\itshape c}. \end{DoxyCompactList}\item
+Entry \hyperlink{classmeow_1_1Matrix_aaba0981e54a17f0df8af9dabe9cad06f}{entry} (size\-\_\-t r, size\-\_\-t c, Entry const \&e)
+\begin{DoxyCompactList}\small\item\em Change the entry at {\itshape r} x {\itshape c}. \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Matrix_a13384643dc412817fdcd8f1834a02d12}{entries} (ssize\-\_\-t r\-First, ssize\-\_\-t r\-Last, ssize\-\_\-t c\-First, ssize\-\_\-t c\-Last, Entry const \&e)
+\begin{DoxyCompactList}\small\item\em Change the entries from {\itshape r\-First} x {\itshape c\-First} to {\itshape r\-Last} x {\itshape c\-Last}. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a93ff4579b7cb950868cad7a62bcf9fe8}{sub\-Matrix} (size\-\_\-t r\-First, size\-\_\-t r\-Last, size\-\_\-t c\-First, size\-\_\-t c\-Last) const
+\begin{DoxyCompactList}\small\item\em Return a {\itshape r\-Last-\/r\-First+1} x {\itshape c\-Last-\/c\-First+1} matrix. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_ae623c8168ebf26473550d831f0254c4c}{row} (size\-\_\-t r) const
+\begin{DoxyCompactList}\small\item\em Return the {\itshape r} -\/th row. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a9dfef448574df55fc34528665183c6c2}{col} (size\-\_\-t c) const
+\begin{DoxyCompactList}\small\item\em Return the {\itshape c} -\/th column. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_aa43f03179e3218c9af28f7374757a2cc}{positive} () const
+\begin{DoxyCompactList}\small\item\em return +{\itshape }($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a581dbd8ba10d054596a3d11eaf47f274}{negative} () const
+\begin{DoxyCompactList}\small\item\em return -\/{\itshape }($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_ac1030360f1f48119128d99428930cce6}{add} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this) + {\itshape m}. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_ae89a9a7646f7b7c0f23756809c65dc8c}{sub} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this) -\/ {\itshape m}. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a30fdb794e5966585e93cf715646210dd}{mul} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this) times {\itshape m}. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a06ac197ecfa9bc8bd5e9d9094f2d01ab}{mul} (Entry const \&s) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this) times {\itshape s}. {\itshape s} is a scalar \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_aed17cc829d1e766d2c905d65cbae48ce}{div} (Entry const \&s) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this) / {\itshape s}. {\itshape s} is a scalar \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a9987d4535f1de58b822325914e3a916f}{identity} () const
+\begin{DoxyCompactList}\small\item\em Return a identity matrix with size equal to itself. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \& \hyperlink{classmeow_1_1Matrix_abc6f5c824ee47cb15094729ca91f2e7c}{identitied} ()
+\begin{DoxyCompactList}\small\item\em Let itself be an identity matrix. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_af6c3ae812c4290d29fb0932b655887dd}{inverse} () const
+\begin{DoxyCompactList}\small\item\em Return a matrix which is an inverse matrix of {\itshape }($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \& \hyperlink{classmeow_1_1Matrix_ab7b158abdfe8ad1966cc3f0490743170}{inversed} ()
+\begin{DoxyCompactList}\small\item\em let itself become itself's inverse matrix \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a869be60b593d7ce7101ee7ac788b0dd0}{transpose} () const
+\begin{DoxyCompactList}\small\item\em return itself's transpose matrix \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \& \hyperlink{classmeow_1_1Matrix_a752bbc50fc06c7a6bfad8b4d09e19304}{transposed} ()
+\begin{DoxyCompactList}\small\item\em Let itself become itself's transpose matrix. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a138c71b681404e054fa27cac5bb80d56}{triangular} () const
+\begin{DoxyCompactList}\small\item\em return a matrix which is the triangular form of {\itshape }($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \& \hyperlink{classmeow_1_1Matrix_acf27e5ea48f42ceec61e933dfe269016}{triangulared} ()
+\begin{DoxyCompactList}\small\item\em triangluar itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \& \hyperlink{classmeow_1_1Matrix_a50bf284fe7beae52bb1bd0868486a602}{operator=} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m)
+\begin{DoxyCompactList}\small\item\em same as {\itshape copy\-From} \end{DoxyCompactList}\item
+Entry \hyperlink{classmeow_1_1Matrix_a78b4b8b4ee30d02cb726bf7b8ac13147}{operator()} (size\-\_\-t r, size\-\_\-t c) const
+\begin{DoxyCompactList}\small\item\em same as {\itshape entry(r,c)} \end{DoxyCompactList}\item
+Entry \hyperlink{classmeow_1_1Matrix_a1dc03cd2475a4c5f34afbe0cb498e472}{operator()} (size\-\_\-t r, size\-\_\-t c, Entry const \&e)
+\begin{DoxyCompactList}\small\item\em same as {\itshape entry(r,c,e)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_ade31d2339af552ba1df230c8383e2f84}{operator+} () const
+\begin{DoxyCompactList}\small\item\em same as {\itshape \hyperlink{classmeow_1_1Matrix_aa43f03179e3218c9af28f7374757a2cc}{positive()}} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a5d35d285b8cd59475e98f97966be68c1}{operator-\/} () const
+\begin{DoxyCompactList}\small\item\em same as {\itshape \hyperlink{classmeow_1_1Matrix_a581dbd8ba10d054596a3d11eaf47f274}{negative()}} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a8917cdb62ab6d8ed9572ac3303dbaab5}{operator+} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m) const
+\begin{DoxyCompactList}\small\item\em same as {\itshape add(m)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a955d9ddcb5b3467f8377ccae281ff4f5}{operator-\/} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m) const
+\begin{DoxyCompactList}\small\item\em same as {\itshape sub(m)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a913ed9a5df441a33fcf0dab1f35814c2}{operator$\ast$} (\hyperlink{classmeow_1_1Matrix}{Matrix} const \&m) const
+\begin{DoxyCompactList}\small\item\em same as {\itshape mul(m)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a15d360e71c0880fed3c9873affb04341}{operator$\ast$} (Entry const \&s) const
+\begin{DoxyCompactList}\small\item\em same as {\itshape mul(m)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix} \hyperlink{classmeow_1_1Matrix_a807c2a35579a429a2278956fc070f31a}{operator/} (Entry const \&s) const
+\begin{DoxyCompactList}\small\item\em same as {\itshape div(s)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Entry$>$class meow\-::\-Matrix$<$ Entry $>$}
+
+{\bfseries matrix}
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Matrix_a2dc9f17e38ba52376822744d2fc48f29}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!Matrix@{Matrix}}
+\index{Matrix@{Matrix}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{Matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf meow\-::\-Matrix}$<$ Entry $>$\-::{\bf Matrix} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a2dc9f17e38ba52376822744d2fc48f29}
+
+
+constructor
+
+Create an empty matrix with size {\bfseries 0x0}. In other world, create an {\bfseries invalid} matrix \hypertarget{classmeow_1_1Matrix_a5728557810b6c5444332557ac53597d5}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!Matrix@{Matrix}}
+\index{Matrix@{Matrix}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{Matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf meow\-::\-Matrix}$<$ Entry $>$\-::{\bf Matrix} (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a5728557810b6c5444332557ac53597d5}
+
+
+constructor
+
+Copy data from another one
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em m} & another matrix \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Matrix_af0b4507ec5ea08e8f33aeb99f11e5f74}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!Matrix@{Matrix}}
+\index{Matrix@{Matrix}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{Matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf meow\-::\-Matrix}$<$ Entry $>$\-::{\bf Matrix} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r, }
+\item[{size\-\_\-t}]{c, }
+\item[{Entry const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_af0b4507ec5ea08e8f33aeb99f11e5f74}
+
+
+constructor
+
+Create an {\itshape r} x {\itshape c} matrix with all entry be {\itshape e}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em r} & number of rows \\
+\hline
+\mbox{\tt in} & {\em c} & number of columns \\
+\hline
+\mbox{\tt in} & {\em e} & inital entry \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Matrix_ae66fe3b4deb85b9b4c047f405a60f10e}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!$\sim$\-Matrix@{$\sim$\-Matrix}}
+\index{$\sim$\-Matrix@{$\sim$\-Matrix}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{$\sim$\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf meow\-::\-Matrix}$<$ Entry $>$\-::$\sim${\bf Matrix} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_ae66fe3b4deb85b9b4c047f405a60f10e}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Matrix_ac1030360f1f48119128d99428930cce6}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!add@{add}}
+\index{add@{add}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_ac1030360f1f48119128d99428930cce6}
+
+
+return {\itshape }($\ast$this) + {\itshape m}.
+
+If the size not match, it will return an invalid matrix \hypertarget{classmeow_1_1Matrix_a9dfef448574df55fc34528665183c6c2}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!col@{col}}
+\index{col@{col}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{col}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::col (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a9dfef448574df55fc34528665183c6c2}
+
+
+Return the {\itshape c} -\/th column.
+
+\hypertarget{classmeow_1_1Matrix_a4db3bb07e2557cbc668bdaa1beb241df}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!cols@{cols}}
+\index{cols@{cols}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{cols}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ size\-\_\-t {\bf meow\-::\-Matrix}$<$ Entry $>$\-::cols (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a4db3bb07e2557cbc668bdaa1beb241df}
+
+
+Return number of cols.
+
+\hypertarget{classmeow_1_1Matrix_a30d16679bb6843c5e35aae81738f3306}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!cols@{cols}}
+\index{cols@{cols}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{cols}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ size\-\_\-t {\bf meow\-::\-Matrix}$<$ Entry $>$\-::cols (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{c, }
+\item[{Entry const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a30d16679bb6843c5e35aae81738f3306}
+
+
+resize the matrix such that number of cols become {\itshape c}
+
+New created entry will be {\itshape e}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em c} & new number of columns \\
+\hline
+\mbox{\tt in} & {\em e} & inital entry \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+new number of columns
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Matrix_afb81446984f7c27458ccef86be2de413}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix}\& {\bf meow\-::\-Matrix}$<$ Entry $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_afb81446984f7c27458ccef86be2de413}
+
+
+copy
+
+Copy data from another matrix
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em m} & matrix \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+$\ast$this
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Matrix_aed17cc829d1e766d2c905d65cbae48ce}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!div@{div}}
+\index{div@{div}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{div}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::div (
+\begin{DoxyParamCaption}
+\item[{Entry const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_aed17cc829d1e766d2c905d65cbae48ce}
+
+
+return {\itshape }($\ast$this) / {\itshape s}. {\itshape s} is a scalar
+
+\hypertarget{classmeow_1_1Matrix_a13384643dc412817fdcd8f1834a02d12}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!entries@{entries}}
+\index{entries@{entries}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{entries}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ void {\bf meow\-::\-Matrix}$<$ Entry $>$\-::entries (
+\begin{DoxyParamCaption}
+\item[{ssize\-\_\-t}]{r\-First, }
+\item[{ssize\-\_\-t}]{r\-Last, }
+\item[{ssize\-\_\-t}]{c\-First, }
+\item[{ssize\-\_\-t}]{c\-Last, }
+\item[{Entry const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a13384643dc412817fdcd8f1834a02d12}
+
+
+Change the entries from {\itshape r\-First} x {\itshape c\-First} to {\itshape r\-Last} x {\itshape c\-Last}.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em r\-First} & \\
+\hline
+\mbox{\tt in} & {\em r\-Last} & \\
+\hline
+\mbox{\tt in} & {\em c\-First} & \\
+\hline
+\mbox{\tt in} & {\em c\-Last} & \\
+\hline
+\mbox{\tt in} & {\em e} & value \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+void
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Matrix_a46a12f45237e654e0140387d7290eb8b}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!entry@{entry}}
+\index{entry@{entry}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{entry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ Entry {\bf meow\-::\-Matrix}$<$ Entry $>$\-::entry (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r, }
+\item[{size\-\_\-t}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a46a12f45237e654e0140387d7290eb8b}
+
+
+Access the entry at {\itshape r} x {\itshape c}.
+
+\hypertarget{classmeow_1_1Matrix_aaba0981e54a17f0df8af9dabe9cad06f}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!entry@{entry}}
+\index{entry@{entry}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{entry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ Entry {\bf meow\-::\-Matrix}$<$ Entry $>$\-::entry (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r, }
+\item[{size\-\_\-t}]{c, }
+\item[{Entry const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_aaba0981e54a17f0df8af9dabe9cad06f}
+
+
+Change the entry at {\itshape r} x {\itshape c}.
+
+\hypertarget{classmeow_1_1Matrix_abc6f5c824ee47cb15094729ca91f2e7c}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!identitied@{identitied}}
+\index{identitied@{identitied}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{identitied}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix}\& {\bf meow\-::\-Matrix}$<$ Entry $>$\-::identitied (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_abc6f5c824ee47cb15094729ca91f2e7c}
+
+
+Let itself be an identity matrix.
+
+Our definition of Identity matrix is 1 for entry(i, i) and 0 otherwise. \hypertarget{classmeow_1_1Matrix_a9987d4535f1de58b822325914e3a916f}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!identity@{identity}}
+\index{identity@{identity}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{identity}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::identity (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a9987d4535f1de58b822325914e3a916f}
+
+
+Return a identity matrix with size equal to itself.
+
+\hypertarget{classmeow_1_1Matrix_af6c3ae812c4290d29fb0932b655887dd}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!inverse@{inverse}}
+\index{inverse@{inverse}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{inverse}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::inverse (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_af6c3ae812c4290d29fb0932b655887dd}
+
+
+Return a matrix which is an inverse matrix of {\itshape }($\ast$this)
+
+If inverse matrix doesn't exist, it will return a invalid matrix \hypertarget{classmeow_1_1Matrix_ab7b158abdfe8ad1966cc3f0490743170}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!inversed@{inversed}}
+\index{inversed@{inversed}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{inversed}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix}\& {\bf meow\-::\-Matrix}$<$ Entry $>$\-::inversed (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_ab7b158abdfe8ad1966cc3f0490743170}
+
+
+let itself become itself's inverse matrix
+
+\hypertarget{classmeow_1_1Matrix_a30fdb794e5966585e93cf715646210dd}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!mul@{mul}}
+\index{mul@{mul}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{mul}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::mul (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a30fdb794e5966585e93cf715646210dd}
+
+
+return {\itshape }($\ast$this) times {\itshape m}.
+
+If the size not match, it will return an invalid matrix \hypertarget{classmeow_1_1Matrix_a06ac197ecfa9bc8bd5e9d9094f2d01ab}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!mul@{mul}}
+\index{mul@{mul}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{mul}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::mul (
+\begin{DoxyParamCaption}
+\item[{Entry const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a06ac197ecfa9bc8bd5e9d9094f2d01ab}
+
+
+return {\itshape }($\ast$this) times {\itshape s}. {\itshape s} is a scalar
+
+\hypertarget{classmeow_1_1Matrix_a581dbd8ba10d054596a3d11eaf47f274}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!negative@{negative}}
+\index{negative@{negative}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{negative}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::negative (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a581dbd8ba10d054596a3d11eaf47f274}
+
+
+return -\/{\itshape }($\ast$this)
+
+\hypertarget{classmeow_1_1Matrix_a78b4b8b4ee30d02cb726bf7b8ac13147}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ Entry {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r, }
+\item[{size\-\_\-t}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a78b4b8b4ee30d02cb726bf7b8ac13147}
+
+
+same as {\itshape entry(r,c)}
+
+\hypertarget{classmeow_1_1Matrix_a1dc03cd2475a4c5f34afbe0cb498e472}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ Entry {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r, }
+\item[{size\-\_\-t}]{c, }
+\item[{Entry const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a1dc03cd2475a4c5f34afbe0cb498e472}
+
+
+same as {\itshape entry(r,c,e)}
+
+\hypertarget{classmeow_1_1Matrix_a913ed9a5df441a33fcf0dab1f35814c2}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a913ed9a5df441a33fcf0dab1f35814c2}
+
+
+same as {\itshape mul(m)}
+
+\hypertarget{classmeow_1_1Matrix_a15d360e71c0880fed3c9873affb04341}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{Entry const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a15d360e71c0880fed3c9873affb04341}
+
+
+same as {\itshape mul(m)}
+
+\hypertarget{classmeow_1_1Matrix_ade31d2339af552ba1df230c8383e2f84}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator+ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_ade31d2339af552ba1df230c8383e2f84}
+
+
+same as {\itshape \hyperlink{classmeow_1_1Matrix_aa43f03179e3218c9af28f7374757a2cc}{positive()}}
+
+\hypertarget{classmeow_1_1Matrix_a8917cdb62ab6d8ed9572ac3303dbaab5}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a8917cdb62ab6d8ed9572ac3303dbaab5}
+
+
+same as {\itshape add(m)}
+
+\hypertarget{classmeow_1_1Matrix_a5d35d285b8cd59475e98f97966be68c1}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator-\/ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a5d35d285b8cd59475e98f97966be68c1}
+
+
+same as {\itshape \hyperlink{classmeow_1_1Matrix_a581dbd8ba10d054596a3d11eaf47f274}{negative()}}
+
+\hypertarget{classmeow_1_1Matrix_a955d9ddcb5b3467f8377ccae281ff4f5}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a955d9ddcb5b3467f8377ccae281ff4f5}
+
+
+same as {\itshape sub(m)}
+
+\hypertarget{classmeow_1_1Matrix_a807c2a35579a429a2278956fc070f31a}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{Entry const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a807c2a35579a429a2278956fc070f31a}
+
+
+same as {\itshape div(s)}
+
+\hypertarget{classmeow_1_1Matrix_a50bf284fe7beae52bb1bd0868486a602}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix}\& {\bf meow\-::\-Matrix}$<$ Entry $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a50bf284fe7beae52bb1bd0868486a602}
+
+
+same as {\itshape copy\-From}
+
+\hypertarget{classmeow_1_1Matrix_aa43f03179e3218c9af28f7374757a2cc}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!positive@{positive}}
+\index{positive@{positive}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{positive}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::positive (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_aa43f03179e3218c9af28f7374757a2cc}
+
+
+return +{\itshape }($\ast$this)
+
+\hypertarget{classmeow_1_1Matrix_a1dbef5b1a46df480f7fa3e118fd12bec}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix}\& {\bf meow\-::\-Matrix}$<$ Entry $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a1dbef5b1a46df480f7fa3e118fd12bec}
+
+
+reference
+
+Reference itself to another matrix
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em m} & matrix \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+$\ast$this
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Matrix_ac17251cb984beb1f74558724a22a0120}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!reset@{reset}}
+\index{reset@{reset}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ void {\bf meow\-::\-Matrix}$<$ Entry $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r, }
+\item[{size\-\_\-t}]{c, }
+\item[{Entry const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_ac17251cb984beb1f74558724a22a0120}
+
+
+reset the size of the matrix to {\itshape r} x {\itshape c} with entry all be {\itshape e}
+
+\hypertarget{classmeow_1_1Matrix_ae623c8168ebf26473550d831f0254c4c}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!row@{row}}
+\index{row@{row}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{row}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::row (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_ae623c8168ebf26473550d831f0254c4c}
+
+
+Return the {\itshape r} -\/th row.
+
+\hypertarget{classmeow_1_1Matrix_a560adbe0b39f52bfb016edddc2955178}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!rows@{rows}}
+\index{rows@{rows}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{rows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ size\-\_\-t {\bf meow\-::\-Matrix}$<$ Entry $>$\-::rows (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a560adbe0b39f52bfb016edddc2955178}
+
+
+Return number of rows.
+
+\hypertarget{classmeow_1_1Matrix_add7842aea9c5b0372f56656af0d43325}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!rows@{rows}}
+\index{rows@{rows}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{rows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ size\-\_\-t {\bf meow\-::\-Matrix}$<$ Entry $>$\-::rows (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r, }
+\item[{Entry const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_add7842aea9c5b0372f56656af0d43325}
+
+
+resize the matrix such that number of rows become {\itshape r}.
+
+New created entry will be {\itshape e}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em r} & new number of rows \\
+\hline
+\mbox{\tt in} & {\em e} & inital entry \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+new number of rows
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Matrix_a8e35443c856f669d02b352f091c0404c}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!size@{size}}
+\index{size@{size}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ size\-\_\-t {\bf meow\-::\-Matrix}$<$ Entry $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a8e35443c856f669d02b352f091c0404c}
+
+
+Return number of rows times number of cols.
+
+\hypertarget{classmeow_1_1Matrix_ac492cefa5df3a4ac6c9799931fb93605}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!size@{size}}
+\index{size@{size}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ size\-\_\-t {\bf meow\-::\-Matrix}$<$ Entry $>$\-::size (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r, }
+\item[{size\-\_\-t}]{c, }
+\item[{Entry const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_ac492cefa5df3a4ac6c9799931fb93605}
+
+
+resize
+
+Resize to {\itshape r} x {\itshape c}, with new created entry be {\itshape e}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em r} & number of rows \\
+\hline
+\mbox{\tt in} & {\em c} & number of rows \\
+\hline
+\mbox{\tt in} & {\em e} & inital entry \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\itshape r} $\ast$ {\itshape c}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Matrix_ae89a9a7646f7b7c0f23756809c65dc8c}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!sub@{sub}}
+\index{sub@{sub}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{sub}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::sub (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Entry $>$ const \&}]{m}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_ae89a9a7646f7b7c0f23756809c65dc8c}
+
+
+return {\itshape }($\ast$this) -\/ {\itshape m}.
+
+If the size not match, it will return an invalid matrix \hypertarget{classmeow_1_1Matrix_a93ff4579b7cb950868cad7a62bcf9fe8}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!sub\-Matrix@{sub\-Matrix}}
+\index{sub\-Matrix@{sub\-Matrix}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{sub\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::sub\-Matrix (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{r\-First, }
+\item[{size\-\_\-t}]{r\-Last, }
+\item[{size\-\_\-t}]{c\-First, }
+\item[{size\-\_\-t}]{c\-Last}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a93ff4579b7cb950868cad7a62bcf9fe8}
+
+
+Return a {\itshape r\-Last-\/r\-First+1} x {\itshape c\-Last-\/c\-First+1} matrix.
+
+With value be the entries from {\itshape r\-First} x {\itshape c\-First} to {\itshape r\-Last} x {\itshape c\-Last}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em r\-First} & \\
+\hline
+\mbox{\tt in} & {\em r\-Last} & \\
+\hline
+\mbox{\tt in} & {\em c\-First} & \\
+\hline
+\mbox{\tt in} & {\em c\-Last} & \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a matrix
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Matrix_a869be60b593d7ce7101ee7ac788b0dd0}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!transpose@{transpose}}
+\index{transpose@{transpose}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{transpose}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::transpose (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a869be60b593d7ce7101ee7ac788b0dd0}
+
+
+return itself's transpose matrix
+
+\hypertarget{classmeow_1_1Matrix_a752bbc50fc06c7a6bfad8b4d09e19304}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!transposed@{transposed}}
+\index{transposed@{transposed}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{transposed}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix}\& {\bf meow\-::\-Matrix}$<$ Entry $>$\-::transposed (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a752bbc50fc06c7a6bfad8b4d09e19304}
+
+
+Let itself become itself's transpose matrix.
+
+\hypertarget{classmeow_1_1Matrix_a138c71b681404e054fa27cac5bb80d56}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!triangular@{triangular}}
+\index{triangular@{triangular}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{triangular}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix} {\bf meow\-::\-Matrix}$<$ Entry $>$\-::triangular (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a138c71b681404e054fa27cac5bb80d56}
+
+
+return a matrix which is the triangular form of {\itshape }($\ast$this)
+
+\hypertarget{classmeow_1_1Matrix_acf27e5ea48f42ceec61e933dfe269016}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!triangulared@{triangulared}}
+\index{triangulared@{triangulared}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{triangulared}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ {\bf Matrix}\& {\bf meow\-::\-Matrix}$<$ Entry $>$\-::triangulared (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_acf27e5ea48f42ceec61e933dfe269016}
+
+
+triangluar itself
+
+\hypertarget{classmeow_1_1Matrix_a030758e4938c4d56a0b665e6a51d1405}{\index{meow\-::\-Matrix@{meow\-::\-Matrix}!valid@{valid}}
+\index{valid@{valid}!meow::Matrix@{meow\-::\-Matrix}}
+\subsubsection[{valid}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Entry$>$ bool {\bf meow\-::\-Matrix}$<$ Entry $>$\-::valid (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Matrix_a030758e4938c4d56a0b665e6a51d1405}
+
+
+Return whether it is a {\bfseries valid} matrix.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/math/\hyperlink{Matrix_8h}{Matrix.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1MergeableHeap.tex b/doc/latex/classmeow_1_1MergeableHeap.tex
new file mode 100644
index 0000000..a6f968f
--- /dev/null
+++ b/doc/latex/classmeow_1_1MergeableHeap.tex
@@ -0,0 +1,213 @@
+\hypertarget{classmeow_1_1MergeableHeap}{\section{meow\-:\-:Mergeable\-Heap$<$ Element $>$ Class Template Reference}
+\label{classmeow_1_1MergeableHeap}\index{meow\-::\-Mergeable\-Heap$<$ Element $>$@{meow\-::\-Mergeable\-Heap$<$ Element $>$}}
+}
+
+
+一個用 {\bfseries 左偏樹} 實作的 {\ttfamily Maximum-\/\-Heap} , 除了原本heap有的功能外, 還支援 {\ttfamily merge} 功能
+
+
+
+
+{\ttfamily \#include \char`\"{}Mergeable\-Heap.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1MergeableHeap_a7ef8e2deae0058c91eda490005b978f7}{Mergeable\-Heap} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1MergeableHeap_a1d0ef435fb0214b13fbbc1a8b0ce7cdf}{Mergeable\-Heap} (\hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap} const \&heap2)
+\begin{DoxyCompactList}\small\item\em constructor, 並且複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1MergeableHeap_a24a0a465dff230206e85f7b3c172553f}{$\sim$\-Mergeable\-Heap} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap} \& \hyperlink{classmeow_1_1MergeableHeap_a3f9a65eeb600d0b9fba60855b560ab33}{copy\-From} (\hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap} const \&heap2)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1MergeableHeap_acec8dde15d23e729aba90d98417db845}{move\-To} (\hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap} $\ast$heap2)
+\begin{DoxyCompactList}\small\item\em 將自己的資料丟給指定的heap, 從此自己一身空 \end{DoxyCompactList}\item
+Element const \& \hyperlink{classmeow_1_1MergeableHeap_a7daf99f9cc15f0cfa2625da4623b9042}{top} () const
+\begin{DoxyCompactList}\small\item\em 回傳最大的那個 Element \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1MergeableHeap_a112454a9c92b71531429442e95953576}{size} () const
+\begin{DoxyCompactList}\small\item\em 回傳資料個數 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1MergeableHeap_a531fff6c8a72f09168701a0612b20af7}{empty} () const
+\begin{DoxyCompactList}\small\item\em 回傳是否為空 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1MergeableHeap_a9491f6a76be757ae888a4093c034eedb}{push} (Element const \&value)
+\begin{DoxyCompactList}\small\item\em 加入element \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1MergeableHeap_a769478f3424598aa9a408d61b5a83928}{pop} ()
+\begin{DoxyCompactList}\small\item\em 將最大的element移除 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1MergeableHeap_aaa072185a884716b2dd5c0ba608be1b0}{clear} ()
+\item
+void \hyperlink{classmeow_1_1MergeableHeap_a3638f12db8da212244cb6ab7e37332db}{merge} (\hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap} $\ast$heap2)
+\item
+\hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap} \& \hyperlink{classmeow_1_1MergeableHeap_a304bacba11be0772b10505b6053a57e1}{operator=} (\hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap} const \&heap2)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(heap2)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Element$>$class meow\-::\-Mergeable\-Heap$<$ Element $>$}
+
+一個用 {\bfseries 左偏樹} 實作的 {\ttfamily Maximum-\/\-Heap} , 除了原本heap有的功能外, 還支援 {\ttfamily merge} 功能
+
+\subsubsection*{Template Class Operators Request}
+
+\begin{TabularC}{6}
+\hline
+\rowcolor{lightgray}\PBS\raggedleft {\bf const?}&\PBS\centering {\bf Typename}&\PBS\raggedleft {\bf Operator }&{\bf Parameters }&\PBS\centering {\bf Return Type }&{\bf Description }\\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Element &\PBS\raggedleft operator$<$ &(Element {\ttfamily b})&\PBS\centering bool &大小比較 \\\cline{1-6}
+\end{TabularC}
+
+
+\begin{DoxyNote}{Note}
+\-: 假設現在有兩個\-Mergeable\-Heap {\ttfamily A} 和 {\ttfamily B}, 則\-:
+\begin{DoxyItemize}
+\item 執行 {\ttfamily A.\-merge(\&\-B)} 後 {\ttfamily B} 會變成空的
+\item 執行 {\ttfamily B.\-move\-To(\&\-A)} 後 {\ttfamily B} 會變成空的, {\ttfamily A} 原本擁有的資料也會覆蓋掉
+\end{DoxyItemize}
+\end{DoxyNote}
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1MergeableHeap_a7ef8e2deae0058c91eda490005b978f7}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!Mergeable\-Heap@{Mergeable\-Heap}}
+\index{Mergeable\-Heap@{Mergeable\-Heap}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{Mergeable\-Heap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::{\bf Mergeable\-Heap} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a7ef8e2deae0058c91eda490005b978f7}
+
+
+constructor
+
+\hypertarget{classmeow_1_1MergeableHeap_a1d0ef435fb0214b13fbbc1a8b0ce7cdf}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!Mergeable\-Heap@{Mergeable\-Heap}}
+\index{Mergeable\-Heap@{Mergeable\-Heap}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{Mergeable\-Heap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::{\bf Mergeable\-Heap} (
+\begin{DoxyParamCaption}
+\item[{{\bf Mergeable\-Heap}$<$ Element $>$ const \&}]{heap2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a1d0ef435fb0214b13fbbc1a8b0ce7cdf}
+
+
+constructor, 並且複製資料
+
+\hypertarget{classmeow_1_1MergeableHeap_a24a0a465dff230206e85f7b3c172553f}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!$\sim$\-Mergeable\-Heap@{$\sim$\-Mergeable\-Heap}}
+\index{$\sim$\-Mergeable\-Heap@{$\sim$\-Mergeable\-Heap}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{$\sim$\-Mergeable\-Heap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::$\sim${\bf Mergeable\-Heap} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a24a0a465dff230206e85f7b3c172553f}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1MergeableHeap_aaa072185a884716b2dd5c0ba608be1b0}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!clear@{clear}}
+\index{clear@{clear}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ void {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_aaa072185a884716b2dd5c0ba608be1b0}
+將資料清空 \hypertarget{classmeow_1_1MergeableHeap_a3f9a65eeb600d0b9fba60855b560ab33}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ {\bf Mergeable\-Heap}\& {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Mergeable\-Heap}$<$ Element $>$ const \&}]{heap2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a3f9a65eeb600d0b9fba60855b560ab33}
+
+
+複製資料
+
+\hypertarget{classmeow_1_1MergeableHeap_a531fff6c8a72f09168701a0612b20af7}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!empty@{empty}}
+\index{empty@{empty}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ bool {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::empty (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a531fff6c8a72f09168701a0612b20af7}
+
+
+回傳是否為空
+
+\hypertarget{classmeow_1_1MergeableHeap_a3638f12db8da212244cb6ab7e37332db}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!merge@{merge}}
+\index{merge@{merge}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{merge}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ void {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::merge (
+\begin{DoxyParamCaption}
+\item[{{\bf Mergeable\-Heap}$<$ Element $>$ $\ast$}]{heap2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a3638f12db8da212244cb6ab7e37332db}
+將給定的\-Mergeable\-Heap的資料統統加到自己身上並且清空該heap \hypertarget{classmeow_1_1MergeableHeap_acec8dde15d23e729aba90d98417db845}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!move\-To@{move\-To}}
+\index{move\-To@{move\-To}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{move\-To}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ void {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::move\-To (
+\begin{DoxyParamCaption}
+\item[{{\bf Mergeable\-Heap}$<$ Element $>$ $\ast$}]{heap2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_acec8dde15d23e729aba90d98417db845}
+
+
+將自己的資料丟給指定的heap, 從此自己一身空
+
+\hypertarget{classmeow_1_1MergeableHeap_a304bacba11be0772b10505b6053a57e1}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ {\bf Mergeable\-Heap}\& {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Mergeable\-Heap}$<$ Element $>$ const \&}]{heap2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a304bacba11be0772b10505b6053a57e1}
+
+
+same as {\ttfamily copy\-From(heap2)}
+
+\hypertarget{classmeow_1_1MergeableHeap_a769478f3424598aa9a408d61b5a83928}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!pop@{pop}}
+\index{pop@{pop}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{pop}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ void {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::pop (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a769478f3424598aa9a408d61b5a83928}
+
+
+將最大的element移除
+
+\hypertarget{classmeow_1_1MergeableHeap_a9491f6a76be757ae888a4093c034eedb}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!push@{push}}
+\index{push@{push}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{push}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ void {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::push (
+\begin{DoxyParamCaption}
+\item[{Element const \&}]{value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a9491f6a76be757ae888a4093c034eedb}
+
+
+加入element
+
+\hypertarget{classmeow_1_1MergeableHeap_a112454a9c92b71531429442e95953576}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!size@{size}}
+\index{size@{size}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ size\-\_\-t {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a112454a9c92b71531429442e95953576}
+
+
+回傳資料個數
+
+\hypertarget{classmeow_1_1MergeableHeap_a7daf99f9cc15f0cfa2625da4623b9042}{\index{meow\-::\-Mergeable\-Heap@{meow\-::\-Mergeable\-Heap}!top@{top}}
+\index{top@{top}!meow::MergeableHeap@{meow\-::\-Mergeable\-Heap}}
+\subsubsection[{top}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Element $>$ Element const\& {\bf meow\-::\-Mergeable\-Heap}$<$ Element $>$\-::top (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1MergeableHeap_a7daf99f9cc15f0cfa2625da4623b9042}
+
+
+回傳最大的那個 Element
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{MergeableHeap_8h}{Mergeable\-Heap.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ObjArray.eps b/doc/latex/classmeow_1_1ObjArray.eps
new file mode 100644
index 0000000..007d9cd
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjArray.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 281.690141
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.775000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::ObjArray< T >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::ObjArray< T >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1ObjArray.pdf b/doc/latex/classmeow_1_1ObjArray.pdf
new file mode 100644
index 0000000..e2a3ac1
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjArray.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1ObjArray.tex b/doc/latex/classmeow_1_1ObjArray.tex
new file mode 100644
index 0000000..30cff78
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjArray.tex
@@ -0,0 +1,299 @@
+\hypertarget{classmeow_1_1ObjArray}{\section{meow\-:\-:Obj\-Array$<$ T $>$ Class Template Reference}
+\label{classmeow_1_1ObjArray}\index{meow\-::\-Obj\-Array$<$ T $>$@{meow\-::\-Obj\-Array$<$ T $>$}}
+}
+
+
+純粹把 {\ttfamily std\-::vector} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+
+
+
+
+{\ttfamily \#include \char`\"{}Obj\-Array.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Obj\-Array$<$ T $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1ObjArray}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1ObjArray_adf6b1b267475a6a25a03317943e4a3cf}{Obj\-Array} ()
+\item
+\hyperlink{classmeow_1_1ObjArray_a277d2ef80a4a62815253e57a91b3ed6f}{Obj\-Array} (\hyperlink{classmeow_1_1ObjArray}{Obj\-Array} const \&a)
+\item
+\hyperlink{classmeow_1_1ObjArray_a5a9fa3cf06aab931c3248be58c3f1c14}{Obj\-Array} (std\-::vector$<$ T $>$ const \&a)
+\item
+\hyperlink{classmeow_1_1ObjArray_a387a45e9231e39b68790881125122768}{Obj\-Array} (size\-\_\-t sz, T const \&e)
+\item
+\hyperlink{classmeow_1_1ObjArray_a730a953292ddeb0a03958f00087da129}{$\sim$\-Obj\-Array} ()
+\item
+\hyperlink{classmeow_1_1ObjArray}{Obj\-Array} \& \hyperlink{classmeow_1_1ObjArray_a8886e87d000181823e3532791e6a8288}{copy\-From} (\hyperlink{classmeow_1_1ObjArray}{Obj\-Array} const \&a)
+\item
+\hyperlink{classmeow_1_1ObjArray}{Obj\-Array} \& \hyperlink{classmeow_1_1ObjArray_aa09ddb0d17ebb93520b211dc29ad2904}{reference\-From} (\hyperlink{classmeow_1_1ObjArray}{Obj\-Array} const \&a)
+\item
+size\-\_\-t \hyperlink{classmeow_1_1ObjArray_ad1acc646bf175e7797a1205c89240a01}{size} () const
+\item
+bool \hyperlink{classmeow_1_1ObjArray_a0cf27c92cf52d3f125a0e01e6b62bce0}{empty} () const
+\item
+size\-\_\-t \hyperlink{classmeow_1_1ObjArray_ab77633d00d8e75f1e6dd548c07d780fe}{size} (size\-\_\-t res, T const \&i)
+\item
+size\-\_\-t \hyperlink{classmeow_1_1ObjArray_af6c846ed0992c4f1e0a765a6d3549628}{size} (size\-\_\-t res)
+\item
+void \hyperlink{classmeow_1_1ObjArray_adaa534a1d808e8064b6cd073fedf1e73}{clear} ()
+\item
+T const \& \hyperlink{classmeow_1_1ObjArray_a83d175206d5bae2542a818200dd64c9b}{entry} (size\-\_\-t i) const
+\item
+T const \& \hyperlink{classmeow_1_1ObjArray_a56b6b9b5e415c084ece7f0c214f0e8f0}{entry} (size\-\_\-t i, T const \&e)
+\item
+T const \& \hyperlink{classmeow_1_1ObjArray_affe4f74887e9c81f1e01b4bd1a4e0e28}{put\-Back} (T const \&e)
+\item
+bool \hyperlink{classmeow_1_1ObjArray_a5196b0d1ae35ce86857d88810cc0933f}{pop\-Back} ()
+\item
+\hyperlink{classmeow_1_1ObjArray}{Obj\-Array} \& \hyperlink{classmeow_1_1ObjArray_a3b0c22ea4f9538279794ce866013a2cf}{operator=} (\hyperlink{classmeow_1_1ObjArray}{Obj\-Array} const \&a)
+\item
+T const \& \hyperlink{classmeow_1_1ObjArray_a1b6cb50da01769067bafcb85c2a5104f}{operator\mbox{[}$\,$\mbox{]}} (size\-\_\-t i) const
+\item
+T \& \hyperlink{classmeow_1_1ObjArray_aa9e6268b6d7ea3c7b53101a7a175e360}{operator\mbox{[}$\,$\mbox{]}} (size\-\_\-t i)
+\item
+bool \hyperlink{classmeow_1_1ObjArray_a089627fcba2e80760993e3aff1705a70}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\item
+bool \hyperlink{classmeow_1_1ObjArray_a3bc18d106d33e0a2f00f6e9ebf443b74}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjArray_a35d6363d1432059e3dd7c3c43ca006ae}{create} () const
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjArray_a339fcf38102846e361db6aa1e896c044}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\item
+char const $\ast$ \hyperlink{classmeow_1_1ObjArray_a8be408ac8b9b6515fc55dfecd418ceb5}{ctype} () const
+\item
+std\-::string \hyperlink{classmeow_1_1ObjArray_a8fe5956bfb52c17632b00338c7da5d5c}{type} () const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class T$>$class meow\-::\-Obj\-Array$<$ T $>$}
+
+純粹把 {\ttfamily std\-::vector} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+
+\begin{DoxyAuthor}{Author}
+cathook
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1ObjArray_adf6b1b267475a6a25a03317943e4a3cf}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!Obj\-Array@{Obj\-Array}}
+\index{Obj\-Array@{Obj\-Array}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{Obj\-Array}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::{\bf Obj\-Array} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_adf6b1b267475a6a25a03317943e4a3cf}
+\hypertarget{classmeow_1_1ObjArray_a277d2ef80a4a62815253e57a91b3ed6f}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!Obj\-Array@{Obj\-Array}}
+\index{Obj\-Array@{Obj\-Array}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{Obj\-Array}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::{\bf Obj\-Array} (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Array}$<$ T $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a277d2ef80a4a62815253e57a91b3ed6f}
+\hypertarget{classmeow_1_1ObjArray_a5a9fa3cf06aab931c3248be58c3f1c14}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!Obj\-Array@{Obj\-Array}}
+\index{Obj\-Array@{Obj\-Array}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{Obj\-Array}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::{\bf Obj\-Array} (
+\begin{DoxyParamCaption}
+\item[{std\-::vector$<$ T $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a5a9fa3cf06aab931c3248be58c3f1c14}
+\hypertarget{classmeow_1_1ObjArray_a387a45e9231e39b68790881125122768}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!Obj\-Array@{Obj\-Array}}
+\index{Obj\-Array@{Obj\-Array}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{Obj\-Array}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::{\bf Obj\-Array} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{sz, }
+\item[{T const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a387a45e9231e39b68790881125122768}
+\hypertarget{classmeow_1_1ObjArray_a730a953292ddeb0a03958f00087da129}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!$\sim$\-Obj\-Array@{$\sim$\-Obj\-Array}}
+\index{$\sim$\-Obj\-Array@{$\sim$\-Obj\-Array}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{$\sim$\-Obj\-Array}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::$\sim${\bf Obj\-Array} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a730a953292ddeb0a03958f00087da129}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ObjArray_adaa534a1d808e8064b6cd073fedf1e73}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!clear@{clear}}
+\index{clear@{clear}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_adaa534a1d808e8064b6cd073fedf1e73}
+\hypertarget{classmeow_1_1ObjArray_a8886e87d000181823e3532791e6a8288}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf Obj\-Array}\& {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Array}$<$ T $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a8886e87d000181823e3532791e6a8288}
+\hypertarget{classmeow_1_1ObjArray_a339fcf38102846e361db6aa1e896c044}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjArray_a339fcf38102846e361db6aa1e896c044}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjArray_a35d6363d1432059e3dd7c3c43ca006ae}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!create@{create}}
+\index{create@{create}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjArray_a35d6363d1432059e3dd7c3c43ca006ae}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjArray_a8be408ac8b9b6515fc55dfecd418ceb5}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ char const$\ast$ {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjArray_a8be408ac8b9b6515fc55dfecd418ceb5}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjArray_a0cf27c92cf52d3f125a0e01e6b62bce0}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!empty@{empty}}
+\index{empty@{empty}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ bool {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::empty (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a0cf27c92cf52d3f125a0e01e6b62bce0}
+\hypertarget{classmeow_1_1ObjArray_a83d175206d5bae2542a818200dd64c9b}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!entry@{entry}}
+\index{entry@{entry}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{entry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T const\& {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::entry (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a83d175206d5bae2542a818200dd64c9b}
+\hypertarget{classmeow_1_1ObjArray_a56b6b9b5e415c084ece7f0c214f0e8f0}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!entry@{entry}}
+\index{entry@{entry}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{entry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T const\& {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::entry (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{T const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a56b6b9b5e415c084ece7f0c214f0e8f0}
+\hypertarget{classmeow_1_1ObjArray_a3b0c22ea4f9538279794ce866013a2cf}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf Obj\-Array}\& {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Array}$<$ T $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a3b0c22ea4f9538279794ce866013a2cf}
+\hypertarget{classmeow_1_1ObjArray_a1b6cb50da01769067bafcb85c2a5104f}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
+\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T const\& {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::operator\mbox{[}$\,$\mbox{]} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a1b6cb50da01769067bafcb85c2a5104f}
+\hypertarget{classmeow_1_1ObjArray_aa9e6268b6d7ea3c7b53101a7a175e360}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
+\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T\& {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::operator\mbox{[}$\,$\mbox{]} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_aa9e6268b6d7ea3c7b53101a7a175e360}
+\hypertarget{classmeow_1_1ObjArray_a5196b0d1ae35ce86857d88810cc0933f}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!pop\-Back@{pop\-Back}}
+\index{pop\-Back@{pop\-Back}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{pop\-Back}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ bool {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::pop\-Back (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_a5196b0d1ae35ce86857d88810cc0933f}
+\hypertarget{classmeow_1_1ObjArray_affe4f74887e9c81f1e01b4bd1a4e0e28}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!put\-Back@{put\-Back}}
+\index{put\-Back@{put\-Back}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{put\-Back}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T const\& {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::put\-Back (
+\begin{DoxyParamCaption}
+\item[{T const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_affe4f74887e9c81f1e01b4bd1a4e0e28}
+\hypertarget{classmeow_1_1ObjArray_a3bc18d106d33e0a2f00f6e9ebf443b74}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!read@{read}}
+\index{read@{read}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ bool {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjArray_a3bc18d106d33e0a2f00f6e9ebf443b74}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjArray_aa09ddb0d17ebb93520b211dc29ad2904}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf Obj\-Array}\& {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Array}$<$ T $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_aa09ddb0d17ebb93520b211dc29ad2904}
+\hypertarget{classmeow_1_1ObjArray_ad1acc646bf175e7797a1205c89240a01}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!size@{size}}
+\index{size@{size}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ size\-\_\-t {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_ad1acc646bf175e7797a1205c89240a01}
+\hypertarget{classmeow_1_1ObjArray_ab77633d00d8e75f1e6dd548c07d780fe}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!size@{size}}
+\index{size@{size}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ size\-\_\-t {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::size (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{res, }
+\item[{T const \&}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_ab77633d00d8e75f1e6dd548c07d780fe}
+\hypertarget{classmeow_1_1ObjArray_af6c846ed0992c4f1e0a765a6d3549628}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!size@{size}}
+\index{size@{size}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ size\-\_\-t {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::size (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{res}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjArray_af6c846ed0992c4f1e0a765a6d3549628}
+\hypertarget{classmeow_1_1ObjArray_a8fe5956bfb52c17632b00338c7da5d5c}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!type@{type}}
+\index{type@{type}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ std\-::string {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjArray_a8fe5956bfb52c17632b00338c7da5d5c}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjArray_a089627fcba2e80760993e3aff1705a70}{\index{meow\-::\-Obj\-Array@{meow\-::\-Obj\-Array}!write@{write}}
+\index{write@{write}!meow::ObjArray@{meow\-::\-Obj\-Array}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ bool {\bf meow\-::\-Obj\-Array}$<$ T $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjArray_a089627fcba2e80760993e3aff1705a70}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjArray_8h}{Obj\-Array.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ObjBase.eps b/doc/latex/classmeow_1_1ObjBase.eps
new file mode 100644
index 0000000..0c5c593
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjBase.eps
@@ -0,0 +1,253 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 491.803279
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.016667 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 15 def
+/cols 2 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::ObjBase) cw
+(meow::IdentityPoints< int, double >) cw
+(meow::Bitmap< Pixel >) cw
+(meow::Camera< Pixel >) cw
+(meow::FeaturePoint< Scalar, Description >) cw
+(meow::FeaturePointsDetector< Pixel >) cw
+(meow::FeaturePointsMatch< Scalar, Description >) cw
+(meow::IdentityPoints< ID, Scalar >) cw
+(meow::ObjArray< T >) cw
+(meow::ObjDictionary< Key, Value >) cw
+(meow::ObjProperties< SID >) cw
+(meow::ObjType< Type, ReaderWriter >) cw
+(meow::Photo< Pixel >) cw
+(meow::ViewPort) cw
+(meow::WatchBall< Pixel >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::ObjBase) 0.000000 14.000000 box
+ (meow::IdentityPoints< int, double >) 1.000000 13.000000 box
+ (meow::Bitmap< Pixel >) 1.000000 12.000000 box
+ (meow::Camera< Pixel >) 1.000000 11.000000 box
+ (meow::FeaturePoint< Scalar, Description >) 1.000000 10.000000 box
+ (meow::FeaturePointsDetector< Pixel >) 1.000000 9.000000 box
+1.000000 9.000000 mark
+ (meow::FeaturePointsMatch< Scalar, Description >) 1.000000 8.000000 box
+1.000000 8.000000 mark
+ (meow::IdentityPoints< ID, Scalar >) 1.000000 7.000000 box
+ (meow::ObjArray< T >) 1.000000 6.000000 box
+ (meow::ObjDictionary< Key, Value >) 1.000000 5.000000 box
+ (meow::ObjProperties< SID >) 1.000000 4.000000 box
+ (meow::ObjType< Type, ReaderWriter >) 1.000000 3.000000 box
+ (meow::Photo< Pixel >) 1.000000 2.000000 box
+ (meow::ViewPort) 1.000000 1.000000 box
+ (meow::WatchBall< Pixel >) 1.000000 0.000000 box
+
+% ----- relations -----
+
+solid
+1 0.000000 13.250000 out
+solid
+0 0.000000 13.500000 hedge
+solid
+0 0.000000 12.500000 hedge
+solid
+0 0.000000 11.500000 hedge
+solid
+0 0.000000 10.500000 hedge
+solid
+0 0.000000 9.500000 hedge
+solid
+0 0.000000 8.500000 hedge
+solid
+0 0.000000 7.500000 hedge
+solid
+0 0.000000 6.500000 hedge
+solid
+0 0.000000 5.500000 hedge
+solid
+0 0.000000 4.500000 hedge
+solid
+0 0.000000 3.500000 hedge
+solid
+0 0.000000 2.500000 hedge
+solid
+0 0.000000 1.500000 hedge
+solid
+0 0.000000 0.500000 hedge
+solid
+0.000000 14.000000 0.500000 vedge
diff --git a/doc/latex/classmeow_1_1ObjBase.pdf b/doc/latex/classmeow_1_1ObjBase.pdf
new file mode 100644
index 0000000..52c999b
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjBase.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1ObjBase.tex b/doc/latex/classmeow_1_1ObjBase.tex
new file mode 100644
index 0000000..3aa71b6
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjBase.tex
@@ -0,0 +1,164 @@
+\hypertarget{classmeow_1_1ObjBase}{\section{meow\-:\-:Obj\-Base Class Reference}
+\label{classmeow_1_1ObjBase}\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}}
+}
+
+
+一切物件的\-Base, 並要求每個物件都要有read, write, create, ... 等功能
+
+
+
+
+{\ttfamily \#include \char`\"{}Obj\-Base.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Obj\-Base\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=12.000000cm]{classmeow_1_1ObjBase}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+virtual \hyperlink{classmeow_1_1ObjBase_a0ae0da4160bf2556411b4c126c649234}{$\sim$\-Obj\-Base} ()
+\item
+virtual bool \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\item
+virtual bool \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\item
+virtual \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{create} () const
+\item
+virtual \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\item
+virtual char const $\ast$ \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{ctype} () const
+\item
+virtual std\-::string \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{type} () const
+\end{DoxyCompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+static char const $\ast$ \hyperlink{classmeow_1_1ObjBase_ab42310e3f3a7cd558dd91381c8dd23d8}{ctype\-Base} ()
+\item
+static std\-::string \hyperlink{classmeow_1_1ObjBase_a75dce38f89ce11cb06e0454e7c1039d3}{type\-Base} ()
+\end{DoxyCompactItemize}
+\subsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1ObjBase_abe7a7138b5a81eb66da51b74bc3996ff}{Obj\-Base} ()
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+一切物件的\-Base, 並要求每個物件都要有read, write, create, ... 等功能
+
+\begin{DoxyAuthor}{Author}
+cathook
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1ObjBase_abe7a7138b5a81eb66da51b74bc3996ff}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!Obj\-Base@{Obj\-Base}}
+\index{Obj\-Base@{Obj\-Base}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{Obj\-Base}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Obj\-Base\-::\-Obj\-Base (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1ObjBase_abe7a7138b5a81eb66da51b74bc3996ff}
+\hypertarget{classmeow_1_1ObjBase_a0ae0da4160bf2556411b4c126c649234}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!$\sim$\-Obj\-Base@{$\sim$\-Obj\-Base}}
+\index{$\sim$\-Obj\-Base@{$\sim$\-Obj\-Base}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{$\sim$\-Obj\-Base}]{\setlength{\rightskip}{0pt plus 5cm}virtual meow\-::\-Obj\-Base\-::$\sim$\-Obj\-Base (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjBase_a0ae0da4160bf2556411b4c126c649234}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Obj\-Base}$\ast$ meow\-::\-Obj\-Base\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Bitmap_a998a6a9607f8552ace65cce0d251042c}{meow\-::\-Bitmap$<$ Pixel $>$}, \hyperlink{classmeow_1_1Photo_a0e947011dcb0db21760c89663acd2208}{meow\-::\-Photo$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a51ea4943d3c0515466a801ec63ba44ea}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}, \hyperlink{classmeow_1_1IdentityPoints_a6b17e68e14290ebfdcdd59a0724cdc41}{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}, \hyperlink{classmeow_1_1IdentityPoints_a6b17e68e14290ebfdcdd59a0724cdc41}{meow\-::\-Identity\-Points$<$ int, double $>$}, \hyperlink{classmeow_1_1WatchBall_a898f8ad46598a01633f444804853a3bd}{meow\-::\-Watch\-Ball$<$ Pixel $>$}, \hyperlink{classmeow_1_1Camera_a5dff4c1129c6d74de1938bea9309a408}{meow\-::\-Camera$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_ab5aa47ae36052a5916515a2e504f2c53}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1ObjArray_a339fcf38102846e361db6aa1e896c044}{meow\-::\-Obj\-Array$<$ T $>$}, \hyperlink{classmeow_1_1ObjDictionary_a8f2e32f6eb11904c2547fae0ff9ab3d6}{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}, \hyperlink{classmeow_1_1ObjType_a392c841c8012ebd9a62f514a74e4b535}{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}, and \hyperlink{classmeow_1_1ObjProperties_a4bc4f097d783426457a784a39266ba52}{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}.
+
+\hypertarget{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!create@{create}}
+\index{create@{create}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Obj\-Base}$\ast$ meow\-::\-Obj\-Base\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Bitmap_a07b1eb689498112691ca72e8c6ae453f}{meow\-::\-Bitmap$<$ Pixel $>$}, \hyperlink{classmeow_1_1Photo_a449f74fa427154f943d6abee255431aa}{meow\-::\-Photo$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ae7a96030ea8d06322b632c89eb65655d}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}, \hyperlink{classmeow_1_1IdentityPoints_a464d62354fc3d12767b71632f9b27524}{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}, \hyperlink{classmeow_1_1IdentityPoints_a464d62354fc3d12767b71632f9b27524}{meow\-::\-Identity\-Points$<$ int, double $>$}, \hyperlink{classmeow_1_1WatchBall_ae2c8bc97ac7d09b886fe59a8f88c2145}{meow\-::\-Watch\-Ball$<$ Pixel $>$}, \hyperlink{classmeow_1_1Camera_ad3ec34460c84a4a20cf3cb418db76dc3}{meow\-::\-Camera$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePoint_a7244e348b529719748d1643a6f11adbf}{meow\-::\-Feature\-Point$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_aaa320097355fccd00677bd0413935ee5}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1ObjArray_a35d6363d1432059e3dd7c3c43ca006ae}{meow\-::\-Obj\-Array$<$ T $>$}, \hyperlink{classmeow_1_1ObjDictionary_a14ce0fcedf7619c0b442588e185a7eeb}{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}, \hyperlink{classmeow_1_1ObjType_a19f8291125626675d15b4394283b8180}{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}, and \hyperlink{classmeow_1_1ObjProperties_a3345d121cc8a6b25baad2cbd80d23164}{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}.
+
+\hypertarget{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}virtual char const$\ast$ meow\-::\-Obj\-Base\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Bitmap_af8debba04055594b8507c77b3dbd0ff7}{meow\-::\-Bitmap$<$ Pixel $>$}, \hyperlink{classmeow_1_1Photo_a93fdf3b617d8b1c751823074fca049a9}{meow\-::\-Photo$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a00be866b3cf9bd2469e0eef32a3b2287}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}, \hyperlink{classmeow_1_1IdentityPoints_ae90d4c4d8125919ae8807d89790bed61}{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}, \hyperlink{classmeow_1_1IdentityPoints_ae90d4c4d8125919ae8807d89790bed61}{meow\-::\-Identity\-Points$<$ int, double $>$}, \hyperlink{classmeow_1_1WatchBall_afcba8229502523255913392c592eabce}{meow\-::\-Watch\-Ball$<$ Pixel $>$}, \hyperlink{classmeow_1_1Camera_a80ef6d606e9f79255b043c5c17cc4a18}{meow\-::\-Camera$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePoint_a1ffb238473ef9f745eb79670fc46da13}{meow\-::\-Feature\-Point$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a2c89f6a79cba1b477c31e294ec7d9c71}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1ObjArray_a8be408ac8b9b6515fc55dfecd418ceb5}{meow\-::\-Obj\-Array$<$ T $>$}, \hyperlink{classmeow_1_1ObjDictionary_aee3a1722f6061987a242b9b33e5fcc64}{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}, \hyperlink{classmeow_1_1ObjType_ae7d34cb241aa7d74c9c52918c98dab49}{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}, and \hyperlink{classmeow_1_1ObjProperties_a55ee94dd2d564eaee8250ed517b6779a}{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}.
+
+\hypertarget{classmeow_1_1ObjBase_ab42310e3f3a7cd558dd91381c8dd23d8}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!ctype\-Base@{ctype\-Base}}
+\index{ctype\-Base@{ctype\-Base}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{ctype\-Base}]{\setlength{\rightskip}{0pt plus 5cm}static char const$\ast$ meow\-::\-Obj\-Base\-::ctype\-Base (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjBase_ab42310e3f3a7cd558dd91381c8dd23d8}
+\hypertarget{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!read@{read}}
+\index{read@{read}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool meow\-::\-Obj\-Base\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Photo_a97cc535d734fdf53457c84ef5f0bdc50}{meow\-::\-Photo$<$ Pixel $>$}, \hyperlink{classmeow_1_1Bitmap_a3b13a4923d68de65bb7e21712185bec8}{meow\-::\-Bitmap$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a3bf522cf08285d1afbaca76c643ea4a7}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}, \hyperlink{classmeow_1_1IdentityPoints_a66b8a6b980dad9b2cb71cb0823304c51}{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}, \hyperlink{classmeow_1_1IdentityPoints_a66b8a6b980dad9b2cb71cb0823304c51}{meow\-::\-Identity\-Points$<$ int, double $>$}, \hyperlink{classmeow_1_1WatchBall_a18cac43a61f741c191148bfef76e3d85}{meow\-::\-Watch\-Ball$<$ Pixel $>$}, \hyperlink{classmeow_1_1Camera_aaa82f998dfc1acde6607650ab6514492}{meow\-::\-Camera$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePoint_a48908e47535a5528207f8dff2db85ba4}{meow\-::\-Feature\-Point$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_a207813017b7eab06672ec324968e6caa}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1ObjArray_a3bc18d106d33e0a2f00f6e9ebf443b74}{meow\-::\-Obj\-Array$<$ T $>$}, \hyperlink{classmeow_1_1ObjDictionary_a0b1bd9fe09676aca74aec34bf5ea7137}{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}, \hyperlink{classmeow_1_1ObjType_a8ff33aabcb80ffc2d870b6ce73a6d4fe}{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}, and \hyperlink{classmeow_1_1ObjProperties_a4d7d0978d10735798e76e707ee9faa5a}{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}.
+
+\hypertarget{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!type@{type}}
+\index{type@{type}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}virtual std\-::string meow\-::\-Obj\-Base\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Bitmap_a7f282d9a1ebb07ca5fe12d8ae73121d1}{meow\-::\-Bitmap$<$ Pixel $>$}, \hyperlink{classmeow_1_1Photo_a84cf3012af5e67b4aafc1ee7eafd70d1}{meow\-::\-Photo$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_ae13f041624113e4b87d49befc2e1d77a}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}, \hyperlink{classmeow_1_1IdentityPoints_a6ce521c18a45b50bd8b75201480b97f7}{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}, \hyperlink{classmeow_1_1IdentityPoints_a6ce521c18a45b50bd8b75201480b97f7}{meow\-::\-Identity\-Points$<$ int, double $>$}, \hyperlink{classmeow_1_1WatchBall_ab8478f0460b456da11863ab9e7542bd1}{meow\-::\-Watch\-Ball$<$ Pixel $>$}, \hyperlink{classmeow_1_1Camera_ae009c09a5e6b5ebdab09dd304f2eca32}{meow\-::\-Camera$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePoint_ab6ee7c5a267d5c64e3b021b0397880d1}{meow\-::\-Feature\-Point$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_ab10e50514ac4b0de505800b1894dbb0a}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1ObjArray_a8fe5956bfb52c17632b00338c7da5d5c}{meow\-::\-Obj\-Array$<$ T $>$}, \hyperlink{classmeow_1_1ObjDictionary_af5114823fcc2476aa45a965e4af66d6c}{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}, \hyperlink{classmeow_1_1ObjType_afaa74a571889ea5281ab3de5636f7e0f}{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}, and \hyperlink{classmeow_1_1ObjProperties_a6283d69f9c6430c3b2601d7f0267bb84}{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}.
+
+\hypertarget{classmeow_1_1ObjBase_a75dce38f89ce11cb06e0454e7c1039d3}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!type\-Base@{type\-Base}}
+\index{type\-Base@{type\-Base}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{type\-Base}]{\setlength{\rightskip}{0pt plus 5cm}static std\-::string meow\-::\-Obj\-Base\-::type\-Base (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjBase_a75dce38f89ce11cb06e0454e7c1039d3}
+\hypertarget{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{\index{meow\-::\-Obj\-Base@{meow\-::\-Obj\-Base}!write@{write}}
+\index{write@{write}!meow::ObjBase@{meow\-::\-Obj\-Base}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool meow\-::\-Obj\-Base\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Photo_ab92324c852686bcad5e374aa9ae8e952}{meow\-::\-Photo$<$ Pixel $>$}, \hyperlink{classmeow_1_1Bitmap_aad700e26eae54cb653919c165dcc98dd}{meow\-::\-Bitmap$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePointsDetector__Harris_a83d9ec3557a4251dc98dae1ab7146a14}{meow\-::\-Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}, \hyperlink{classmeow_1_1IdentityPoints_a7ecba020418b86d76db75e9f636aae9a}{meow\-::\-Identity\-Points$<$ I\-D, Scalar $>$}, \hyperlink{classmeow_1_1IdentityPoints_a7ecba020418b86d76db75e9f636aae9a}{meow\-::\-Identity\-Points$<$ int, double $>$}, \hyperlink{classmeow_1_1WatchBall_a33cb0d690e6da55580f1747c7fb72e7a}{meow\-::\-Watch\-Ball$<$ Pixel $>$}, \hyperlink{classmeow_1_1Camera_acb6443a3ce77804575ec55209b3a1960}{meow\-::\-Camera$<$ Pixel $>$}, \hyperlink{classmeow_1_1FeaturePoint_a54a0ca59d340d0bcd969609a0682d2d9}{meow\-::\-Feature\-Point$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match_acbdc25595aeb8280c11543fec230e1a6}{meow\-::\-Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}, \hyperlink{classmeow_1_1ObjArray_a089627fcba2e80760993e3aff1705a70}{meow\-::\-Obj\-Array$<$ T $>$}, \hyperlink{classmeow_1_1ObjDictionary_a2393452e9533fab679565068545f109c}{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}, \hyperlink{classmeow_1_1ObjType_af0adbddc5a4ef305c2637b6694355944}{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}, and \hyperlink{classmeow_1_1ObjProperties_a7ebb7d21a575adbf9cbed10db807c6b6}{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjBase_8h}{Obj\-Base.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ObjDictionary.eps b/doc/latex/classmeow_1_1ObjDictionary.eps
new file mode 100644
index 0000000..8d92b17
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjDictionary.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 178.571429
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.800000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::ObjDictionary< Key, Value >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::ObjDictionary< Key, Value >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1ObjDictionary.pdf b/doc/latex/classmeow_1_1ObjDictionary.pdf
new file mode 100644
index 0000000..f37d2ad
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjDictionary.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1ObjDictionary.tex b/doc/latex/classmeow_1_1ObjDictionary.tex
new file mode 100644
index 0000000..be35b3f
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjDictionary.tex
@@ -0,0 +1,281 @@
+\hypertarget{classmeow_1_1ObjDictionary}{\section{meow\-:\-:Obj\-Dictionary$<$ Key, Value $>$ Class Template Reference}
+\label{classmeow_1_1ObjDictionary}\index{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$@{meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}}
+}
+
+
+純粹把 {\ttfamily std\-::map} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+
+
+
+
+{\ttfamily \#include \char`\"{}Obj\-Dictionary.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Obj\-Dictionary$<$ Key, Value $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1ObjDictionary}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1ObjDictionary_a1055d36aa3d4551def2abd9aa86b7662}{Obj\-Dictionary} ()
+\item
+\hyperlink{classmeow_1_1ObjDictionary_ab29251c7ae6e13058912106075ebe161}{Obj\-Dictionary} (\hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary} const \&d)
+\item
+\hyperlink{classmeow_1_1ObjDictionary_a59cf39f8704134a64090ecb59fff01aa}{Obj\-Dictionary} (std\-::map$<$ Key, Value $>$ const \&d)
+\item
+\hyperlink{classmeow_1_1ObjDictionary_ab8eb8496153b57598e81e089eef89e08}{$\sim$\-Obj\-Dictionary} ()
+\item
+\hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary} \& \hyperlink{classmeow_1_1ObjDictionary_a7e50cbeeead963d95d661783ee2a9285}{copy\-From} (\hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary} const \&d)
+\item
+\hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary} \& \hyperlink{classmeow_1_1ObjDictionary_ab0a4c64950a5a89012a913202fac027b}{reference\-From} (\hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary} const \&d)
+\item
+size\-\_\-t \hyperlink{classmeow_1_1ObjDictionary_a0e265133214bd6b9f0dce6ce6dc6ca23}{size} () const
+\item
+bool \hyperlink{classmeow_1_1ObjDictionary_afedaaaf1ed8b066a43d8e12081f6c878}{empty} () const
+\item
+void \hyperlink{classmeow_1_1ObjDictionary_a081d3cf0d190e6dd02208c1c49653ed7}{clear} ()
+\item
+std\-::map$<$ Key, Value $>$\\*
+\-::const\-\_\-iterator \hyperlink{classmeow_1_1ObjDictionary_ae5f44ae004be8f10a1c9f5e65eeebc75}{end} () const
+\item
+std\-::map$<$ Key, Value $>$\-::iterator \hyperlink{classmeow_1_1ObjDictionary_aeb8765e90349daee27bcf9e6c2672676}{end} ()
+\item
+std\-::map$<$ Key, Value $>$\\*
+\-::const\-\_\-iterator \hyperlink{classmeow_1_1ObjDictionary_a1979f646a23bffdd01a9fe52e5a8aca1}{find} (Key const \&k) const
+\item
+std\-::map$<$ Key, Value $>$\-::iterator \hyperlink{classmeow_1_1ObjDictionary_a8f73bbc1d934566dd8a2087b145e3f48}{find} (Key const \&k)
+\item
+bool \hyperlink{classmeow_1_1ObjDictionary_ae60f2a947516d6d6f037cc106c00d3be}{exist} (Key const \&k) const
+\item
+void \hyperlink{classmeow_1_1ObjDictionary_a9784fbd0eaab219216abdcba4f326ead}{insert} (Key const \&k, Value const \&v)
+\item
+\hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary} \& \hyperlink{classmeow_1_1ObjDictionary_a87b0f4542b07951f207a1c9d3e327c81}{operator=} (\hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary} const \&a)
+\item
+Value \& \hyperlink{classmeow_1_1ObjDictionary_ad22d7c7dc4d35417e9657eb88ca0dfbb}{operator\mbox{[}$\,$\mbox{]}} (Key const \&k)
+\item
+bool \hyperlink{classmeow_1_1ObjDictionary_a2393452e9533fab679565068545f109c}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\item
+bool \hyperlink{classmeow_1_1ObjDictionary_a0b1bd9fe09676aca74aec34bf5ea7137}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjDictionary_a14ce0fcedf7619c0b442588e185a7eeb}{create} () const
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjDictionary_a8f2e32f6eb11904c2547fae0ff9ab3d6}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\item
+char const $\ast$ \hyperlink{classmeow_1_1ObjDictionary_aee3a1722f6061987a242b9b33e5fcc64}{ctype} () const
+\item
+std\-::string \hyperlink{classmeow_1_1ObjDictionary_af5114823fcc2476aa45a965e4af66d6c}{type} () const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Key, class Value$>$class meow\-::\-Obj\-Dictionary$<$ Key, Value $>$}
+
+純粹把 {\ttfamily std\-::map} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+
+\begin{DoxyAuthor}{Author}
+cathook
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1ObjDictionary_a1055d36aa3d4551def2abd9aa86b7662}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!Obj\-Dictionary@{Obj\-Dictionary}}
+\index{Obj\-Dictionary@{Obj\-Dictionary}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{Obj\-Dictionary}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::{\bf Obj\-Dictionary} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a1055d36aa3d4551def2abd9aa86b7662}
+\hypertarget{classmeow_1_1ObjDictionary_ab29251c7ae6e13058912106075ebe161}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!Obj\-Dictionary@{Obj\-Dictionary}}
+\index{Obj\-Dictionary@{Obj\-Dictionary}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{Obj\-Dictionary}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::{\bf Obj\-Dictionary} (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Dictionary}$<$ Key, Value $>$ const \&}]{d}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_ab29251c7ae6e13058912106075ebe161}
+\hypertarget{classmeow_1_1ObjDictionary_a59cf39f8704134a64090ecb59fff01aa}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!Obj\-Dictionary@{Obj\-Dictionary}}
+\index{Obj\-Dictionary@{Obj\-Dictionary}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{Obj\-Dictionary}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::{\bf Obj\-Dictionary} (
+\begin{DoxyParamCaption}
+\item[{std\-::map$<$ Key, Value $>$ const \&}]{d}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a59cf39f8704134a64090ecb59fff01aa}
+\hypertarget{classmeow_1_1ObjDictionary_ab8eb8496153b57598e81e089eef89e08}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!$\sim$\-Obj\-Dictionary@{$\sim$\-Obj\-Dictionary}}
+\index{$\sim$\-Obj\-Dictionary@{$\sim$\-Obj\-Dictionary}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{$\sim$\-Obj\-Dictionary}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::$\sim${\bf Obj\-Dictionary} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_ab8eb8496153b57598e81e089eef89e08}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ObjDictionary_a081d3cf0d190e6dd02208c1c49653ed7}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!clear@{clear}}
+\index{clear@{clear}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a081d3cf0d190e6dd02208c1c49653ed7}
+\hypertarget{classmeow_1_1ObjDictionary_a7e50cbeeead963d95d661783ee2a9285}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Obj\-Dictionary}\& {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Dictionary}$<$ Key, Value $>$ const \&}]{d}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a7e50cbeeead963d95d661783ee2a9285}
+\hypertarget{classmeow_1_1ObjDictionary_a8f2e32f6eb11904c2547fae0ff9ab3d6}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjDictionary_a8f2e32f6eb11904c2547fae0ff9ab3d6}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjDictionary_a14ce0fcedf7619c0b442588e185a7eeb}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!create@{create}}
+\index{create@{create}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjDictionary_a14ce0fcedf7619c0b442588e185a7eeb}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjDictionary_aee3a1722f6061987a242b9b33e5fcc64}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ char const$\ast$ {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjDictionary_aee3a1722f6061987a242b9b33e5fcc64}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjDictionary_afedaaaf1ed8b066a43d8e12081f6c878}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!empty@{empty}}
+\index{empty@{empty}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::empty (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_afedaaaf1ed8b066a43d8e12081f6c878}
+\hypertarget{classmeow_1_1ObjDictionary_ae5f44ae004be8f10a1c9f5e65eeebc75}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!end@{end}}
+\index{end@{end}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ std\-::map$<$Key, Value$>$\-::const\-\_\-iterator {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::end (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_ae5f44ae004be8f10a1c9f5e65eeebc75}
+\hypertarget{classmeow_1_1ObjDictionary_aeb8765e90349daee27bcf9e6c2672676}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!end@{end}}
+\index{end@{end}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ std\-::map$<$Key, Value$>$\-::iterator {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::end (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_aeb8765e90349daee27bcf9e6c2672676}
+\hypertarget{classmeow_1_1ObjDictionary_ae60f2a947516d6d6f037cc106c00d3be}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!exist@{exist}}
+\index{exist@{exist}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{exist}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::exist (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{k}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_ae60f2a947516d6d6f037cc106c00d3be}
+\hypertarget{classmeow_1_1ObjDictionary_a1979f646a23bffdd01a9fe52e5a8aca1}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!find@{find}}
+\index{find@{find}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{find}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ std\-::map$<$Key, Value$>$\-::const\-\_\-iterator {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::find (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{k}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a1979f646a23bffdd01a9fe52e5a8aca1}
+\hypertarget{classmeow_1_1ObjDictionary_a8f73bbc1d934566dd8a2087b145e3f48}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!find@{find}}
+\index{find@{find}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{find}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ std\-::map$<$Key, Value$>$\-::iterator {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::find (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a8f73bbc1d934566dd8a2087b145e3f48}
+\hypertarget{classmeow_1_1ObjDictionary_a9784fbd0eaab219216abdcba4f326ead}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!insert@{insert}}
+\index{insert@{insert}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::insert (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{k, }
+\item[{Value const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a9784fbd0eaab219216abdcba4f326ead}
+\hypertarget{classmeow_1_1ObjDictionary_a87b0f4542b07951f207a1c9d3e327c81}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Obj\-Dictionary}\& {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Dictionary}$<$ Key, Value $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a87b0f4542b07951f207a1c9d3e327c81}
+\hypertarget{classmeow_1_1ObjDictionary_ad22d7c7dc4d35417e9657eb88ca0dfbb}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
+\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Value\& {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::operator\mbox{[}$\,$\mbox{]} (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_ad22d7c7dc4d35417e9657eb88ca0dfbb}
+\hypertarget{classmeow_1_1ObjDictionary_a0b1bd9fe09676aca74aec34bf5ea7137}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!read@{read}}
+\index{read@{read}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjDictionary_a0b1bd9fe09676aca74aec34bf5ea7137}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjDictionary_ab0a4c64950a5a89012a913202fac027b}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Obj\-Dictionary}\& {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Dictionary}$<$ Key, Value $>$ const \&}]{d}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_ab0a4c64950a5a89012a913202fac027b}
+\hypertarget{classmeow_1_1ObjDictionary_a0e265133214bd6b9f0dce6ce6dc6ca23}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!size@{size}}
+\index{size@{size}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ size\-\_\-t {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjDictionary_a0e265133214bd6b9f0dce6ce6dc6ca23}
+\hypertarget{classmeow_1_1ObjDictionary_af5114823fcc2476aa45a965e4af66d6c}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!type@{type}}
+\index{type@{type}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ std\-::string {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjDictionary_af5114823fcc2476aa45a965e4af66d6c}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjDictionary_a2393452e9533fab679565068545f109c}{\index{meow\-::\-Obj\-Dictionary@{meow\-::\-Obj\-Dictionary}!write@{write}}
+\index{write@{write}!meow::ObjDictionary@{meow\-::\-Obj\-Dictionary}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Obj\-Dictionary}$<$ Key, Value $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjDictionary_a2393452e9533fab679565068545f109c}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjDictionary_8h}{Obj\-Dictionary.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ObjProperties.eps b/doc/latex/classmeow_1_1ObjProperties.eps
new file mode 100644
index 0000000..cebca0c
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjProperties.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 222.222222
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.250000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::ObjProperties< SID >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::ObjProperties< SID >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1ObjProperties.pdf b/doc/latex/classmeow_1_1ObjProperties.pdf
new file mode 100644
index 0000000..963a299
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjProperties.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1ObjProperties.tex b/doc/latex/classmeow_1_1ObjProperties.tex
new file mode 100644
index 0000000..de8e6d5
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjProperties.tex
@@ -0,0 +1,230 @@
+\hypertarget{classmeow_1_1ObjProperties}{\section{meow\-:\-:Obj\-Properties$<$ S\-I\-D $>$ Class Template Reference}
+\label{classmeow_1_1ObjProperties}\index{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$@{meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}}
+}
+
+
+目前擺爛中
+
+
+
+
+{\ttfamily \#include \char`\"{}Obj\-Properties.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Obj\-Properties$<$ S\-I\-D $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1ObjProperties}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1ObjProperties_af1c809c0b160e143ee4f73cd577bd2cb}{Obj\-Properties} ()
+\item
+\hyperlink{classmeow_1_1ObjProperties_a982de1e0030b8ef6479db01daf2bcb33}{Obj\-Properties} (\hyperlink{classmeow_1_1ObjProperties}{Obj\-Properties} const \&p)
+\item
+virtual \hyperlink{classmeow_1_1ObjProperties_a93f1d23981d318f743b1996a415e9cbb}{$\sim$\-Obj\-Properties} ()
+\item
+size\-\_\-t \hyperlink{classmeow_1_1ObjProperties_a7d36338144c15d56ab8f2a52a54a47cf}{property\-Size} () const
+\item
+bool \hyperlink{classmeow_1_1ObjProperties_aad531291ff299d99ce081afaefbd94b3}{property\-Empty} () const
+\item
+void \hyperlink{classmeow_1_1ObjProperties_a183b80a7d63a01c23b0c0af5708b336f}{property\-Clear} ()
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$ \hyperlink{classmeow_1_1ObjProperties_a40323f6710fe3688574555eedaf2adc9}{property} (std\-::string name) const
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjProperties_af20d23e32a6658bb19685540c65c6a3a}{property} (std\-::string name)
+\item
+bool \hyperlink{classmeow_1_1ObjProperties_a5614e7f6a939da5376e83a1e75e215c5}{property\-Add} (std\-::string name, \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$obj, bool auto\-Remove)
+\item
+bool \hyperlink{classmeow_1_1ObjProperties_aec0a1bc70d7cf33b54a1c951d5cdab23}{property\-Del} (std\-::string name)
+\item
+\hyperlink{classmeow_1_1ObjProperties}{Obj\-Properties} \& \hyperlink{classmeow_1_1ObjProperties_a43ce997788ca81603e881a22285fd307}{properties} () const
+\item
+\hyperlink{classmeow_1_1ObjProperties}{Obj\-Properties} \& \hyperlink{classmeow_1_1ObjProperties_af14e8afbd6807b61429d4f84291d6cee}{properties} (\hyperlink{classmeow_1_1ObjProperties}{Obj\-Properties} const \&p)
+\item
+bool \hyperlink{classmeow_1_1ObjProperties_a7ebb7d21a575adbf9cbed10db807c6b6}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\item
+bool \hyperlink{classmeow_1_1ObjProperties_a4d7d0978d10735798e76e707ee9faa5a}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjProperties_a3345d121cc8a6b25baad2cbd80d23164}{create} () const
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjProperties_a4bc4f097d783426457a784a39266ba52}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\item
+char const $\ast$ \hyperlink{classmeow_1_1ObjProperties_a55ee94dd2d564eaee8250ed517b6779a}{ctype} () const
+\item
+std\-::string \hyperlink{classmeow_1_1ObjProperties_a6283d69f9c6430c3b2601d7f0267bb84}{type} () const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$size\-\_\-t S\-I\-D$>$class meow\-::\-Obj\-Properties$<$ S\-I\-D $>$}
+
+目前擺爛中
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1ObjProperties_af1c809c0b160e143ee4f73cd577bd2cb}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!Obj\-Properties@{Obj\-Properties}}
+\index{Obj\-Properties@{Obj\-Properties}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{Obj\-Properties}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::{\bf Obj\-Properties} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1ObjProperties_af1c809c0b160e143ee4f73cd577bd2cb}
+\hypertarget{classmeow_1_1ObjProperties_a982de1e0030b8ef6479db01daf2bcb33}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!Obj\-Properties@{Obj\-Properties}}
+\index{Obj\-Properties@{Obj\-Properties}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{Obj\-Properties}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::{\bf Obj\-Properties} (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Properties}$<$ S\-I\-D $>$ const \&}]{p}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1ObjProperties_a982de1e0030b8ef6479db01daf2bcb33}
+\hypertarget{classmeow_1_1ObjProperties_a93f1d23981d318f743b1996a415e9cbb}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!$\sim$\-Obj\-Properties@{$\sim$\-Obj\-Properties}}
+\index{$\sim$\-Obj\-Properties@{$\sim$\-Obj\-Properties}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{$\sim$\-Obj\-Properties}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ virtual {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::$\sim${\bf Obj\-Properties} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classmeow_1_1ObjProperties_a93f1d23981d318f743b1996a415e9cbb}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ObjProperties_a4bc4f097d783426457a784a39266ba52}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classmeow_1_1ObjProperties_a4bc4f097d783426457a784a39266ba52}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjProperties_a3345d121cc8a6b25baad2cbd80d23164}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!create@{create}}
+\index{create@{create}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classmeow_1_1ObjProperties_a3345d121cc8a6b25baad2cbd80d23164}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjProperties_a55ee94dd2d564eaee8250ed517b6779a}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ char const$\ast$ {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classmeow_1_1ObjProperties_a55ee94dd2d564eaee8250ed517b6779a}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjProperties_a43ce997788ca81603e881a22285fd307}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!properties@{properties}}
+\index{properties@{properties}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{properties}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ {\bf Obj\-Properties}\& {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::properties (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const}}\label{classmeow_1_1ObjProperties_a43ce997788ca81603e881a22285fd307}
+\hypertarget{classmeow_1_1ObjProperties_af14e8afbd6807b61429d4f84291d6cee}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!properties@{properties}}
+\index{properties@{properties}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{properties}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ {\bf Obj\-Properties}\& {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::properties (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Properties}$<$ S\-I\-D $>$ const \&}]{p}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1ObjProperties_af14e8afbd6807b61429d4f84291d6cee}
+\hypertarget{classmeow_1_1ObjProperties_a40323f6710fe3688574555eedaf2adc9}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!property@{property}}
+\index{property@{property}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{property}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ {\bf Obj\-Base} const$\ast$ {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::property (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name}
+\end{DoxyParamCaption}
+) const}}\label{classmeow_1_1ObjProperties_a40323f6710fe3688574555eedaf2adc9}
+\hypertarget{classmeow_1_1ObjProperties_af20d23e32a6658bb19685540c65c6a3a}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!property@{property}}
+\index{property@{property}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{property}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::property (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1ObjProperties_af20d23e32a6658bb19685540c65c6a3a}
+\hypertarget{classmeow_1_1ObjProperties_a5614e7f6a939da5376e83a1e75e215c5}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!property\-Add@{property\-Add}}
+\index{property\-Add@{property\-Add}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{property\-Add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ bool {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::property\-Add (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name, }
+\item[{{\bf Obj\-Base} $\ast$}]{obj, }
+\item[{bool}]{auto\-Remove}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1ObjProperties_a5614e7f6a939da5376e83a1e75e215c5}
+\hypertarget{classmeow_1_1ObjProperties_a183b80a7d63a01c23b0c0af5708b336f}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!property\-Clear@{property\-Clear}}
+\index{property\-Clear@{property\-Clear}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{property\-Clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ void {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::property\-Clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1ObjProperties_a183b80a7d63a01c23b0c0af5708b336f}
+\hypertarget{classmeow_1_1ObjProperties_aec0a1bc70d7cf33b54a1c951d5cdab23}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!property\-Del@{property\-Del}}
+\index{property\-Del@{property\-Del}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{property\-Del}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ bool {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::property\-Del (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1ObjProperties_aec0a1bc70d7cf33b54a1c951d5cdab23}
+\hypertarget{classmeow_1_1ObjProperties_aad531291ff299d99ce081afaefbd94b3}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!property\-Empty@{property\-Empty}}
+\index{property\-Empty@{property\-Empty}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{property\-Empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ bool {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::property\-Empty (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const}}\label{classmeow_1_1ObjProperties_aad531291ff299d99ce081afaefbd94b3}
+\hypertarget{classmeow_1_1ObjProperties_a7d36338144c15d56ab8f2a52a54a47cf}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!property\-Size@{property\-Size}}
+\index{property\-Size@{property\-Size}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{property\-Size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ size\-\_\-t {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::property\-Size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const}}\label{classmeow_1_1ObjProperties_a7d36338144c15d56ab8f2a52a54a47cf}
+\hypertarget{classmeow_1_1ObjProperties_a4d7d0978d10735798e76e707ee9faa5a}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!read@{read}}
+\index{read@{read}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ bool {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classmeow_1_1ObjProperties_a4d7d0978d10735798e76e707ee9faa5a}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjProperties_a6283d69f9c6430c3b2601d7f0267bb84}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!type@{type}}
+\index{type@{type}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ std\-::string {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classmeow_1_1ObjProperties_a6283d69f9c6430c3b2601d7f0267bb84}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjProperties_a7ebb7d21a575adbf9cbed10db807c6b6}{\index{meow\-::\-Obj\-Properties@{meow\-::\-Obj\-Properties}!write@{write}}
+\index{write@{write}!meow::ObjProperties@{meow\-::\-Obj\-Properties}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t S\-I\-D$>$ bool {\bf meow\-::\-Obj\-Properties}$<$ S\-I\-D $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classmeow_1_1ObjProperties_a7ebb7d21a575adbf9cbed10db807c6b6}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjProperties_8h}{Obj\-Properties.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ObjSelector.tex b/doc/latex/classmeow_1_1ObjSelector.tex
new file mode 100644
index 0000000..117250f
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjSelector.tex
@@ -0,0 +1,229 @@
+\hypertarget{classmeow_1_1ObjSelector}{\section{meow\-:\-:Obj\-Selector$<$ id $>$ Class Template Reference}
+\label{classmeow_1_1ObjSelector}\index{meow\-::\-Obj\-Selector$<$ id $>$@{meow\-::\-Obj\-Selector$<$ id $>$}}
+}
+
+
+利用register的概念, 達到runtime用string選擇要new的class
+
+
+
+
+{\ttfamily \#include \char`\"{}Obj\-Selector.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1ObjSelector_afefd56114a54ec164f0264d83394fc21}{Obj\-Selector} (std\-::string \hyperlink{classmeow_1_1ObjSelector_a43786b9b4869a3bb115c852d09e474cb}{name}, \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$obj, bool auto\-Delete)
+\begin{DoxyCompactList}\small\item\em 宣告一個\-Obj\-Selector實體, 並且註冊一個 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjSelector_a7f798e7243aa2e93d2458dfc7f6d3308}{Obj\-Selector} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$obj, bool auto\-Delete)
+\begin{DoxyCompactList}\small\item\em 宣告一個\-Obj\-Selector實體, 並且註冊一個 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjSelector_aa5d9c625910c4ece0cba7944885d39c2}{$\sim$\-Obj\-Selector} ()
+\begin{DoxyCompactList}\small\item\em 解構子 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+static void \hyperlink{classmeow_1_1ObjSelector_a0401a1941829c1b82ebce545d00a996d}{add} (std\-::string \hyperlink{classmeow_1_1ObjSelector_a43786b9b4869a3bb115c852d09e474cb}{name}, \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$obj, bool auto\-Delete)
+\begin{DoxyCompactList}\small\item\em 新增(註冊) 一個\-Class (必須要繼承自 {\ttfamily \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}}) 並且給定其\-Name \end{DoxyCompactList}\item
+static void \hyperlink{classmeow_1_1ObjSelector_af1479fc3260f2600d76bc018a9a36019}{add} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$obj, bool auto\-Delete)
+\begin{DoxyCompactList}\small\item\em 新增(註冊) 一個\-Class (必須要繼承自 {\ttfamily \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}}) 並且默認type為name \end{DoxyCompactList}\item
+static void \hyperlink{classmeow_1_1ObjSelector_a94ae819ddd031927466845c86ce35621}{del} (std\-::string \hyperlink{classmeow_1_1ObjSelector_a43786b9b4869a3bb115c852d09e474cb}{name})
+\begin{DoxyCompactList}\small\item\em 依照name刪除之前註冊過得\-Class \end{DoxyCompactList}\item
+static \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$ \hyperlink{classmeow_1_1ObjSelector_a948d5e709bdeacb8648e8c7c243b0ff3}{get} (std\-::string \hyperlink{classmeow_1_1ObjSelector_a43786b9b4869a3bb115c852d09e474cb}{name})
+\begin{DoxyCompactList}\small\item\em 取得之前註冊過得\-Class \end{DoxyCompactList}\item
+static \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjSelector_a498c46995c8f9050b3b069b95d10c5cb}{create} (std\-::string \hyperlink{classmeow_1_1ObjSelector_a43786b9b4869a3bb115c852d09e474cb}{name})
+\begin{DoxyCompactList}\small\item\em 回傳一個之前註冊過得\-Class new出來的實體 \end{DoxyCompactList}\item
+static bool \hyperlink{classmeow_1_1ObjSelector_a8febbd488ce1cf37b075c0e42278d3d0}{exist} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em 利用type檢查是否有註冊過同種類的\-Class \end{DoxyCompactList}\item
+static std\-::string \hyperlink{classmeow_1_1ObjSelector_a43786b9b4869a3bb115c852d09e474cb}{name} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em 利用type尋找name \end{DoxyCompactList}\item
+static std\-::vector$<$ std\-::string $>$ \hyperlink{classmeow_1_1ObjSelector_a12a464df440ff51da3f51a5c6731f958}{names} ()
+\begin{DoxyCompactList}\small\item\em 回傳所有註冊過的name \end{DoxyCompactList}\item
+static bool \hyperlink{classmeow_1_1ObjSelector_a85ff03287a5344d02b5cd67f89265ed8}{write} (F\-I\-L\-E $\ast$f, bool binary, \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$obj, unsigned \hyperlink{classint}{int} fg)
+\begin{DoxyCompactList}\small\item\em 將一個物件寫到檔案裡(該物件必須要有註冊過) \end{DoxyCompactList}\item
+static \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjSelector_a757b4c75d87f958b64bb5cacbeb71dcb}{read} (F\-I\-L\-E $\ast$f, bool binary)
+\begin{DoxyCompactList}\small\item\em 從檔案中讀取一個物件(該物件必須要有註冊過) \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Friends}
+\begin{DoxyCompactItemize}
+\item
+struct \hyperlink{classmeow_1_1ObjSelector_af0a264c27d0d08af4b617d2e4675fda7}{Info}
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$size\-\_\-t id$>$class meow\-::\-Obj\-Selector$<$ id $>$}
+
+利用register的概念, 達到runtime用string選擇要new的class
+
+\begin{DoxyAuthor}{Author}
+cathook$<$ 讓程式可以有不只一個 {\ttfamily \hyperlink{classmeow_1_1ObjSelector}{Obj\-Selector}}
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1ObjSelector_afefd56114a54ec164f0264d83394fc21}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!Obj\-Selector@{Obj\-Selector}}
+\index{Obj\-Selector@{Obj\-Selector}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{Obj\-Selector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::{\bf Obj\-Selector} (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name, }
+\item[{{\bf Obj\-Base} $\ast$}]{obj, }
+\item[{bool}]{auto\-Delete}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjSelector_afefd56114a54ec164f0264d83394fc21}
+
+
+宣告一個\-Obj\-Selector實體, 並且註冊一個 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+
+\hypertarget{classmeow_1_1ObjSelector_a7f798e7243aa2e93d2458dfc7f6d3308}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!Obj\-Selector@{Obj\-Selector}}
+\index{Obj\-Selector@{Obj\-Selector}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{Obj\-Selector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::{\bf Obj\-Selector} (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} $\ast$}]{obj, }
+\item[{bool}]{auto\-Delete}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjSelector_a7f798e7243aa2e93d2458dfc7f6d3308}
+
+
+宣告一個\-Obj\-Selector實體, 並且註冊一個 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+
+\hypertarget{classmeow_1_1ObjSelector_aa5d9c625910c4ece0cba7944885d39c2}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!$\sim$\-Obj\-Selector@{$\sim$\-Obj\-Selector}}
+\index{$\sim$\-Obj\-Selector@{$\sim$\-Obj\-Selector}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{$\sim$\-Obj\-Selector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::$\sim${\bf Obj\-Selector} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjSelector_aa5d9c625910c4ece0cba7944885d39c2}
+
+
+解構子
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ObjSelector_a0401a1941829c1b82ebce545d00a996d}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!add@{add}}
+\index{add@{add}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static void {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name, }
+\item[{{\bf Obj\-Base} $\ast$}]{obj, }
+\item[{bool}]{auto\-Delete}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a0401a1941829c1b82ebce545d00a996d}
+
+
+新增(註冊) 一個\-Class (必須要繼承自 {\ttfamily \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}}) 並且給定其\-Name
+
+\hypertarget{classmeow_1_1ObjSelector_af1479fc3260f2600d76bc018a9a36019}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!add@{add}}
+\index{add@{add}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static void {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} $\ast$}]{obj, }
+\item[{bool}]{auto\-Delete}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_af1479fc3260f2600d76bc018a9a36019}
+
+
+新增(註冊) 一個\-Class (必須要繼承自 {\ttfamily \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}}) 並且默認type為name
+
+\hypertarget{classmeow_1_1ObjSelector_a498c46995c8f9050b3b069b95d10c5cb}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!create@{create}}
+\index{create@{create}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::create (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a498c46995c8f9050b3b069b95d10c5cb}
+
+
+回傳一個之前註冊過得\-Class new出來的實體
+
+\hypertarget{classmeow_1_1ObjSelector_a94ae819ddd031927466845c86ce35621}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!del@{del}}
+\index{del@{del}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{del}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static void {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::del (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a94ae819ddd031927466845c86ce35621}
+
+
+依照name刪除之前註冊過得\-Class
+
+\hypertarget{classmeow_1_1ObjSelector_a8febbd488ce1cf37b075c0e42278d3d0}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!exist@{exist}}
+\index{exist@{exist}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{exist}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static bool {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::exist (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} $\ast$}]{obj}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a8febbd488ce1cf37b075c0e42278d3d0}
+
+
+利用type檢查是否有註冊過同種類的\-Class
+
+\hypertarget{classmeow_1_1ObjSelector_a948d5e709bdeacb8648e8c7c243b0ff3}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!get@{get}}
+\index{get@{get}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static {\bf Obj\-Base} const$\ast$ {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::get (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{name}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a948d5e709bdeacb8648e8c7c243b0ff3}
+
+
+取得之前註冊過得\-Class
+
+\hypertarget{classmeow_1_1ObjSelector_a43786b9b4869a3bb115c852d09e474cb}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!name@{name}}
+\index{name@{name}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static std\-::string {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::name (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} $\ast$}]{obj}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a43786b9b4869a3bb115c852d09e474cb}
+
+
+利用type尋找name
+
+\hypertarget{classmeow_1_1ObjSelector_a12a464df440ff51da3f51a5c6731f958}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!names@{names}}
+\index{names@{names}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{names}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static std\-::vector$<$std\-::string$>$ {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::names (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a12a464df440ff51da3f51a5c6731f958}
+
+
+回傳所有註冊過的name
+
+\hypertarget{classmeow_1_1ObjSelector_a757b4c75d87f958b64bb5cacbeb71dcb}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!read@{read}}
+\index{read@{read}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{binary}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a757b4c75d87f958b64bb5cacbeb71dcb}
+
+
+從檔案中讀取一個物件(該物件必須要有註冊過)
+
+\hypertarget{classmeow_1_1ObjSelector_a85ff03287a5344d02b5cd67f89265ed8}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!write@{write}}
+\index{write@{write}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ static bool {\bf meow\-::\-Obj\-Selector}$<$ id $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{binary, }
+\item[{{\bf Obj\-Base} $\ast$}]{obj, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ObjSelector_a85ff03287a5344d02b5cd67f89265ed8}
+
+
+將一個物件寫到檔案裡(該物件必須要有註冊過)
+
+
+
+\subsection{Friends And Related Function Documentation}
+\hypertarget{classmeow_1_1ObjSelector_af0a264c27d0d08af4b617d2e4675fda7}{\index{meow\-::\-Obj\-Selector@{meow\-::\-Obj\-Selector}!Info@{Info}}
+\index{Info@{Info}!meow::ObjSelector@{meow\-::\-Obj\-Selector}}
+\subsubsection[{Info}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\-\_\-t id$>$ friend struct Info\hspace{0.3cm}{\ttfamily [friend]}}}\label{classmeow_1_1ObjSelector_af0a264c27d0d08af4b617d2e4675fda7}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjSelector_8h}{Obj\-Selector.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ObjType.eps b/doc/latex/classmeow_1_1ObjType.eps
new file mode 100644
index 0000000..e0b7699
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjType.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 165.289256
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 3.025000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::ObjType< Type, ReaderWriter >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::ObjType< Type, ReaderWriter >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1ObjType.pdf b/doc/latex/classmeow_1_1ObjType.pdf
new file mode 100644
index 0000000..8146f45
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjType.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1ObjType.tex b/doc/latex/classmeow_1_1ObjType.tex
new file mode 100644
index 0000000..99ac640
--- /dev/null
+++ b/doc/latex/classmeow_1_1ObjType.tex
@@ -0,0 +1,236 @@
+\hypertarget{classmeow_1_1ObjType}{\section{meow\-:\-:Obj\-Type$<$ Type, Reader\-Writer $>$ Class Template Reference}
+\label{classmeow_1_1ObjType}\index{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$@{meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}}
+}
+
+
+純粹把給定的 {\ttfamily Type} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+
+
+
+
+{\ttfamily \#include \char`\"{}Obj\-Types.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Obj\-Type$<$ Type, Reader\-Writer $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1ObjType}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1ObjType_a6a625052a5579e4897a95e9ca6663136}{Obj\-Type} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjType_a1b2ab2b0b31756ed1e1a011f6e50c993}{Obj\-Type} (\hyperlink{classmeow_1_1ObjType}{Obj\-Type} const \&a)
+\begin{DoxyCompactList}\small\item\em constructor, 並且copy資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjType_afd125762822efc8ff890479bac6fafe4}{Oby\-Type} (Type const \&t)
+\begin{DoxyCompactList}\small\item\em constructor, 並且給值 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjType_ac703cec17ecfe6869a016c0ff072918c}{$\sim$\-Obj\-Type} ()
+\item
+\hyperlink{classmeow_1_1ObjType}{Obj\-Type} \& \hyperlink{classmeow_1_1ObjType_a9deb0425763909a5b74aca7bd0c116f4}{copy\-From} (\hyperlink{classmeow_1_1ObjType}{Obj\-Type} const \&a)
+\item
+\hyperlink{classmeow_1_1ObjType}{Obj\-Type} \& \hyperlink{classmeow_1_1ObjType_a14617b585e4b852ab63321ad0af076e7}{reference\-From} (\hyperlink{classmeow_1_1ObjType}{Obj\-Type} const \&a)
+\item
+Type const \& \hyperlink{classmeow_1_1ObjType_ae086a8dc3e60528121e73a0ce80d2cc9}{access} () const
+\item
+Type \& \hyperlink{classmeow_1_1ObjType_a0eac1bd069ebdde20f422ef6a5ffb7cb}{modify} ()
+\item
+\hyperlink{classmeow_1_1ObjType}{Obj\-Type} \& \hyperlink{classmeow_1_1ObjType_add76ed06952275dbb3c2ce0176cf0c7b}{operator=} (\hyperlink{classmeow_1_1ObjType}{Obj\-Type} const \&a)
+\item
+Type const \& \hyperlink{classmeow_1_1ObjType_a99d0180d4480c6fd46841e09c5519d8a}{operator()} () const
+\item
+Type \& \hyperlink{classmeow_1_1ObjType_afc34507295cf5bdbb1b5fd22c1c43f9a}{operator()} ()
+\item
+bool \hyperlink{classmeow_1_1ObjType_af0adbddc5a4ef305c2637b6694355944}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\item
+bool \hyperlink{classmeow_1_1ObjType_a8ff33aabcb80ffc2d870b6ce73a6d4fe}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjType_a19f8291125626675d15b4394283b8180}{create} () const
+\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1ObjType_a392c841c8012ebd9a62f514a74e4b535}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\item
+char const $\ast$ \hyperlink{classmeow_1_1ObjType_ae7d34cb241aa7d74c9c52918c98dab49}{ctype} () const
+\item
+std\-::string \hyperlink{classmeow_1_1ObjType_afaa74a571889ea5281ab3de5636f7e0f}{type} () const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Type, class Reader\-Writer$>$class meow\-::\-Obj\-Type$<$ Type, Reader\-Writer $>$}
+
+純粹把給定的 {\ttfamily Type} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+
+\begin{DoxyAuthor}{Author}
+cathook
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1ObjType_a6a625052a5579e4897a95e9ca6663136}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!Obj\-Type@{Obj\-Type}}
+\index{Obj\-Type@{Obj\-Type}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{Obj\-Type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::{\bf Obj\-Type} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_a6a625052a5579e4897a95e9ca6663136}
+
+
+constructor
+
+\hypertarget{classmeow_1_1ObjType_a1b2ab2b0b31756ed1e1a011f6e50c993}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!Obj\-Type@{Obj\-Type}}
+\index{Obj\-Type@{Obj\-Type}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{Obj\-Type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::{\bf Obj\-Type} (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Type}$<$ Type, Reader\-Writer $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_a1b2ab2b0b31756ed1e1a011f6e50c993}
+
+
+constructor, 並且copy資料
+
+\hypertarget{classmeow_1_1ObjType_ac703cec17ecfe6869a016c0ff072918c}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!$\sim$\-Obj\-Type@{$\sim$\-Obj\-Type}}
+\index{$\sim$\-Obj\-Type@{$\sim$\-Obj\-Type}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{$\sim$\-Obj\-Type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::$\sim${\bf Obj\-Type} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_ac703cec17ecfe6869a016c0ff072918c}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ObjType_ae086a8dc3e60528121e73a0ce80d2cc9}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!access@{access}}
+\index{access@{access}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{access}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ Type const\& {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::access (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_ae086a8dc3e60528121e73a0ce80d2cc9}
+\hypertarget{classmeow_1_1ObjType_a9deb0425763909a5b74aca7bd0c116f4}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf Obj\-Type}\& {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Type}$<$ Type, Reader\-Writer $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_a9deb0425763909a5b74aca7bd0c116f4}
+\hypertarget{classmeow_1_1ObjType_a392c841c8012ebd9a62f514a74e4b535}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjType_a392c841c8012ebd9a62f514a74e4b535}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjType_a19f8291125626675d15b4394283b8180}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!create@{create}}
+\index{create@{create}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjType_a19f8291125626675d15b4394283b8180}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjType_ae7d34cb241aa7d74c9c52918c98dab49}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ char const$\ast$ {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjType_ae7d34cb241aa7d74c9c52918c98dab49}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjType_a0eac1bd069ebdde20f422ef6a5ffb7cb}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!modify@{modify}}
+\index{modify@{modify}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{modify}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ Type\& {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::modify (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_a0eac1bd069ebdde20f422ef6a5ffb7cb}
+\hypertarget{classmeow_1_1ObjType_afd125762822efc8ff890479bac6fafe4}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!Oby\-Type@{Oby\-Type}}
+\index{Oby\-Type@{Oby\-Type}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{Oby\-Type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::Oby\-Type (
+\begin{DoxyParamCaption}
+\item[{Type const \&}]{t}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_afd125762822efc8ff890479bac6fafe4}
+
+
+constructor, 並且給值
+
+\hypertarget{classmeow_1_1ObjType_a99d0180d4480c6fd46841e09c5519d8a}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ Type const\& {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::operator() (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_a99d0180d4480c6fd46841e09c5519d8a}
+\hypertarget{classmeow_1_1ObjType_afc34507295cf5bdbb1b5fd22c1c43f9a}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ Type\& {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::operator() (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_afc34507295cf5bdbb1b5fd22c1c43f9a}
+\hypertarget{classmeow_1_1ObjType_add76ed06952275dbb3c2ce0176cf0c7b}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf Obj\-Type}\& {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Type}$<$ Type, Reader\-Writer $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_add76ed06952275dbb3c2ce0176cf0c7b}
+\hypertarget{classmeow_1_1ObjType_a8ff33aabcb80ffc2d870b6ce73a6d4fe}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!read@{read}}
+\index{read@{read}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ bool {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjType_a8ff33aabcb80ffc2d870b6ce73a6d4fe}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjType_a14617b585e4b852ab63321ad0af076e7}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ {\bf Obj\-Type}\& {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Type}$<$ Type, Reader\-Writer $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1ObjType_a14617b585e4b852ab63321ad0af076e7}
+\hypertarget{classmeow_1_1ObjType_afaa74a571889ea5281ab3de5636f7e0f}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!type@{type}}
+\index{type@{type}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ std\-::string {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjType_afaa74a571889ea5281ab3de5636f7e0f}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1ObjType_af0adbddc5a4ef305c2637b6694355944}{\index{meow\-::\-Obj\-Type@{meow\-::\-Obj\-Type}!write@{write}}
+\index{write@{write}!meow::ObjType@{meow\-::\-Obj\-Type}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Type , class Reader\-Writer $>$ bool {\bf meow\-::\-Obj\-Type}$<$ Type, Reader\-Writer $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1ObjType_af0adbddc5a4ef305c2637b6694355944}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjTypes_8h}{Obj\-Types.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Photo.eps b/doc/latex/classmeow_1_1Photo.eps
new file mode 100644
index 0000000..b932a41
--- /dev/null
+++ b/doc/latex/classmeow_1_1Photo.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 283.687943
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.762500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::Photo< Pixel >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::Photo< Pixel >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1Photo.pdf b/doc/latex/classmeow_1_1Photo.pdf
new file mode 100644
index 0000000..7efddd1
--- /dev/null
+++ b/doc/latex/classmeow_1_1Photo.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1Photo.tex b/doc/latex/classmeow_1_1Photo.tex
new file mode 100644
index 0000000..d0e0fdc
--- /dev/null
+++ b/doc/latex/classmeow_1_1Photo.tex
@@ -0,0 +1,688 @@
+\hypertarget{classmeow_1_1Photo}{\section{meow\-:\-:Photo$<$ Pixel $>$ Class Template Reference}
+\label{classmeow_1_1Photo}\index{meow\-::\-Photo$<$ Pixel $>$@{meow\-::\-Photo$<$ Pixel $>$}}
+}
+
+
+底片
+
+
+
+
+{\ttfamily \#include \char`\"{}Photo.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Photo$<$ Pixel $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1Photo}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Photo_a84b9bae13da85ab5d1caf02cdede7092}{Photo} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo_a85f96086c9c4041ae14f0c1c9c6d23f8}{Photo} (\hyperlink{classmeow_1_1Photo}{Photo} const \&b)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo_a66e6f809ee030d4b3d5c0d1edd7b641e}{Photo} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo_a68137359863914ebedb467782b8ef440}{Photo} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp, \hyperlink{classdouble}{double} f)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo_af69dcdd4ccd4c15227cf0b104325d8de}{Photo} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp, \hyperlink{classdouble}{double} f, \hyperlink{classmeow_1_1Vector2D}{Vector2\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&c)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo_ad3ba33208243966fe72db6c3a519e22d}{$\sim$\-Photo} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo}{Photo} \& \hyperlink{classmeow_1_1Photo_a53bc0c60fb3abd9e95999990c6f132e6}{copy\-From} (\hyperlink{classmeow_1_1Photo}{Photo} const \&b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo}{Photo} \& \hyperlink{classmeow_1_1Photo_a1d51d273f9847c8c81de3acaafdf893f}{refernece\-From} (\hyperlink{classmeow_1_1Photo}{Photo} const \&b)
+\begin{DoxyCompactList}\small\item\em 參照 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Photo_ab5a901c44b8c5523def9b40f27a5fda3}{reset} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp)
+\begin{DoxyCompactList}\small\item\em 重設bitmap, focal 用猜的 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Photo_aed3ed47ee1ddae0732e24af71b91a7b0}{reset} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp, \hyperlink{classdouble}{double} f)
+\begin{DoxyCompactList}\small\item\em 重設bitmap, focal \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Photo_a4d237ed59e6227940c20831cdce797a8}{reset} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp, \hyperlink{classdouble}{double} f, \hyperlink{classmeow_1_1Vector2D}{Vector2\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&c)
+\begin{DoxyCompactList}\small\item\em 重設bitmap, focal, center \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \& \hyperlink{classmeow_1_1Photo_a49ada6e814bd2280af12183897227e62}{bitmap} () const
+\begin{DoxyCompactList}\small\item\em 回傳{\ttfamily bitmap} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ \& \hyperlink{classmeow_1_1Photo_a07c8ca1846fc97005a7d960c5fc703a7}{bitmap\-Get} ()
+\begin{DoxyCompactList}\small\item\em 回傳{\ttfamily bitmap} 的參照(非constant) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \& \hyperlink{classmeow_1_1Photo_a511f65855ee9f102c2472ce236ba7d3c}{bitmap} (\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ const \&bmp)
+\begin{DoxyCompactList}\small\item\em 設定bitmap \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1Photo_ab7b4b1f6b3f8100ea670500f168cb1e4}{focal} () const
+\begin{DoxyCompactList}\small\item\em 回傳focal length \end{DoxyCompactList}\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1Photo_a1fbde3a8b2be3662cf67a035cf887be9}{focal} (\hyperlink{classdouble}{double} f)
+\begin{DoxyCompactList}\small\item\em 設定 focal length \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D}$<$ \hyperlink{classdouble}{double} $>$ const \& \hyperlink{classmeow_1_1Photo_a1a81a5be069f31e16e2e665ff97e778c}{center} () const
+\begin{DoxyCompactList}\small\item\em 取得照片中心點底片座標 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D}$<$ \hyperlink{classdouble}{double} $>$ \& \hyperlink{classmeow_1_1Photo_a19976fbe55a9d7e17baac9460d5b829c}{center\-Get} ()
+\begin{DoxyCompactList}\small\item\em 取得照片中心點底片座標 (non-\/constant reference) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D}$<$ \hyperlink{classdouble}{double} $>$ const \& \hyperlink{classmeow_1_1Photo_a563850b9827f24d6d0be5c63e408d253}{center} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&c)
+\begin{DoxyCompactList}\small\item\em 設定照片中心點底片座標 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Photo_a1a0582b5c3683264fcad5ca67b376f7c}{width} () const
+\begin{DoxyCompactList}\small\item\em 回傳bitmap寬 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Photo_a0fc9394bbee567c1961500808a5f9a9d}{height} () const
+\begin{DoxyCompactList}\small\item\em 回傳bitmap高 \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1Photo_a3489796a4101da9291fff280cb89728e}{pixel} (size\-\_\-t y, size\-\_\-t x) const
+\begin{DoxyCompactList}\small\item\em 回傳bitmap的某pixel \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1Photo_a38c943a8bd30b309a8042599dcf9f1e7}{pixel} (size\-\_\-t y, size\-\_\-t x, Pixel const \&p)
+\begin{DoxyCompactList}\small\item\em 設定某pixel \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Photo_ae1d328ee4c0971d4a90fb1f05bea1e66}{inside} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&yx) const
+\begin{DoxyCompactList}\small\item\em 檢查某點是否在底片範圍內 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Photo_a43ac8952d85ea584dc9ea9a0424dbb98}{inside} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&p) const
+\begin{DoxyCompactList}\small\item\em 檢查某點是否在底片範圍內 \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1Photo_aad526a7b9aecbcfebb12be76979ce7d1}{color} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&yx) const
+\begin{DoxyCompactList}\small\item\em 取得給照片座標中某點的色彩 \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1Photo_a95c01aa8e4b620c8290a3054663e41f4}{color} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&p) const
+\begin{DoxyCompactList}\small\item\em 取得給照片座標中某點的色彩 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Photo}{Photo} \& \hyperlink{classmeow_1_1Photo_ab97f03da439edeb8834fd6e7a3487f65}{operator=} (\hyperlink{classmeow_1_1Photo}{Photo} const \&b)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily }.copy\-From(b) \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Photo_ab92324c852686bcad5e374aa9ae8e952}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\begin{DoxyCompactList}\small\item\em 將資料寫入檔案 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Photo_a97cc535d734fdf53457c84ef5f0bdc50}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\begin{DoxyCompactList}\small\item\em 將資料讀入 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1Photo_a449f74fa427154f943d6abee255431aa}{create} () const
+\begin{DoxyCompactList}\small\item\em new一個自己 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1Photo_a0e947011dcb0db21760c89663acd2208}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+char const $\ast$ \hyperlink{classmeow_1_1Photo_a93fdf3b617d8b1c751823074fca049a9}{ctype} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\item
+std\-::string \hyperlink{classmeow_1_1Photo_a84cf3012af5e67b4aafc1ee7eafd70d1}{type} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Pixel$>$class meow\-::\-Photo$<$ Pixel $>$}
+
+底片
+
+基本上就是一個 {\ttfamily \hyperlink{classmeow_1_1Photo}{Photo}} 加上 {\ttfamily focal}
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Photo_a84b9bae13da85ab5d1caf02cdede7092}{\index{meow\-::\-Photo@{meow\-::\-Photo}!Photo@{Photo}}
+\index{Photo@{Photo}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{Photo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::{\bf Photo} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a84b9bae13da85ab5d1caf02cdede7092}
+
+
+constructor
+
+focal 預設為 1 \hypertarget{classmeow_1_1Photo_a85f96086c9c4041ae14f0c1c9c6d23f8}{\index{meow\-::\-Photo@{meow\-::\-Photo}!Photo@{Photo}}
+\index{Photo@{Photo}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{Photo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::{\bf Photo} (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a85f96086c9c4041ae14f0c1c9c6d23f8}
+
+
+constructor
+
+複製資料
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 資料來源 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_a66e6f809ee030d4b3d5c0d1edd7b641e}{\index{meow\-::\-Photo@{meow\-::\-Photo}!Photo@{Photo}}
+\index{Photo@{Photo}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{Photo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::{\bf Photo} (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a66e6f809ee030d4b3d5c0d1edd7b641e}
+
+
+constructor
+
+直接給定圖片, 焦距用猜的
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em bmp} & 給定的圖片 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_a68137359863914ebedb467782b8ef440}{\index{meow\-::\-Photo@{meow\-::\-Photo}!Photo@{Photo}}
+\index{Photo@{Photo}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{Photo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::{\bf Photo} (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp, }
+\item[{{\bf double}}]{f}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a68137359863914ebedb467782b8ef440}
+
+
+constructor
+
+直接給定圖片與焦距
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em bmp} & 給定的圖片 \\
+\hline
+\mbox{\tt in} & {\em f} & 給定的焦距 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_af69dcdd4ccd4c15227cf0b104325d8de}{\index{meow\-::\-Photo@{meow\-::\-Photo}!Photo@{Photo}}
+\index{Photo@{Photo}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{Photo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::{\bf Photo} (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp, }
+\item[{{\bf double}}]{f, }
+\item[{{\bf Vector2\-D}$<$ {\bf double} $>$ const \&}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_af69dcdd4ccd4c15227cf0b104325d8de}
+
+
+constructor
+
+直接給定圖片, 焦距與中心點位置
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em bmp} & 給定的圖片 \\
+\hline
+\mbox{\tt in} & {\em f} & 給定的焦距 \\
+\hline
+\mbox{\tt in} & {\em c} & 中心點作標 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_ad3ba33208243966fe72db6c3a519e22d}{\index{meow\-::\-Photo@{meow\-::\-Photo}!$\sim$\-Photo@{$\sim$\-Photo}}
+\index{$\sim$\-Photo@{$\sim$\-Photo}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{$\sim$\-Photo}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::$\sim${\bf Photo} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_ad3ba33208243966fe72db6c3a519e22d}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Photo_a49ada6e814bd2280af12183897227e62}{\index{meow\-::\-Photo@{meow\-::\-Photo}!bitmap@{bitmap}}
+\index{bitmap@{bitmap}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{bitmap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}$<$Pixel$>$ const\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::bitmap (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a49ada6e814bd2280af12183897227e62}
+
+
+回傳{\ttfamily bitmap}
+
+\hypertarget{classmeow_1_1Photo_a511f65855ee9f102c2472ce236ba7d3c}{\index{meow\-::\-Photo@{meow\-::\-Photo}!bitmap@{bitmap}}
+\index{bitmap@{bitmap}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{bitmap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}$<$Pixel$>$ const\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::bitmap (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a511f65855ee9f102c2472ce236ba7d3c}
+
+
+設定bitmap
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em bmp} & 新的 bitmap \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+新的 {\ttfamily bitmap}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_a07c8ca1846fc97005a7d960c5fc703a7}{\index{meow\-::\-Photo@{meow\-::\-Photo}!bitmap\-Get@{bitmap\-Get}}
+\index{bitmap\-Get@{bitmap\-Get}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{bitmap\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Bitmap}$<$Pixel$>$\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::bitmap\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a07c8ca1846fc97005a7d960c5fc703a7}
+
+
+回傳{\ttfamily bitmap} 的參照(非constant)
+
+\hypertarget{classmeow_1_1Photo_a1a81a5be069f31e16e2e665ff97e778c}{\index{meow\-::\-Photo@{meow\-::\-Photo}!center@{center}}
+\index{center@{center}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{center}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Vector2\-D}$<${\bf double}$>$ const\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::center (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a1a81a5be069f31e16e2e665ff97e778c}
+
+
+取得照片中心點底片座標
+
+\begin{DoxyReturn}{Returns}
+一個二維vector
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_a563850b9827f24d6d0be5c63e408d253}{\index{meow\-::\-Photo@{meow\-::\-Photo}!center@{center}}
+\index{center@{center}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{center}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Vector2\-D}$<${\bf double}$>$ const\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::center (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ {\bf double} $>$ const \&}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a563850b9827f24d6d0be5c63e408d253}
+
+
+設定照片中心點底片座標
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em c} & 新的座標\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+新的座標
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_a19976fbe55a9d7e17baac9460d5b829c}{\index{meow\-::\-Photo@{meow\-::\-Photo}!center\-Get@{center\-Get}}
+\index{center\-Get@{center\-Get}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{center\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Vector2\-D}$<${\bf double}$>$\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::center\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a19976fbe55a9d7e17baac9460d5b829c}
+
+
+取得照片中心點底片座標 (non-\/constant reference)
+
+\begin{DoxyReturn}{Returns}
+一個二維vector
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_aad526a7b9aecbcfebb12be76979ce7d1}{\index{meow\-::\-Photo@{meow\-::\-Photo}!color@{color}}
+\index{color@{color}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{color}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel {\bf meow\-::\-Photo}$<$ Pixel $>$\-::color (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ {\bf double} $>$ const \&}]{yx}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_aad526a7b9aecbcfebb12be76979ce7d1}
+
+
+取得給照片座標中某點的色彩
+
+用浮點數vector傳入, 所以色彩是經過渲染過的
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em yx} & 底片座標(原點為center)\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+pixel
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_a95c01aa8e4b620c8290a3054663e41f4}{\index{meow\-::\-Photo@{meow\-::\-Photo}!color@{color}}
+\index{color@{color}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{color}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel {\bf meow\-::\-Photo}$<$ Pixel $>$\-::color (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$ const \&}]{p}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a95c01aa8e4b620c8290a3054663e41f4}
+
+
+取得給照片座標中某點的色彩
+
+這次是輸入大地座標
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em p} & 大地座標p \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+pixel
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_a53bc0c60fb3abd9e95999990c6f132e6}{\index{meow\-::\-Photo@{meow\-::\-Photo}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Photo}\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a53bc0c60fb3abd9e95999990c6f132e6}
+
+
+複製資料
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 資料來源 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_a0e947011dcb0db21760c89663acd2208}{\index{meow\-::\-Photo@{meow\-::\-Photo}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Photo_a0e947011dcb0db21760c89663acd2208}
+
+
+複製資料
+
+\begin{DoxyVerb}輸入型別是 \c ObjBase \c const*
+這裡假設實體其實是 \c Bitmap.
+事實上這個method就只是幫忙轉型然後呼叫原本的\c copyFrom
+\end{DoxyVerb}
+
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 資料來源 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+this
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Photo_a449f74fa427154f943d6abee255431aa}{\index{meow\-::\-Photo@{meow\-::\-Photo}!create@{create}}
+\index{create@{create}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Photo_a449f74fa427154f943d6abee255431aa}
+
+
+new一個自己
+
+\begin{DoxyReturn}{Returns}
+一個new出來的\-Bitmap$<$\-Pixel$>$
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Photo_a93fdf3b617d8b1c751823074fca049a9}{\index{meow\-::\-Photo@{meow\-::\-Photo}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ char const$\ast$ {\bf meow\-::\-Photo}$<$ Pixel $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Photo_a93fdf3b617d8b1c751823074fca049a9}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily char} {\ttfamily const{\ttfamily $\ast$} 形式的typename}
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Photo_ab7b4b1f6b3f8100ea670500f168cb1e4}{\index{meow\-::\-Photo@{meow\-::\-Photo}!focal@{focal}}
+\index{focal@{focal}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{focal}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf double} {\bf meow\-::\-Photo}$<$ Pixel $>$\-::focal (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_ab7b4b1f6b3f8100ea670500f168cb1e4}
+
+
+回傳focal length
+
+\hypertarget{classmeow_1_1Photo_a1fbde3a8b2be3662cf67a035cf887be9}{\index{meow\-::\-Photo@{meow\-::\-Photo}!focal@{focal}}
+\index{focal@{focal}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{focal}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf double} {\bf meow\-::\-Photo}$<$ Pixel $>$\-::focal (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{f}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a1fbde3a8b2be3662cf67a035cf887be9}
+
+
+設定 focal length
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em f} & 新的 focal length \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+新的 {\ttfamily focal} length
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_a0fc9394bbee567c1961500808a5f9a9d}{\index{meow\-::\-Photo@{meow\-::\-Photo}!height@{height}}
+\index{height@{height}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{height}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ size\-\_\-t {\bf meow\-::\-Photo}$<$ Pixel $>$\-::height (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a0fc9394bbee567c1961500808a5f9a9d}
+
+
+回傳bitmap高
+
+\hypertarget{classmeow_1_1Photo_ae1d328ee4c0971d4a90fb1f05bea1e66}{\index{meow\-::\-Photo@{meow\-::\-Photo}!inside@{inside}}
+\index{inside@{inside}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{inside}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Photo}$<$ Pixel $>$\-::inside (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ {\bf double} $>$ const \&}]{yx}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_ae1d328ee4c0971d4a90fb1f05bea1e66}
+
+
+檢查某點是否在底片範圍內
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em yx} & 底片座標\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_a43ac8952d85ea584dc9ea9a0424dbb98}{\index{meow\-::\-Photo@{meow\-::\-Photo}!inside@{inside}}
+\index{inside@{inside}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{inside}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Photo}$<$ Pixel $>$\-::inside (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$ const \&}]{p}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a43ac8952d85ea584dc9ea9a0424dbb98}
+
+
+檢查某點是否在底片範圍內
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em p} & 大地座標\\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Photo_ab97f03da439edeb8834fd6e7a3487f65}{\index{meow\-::\-Photo@{meow\-::\-Photo}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Photo}\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_ab97f03da439edeb8834fd6e7a3487f65}
+
+
+same as {\ttfamily }.copy\-From(b)
+
+\hypertarget{classmeow_1_1Photo_a3489796a4101da9291fff280cb89728e}{\index{meow\-::\-Photo@{meow\-::\-Photo}!pixel@{pixel}}
+\index{pixel@{pixel}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{pixel}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel {\bf meow\-::\-Photo}$<$ Pixel $>$\-::pixel (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{y, }
+\item[{size\-\_\-t}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a3489796a4101da9291fff280cb89728e}
+
+
+回傳bitmap的某pixel
+
+\hypertarget{classmeow_1_1Photo_a38c943a8bd30b309a8042599dcf9f1e7}{\index{meow\-::\-Photo@{meow\-::\-Photo}!pixel@{pixel}}
+\index{pixel@{pixel}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{pixel}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ Pixel {\bf meow\-::\-Photo}$<$ Pixel $>$\-::pixel (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{y, }
+\item[{size\-\_\-t}]{x, }
+\item[{Pixel const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a38c943a8bd30b309a8042599dcf9f1e7}
+
+
+設定某pixel
+
+\hypertarget{classmeow_1_1Photo_a97cc535d734fdf53457c84ef5f0bdc50}{\index{meow\-::\-Photo@{meow\-::\-Photo}!read@{read}}
+\index{read@{read}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Photo}$<$ Pixel $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Photo_a97cc535d734fdf53457c84ef5f0bdc50}
+
+
+將資料讀入
+
+\begin{DoxyNote}{Note}
+未完成
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Photo_a1d51d273f9847c8c81de3acaafdf893f}{\index{meow\-::\-Photo@{meow\-::\-Photo}!refernece\-From@{refernece\-From}}
+\index{refernece\-From@{refernece\-From}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{refernece\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ {\bf Photo}\& {\bf meow\-::\-Photo}$<$ Pixel $>$\-::refernece\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a1d51d273f9847c8c81de3acaafdf893f}
+
+
+參照
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 參照來源 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_ab5a901c44b8c5523def9b40f27a5fda3}{\index{meow\-::\-Photo@{meow\-::\-Photo}!reset@{reset}}
+\index{reset@{reset}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ void {\bf meow\-::\-Photo}$<$ Pixel $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_ab5a901c44b8c5523def9b40f27a5fda3}
+
+
+重設bitmap, focal 用猜的
+
+focal直接代對角線, center代bitmap中心點
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em bmp} & 新的 {\ttfamily bitmap} \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_aed3ed47ee1ddae0732e24af71b91a7b0}{\index{meow\-::\-Photo@{meow\-::\-Photo}!reset@{reset}}
+\index{reset@{reset}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ void {\bf meow\-::\-Photo}$<$ Pixel $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp, }
+\item[{{\bf double}}]{f}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_aed3ed47ee1ddae0732e24af71b91a7b0}
+
+
+重設bitmap, focal
+
+center代bitmap中心點
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em bmp} & 新的 {\ttfamily bitmap} \\
+\hline
+\mbox{\tt in} & {\em f} & 新的 {\ttfamily focal} \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_a4d237ed59e6227940c20831cdce797a8}{\index{meow\-::\-Photo@{meow\-::\-Photo}!reset@{reset}}
+\index{reset@{reset}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ void {\bf meow\-::\-Photo}$<$ Pixel $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{{\bf Bitmap}$<$ Pixel $>$ const \&}]{bmp, }
+\item[{{\bf double}}]{f, }
+\item[{{\bf Vector2\-D}$<$ {\bf double} $>$ const \&}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a4d237ed59e6227940c20831cdce797a8}
+
+
+重設bitmap, focal, center
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em bmp} & 新的 {\ttfamily bitmap} \\
+\hline
+\mbox{\tt in} & {\em f} & 新的 {\ttfamily focal} \\
+\hline
+\mbox{\tt in} & {\em c} & 新的中心點作標 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Photo_a84cf3012af5e67b4aafc1ee7eafd70d1}{\index{meow\-::\-Photo@{meow\-::\-Photo}!type@{type}}
+\index{type@{type}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ std\-::string {\bf meow\-::\-Photo}$<$ Pixel $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Photo_a84cf3012af5e67b4aafc1ee7eafd70d1}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily std\-::string} 形式的typename
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1Photo_a1a0582b5c3683264fcad5ca67b376f7c}{\index{meow\-::\-Photo@{meow\-::\-Photo}!width@{width}}
+\index{width@{width}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{width}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ size\-\_\-t {\bf meow\-::\-Photo}$<$ Pixel $>$\-::width (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Photo_a1a0582b5c3683264fcad5ca67b376f7c}
+
+
+回傳bitmap寬
+
+\hypertarget{classmeow_1_1Photo_ab92324c852686bcad5e374aa9ae8e952}{\index{meow\-::\-Photo@{meow\-::\-Photo}!write@{write}}
+\index{write@{write}!meow::Photo@{meow\-::\-Photo}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel$>$ bool {\bf meow\-::\-Photo}$<$ Pixel $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Photo_ab92324c852686bcad5e374aa9ae8e952}
+
+
+將資料寫入檔案
+
+\begin{DoxyNote}{Note}
+未完成
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{Photo_8h}{Photo.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1PhotoProjection.eps b/doc/latex/classmeow_1_1PhotoProjection.eps
new file mode 100644
index 0000000..3572a07
--- /dev/null
+++ b/doc/latex/classmeow_1_1PhotoProjection.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 192.307692
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.600000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::PhotoProjection< Scalar >) cw
+(meow::Transformation< Scalar >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::PhotoProjection< Scalar >) 0.000000 0.000000 box
+ (meow::Transformation< Scalar >) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1PhotoProjection.pdf b/doc/latex/classmeow_1_1PhotoProjection.pdf
new file mode 100644
index 0000000..91caccd
--- /dev/null
+++ b/doc/latex/classmeow_1_1PhotoProjection.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1PhotoProjection.tex b/doc/latex/classmeow_1_1PhotoProjection.tex
new file mode 100644
index 0000000..9107c0b
--- /dev/null
+++ b/doc/latex/classmeow_1_1PhotoProjection.tex
@@ -0,0 +1,324 @@
+\hypertarget{classmeow_1_1PhotoProjection}{\section{meow\-:\-:Photo\-Projection$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1PhotoProjection}\index{meow\-::\-Photo\-Projection$<$ Scalar $>$@{meow\-::\-Photo\-Projection$<$ Scalar $>$}}
+}
+
+
+A {\bfseries photo} {\bfseries projection} is a kind of transformation that project point/vector to a flat {\bfseries photo}.
+
+
+
+
+{\ttfamily \#include \char`\"{}Transformations.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Photo\-Projection$<$ Scalar $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1PhotoProjection}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1PhotoProjection_a902922d6be5fcb6ce2ce563031913e36}{Photo\-Projection} (size\-\_\-t \hyperlink{classmeow_1_1PhotoProjection_a8bc014829f304ae83da2862fcf4f6dce}{dimension})
+\item
+\hyperlink{classmeow_1_1PhotoProjection_a1e12a0292cf00f4d107b4a5e8e0fa464}{Photo\-Projection} (size\-\_\-t \hyperlink{classmeow_1_1PhotoProjection_a8bc014829f304ae83da2862fcf4f6dce}{dimension}, Scalar const \&f)
+\item
+\hyperlink{classmeow_1_1PhotoProjection_afba51bf2a5f236057bfd279ef68e0d71}{Photo\-Projection} (\hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection} const \&p)
+\item
+\hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection} \& \hyperlink{classmeow_1_1PhotoProjection_a4a26e30caff3bd71ff68e97f5dc9ec46}{copy\-From} (\hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection} const \&b)
+\item
+\hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection} \& \hyperlink{classmeow_1_1PhotoProjection_a632973b2b8675f126b74e5ced2f62d52}{reference\-From} (\hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection} const \&b)
+\item
+Scalar \hyperlink{classmeow_1_1PhotoProjection_a3499d5c76df3c78028f3e1b7d8cb48e6}{parameter} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Same as {\ttfamily \hyperlink{classmeow_1_1PhotoProjection_af143b826cad7171ec539432d3add9da5}{focal()}} \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1PhotoProjection_adecf5a6f3f1f07d7fc6b4714fa80e8a1}{parameter} (size\-\_\-t i, Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em Same as {\ttfamily focal(s)} \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1PhotoProjection_af143b826cad7171ec539432d3add9da5}{focal} () const
+\begin{DoxyCompactList}\small\item\em Get the focal length. \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1PhotoProjection_a19f5080ff959073d334c6e21a6247f13}{focal} (Scalar const \&f)
+\begin{DoxyCompactList}\small\item\em Set the focal length. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1PhotoProjection_a8bc014829f304ae83da2862fcf4f6dce}{dimension} () const
+\begin{DoxyCompactList}\small\item\em Get the dimension of this projection. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1PhotoProjection_ac4bbf64ef4341a10bc444147142c7d5f}{transformate} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Project the input vector(s) onto the plane. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1PhotoProjection_aabb88ff170cc655a3b7262af3337a0a3}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix (derivate by the input vector) of this projection. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1PhotoProjection_a4a07aecb4474633c82d6b73dc1cdd53d}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x, size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix (derivate by the focus length) of this projection. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection} \& \hyperlink{classmeow_1_1PhotoProjection_a7c05a0abd905abc1330331627b6a1d90}{operator=} (\hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection} const \&b)
+\begin{DoxyCompactList}\small\item\em Same as {\ttfamily copy\-From(b)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1PhotoProjection_aa50f02a71f9be0b417b0dc9f8ff5d9ab}{operator()} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&v) const
+\begin{DoxyCompactList}\small\item\em Same as {\ttfamily transformate(v)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Photo\-Projection$<$ Scalar $>$}
+
+A {\bfseries photo} {\bfseries projection} is a kind of transformation that project point/vector to a flat {\bfseries photo}.
+
+Assume\-:
+\begin{DoxyItemize}
+\item The dimension of a photo projection is $ N $
+\item The length of the input vector is $ L $
+\item The focal length is $ f $
+\end{DoxyItemize}Then transformation is like below\-: \par
+ \[ \left[ \begin{array}{c} x_1 \\ x_2 \\ x_3 \\ . \\ . \\ . \\ x_N \\ \end{array} \right] \stackrel{transformate}{\rightarrow} \left[ \begin{array}{c} \frac{-x_1 \times f}{x_N} \\ \frac{-x_2 \times f}{x_N} \\ \frac{-x_3 \times f}{x_N} \\ . \\ . \\ . \\ -f \\ \end{array} \right] \\ \] i.\-e. projecte the vector onto the plane $ x_N = -f $.
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1PhotoProjection_a902922d6be5fcb6ce2ce563031913e36}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!Photo\-Projection@{Photo\-Projection}}
+\index{Photo\-Projection@{Photo\-Projection}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{Photo\-Projection}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::{\bf Photo\-Projection} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_a902922d6be5fcb6ce2ce563031913e36}
+Constructor, focal = 1 \hypertarget{classmeow_1_1PhotoProjection_a1e12a0292cf00f4d107b4a5e8e0fa464}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!Photo\-Projection@{Photo\-Projection}}
+\index{Photo\-Projection@{Photo\-Projection}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{Photo\-Projection}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::{\bf Photo\-Projection} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension, }
+\item[{Scalar const \&}]{f}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_a1e12a0292cf00f4d107b4a5e8e0fa464}
+Constructor \hypertarget{classmeow_1_1PhotoProjection_afba51bf2a5f236057bfd279ef68e0d71}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!Photo\-Projection@{Photo\-Projection}}
+\index{Photo\-Projection@{Photo\-Projection}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{Photo\-Projection}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::{\bf Photo\-Projection} (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo\-Projection}$<$ Scalar $>$ const \&}]{p}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_afba51bf2a5f236057bfd279ef68e0d71}
+Constructor, copy settings from another \hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection}.
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1PhotoProjection_a4a26e30caff3bd71ff68e97f5dc9ec46}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Photo\-Projection}\& {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo\-Projection}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_a4a26e30caff3bd71ff68e97f5dc9ec46}
+Copy settings from another one
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & another one \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1PhotoProjection_a8bc014829f304ae83da2862fcf4f6dce}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!dimension@{dimension}}
+\index{dimension@{dimension}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::dimension (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_a8bc014829f304ae83da2862fcf4f6dce}
+
+
+Get the dimension of this projection.
+
+\hypertarget{classmeow_1_1PhotoProjection_af143b826cad7171ec539432d3add9da5}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!focal@{focal}}
+\index{focal@{focal}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{focal}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::focal (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_af143b826cad7171ec539432d3add9da5}
+
+
+Get the focal length.
+
+\begin{DoxyReturn}{Returns}
+Focal length
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1PhotoProjection_a19f5080ff959073d334c6e21a6247f13}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!focal@{focal}}
+\index{focal@{focal}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{focal}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::focal (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{f}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_a19f5080ff959073d334c6e21a6247f13}
+
+
+Set the focal length.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em f} & New focal length \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+New focal length
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1PhotoProjection_aabb88ff170cc655a3b7262af3337a0a3}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1PhotoProjection_aabb88ff170cc655a3b7262af3337a0a3}
+
+
+Return the jacobian matrix (derivate by the input vector) of this projection.
+
+This method only allow a vector-\/like matrix be input. Assume\-:
+\begin{DoxyItemize}
+\item The dimension of this projection is $ N $
+\item The length of the input vector is $ L=\sqrt{x_1^2+x_2^2+...+x_N^2} $
+\item The focal length of this projection is $ f $
+\end{DoxyItemize}Then the jacobian matrix is like below\-: \par
+ \[ f \times \left[ \begin{array}{ccccc} \frac{-1}{x_N} & 0 & 0 & ... & \frac{1}{x_N^2} \\ 0 & \frac{-1}{x_N} & 0 & ... & \frac{1}{x_N^2} \\ 0 & 0 & \frac{-1}{x_N} & ... & \frac{1}{x_N^2} \\ . & . & . & & . \\ . & . & . & & . \\ . & . & . & & . \\ 0 & 0 & 0 & ... & 0 \\ \end{array} \right] \]
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The output matrix.
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1PhotoProjection_a4a07aecb4474633c82d6b73dc1cdd53d}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1PhotoProjection_a4a07aecb4474633c82d6b73dc1cdd53d}
+
+
+Return the jacobian matrix (derivate by the focus length) of this projection.
+
+This method only allow a vector-\/like matrix be input. Assume\-:
+\begin{DoxyItemize}
+\item The dimension of this projection is $ N $
+\item The length of the input vector is $ L=\sqrt{x_1^2+x_2^2+...+x_N^2} $
+\item The focal length of this projection is $ f $
+\end{DoxyItemize}Then the jacobian matrix is like below\-: \par
+ \[ f \times \left[ \begin{array}{c} \frac{-x_1}{x_N} \\ \frac{-x_2}{x_N} \\ \frac{-x_3}{x_N} \\ . \\ . \\ . \\ -1 \\ \end{array} \right] \]
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\mbox{\tt in} & {\em i} & Useless parameter \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The output matrix.
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1PhotoProjection_aa50f02a71f9be0b417b0dc9f8ff5d9ab}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_aa50f02a71f9be0b417b0dc9f8ff5d9ab}
+
+
+Same as {\ttfamily transformate(v)}
+
+\hypertarget{classmeow_1_1PhotoProjection_a7c05a0abd905abc1330331627b6a1d90}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Photo\-Projection}\& {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo\-Projection}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_a7c05a0abd905abc1330331627b6a1d90}
+
+
+Same as {\ttfamily copy\-From(b)}
+
+\hypertarget{classmeow_1_1PhotoProjection_a3499d5c76df3c78028f3e1b7d8cb48e6}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1PhotoProjection_a3499d5c76df3c78028f3e1b7d8cb48e6}
+
+
+Same as {\ttfamily \hyperlink{classmeow_1_1PhotoProjection_af143b826cad7171ec539432d3add9da5}{focal()}}
+
+
+
+Implements \hyperlink{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1PhotoProjection_adecf5a6f3f1f07d7fc6b4714fa80e8a1}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1PhotoProjection_adecf5a6f3f1f07d7fc6b4714fa80e8a1}
+
+
+Same as {\ttfamily focal(s)}
+
+
+
+Implements \hyperlink{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1PhotoProjection_a632973b2b8675f126b74e5ced2f62d52}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Photo\-Projection}\& {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Photo\-Projection}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1PhotoProjection_a632973b2b8675f126b74e5ced2f62d52}
+Reference settings from another one
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & another one \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1PhotoProjection_ac4bbf64ef4341a10bc444147142c7d5f}{\index{meow\-::\-Photo\-Projection@{meow\-::\-Photo\-Projection}!transformate@{transformate}}
+\index{transformate@{transformate}!meow::PhotoProjection@{meow\-::\-Photo\-Projection}}
+\subsubsection[{transformate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Photo\-Projection}$<$ Scalar $>$\-::transformate (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1PhotoProjection_ac4bbf64ef4341a10bc444147142c7d5f}
+
+
+Project the input vector(s) onto the plane.
+
+The equation of the plane is $ x_N = -f $, where the $ N $ is the dimension of this projection and f is the focal length. \par
+ If the number of columns of the input matrix is larger than 1, this method will think that you want to transform multiple vector once and the number of columns of the output matrix will be the same of the number of columns of the input one.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The output matrix.
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+Take into account that too much safty checking will lead to inefficient, this method will not checking whether the dimension of the input vector/matrix is right. So be sure the data is valid before you call this method.
+\end{DoxyNote}
+
+
+Implements \hyperlink{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/math/\hyperlink{Transformations_8h}{Transformations.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1RGBf__Space.eps b/doc/latex/classmeow_1_1RGBf__Space.eps
new file mode 100644
index 0000000..ac13733
--- /dev/null
+++ b/doc/latex/classmeow_1_1RGBf__Space.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 199.004975
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.512500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::RGBf_Space) cw
+(meow::Color3_Space< double >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::RGBf_Space) 0.000000 0.000000 box
+ (meow::Color3_Space< double >) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1RGBf__Space.pdf b/doc/latex/classmeow_1_1RGBf__Space.pdf
new file mode 100644
index 0000000..c6ce536
--- /dev/null
+++ b/doc/latex/classmeow_1_1RGBf__Space.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1RGBf__Space.tex b/doc/latex/classmeow_1_1RGBf__Space.tex
new file mode 100644
index 0000000..8df938c
--- /dev/null
+++ b/doc/latex/classmeow_1_1RGBf__Space.tex
@@ -0,0 +1,323 @@
+\hypertarget{classmeow_1_1RGBf__Space}{\section{meow\-:\-:R\-G\-Bf\-\_\-\-Space Class Reference}
+\label{classmeow_1_1RGBf__Space}\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+}
+
+
+以浮點數{\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間
+
+
+
+
+{\ttfamily \#include \char`\"{}R\-G\-B\-\_\-\-Space.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:R\-G\-Bf\-\_\-\-Space\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1RGBf__Space}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1RGBf__Space_ad7cb69aace8c4ee0197d5eca0aa89c66}{R\-G\-Bf\-\_\-\-Space} ()
+\item
+\hyperlink{classmeow_1_1RGBf__Space_a40a44b27fbf61b7660e73f6850418ab0}{R\-G\-Bf\-\_\-\-Space} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classmeow_1_1RGBf__Space_a42066d9d91f184f9384c5903f7121365}{R\-G\-Bf\-\_\-\-Space} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&v)
+\item
+\hyperlink{classmeow_1_1RGBf__Space_a1c405284fdfac9fb8626e5afccd213a4}{R\-G\-Bf\-\_\-\-Space} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBf__Space_a8a0a6daacecfbd1769cbdb321988ab88}{b})
+\item
+\hyperlink{classmeow_1_1RGBf__Space_ab47d10e634067bbb0b7152d0f50b42a0}{$\sim$\-R\-G\-Bf\-\_\-\-Space} ()
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_a33dd8ebb5015faa8540e67e51ea68e4f}{rgb\-Min} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_aee2f300ff0ae724890d3d80d0cb7cbc3}{r\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_aeb0cd2d681af6a70861ff371bf596e17}{g\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_a130bbee98fdd279a415e18aa0ca2f13c}{b\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_a6b4da76d0c83cb321f61fb6387932203}{rgb\-Max} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_af473ccd4b8202097640ba9f19428caef}{r\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_a65d8088fb8b755f0b3f173dcda552789}{g\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_a029c3bd52ae818462558742dc2be0904}{b\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_aeffa5f21171d32f9b1e1528707aac42b}{rgb} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_a2e158eb7f0a94047b23872b7b346e7b9}{r} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_ad25036799ca38983cdb74ed6b4245d51}{g} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_a8a0a6daacecfbd1769cbdb321988ab88}{b} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_a98433b465ab530b4ac90232726604d16}{rgb} (size\-\_\-t i, \hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_ab31fa271f40b6296a1f55d9956a704ba}{r} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_af823dd9896ab6e485cc752eddc9c43f0}{g} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1RGBf__Space_ab6c357531cc39c41299f933988084ebc}{b} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1RGBf__Space_a2a2a36035097c796da37667ab737aaff}{rgb\-Get} (size\-\_\-t i)
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1RGBf__Space_afa902a6e87068e583c8747208f908f4e}{r\-Get} ()
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1RGBf__Space_a48e591bedfc479b2193dd00ac5986f9f}{g\-Get} ()
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1RGBf__Space_a1e788ac2df4f3cd00ff09b5f644f2c8c}{b\-Get} ()
+\item
+\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} \& \hyperlink{classmeow_1_1RGBf__Space_a431988ab812016af01e8ab960da9222a}{operator=} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBf__Space_a8a0a6daacecfbd1769cbdb321988ab88}{b})
+\item
+\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} \hyperlink{classmeow_1_1RGBf__Space_a8ddf4972a507e4623c9372793f6478e1}{operator+} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBf__Space_a8a0a6daacecfbd1769cbdb321988ab88}{b}) const
+\item
+\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} \hyperlink{classmeow_1_1RGBf__Space_aa2911ccfbf9a3587ed0310211836a25e}{operator-\/} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBf__Space_a8a0a6daacecfbd1769cbdb321988ab88}{b}) const
+\item
+\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} \hyperlink{classmeow_1_1RGBf__Space_ab9d808c477ec59c8671bc667f6429136}{operator$\ast$} (\hyperlink{classdouble}{double} const \&c) const
+\item
+\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} \hyperlink{classmeow_1_1RGBf__Space_a9e1faa7ce3cfefeb07eb7b8051daf932}{operator/} (\hyperlink{classdouble}{double} const \&c) const
+\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1RGBf__Space_a280676dff16adf2945a1b282fa04e8e7}{operator$\ast$} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBf__Space_a8a0a6daacecfbd1769cbdb321988ab88}{b}) const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+以浮點數{\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間
+
+其中範圍都介於0.0$\sim$1.0之間
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1RGBf__Space_ad7cb69aace8c4ee0197d5eca0aa89c66}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!R\-G\-Bf\-\_\-\-Space@{R\-G\-Bf\-\_\-\-Space}}
+\index{R\-G\-Bf\-\_\-\-Space@{R\-G\-Bf\-\_\-\-Space}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{R\-G\-Bf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bf\-\_\-\-Space\-::\-R\-G\-Bf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_ad7cb69aace8c4ee0197d5eca0aa89c66}
+\hypertarget{classmeow_1_1RGBf__Space_a40a44b27fbf61b7660e73f6850418ab0}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!R\-G\-Bf\-\_\-\-Space@{R\-G\-Bf\-\_\-\-Space}}
+\index{R\-G\-Bf\-\_\-\-Space@{R\-G\-Bf\-\_\-\-Space}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{R\-G\-Bf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bf\-\_\-\-Space\-::\-R\-G\-Bf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a40a44b27fbf61b7660e73f6850418ab0}
+\hypertarget{classmeow_1_1RGBf__Space_a42066d9d91f184f9384c5903f7121365}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!R\-G\-Bf\-\_\-\-Space@{R\-G\-Bf\-\_\-\-Space}}
+\index{R\-G\-Bf\-\_\-\-Space@{R\-G\-Bf\-\_\-\-Space}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{R\-G\-Bf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bf\-\_\-\-Space\-::\-R\-G\-Bf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a42066d9d91f184f9384c5903f7121365}
+\hypertarget{classmeow_1_1RGBf__Space_a1c405284fdfac9fb8626e5afccd213a4}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!R\-G\-Bf\-\_\-\-Space@{R\-G\-Bf\-\_\-\-Space}}
+\index{R\-G\-Bf\-\_\-\-Space@{R\-G\-Bf\-\_\-\-Space}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{R\-G\-Bf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bf\-\_\-\-Space\-::\-R\-G\-Bf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a1c405284fdfac9fb8626e5afccd213a4}
+\hypertarget{classmeow_1_1RGBf__Space_ab47d10e634067bbb0b7152d0f50b42a0}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!$\sim$\-R\-G\-Bf\-\_\-\-Space@{$\sim$\-R\-G\-Bf\-\_\-\-Space}}
+\index{$\sim$\-R\-G\-Bf\-\_\-\-Space@{$\sim$\-R\-G\-Bf\-\_\-\-Space}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{$\sim$\-R\-G\-Bf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bf\-\_\-\-Space\-::$\sim$\-R\-G\-Bf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_ab47d10e634067bbb0b7152d0f50b42a0}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1RGBf__Space_a8a0a6daacecfbd1769cbdb321988ab88}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!b@{b}}
+\index{b@{b}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{b}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::b (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a8a0a6daacecfbd1769cbdb321988ab88}
+\hypertarget{classmeow_1_1RGBf__Space_ab6c357531cc39c41299f933988084ebc}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!b@{b}}
+\index{b@{b}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{b}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::b (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_ab6c357531cc39c41299f933988084ebc}
+\hypertarget{classmeow_1_1RGBf__Space_a1e788ac2df4f3cd00ff09b5f644f2c8c}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!b\-Get@{b\-Get}}
+\index{b\-Get@{b\-Get}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{b\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::b\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a1e788ac2df4f3cd00ff09b5f644f2c8c}
+\hypertarget{classmeow_1_1RGBf__Space_a029c3bd52ae818462558742dc2be0904}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!b\-Max@{b\-Max}}
+\index{b\-Max@{b\-Max}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{b\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::b\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a029c3bd52ae818462558742dc2be0904}
+\hypertarget{classmeow_1_1RGBf__Space_a130bbee98fdd279a415e18aa0ca2f13c}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!b\-Min@{b\-Min}}
+\index{b\-Min@{b\-Min}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{b\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::b\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a130bbee98fdd279a415e18aa0ca2f13c}
+\hypertarget{classmeow_1_1RGBf__Space_ad25036799ca38983cdb74ed6b4245d51}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!g@{g}}
+\index{g@{g}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{g}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::g (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_ad25036799ca38983cdb74ed6b4245d51}
+\hypertarget{classmeow_1_1RGBf__Space_af823dd9896ab6e485cc752eddc9c43f0}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!g@{g}}
+\index{g@{g}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{g}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::g (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_af823dd9896ab6e485cc752eddc9c43f0}
+\hypertarget{classmeow_1_1RGBf__Space_a48e591bedfc479b2193dd00ac5986f9f}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!g\-Get@{g\-Get}}
+\index{g\-Get@{g\-Get}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{g\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::g\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a48e591bedfc479b2193dd00ac5986f9f}
+\hypertarget{classmeow_1_1RGBf__Space_a65d8088fb8b755f0b3f173dcda552789}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!g\-Max@{g\-Max}}
+\index{g\-Max@{g\-Max}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{g\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::g\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a65d8088fb8b755f0b3f173dcda552789}
+\hypertarget{classmeow_1_1RGBf__Space_aeb0cd2d681af6a70861ff371bf596e17}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!g\-Min@{g\-Min}}
+\index{g\-Min@{g\-Min}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{g\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::g\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_aeb0cd2d681af6a70861ff371bf596e17}
+\hypertarget{classmeow_1_1RGBf__Space_ab9d808c477ec59c8671bc667f6429136}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bf\-\_\-\-Space} meow\-::\-R\-G\-Bf\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf double} const \&}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_ab9d808c477ec59c8671bc667f6429136}
+\hypertarget{classmeow_1_1RGBf__Space_a280676dff16adf2945a1b282fa04e8e7}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} meow\-::\-R\-G\-Bf\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a280676dff16adf2945a1b282fa04e8e7}
+\hypertarget{classmeow_1_1RGBf__Space_a8ddf4972a507e4623c9372793f6478e1}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bf\-\_\-\-Space} meow\-::\-R\-G\-Bf\-\_\-\-Space\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a8ddf4972a507e4623c9372793f6478e1}
+\hypertarget{classmeow_1_1RGBf__Space_aa2911ccfbf9a3587ed0310211836a25e}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bf\-\_\-\-Space} meow\-::\-R\-G\-Bf\-\_\-\-Space\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_aa2911ccfbf9a3587ed0310211836a25e}
+\hypertarget{classmeow_1_1RGBf__Space_a9e1faa7ce3cfefeb07eb7b8051daf932}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bf\-\_\-\-Space} meow\-::\-R\-G\-Bf\-\_\-\-Space\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{{\bf double} const \&}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a9e1faa7ce3cfefeb07eb7b8051daf932}
+\hypertarget{classmeow_1_1RGBf__Space_a431988ab812016af01e8ab960da9222a}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bf\-\_\-\-Space}\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a431988ab812016af01e8ab960da9222a}
+\hypertarget{classmeow_1_1RGBf__Space_a2e158eb7f0a94047b23872b7b346e7b9}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!r@{r}}
+\index{r@{r}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{r}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::r (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a2e158eb7f0a94047b23872b7b346e7b9}
+\hypertarget{classmeow_1_1RGBf__Space_ab31fa271f40b6296a1f55d9956a704ba}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!r@{r}}
+\index{r@{r}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{r}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::r (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_ab31fa271f40b6296a1f55d9956a704ba}
+\hypertarget{classmeow_1_1RGBf__Space_aeffa5f21171d32f9b1e1528707aac42b}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!rgb@{rgb}}
+\index{rgb@{rgb}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{rgb}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::rgb (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_aeffa5f21171d32f9b1e1528707aac42b}
+\hypertarget{classmeow_1_1RGBf__Space_a98433b465ab530b4ac90232726604d16}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!rgb@{rgb}}
+\index{rgb@{rgb}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{rgb}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::rgb (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a98433b465ab530b4ac90232726604d16}
+\hypertarget{classmeow_1_1RGBf__Space_a2a2a36035097c796da37667ab737aaff}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!rgb\-Get@{rgb\-Get}}
+\index{rgb\-Get@{rgb\-Get}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{rgb\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::rgb\-Get (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a2a2a36035097c796da37667ab737aaff}
+\hypertarget{classmeow_1_1RGBf__Space_a6b4da76d0c83cb321f61fb6387932203}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!rgb\-Max@{rgb\-Max}}
+\index{rgb\-Max@{rgb\-Max}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{rgb\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::rgb\-Max (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a6b4da76d0c83cb321f61fb6387932203}
+\hypertarget{classmeow_1_1RGBf__Space_a33dd8ebb5015faa8540e67e51ea68e4f}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!rgb\-Min@{rgb\-Min}}
+\index{rgb\-Min@{rgb\-Min}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{rgb\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::rgb\-Min (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_a33dd8ebb5015faa8540e67e51ea68e4f}
+\hypertarget{classmeow_1_1RGBf__Space_afa902a6e87068e583c8747208f908f4e}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!r\-Get@{r\-Get}}
+\index{r\-Get@{r\-Get}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{r\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::r\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_afa902a6e87068e583c8747208f908f4e}
+\hypertarget{classmeow_1_1RGBf__Space_af473ccd4b8202097640ba9f19428caef}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!r\-Max@{r\-Max}}
+\index{r\-Max@{r\-Max}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{r\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::r\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_af473ccd4b8202097640ba9f19428caef}
+\hypertarget{classmeow_1_1RGBf__Space_aee2f300ff0ae724890d3d80d0cb7cbc3}{\index{meow\-::\-R\-G\-Bf\-\_\-\-Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}!r\-Min@{r\-Min}}
+\index{r\-Min@{r\-Min}!meow::RGBf_Space@{meow\-::\-R\-G\-Bf\-\_\-\-Space}}
+\subsubsection[{r\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-R\-G\-Bf\-\_\-\-Space\-::r\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBf__Space_aee2f300ff0ae724890d3d80d0cb7cbc3}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/colors/\hyperlink{RGB__Space_8h}{R\-G\-B\-\_\-\-Space.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1RGBi__Space.eps b/doc/latex/classmeow_1_1RGBi__Space.eps
new file mode 100644
index 0000000..36aedf7
--- /dev/null
+++ b/doc/latex/classmeow_1_1RGBi__Space.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 227.272727
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.200000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::RGBi_Space) cw
+(meow::Color3_Space< int >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::RGBi_Space) 0.000000 0.000000 box
+ (meow::Color3_Space< int >) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1RGBi__Space.pdf b/doc/latex/classmeow_1_1RGBi__Space.pdf
new file mode 100644
index 0000000..09704d2
--- /dev/null
+++ b/doc/latex/classmeow_1_1RGBi__Space.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1RGBi__Space.tex b/doc/latex/classmeow_1_1RGBi__Space.tex
new file mode 100644
index 0000000..daebea1
--- /dev/null
+++ b/doc/latex/classmeow_1_1RGBi__Space.tex
@@ -0,0 +1,323 @@
+\hypertarget{classmeow_1_1RGBi__Space}{\section{meow\-:\-:R\-G\-Bi\-\_\-\-Space Class Reference}
+\label{classmeow_1_1RGBi__Space}\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+}
+
+
+以整數 {\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間
+
+
+
+
+{\ttfamily \#include \char`\"{}R\-G\-B\-\_\-\-Space.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:R\-G\-Bi\-\_\-\-Space\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1RGBi__Space}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1RGBi__Space_a9eb77a74b33dd6c61f821ad9e1f5d00d}{R\-G\-Bi\-\_\-\-Space} ()
+\item
+\hyperlink{classmeow_1_1RGBi__Space_a6a339fd5415d2c84c829c2dec1ab6710}{R\-G\-Bi\-\_\-\-Space} (\hyperlink{classint}{int} c)
+\item
+\hyperlink{classmeow_1_1RGBi__Space_a15514adce8ed62b5fa196031d0f821cb}{R\-G\-Bi\-\_\-\-Space} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classint}{int} $>$ const \&v)
+\item
+\hyperlink{classmeow_1_1RGBi__Space_a338d7a18013b78132b4dd534bbef7406}{R\-G\-Bi\-\_\-\-Space} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBi__Space_a8a8779fb88ac2f2a97b00f3764035483}{b})
+\item
+\hyperlink{classmeow_1_1RGBi__Space_ab286b1713dc25fe5e3e560df56a28792}{$\sim$\-R\-G\-Bi\-\_\-\-Space} ()
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_abcf954ac596df3967581c533670a3339}{rgb\-Min} (size\-\_\-t i) const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_acf9aab095784c66dc9b3969602f84384}{r\-Min} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_aa56cd3fabe6e32ede7f7761836dd7253}{g\-Min} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a612c6b94ae15541855dcd9dd15056ff8}{b\-Min} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a40f228f22ec8c35947a61d51a0e4c1fd}{rgb\-Max} (size\-\_\-t i) const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a93000ad239423bb98dda22c8d48bc614}{r\-Max} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a4b3d58a5a52f1ebee9e7477a9f0bd291}{g\-Max} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a2ce95550fd5c89fc71f0715fc8ac573b}{b\-Max} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_ab07979f6a7b9f6a45b75a6393ee6c385}{rgb} (size\-\_\-t i) const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a6920d22a9b808f0f2884bd791f8f568a}{r} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a5593b70032b2d51d4cf5643041fc97c6}{g} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a8a8779fb88ac2f2a97b00f3764035483}{b} () const
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a0410f516652c05e244ba222bcefc0283}{rgb} (size\-\_\-t i, \hyperlink{classint}{int} c)
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a0eff4d5a02a91c3407740024d0061d02}{r} (\hyperlink{classint}{int} c)
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_a4e11d1c769ed496cccb9731a0fb68af4}{g} (\hyperlink{classint}{int} c)
+\item
+\hyperlink{classint}{int} const \& \hyperlink{classmeow_1_1RGBi__Space_ad1fa67b3646315b7a4fbcf225663e019}{b} (\hyperlink{classint}{int} c)
+\item
+\hyperlink{classint}{int} \& \hyperlink{classmeow_1_1RGBi__Space_a3e04f724a45ca6e5cabbc57c9d1332b1}{rgb\-Get} (size\-\_\-t i)
+\item
+\hyperlink{classint}{int} \& \hyperlink{classmeow_1_1RGBi__Space_a76b540bdf49bc8912c5f62aa875b1906}{r\-Get} ()
+\item
+\hyperlink{classint}{int} \& \hyperlink{classmeow_1_1RGBi__Space_ae929cfad169be9724e8d38d967a8ac33}{g\-Get} ()
+\item
+\hyperlink{classint}{int} \& \hyperlink{classmeow_1_1RGBi__Space_ad9160364e918eaa52e0573c30f4f26e7}{b\-Get} ()
+\item
+\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} \& \hyperlink{classmeow_1_1RGBi__Space_a6b4567461811d8f877b0234ca6662a76}{operator=} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBi__Space_a8a8779fb88ac2f2a97b00f3764035483}{b})
+\item
+\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} \hyperlink{classmeow_1_1RGBi__Space_a68b6bd8c7c44f4cfcdaa89d42c0ad411}{operator+} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBi__Space_a8a8779fb88ac2f2a97b00f3764035483}{b}) const
+\item
+\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} \hyperlink{classmeow_1_1RGBi__Space_a7aeab58894418a920b77c592990bd1ab}{operator-\/} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBi__Space_a8a8779fb88ac2f2a97b00f3764035483}{b}) const
+\item
+\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} \hyperlink{classmeow_1_1RGBi__Space_a2ba8e23aa5745341540c72dc4f040990}{operator$\ast$} (\hyperlink{classint}{int} c) const
+\item
+\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} \hyperlink{classmeow_1_1RGBi__Space_a618ccc99b535547833004fc8d83b14ee}{operator/} (\hyperlink{classint}{int} c) const
+\item
+\hyperlink{classint}{int} \hyperlink{classmeow_1_1RGBi__Space_a71795b3157bae2b877635b43abd145e9}{operator$\ast$} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&\hyperlink{classmeow_1_1RGBi__Space_a8a8779fb88ac2f2a97b00f3764035483}{b}) const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+以整數 {\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間
+
+其中範圍都介於0$\sim$255之間
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1RGBi__Space_a9eb77a74b33dd6c61f821ad9e1f5d00d}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!R\-G\-Bi\-\_\-\-Space@{R\-G\-Bi\-\_\-\-Space}}
+\index{R\-G\-Bi\-\_\-\-Space@{R\-G\-Bi\-\_\-\-Space}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{R\-G\-Bi\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bi\-\_\-\-Space\-::\-R\-G\-Bi\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a9eb77a74b33dd6c61f821ad9e1f5d00d}
+\hypertarget{classmeow_1_1RGBi__Space_a6a339fd5415d2c84c829c2dec1ab6710}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!R\-G\-Bi\-\_\-\-Space@{R\-G\-Bi\-\_\-\-Space}}
+\index{R\-G\-Bi\-\_\-\-Space@{R\-G\-Bi\-\_\-\-Space}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{R\-G\-Bi\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bi\-\_\-\-Space\-::\-R\-G\-Bi\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a6a339fd5415d2c84c829c2dec1ab6710}
+\hypertarget{classmeow_1_1RGBi__Space_a15514adce8ed62b5fa196031d0f821cb}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!R\-G\-Bi\-\_\-\-Space@{R\-G\-Bi\-\_\-\-Space}}
+\index{R\-G\-Bi\-\_\-\-Space@{R\-G\-Bi\-\_\-\-Space}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{R\-G\-Bi\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bi\-\_\-\-Space\-::\-R\-G\-Bi\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf int} $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a15514adce8ed62b5fa196031d0f821cb}
+\hypertarget{classmeow_1_1RGBi__Space_a338d7a18013b78132b4dd534bbef7406}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!R\-G\-Bi\-\_\-\-Space@{R\-G\-Bi\-\_\-\-Space}}
+\index{R\-G\-Bi\-\_\-\-Space@{R\-G\-Bi\-\_\-\-Space}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{R\-G\-Bi\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bi\-\_\-\-Space\-::\-R\-G\-Bi\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bi\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a338d7a18013b78132b4dd534bbef7406}
+\hypertarget{classmeow_1_1RGBi__Space_ab286b1713dc25fe5e3e560df56a28792}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!$\sim$\-R\-G\-Bi\-\_\-\-Space@{$\sim$\-R\-G\-Bi\-\_\-\-Space}}
+\index{$\sim$\-R\-G\-Bi\-\_\-\-Space@{$\sim$\-R\-G\-Bi\-\_\-\-Space}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{$\sim$\-R\-G\-Bi\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-R\-G\-Bi\-\_\-\-Space\-::$\sim$\-R\-G\-Bi\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_ab286b1713dc25fe5e3e560df56a28792}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1RGBi__Space_a8a8779fb88ac2f2a97b00f3764035483}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!b@{b}}
+\index{b@{b}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{b}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::b (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a8a8779fb88ac2f2a97b00f3764035483}
+\hypertarget{classmeow_1_1RGBi__Space_ad1fa67b3646315b7a4fbcf225663e019}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!b@{b}}
+\index{b@{b}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{b}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::b (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_ad1fa67b3646315b7a4fbcf225663e019}
+\hypertarget{classmeow_1_1RGBi__Space_ad9160364e918eaa52e0573c30f4f26e7}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!b\-Get@{b\-Get}}
+\index{b\-Get@{b\-Get}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{b\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int}\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::b\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_ad9160364e918eaa52e0573c30f4f26e7}
+\hypertarget{classmeow_1_1RGBi__Space_a2ce95550fd5c89fc71f0715fc8ac573b}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!b\-Max@{b\-Max}}
+\index{b\-Max@{b\-Max}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{b\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::b\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a2ce95550fd5c89fc71f0715fc8ac573b}
+\hypertarget{classmeow_1_1RGBi__Space_a612c6b94ae15541855dcd9dd15056ff8}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!b\-Min@{b\-Min}}
+\index{b\-Min@{b\-Min}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{b\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::b\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a612c6b94ae15541855dcd9dd15056ff8}
+\hypertarget{classmeow_1_1RGBi__Space_a5593b70032b2d51d4cf5643041fc97c6}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!g@{g}}
+\index{g@{g}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{g}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::g (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a5593b70032b2d51d4cf5643041fc97c6}
+\hypertarget{classmeow_1_1RGBi__Space_a4e11d1c769ed496cccb9731a0fb68af4}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!g@{g}}
+\index{g@{g}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{g}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::g (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a4e11d1c769ed496cccb9731a0fb68af4}
+\hypertarget{classmeow_1_1RGBi__Space_ae929cfad169be9724e8d38d967a8ac33}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!g\-Get@{g\-Get}}
+\index{g\-Get@{g\-Get}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{g\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int}\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::g\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_ae929cfad169be9724e8d38d967a8ac33}
+\hypertarget{classmeow_1_1RGBi__Space_a4b3d58a5a52f1ebee9e7477a9f0bd291}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!g\-Max@{g\-Max}}
+\index{g\-Max@{g\-Max}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{g\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::g\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a4b3d58a5a52f1ebee9e7477a9f0bd291}
+\hypertarget{classmeow_1_1RGBi__Space_aa56cd3fabe6e32ede7f7761836dd7253}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!g\-Min@{g\-Min}}
+\index{g\-Min@{g\-Min}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{g\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::g\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_aa56cd3fabe6e32ede7f7761836dd7253}
+\hypertarget{classmeow_1_1RGBi__Space_a2ba8e23aa5745341540c72dc4f040990}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bi\-\_\-\-Space} meow\-::\-R\-G\-Bi\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a2ba8e23aa5745341540c72dc4f040990}
+\hypertarget{classmeow_1_1RGBi__Space_a71795b3157bae2b877635b43abd145e9}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} meow\-::\-R\-G\-Bi\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bi\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a71795b3157bae2b877635b43abd145e9}
+\hypertarget{classmeow_1_1RGBi__Space_a68b6bd8c7c44f4cfcdaa89d42c0ad411}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bi\-\_\-\-Space} meow\-::\-R\-G\-Bi\-\_\-\-Space\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bi\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a68b6bd8c7c44f4cfcdaa89d42c0ad411}
+\hypertarget{classmeow_1_1RGBi__Space_a7aeab58894418a920b77c592990bd1ab}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bi\-\_\-\-Space} meow\-::\-R\-G\-Bi\-\_\-\-Space\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bi\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a7aeab58894418a920b77c592990bd1ab}
+\hypertarget{classmeow_1_1RGBi__Space_a618ccc99b535547833004fc8d83b14ee}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bi\-\_\-\-Space} meow\-::\-R\-G\-Bi\-\_\-\-Space\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a618ccc99b535547833004fc8d83b14ee}
+\hypertarget{classmeow_1_1RGBi__Space_a6b4567461811d8f877b0234ca6662a76}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\-G\-Bi\-\_\-\-Space}\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf R\-G\-Bi\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a6b4567461811d8f877b0234ca6662a76}
+\hypertarget{classmeow_1_1RGBi__Space_a6920d22a9b808f0f2884bd791f8f568a}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!r@{r}}
+\index{r@{r}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{r}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::r (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a6920d22a9b808f0f2884bd791f8f568a}
+\hypertarget{classmeow_1_1RGBi__Space_a0eff4d5a02a91c3407740024d0061d02}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!r@{r}}
+\index{r@{r}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{r}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::r (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a0eff4d5a02a91c3407740024d0061d02}
+\hypertarget{classmeow_1_1RGBi__Space_ab07979f6a7b9f6a45b75a6393ee6c385}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!rgb@{rgb}}
+\index{rgb@{rgb}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{rgb}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::rgb (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_ab07979f6a7b9f6a45b75a6393ee6c385}
+\hypertarget{classmeow_1_1RGBi__Space_a0410f516652c05e244ba222bcefc0283}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!rgb@{rgb}}
+\index{rgb@{rgb}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{rgb}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::rgb (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{{\bf int}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a0410f516652c05e244ba222bcefc0283}
+\hypertarget{classmeow_1_1RGBi__Space_a3e04f724a45ca6e5cabbc57c9d1332b1}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!rgb\-Get@{rgb\-Get}}
+\index{rgb\-Get@{rgb\-Get}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{rgb\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int}\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::rgb\-Get (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a3e04f724a45ca6e5cabbc57c9d1332b1}
+\hypertarget{classmeow_1_1RGBi__Space_a40f228f22ec8c35947a61d51a0e4c1fd}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!rgb\-Max@{rgb\-Max}}
+\index{rgb\-Max@{rgb\-Max}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{rgb\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::rgb\-Max (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a40f228f22ec8c35947a61d51a0e4c1fd}
+\hypertarget{classmeow_1_1RGBi__Space_abcf954ac596df3967581c533670a3339}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!rgb\-Min@{rgb\-Min}}
+\index{rgb\-Min@{rgb\-Min}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{rgb\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::rgb\-Min (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_abcf954ac596df3967581c533670a3339}
+\hypertarget{classmeow_1_1RGBi__Space_a76b540bdf49bc8912c5f62aa875b1906}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!r\-Get@{r\-Get}}
+\index{r\-Get@{r\-Get}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{r\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int}\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::r\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a76b540bdf49bc8912c5f62aa875b1906}
+\hypertarget{classmeow_1_1RGBi__Space_a93000ad239423bb98dda22c8d48bc614}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!r\-Max@{r\-Max}}
+\index{r\-Max@{r\-Max}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{r\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::r\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_a93000ad239423bb98dda22c8d48bc614}
+\hypertarget{classmeow_1_1RGBi__Space_acf9aab095784c66dc9b3969602f84384}{\index{meow\-::\-R\-G\-Bi\-\_\-\-Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}!r\-Min@{r\-Min}}
+\index{r\-Min@{r\-Min}!meow::RGBi_Space@{meow\-::\-R\-G\-Bi\-\_\-\-Space}}
+\subsubsection[{r\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf int} const\& meow\-::\-R\-G\-Bi\-\_\-\-Space\-::r\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1RGBi__Space_acf9aab095784c66dc9b3969602f84384}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/colors/\hyperlink{RGB__Space_8h}{R\-G\-B\-\_\-\-Space.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ReaderWriter__double.tex b/doc/latex/classmeow_1_1ReaderWriter__double.tex
new file mode 100644
index 0000000..4c9d29f
--- /dev/null
+++ b/doc/latex/classmeow_1_1ReaderWriter__double.tex
@@ -0,0 +1,42 @@
+\hypertarget{classmeow_1_1ReaderWriter__double}{\section{meow\-:\-:Reader\-Writer\-\_\-double Class Reference}
+\label{classmeow_1_1ReaderWriter__double}\index{meow\-::\-Reader\-Writer\-\_\-double@{meow\-::\-Reader\-Writer\-\_\-double}}
+}
+
+
+{\ttfamily \#include \char`\"{}Obj\-Types.\-h\char`\"{}}
+
+\subsection*{Static Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+static bool \hyperlink{classmeow_1_1ReaderWriter__double_afff0af84fcf29769feeac0544cb8f81b}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg, \hyperlink{classdouble}{double} const \&k)
+\item
+static bool \hyperlink{classmeow_1_1ReaderWriter__double_a951e079f66e01d81f1492ae1da963d8e}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg, \hyperlink{classdouble}{double} $\ast$k)
+\end{DoxyCompactItemize}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ReaderWriter__double_a951e079f66e01d81f1492ae1da963d8e}{\index{meow\-::\-Reader\-Writer\-\_\-double@{meow\-::\-Reader\-Writer\-\_\-double}!read@{read}}
+\index{read@{read}!meow::ReaderWriter_double@{meow\-::\-Reader\-Writer\-\_\-double}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}static bool meow\-::\-Reader\-Writer\-\_\-double\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg, }
+\item[{{\bf double} $\ast$}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ReaderWriter__double_a951e079f66e01d81f1492ae1da963d8e}
+\hypertarget{classmeow_1_1ReaderWriter__double_afff0af84fcf29769feeac0544cb8f81b}{\index{meow\-::\-Reader\-Writer\-\_\-double@{meow\-::\-Reader\-Writer\-\_\-double}!write@{write}}
+\index{write@{write}!meow::ReaderWriter_double@{meow\-::\-Reader\-Writer\-\_\-double}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}static bool meow\-::\-Reader\-Writer\-\_\-double\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg, }
+\item[{{\bf double} const \&}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ReaderWriter__double_afff0af84fcf29769feeac0544cb8f81b}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjTypes_8h}{Obj\-Types.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ReaderWriter__int.tex b/doc/latex/classmeow_1_1ReaderWriter__int.tex
new file mode 100644
index 0000000..cb53db9
--- /dev/null
+++ b/doc/latex/classmeow_1_1ReaderWriter__int.tex
@@ -0,0 +1,42 @@
+\hypertarget{classmeow_1_1ReaderWriter__int}{\section{meow\-:\-:Reader\-Writer\-\_\-int Class Reference}
+\label{classmeow_1_1ReaderWriter__int}\index{meow\-::\-Reader\-Writer\-\_\-int@{meow\-::\-Reader\-Writer\-\_\-int}}
+}
+
+
+{\ttfamily \#include \char`\"{}Obj\-Types.\-h\char`\"{}}
+
+\subsection*{Static Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+static bool \hyperlink{classmeow_1_1ReaderWriter__int_a91ca44a047318a75887b13d5e45d52fb}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg, \hyperlink{classint}{int} const \&k)
+\item
+static bool \hyperlink{classmeow_1_1ReaderWriter__int_a04e4b5a8285e372706faa5a45983fb9d}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg, \hyperlink{classint}{int} $\ast$k)
+\end{DoxyCompactItemize}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ReaderWriter__int_a04e4b5a8285e372706faa5a45983fb9d}{\index{meow\-::\-Reader\-Writer\-\_\-int@{meow\-::\-Reader\-Writer\-\_\-int}!read@{read}}
+\index{read@{read}!meow::ReaderWriter_int@{meow\-::\-Reader\-Writer\-\_\-int}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}static bool meow\-::\-Reader\-Writer\-\_\-int\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg, }
+\item[{{\bf int} $\ast$}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ReaderWriter__int_a04e4b5a8285e372706faa5a45983fb9d}
+\hypertarget{classmeow_1_1ReaderWriter__int_a91ca44a047318a75887b13d5e45d52fb}{\index{meow\-::\-Reader\-Writer\-\_\-int@{meow\-::\-Reader\-Writer\-\_\-int}!write@{write}}
+\index{write@{write}!meow::ReaderWriter_int@{meow\-::\-Reader\-Writer\-\_\-int}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}static bool meow\-::\-Reader\-Writer\-\_\-int\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg, }
+\item[{{\bf int} const \&}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ReaderWriter__int_a91ca44a047318a75887b13d5e45d52fb}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjTypes_8h}{Obj\-Types.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ReaderWriter__size__t.tex b/doc/latex/classmeow_1_1ReaderWriter__size__t.tex
new file mode 100644
index 0000000..0fa0399
--- /dev/null
+++ b/doc/latex/classmeow_1_1ReaderWriter__size__t.tex
@@ -0,0 +1,42 @@
+\hypertarget{classmeow_1_1ReaderWriter__size__t}{\section{meow\-:\-:Reader\-Writer\-\_\-size\-\_\-t Class Reference}
+\label{classmeow_1_1ReaderWriter__size__t}\index{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t@{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t}}
+}
+
+
+{\ttfamily \#include \char`\"{}Obj\-Types.\-h\char`\"{}}
+
+\subsection*{Static Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+static bool \hyperlink{classmeow_1_1ReaderWriter__size__t_ab616eb075979f72e989a984177dfdb58}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg, size\-\_\-t const \&k)
+\item
+static bool \hyperlink{classmeow_1_1ReaderWriter__size__t_a4bf82797fa84b557895c204c8c94c936}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg, size\-\_\-t $\ast$k)
+\end{DoxyCompactItemize}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ReaderWriter__size__t_a4bf82797fa84b557895c204c8c94c936}{\index{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t@{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t}!read@{read}}
+\index{read@{read}!meow::ReaderWriter_size_t@{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}static bool meow\-::\-Reader\-Writer\-\_\-size\-\_\-t\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg, }
+\item[{size\-\_\-t $\ast$}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ReaderWriter__size__t_a4bf82797fa84b557895c204c8c94c936}
+\hypertarget{classmeow_1_1ReaderWriter__size__t_ab616eb075979f72e989a984177dfdb58}{\index{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t@{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t}!write@{write}}
+\index{write@{write}!meow::ReaderWriter_size_t@{meow\-::\-Reader\-Writer\-\_\-size\-\_\-t}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}static bool meow\-::\-Reader\-Writer\-\_\-size\-\_\-t\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg, }
+\item[{size\-\_\-t const \&}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ReaderWriter__size__t_ab616eb075979f72e989a984177dfdb58}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjTypes_8h}{Obj\-Types.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ReaderWriter__string.tex b/doc/latex/classmeow_1_1ReaderWriter__string.tex
new file mode 100644
index 0000000..3c877a4
--- /dev/null
+++ b/doc/latex/classmeow_1_1ReaderWriter__string.tex
@@ -0,0 +1,42 @@
+\hypertarget{classmeow_1_1ReaderWriter__string}{\section{meow\-:\-:Reader\-Writer\-\_\-string Class Reference}
+\label{classmeow_1_1ReaderWriter__string}\index{meow\-::\-Reader\-Writer\-\_\-string@{meow\-::\-Reader\-Writer\-\_\-string}}
+}
+
+
+{\ttfamily \#include \char`\"{}Obj\-Types.\-h\char`\"{}}
+
+\subsection*{Static Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+static bool \hyperlink{classmeow_1_1ReaderWriter__string_ac4fe1d4fbaf69b48c36fe2d404c214c5}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg, std\-::string const \&k)
+\item
+static bool \hyperlink{classmeow_1_1ReaderWriter__string_adf69dad74e4998323580e6913598c894}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg, std\-::string $\ast$k)
+\end{DoxyCompactItemize}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1ReaderWriter__string_adf69dad74e4998323580e6913598c894}{\index{meow\-::\-Reader\-Writer\-\_\-string@{meow\-::\-Reader\-Writer\-\_\-string}!read@{read}}
+\index{read@{read}!meow::ReaderWriter_string@{meow\-::\-Reader\-Writer\-\_\-string}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}static bool meow\-::\-Reader\-Writer\-\_\-string\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg, }
+\item[{std\-::string $\ast$}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ReaderWriter__string_adf69dad74e4998323580e6913598c894}
+\hypertarget{classmeow_1_1ReaderWriter__string_ac4fe1d4fbaf69b48c36fe2d404c214c5}{\index{meow\-::\-Reader\-Writer\-\_\-string@{meow\-::\-Reader\-Writer\-\_\-string}!write@{write}}
+\index{write@{write}!meow::ReaderWriter_string@{meow\-::\-Reader\-Writer\-\_\-string}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}static bool meow\-::\-Reader\-Writer\-\_\-string\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg, }
+\item[{std\-::string const \&}]{k}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classmeow_1_1ReaderWriter__string_ac4fe1d4fbaf69b48c36fe2d404c214c5}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/oo/\hyperlink{ObjTypes_8h}{Obj\-Types.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Rotation3D.eps b/doc/latex/classmeow_1_1Rotation3D.eps
new file mode 100644
index 0000000..6e19b7c
--- /dev/null
+++ b/doc/latex/classmeow_1_1Rotation3D.eps
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 251.046025
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.991667 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::Rotation3D< Scalar >) cw
+(meow::LinearTransformation< Scalar >) cw
+(meow::Transformation< Scalar >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::Rotation3D< Scalar >) 0.000000 0.000000 box
+ (meow::LinearTransformation< Scalar >) 0.000000 1.000000 box
+ (meow::Transformation< Scalar >) 0.000000 2.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
+solid
+0 0.000000 1.000000 out
+solid
+1 0.000000 2.000000 in
diff --git a/doc/latex/classmeow_1_1Rotation3D.pdf b/doc/latex/classmeow_1_1Rotation3D.pdf
new file mode 100644
index 0000000..e1577e2
--- /dev/null
+++ b/doc/latex/classmeow_1_1Rotation3D.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1Rotation3D.tex b/doc/latex/classmeow_1_1Rotation3D.tex
new file mode 100644
index 0000000..01db639
--- /dev/null
+++ b/doc/latex/classmeow_1_1Rotation3D.tex
@@ -0,0 +1,446 @@
+\hypertarget{classmeow_1_1Rotation3D}{\section{meow\-:\-:Rotation3\-D$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1Rotation3D}\index{meow\-::\-Rotation3\-D$<$ Scalar $>$@{meow\-::\-Rotation3\-D$<$ Scalar $>$}}
+}
+
+
+Rotation a point/vector alone an axis with given angle in 3\-D world.
+
+
+
+
+{\ttfamily \#include \char`\"{}Linear\-Transformations.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Rotation3\-D$<$ Scalar $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3.000000cm]{classmeow_1_1Rotation3D}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Rotation3D_a90c102c7f74e8a36ac0d24bef6b06337}{Rotation3\-D} ()
+\item
+\hyperlink{classmeow_1_1Rotation3D_ab566bace2339705305d7e18c36116d2a}{Rotation3\-D} (\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} const \&b)
+\item
+\hyperlink{classmeow_1_1Rotation3D_aa9ce2a9c913ea08ba7fb43aed4784a2b}{$\sim$\-Rotation3\-D} ()
+\item
+\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} \& \hyperlink{classmeow_1_1Rotation3D_a8ce437d591d81cc81be959d6f27e71c9}{copy\-From} (\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} const \&b)
+\begin{DoxyCompactList}\small\item\em Copy data. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} \& \hyperlink{classmeow_1_1Rotation3D_ac2919c38518ea677a85df8757bd8f0d9}{reference\-From} (\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} const \&b)
+\begin{DoxyCompactList}\small\item\em Reference data. \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Rotation3D_ac6488df50303b564262065350186549a}{parameter} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily theta(i)} \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Rotation3D_a0a7c3b7f605caf7bc54f80b25b317972}{parameter} (size\-\_\-t i, Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily theta(i, s)} \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Rotation3D_aeceaa78749d4bd9f5d638591298073dd}{theta} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Get the {\ttfamily i} -\/th theta. \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Rotation3D_a77a863b230bcacdfaf5a534f17268170}{theta} (size\-\_\-t i, Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em Set the {\ttfamily i} -\/th theta. \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Rotation3D_a757a196f261a28693061c5e16be97ab6}{axis\-Angle} (\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&axis, Scalar const \&angle)
+\begin{DoxyCompactList}\small\item\em Setting. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} \& \hyperlink{classmeow_1_1Rotation3D_a29ca99627654b9d136c12f6e0e2c91c5}{add} (\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} const \&r)
+\begin{DoxyCompactList}\small\item\em Concat another rotation transformation. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}{transformate} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Do the transformate. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Rotation3D_a4846e5870c41f3694678d8acf032b8df}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix (derivate by the input vector) of this transformate. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Rotation3D_a201c56debd6cc0f4e75cb06148197726}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x, size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix of this transformate. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Rotation3D_aa872f44ce5b53faadddc9493697cfe13}{transformate\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Do the inverse transformate. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Rotation3D_ae12a31cabc1260bd7256734f0e04acfb}{jacobian\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix of the inverse form of this transformate. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Rotation3D_af2a38c66668f6dcc11005e8f42b81f2f}{jacobian\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x, size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix of the inverse form of this transformate. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Rotation3D_a513851c5d53274b76fd9511ba1aea484}{matrix\-Inv} () const
+\begin{DoxyCompactList}\small\item\em Return the inverse matrix. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} \& \hyperlink{classmeow_1_1Rotation3D_a3e0095d1f506d6f11c434d55e454aca6}{operator=} (\hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} const \&b)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(b)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Rotation3\-D$<$ Scalar $>$}
+
+Rotation a point/vector alone an axis with given angle in 3\-D world.
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Rotation3D_a90c102c7f74e8a36ac0d24bef6b06337}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!Rotation3\-D@{Rotation3\-D}}
+\index{Rotation3\-D@{Rotation3\-D}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{Rotation3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::{\bf Rotation3\-D} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_a90c102c7f74e8a36ac0d24bef6b06337}
+Constructor with no rotation \hypertarget{classmeow_1_1Rotation3D_ab566bace2339705305d7e18c36116d2a}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!Rotation3\-D@{Rotation3\-D}}
+\index{Rotation3\-D@{Rotation3\-D}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{Rotation3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::{\bf Rotation3\-D} (
+\begin{DoxyParamCaption}
+\item[{{\bf Rotation3\-D}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_ab566bace2339705305d7e18c36116d2a}
+Constructor and copy data \hypertarget{classmeow_1_1Rotation3D_aa9ce2a9c913ea08ba7fb43aed4784a2b}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!$\sim$\-Rotation3\-D@{$\sim$\-Rotation3\-D}}
+\index{$\sim$\-Rotation3\-D@{$\sim$\-Rotation3\-D}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{$\sim$\-Rotation3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::$\sim${\bf Rotation3\-D} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_aa9ce2a9c913ea08ba7fb43aed4784a2b}
+Destructor
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Rotation3D_a29ca99627654b9d136c12f6e0e2c91c5}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!add@{add}}
+\index{add@{add}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Rotation3\-D}\& {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{{\bf Rotation3\-D}$<$ Scalar $>$ const \&}]{r}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_a29ca99627654b9d136c12f6e0e2c91c5}
+
+
+Concat another rotation transformation.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em r} & another rotation transformation \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Rotation3D_a757a196f261a28693061c5e16be97ab6}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!axis\-Angle@{axis\-Angle}}
+\index{axis\-Angle@{axis\-Angle}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{axis\-Angle}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ void {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::axis\-Angle (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{axis, }
+\item[{Scalar const \&}]{angle}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_a757a196f261a28693061c5e16be97ab6}
+
+
+Setting.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em axis} & axis \\
+\hline
+\mbox{\tt in} & {\em angle} & angle \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Rotation3D_a8ce437d591d81cc81be959d6f27e71c9}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Rotation3\-D}\& {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Rotation3\-D}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_a8ce437d591d81cc81be959d6f27e71c9}
+
+
+Copy data.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & another \hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} class. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Rotation3D_a4846e5870c41f3694678d8acf032b8df}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_a4846e5870c41f3694678d8acf032b8df}
+
+
+Return the jacobian matrix (derivate by the input vector) of this transformate.
+
+The matrix we return is\-: \[ \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \] Where the definition of $ \vec{n} $ and $ \phi $ is the same as the definition in the description of the method {\bfseries \hyperlink{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}{transformate()}} .
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & the input vector (in this case it is a useless parameter) \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a matrix
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Rotation3D_a201c56debd6cc0f4e75cb06148197726}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_a201c56debd6cc0f4e75cb06148197726}
+
+
+Return the jacobian matrix of this transformate.
+
+Here we need to discussion in three case\-:
+\begin{DoxyItemize}
+\item {\itshape i} = 0, derivate by the x axis of the vector theta \[ \left[ \begin{array}{ccc} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \\ \end{array} \right] \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ \end{array} \right] \]
+\item {\itshape i} = 1, derivate by the y axis of the vector theta \[ \left[ \begin{array}{ccc} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \\ \end{array} \right] \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ \end{array} \right] \]
+\item {\itshape i} = 2, derivate by the z axis of the vector theta \[ \left[ \begin{array}{ccc} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \\ \end{array} \right] \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ \end{array} \right] \]
+\end{DoxyItemize}Where $ (x,y,z) $ is the input vector, $ \vec{n}, \phi $ is the same one in the description of {\bfseries \hyperlink{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}{transformate()}}.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & the input vector \\
+\hline
+\mbox{\tt in} & {\em i} & the index of the parameters(theta) to dervite \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a matrix
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Rotation3D_ae12a31cabc1260bd7256734f0e04acfb}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!jacobian\-Inv@{jacobian\-Inv}}
+\index{jacobian\-Inv@{jacobian\-Inv}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{jacobian\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::jacobian\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_ae12a31cabc1260bd7256734f0e04acfb}
+
+
+Return the jacobian matrix of the inverse form of this transformate.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & the input vector \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a matrix
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_a0186764bb80869bd80b81efb5bb1ee95}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Rotation3D_af2a38c66668f6dcc11005e8f42b81f2f}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!jacobian\-Inv@{jacobian\-Inv}}
+\index{jacobian\-Inv@{jacobian\-Inv}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{jacobian\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::jacobian\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_af2a38c66668f6dcc11005e8f42b81f2f}
+
+
+Return the jacobian matrix of the inverse form of this transformate.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & the input vector \\
+\hline
+\mbox{\tt in} & {\em i} & the index of the parameters(theta) to dervite \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a matrix
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_a4e7e3b24d0879eddc53951dfb357db0b}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Rotation3D_a513851c5d53274b76fd9511ba1aea484}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!matrix\-Inv@{matrix\-Inv}}
+\index{matrix\-Inv@{matrix\-Inv}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{matrix\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::matrix\-Inv (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_a513851c5d53274b76fd9511ba1aea484}
+
+
+Return the inverse matrix.
+
+In this case, the inverse matrix is equal to the transpose of the matrix
+
+\begin{DoxyReturn}{Returns}
+a matrix
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1LinearTransformation_a60ead2898f321c5d77d099e1dc3e103c}{meow\-::\-Linear\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Rotation3D_a3e0095d1f506d6f11c434d55e454aca6}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Rotation3\-D}\& {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Rotation3\-D}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_a3e0095d1f506d6f11c434d55e454aca6}
+
+
+same as {\ttfamily copy\-From(b)}
+
+\hypertarget{classmeow_1_1Rotation3D_ac6488df50303b564262065350186549a}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_ac6488df50303b564262065350186549a}
+
+
+same as {\ttfamily theta(i)}
+
+
+
+Implements \hyperlink{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Rotation3D_a0a7c3b7f605caf7bc54f80b25b317972}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_a0a7c3b7f605caf7bc54f80b25b317972}
+
+
+same as {\ttfamily theta(i, s)}
+
+
+
+Implements \hyperlink{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Rotation3D_ac2919c38518ea677a85df8757bd8f0d9}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Rotation3\-D}\& {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Rotation3\-D}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_ac2919c38518ea677a85df8757bd8f0d9}
+
+
+Reference data.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & another \hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D} class. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Rotation3D_aeceaa78749d4bd9f5d638591298073dd}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!theta@{theta}}
+\index{theta@{theta}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{theta}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::theta (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_aeceaa78749d4bd9f5d638591298073dd}
+
+
+Get the {\ttfamily i} -\/th theta.
+
+{\ttfamily i} can only be 1, 2 or 3
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em i} & index \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily i} -\/th theta
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Rotation3D_a77a863b230bcacdfaf5a534f17268170}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!theta@{theta}}
+\index{theta@{theta}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{theta}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::theta (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Rotation3D_a77a863b230bcacdfaf5a534f17268170}
+
+
+Set the {\ttfamily i} -\/th theta.
+
+{\ttfamily i} can only be 1, 2 or 3
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em i} & index \\
+\hline
+\mbox{\tt in} & {\em s} & new theta value \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily i} -\/th theta
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!transformate@{transformate}}
+\index{transformate@{transformate}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{transformate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::transformate (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}
+
+
+Do the transformate.
+
+Assume\-:
+\begin{DoxyItemize}
+\item The input vector is $ (x ,y ,z ) $
+\item The output vector is $ (x',y',z') $
+\item The parameters theta is $ \vec{\theta}=(\theta_x,\theta_y,\theta_z) $
+\end{DoxyItemize}Then we have\-: \[ \left[ \begin{array}{c} x' \\ y' \\ z' \\ \end{array} \right] = \left[ \begin{array}{ccc} 2(n_x^2 - 1) \sin^2\phi + 1 & 2n_x n_y \sin^2\phi - 2n_z\cos \phi\sin \phi & 2n_x n_z \sin^2\phi + 2n_y\cos \phi\sin \phi \\ 2n_y n_x \sin^2\phi + 2n_z\cos \phi\sin \phi & 2(n_y^2 - 1) \sin^2\phi + 1 & 2n_y n_z \sin^2\phi - 2n_x\cos \phi\sin \phi \\ 2n_z n_x \sin^2\phi - 2n_y\cos \phi\sin \phi & 2n_z n_y \sin^2\phi + 2n_x\cos \phi\sin \phi & 2(n_z^2 - 1) \sin^2\phi + 1 \\ \end{array} \right] \left[ \begin{array}{c} x \\ y \\ z \\ \end{array} \right] \] Where\-:
+\begin{DoxyItemize}
+\item $ \phi $ is the helf of length of $ \vec{\theta} $ , which means $ \phi = \frac{\left|\vec{\theta}\right|}{2} = \frac{1}{2}\sqrt{\theta_x^2 + \theta_y^2 + \theta_z^2} $
+\item $ \vec{n} $ is the normalized form of $ \vec{\theta} $ , which means $ \vec{n} = (n_x,n_y,n_z) = \vec{\theta} / 2\phi $
+\end{DoxyItemize}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & the input vector \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the output matrix
+\end{DoxyReturn}
+
+
+Implements \hyperlink{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Rotation3D_aa872f44ce5b53faadddc9493697cfe13}{\index{meow\-::\-Rotation3\-D@{meow\-::\-Rotation3\-D}!transformate\-Inv@{transformate\-Inv}}
+\index{transformate\-Inv@{transformate\-Inv}!meow::Rotation3D@{meow\-::\-Rotation3\-D}}
+\subsubsection[{transformate\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Rotation3\-D}$<$ Scalar $>$\-::transformate\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Rotation3D_aa872f44ce5b53faadddc9493697cfe13}
+
+
+Do the inverse transformate.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & the input vector \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the output vector
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1Transformation_aa9a476c677e7efc805c0fbdccfb48b38}{meow\-::\-Transformation$<$ Scalar $>$}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/math/\hyperlink{LinearTransformations_8h}{Linear\-Transformations.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1SegmentTree.tex b/doc/latex/classmeow_1_1SegmentTree.tex
new file mode 100644
index 0000000..58e8017
--- /dev/null
+++ b/doc/latex/classmeow_1_1SegmentTree.tex
@@ -0,0 +1,205 @@
+\hypertarget{classmeow_1_1SegmentTree}{\section{meow\-:\-:Segment\-Tree$<$ Value $>$ Class Template Reference}
+\label{classmeow_1_1SegmentTree}\index{meow\-::\-Segment\-Tree$<$ Value $>$@{meow\-::\-Segment\-Tree$<$ Value $>$}}
+}
+
+
+中文名 {\ttfamily 線段樹}
+
+
+
+
+{\ttfamily \#include \char`\"{}Segment\-Tree.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1SegmentTree_a8e8365f0440c68f3c0853b94a7de3ccb}{Segment\-Tree} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SegmentTree_a1fe904372d3cdd01f07a1c88f86b14a1}{Segment\-Tree} (size\-\_\-t \hyperlink{classmeow_1_1SegmentTree_a8985a196cfb954bc469e7dae146ad4ed}{size})
+\begin{DoxyCompactList}\small\item\em constructor, with {\ttfamily size} gived \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SegmentTree_a12a47cdf24eacb80d0bad4010f6a2953}{Segment\-Tree} (\hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree} const \&tree2)
+\begin{DoxyCompactList}\small\item\em constructor, 並且複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree} \hyperlink{classmeow_1_1SegmentTree_a889f38048ffe08ce3c80911878faac44}{copy\-From} (\hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree} const \&b)
+\begin{DoxyCompactList}\small\item\em 複製 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1SegmentTree_a8985a196cfb954bc469e7dae146ad4ed}{size} () const
+\begin{DoxyCompactList}\small\item\em 回傳size \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SegmentTree_a80c550b0a3b997bc541ae0947ae2f55d}{reset} (size\-\_\-t \hyperlink{classmeow_1_1SegmentTree_a8985a196cfb954bc469e7dae146ad4ed}{size})
+\begin{DoxyCompactList}\small\item\em 將資料清空且設定維護範圍是 {\ttfamily 0$\sim$size-\/1} \end{DoxyCompactList}\item
+Value \hyperlink{classmeow_1_1SegmentTree_a18bb3667abd9810ce3534af3d70b14d5}{query} (ssize\-\_\-t first, ssize\-\_\-t last) const
+\begin{DoxyCompactList}\small\item\em 回傳區間 {\ttfamily }\mbox{[}first,last\mbox{]} (邊界都含) 的區間值 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SegmentTree_a2f300a5fd5ffdd19e4b3efc6899a7439}{override} (ssize\-\_\-t first, ssize\-\_\-t last, Value const \&value)
+\begin{DoxyCompactList}\small\item\em 將區間 {\ttfamily }\mbox{[}first,last\mbox{]} 全部都設定成 {\ttfamily value} \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SegmentTree_aaeca3de355dc367e2664e83800ee6aa5}{offset} (ssize\-\_\-t first, ssize\-\_\-t last, Value const \&delta)
+\begin{DoxyCompactList}\small\item\em 將區間 {\ttfamily }\mbox{[}first,last\mbox{]} 全部都加上 {\ttfamily delta} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree} \& \hyperlink{classmeow_1_1SegmentTree_a765e794af604ab7c20a4245dfafcf14c}{operator=} (\hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree} const \&b)
+\begin{DoxyCompactList}\small\item\em same as copy\-From(b) \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Value$>$class meow\-::\-Segment\-Tree$<$ Value $>$}
+
+中文名 {\ttfamily 線段樹}
+
+維護一個陣列, 並且讓user可以有區間查詢, 區間修改的小東東
+
+\subsubsection*{Template Class Operators Request}
+
+\begin{TabularC}{6}
+\hline
+\rowcolor{lightgray}\PBS\raggedleft {\bf const?}&\PBS\centering {\bf Typename}&\PBS\raggedleft {\bf Operator }&{\bf Parameters }&\PBS\centering {\bf Return Type }&{\bf Description }\\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering \hyperlink{classmeow_1_1Vector}{Vector} &\PBS\raggedleft operator\mbox{[}\mbox{]} &(size\-\_\-t {\ttfamily n}) &\PBS\centering Scalar &取得第 {\ttfamily n} 維度量 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering \hyperlink{classmeow_1_1Vector}{Vector} &\PBS\raggedleft operator$<$ &(\hyperlink{classmeow_1_1Vector}{Vector} {\ttfamily v}) &\PBS\centering bool &權重比較 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar &\PBS\raggedleft operator$\ast$ &(Scalar {\ttfamily s}) &\PBS\centering Scalar &相乘 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar &\PBS\raggedleft operator+ &(Scalar {\ttfamily s}) &\PBS\centering Scalar &相加 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar &\PBS\raggedleft operator-\/ &(Scalar {\ttfamily s}) &\PBS\centering Scalar &相差 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar &\PBS\raggedleft operator$<$ &(Scalar {\ttfamily s}) &\PBS\centering bool &大小比較 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Value &\PBS\raggedleft operator+ &(Value {\ttfamily v}) &\PBS\centering Value &相加(位移) \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Value &\PBS\raggedleft operator$\ast$ &(size\-\_\-t {\ttfamily n}) &\PBS\centering Value &每個\-Value都一樣, \\\cline{1-6}
+\end{TabularC}
+長為 {\ttfamily n} 的區間的值$|$ $|$const $|$\-Value $|$operator\{b\}$|$(Value {\ttfamily v}) $|$\-Value $|$ 區間合併後的值 $|$
+
+
+\begin{DoxyItemize}
+\item 若要維護區間最小值, 即每次都是詢問範圍 {\ttfamily \mbox{[}a, b\mbox{]}} 的最小值, 則可以定義
+\begin{DoxyItemize}
+\item {\ttfamily operator+} 為 '回傳相加值'
+\item {\ttfamily operator$\ast$} 為 '回傳$\ast$this'
+\item {\ttfamily operator$|$} 為 '回傳std\-::min($\ast$this, v)'
+\end{DoxyItemize}
+\item 若要維護區間最總和, 即每次都是詢問範圍 {\ttfamily \mbox{[}a, b\mbox{]}} 的總和, 則可以定義
+\begin{DoxyItemize}
+\item {\ttfamily operator+} 為 '回傳相加值'
+\item {\ttfamily operator$\ast$} 為 '回傳($\ast$this) $\ast$ n'
+\item {\ttfamily operator$|$} 為 '回傳相加值'
+\end{DoxyItemize}
+\end{DoxyItemize}
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1SegmentTree_a8e8365f0440c68f3c0853b94a7de3ccb}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!Segment\-Tree@{Segment\-Tree}}
+\index{Segment\-Tree@{Segment\-Tree}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{Segment\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::{\bf Segment\-Tree} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a8e8365f0440c68f3c0853b94a7de3ccb}
+
+
+constructor
+
+\hypertarget{classmeow_1_1SegmentTree_a1fe904372d3cdd01f07a1c88f86b14a1}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!Segment\-Tree@{Segment\-Tree}}
+\index{Segment\-Tree@{Segment\-Tree}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{Segment\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::{\bf Segment\-Tree} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{size}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a1fe904372d3cdd01f07a1c88f86b14a1}
+
+
+constructor, with {\ttfamily size} gived
+
+\hypertarget{classmeow_1_1SegmentTree_a12a47cdf24eacb80d0bad4010f6a2953}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!Segment\-Tree@{Segment\-Tree}}
+\index{Segment\-Tree@{Segment\-Tree}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{Segment\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::{\bf Segment\-Tree} (
+\begin{DoxyParamCaption}
+\item[{{\bf Segment\-Tree}$<$ Value $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a12a47cdf24eacb80d0bad4010f6a2953}
+
+
+constructor, 並且複製資料
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1SegmentTree_a889f38048ffe08ce3c80911878faac44}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ {\bf Segment\-Tree} {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Segment\-Tree}$<$ Value $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a889f38048ffe08ce3c80911878faac44}
+
+
+複製
+
+\hypertarget{classmeow_1_1SegmentTree_aaeca3de355dc367e2664e83800ee6aa5}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!offset@{offset}}
+\index{offset@{offset}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{offset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ void {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::offset (
+\begin{DoxyParamCaption}
+\item[{ssize\-\_\-t}]{first, }
+\item[{ssize\-\_\-t}]{last, }
+\item[{Value const \&}]{delta}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_aaeca3de355dc367e2664e83800ee6aa5}
+
+
+將區間 {\ttfamily }\mbox{[}first,last\mbox{]} 全部都加上 {\ttfamily delta}
+
+\hypertarget{classmeow_1_1SegmentTree_a765e794af604ab7c20a4245dfafcf14c}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ {\bf Segment\-Tree}\& {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Segment\-Tree}$<$ Value $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a765e794af604ab7c20a4245dfafcf14c}
+
+
+same as copy\-From(b)
+
+\hypertarget{classmeow_1_1SegmentTree_a2f300a5fd5ffdd19e4b3efc6899a7439}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!override@{override}}
+\index{override@{override}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{override}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ void {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::override (
+\begin{DoxyParamCaption}
+\item[{ssize\-\_\-t}]{first, }
+\item[{ssize\-\_\-t}]{last, }
+\item[{Value const \&}]{value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a2f300a5fd5ffdd19e4b3efc6899a7439}
+
+
+將區間 {\ttfamily }\mbox{[}first,last\mbox{]} 全部都設定成 {\ttfamily value}
+
+\hypertarget{classmeow_1_1SegmentTree_a18bb3667abd9810ce3534af3d70b14d5}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!query@{query}}
+\index{query@{query}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{query}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ Value {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::query (
+\begin{DoxyParamCaption}
+\item[{ssize\-\_\-t}]{first, }
+\item[{ssize\-\_\-t}]{last}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a18bb3667abd9810ce3534af3d70b14d5}
+
+
+回傳區間 {\ttfamily }\mbox{[}first,last\mbox{]} (邊界都含) 的區間值
+
+\hypertarget{classmeow_1_1SegmentTree_a80c550b0a3b997bc541ae0947ae2f55d}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!reset@{reset}}
+\index{reset@{reset}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ void {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{size}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a80c550b0a3b997bc541ae0947ae2f55d}
+
+
+將資料清空且設定維護範圍是 {\ttfamily 0$\sim$size-\/1}
+
+\hypertarget{classmeow_1_1SegmentTree_a8985a196cfb954bc469e7dae146ad4ed}{\index{meow\-::\-Segment\-Tree@{meow\-::\-Segment\-Tree}!size@{size}}
+\index{size@{size}!meow::SegmentTree@{meow\-::\-Segment\-Tree}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Value $>$ size\-\_\-t {\bf meow\-::\-Segment\-Tree}$<$ Value $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SegmentTree_a8985a196cfb954bc469e7dae146ad4ed}
+
+
+回傳size
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{SegmentTree_8h}{Segment\-Tree.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Self.tex b/doc/latex/classmeow_1_1Self.tex
new file mode 100644
index 0000000..8ac76bc
--- /dev/null
+++ b/doc/latex/classmeow_1_1Self.tex
@@ -0,0 +1,302 @@
+\hypertarget{classmeow_1_1Self}{\section{meow\-:\-:Self$<$ Data $>$ Class Template Reference}
+\label{classmeow_1_1Self}\index{meow\-::\-Self$<$ Data $>$@{meow\-::\-Self$<$ Data $>$}}
+}
+
+
+具有copy on write, 且擁有比\-C++更靈活的reference機制
+
+
+
+
+{\ttfamily \#include \char`\"{}Self.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Self_a0db7c98f250aeee3b06a49ebe0f16937}{Self} (bool create\-\_\-body)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Self_a000ede7e217c31401cc0a4b1c6749ee5}{Self} (\hyperlink{classmeow_1_1Self}{Self} const \&b)
+\begin{DoxyCompactList}\small\item\em 不允許copy constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Self_ada16564a03665b10810a6342d61044bc}{$\sim$\-Self} ()
+\begin{DoxyCompactList}\small\item\em 解構子 \end{DoxyCompactList}\item
+Data const $\ast$ \hyperlink{classmeow_1_1Self_a6063551c3e6ac647500e938ade8fbc99}{operator-\/$>$} () const
+\begin{DoxyCompactList}\small\item\em 回傳指向 Data const 的指標 \end{DoxyCompactList}\item
+Data $\ast$ \hyperlink{classmeow_1_1Self_ace312355261c68ac7531767939f5c4c2}{operator-\/$>$} ()
+\begin{DoxyCompactList}\small\item\em 回傳指向 Data 的指標, 如有需要, 這邊會做資料的duplicate \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Self}{Self} \& \hyperlink{classmeow_1_1Self_a5962339e9ee49312ab770f1119256ca6}{operator()} () const
+\begin{DoxyCompactList}\small\item\em 回傳非const型態的自己 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}{copy\-From} (\hyperlink{classmeow_1_1Self}{Self} const \&s)
+\begin{DoxyCompactList}\small\item\em 將給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 的資料複製到自己這裡 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Self_a576e99ba0ba6e8263b4d2cfd9238440f}{reference\-From} (\hyperlink{classmeow_1_1Self}{Self} const \&s)
+\begin{DoxyCompactList}\small\item\em 將自己reference 到給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Self_ab3671e44693b79e2f987f59652d46ca9}{same} (\hyperlink{classmeow_1_1Self}{Self} const \&s) const
+\begin{DoxyCompactList}\small\item\em 比對兩個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 是否指向同一個reference \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Self_a91098e2218c358470e81d64f35d6491d}{equal} (\hyperlink{classmeow_1_1Self}{Self} const \&s) const
+\begin{DoxyCompactList}\small\item\em 比對兩個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 的內容是否一樣 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Self_a10f22a83c3afcf65f8f9680f2a2f945c}{reference\-Less} (\hyperlink{classmeow_1_1Self}{Self} const \&s) const
+\begin{DoxyCompactList}\small\item\em 以reference作為判斷依據的小於判斷 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}{operator=} (\hyperlink{classmeow_1_1Self}{Self} const \&a)
+\begin{DoxyCompactList}\small\item\em 將 {\ttfamily operator=} 給disable掉 \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Data$>$class meow\-::\-Self$<$ Data $>$}
+
+具有copy on write, 且擁有比\-C++更靈活的reference機制
+
+使用上就是把所有成員變數包到一個class/structure裡, 送給\-Self \par
+ 例如以下
+\begin{DoxyCode}
+\textcolor{keyword}{class }A \{
+\textcolor{keyword}{private}:
+ \textcolor{keyword}{struct }Myself \{
+ \textcolor{keywordtype}{int} data;
+ Myself()\{
+ data = 0;
+ \}
+ ~Myself() \{
+ \}
+ Myself \hyperlink{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}{copyFrom}(Myself \textcolor{keyword}{const}& ms)\textcolor{keyword}{ const }\{
+ data = ms.data;
+ \}
+ \};
+ Self<Myself> \textcolor{keyword}{const} \textcolor{keyword}{self};
+\textcolor{keyword}{public}:
+ A(): self(true) \{ \textcolor{comment}{// self(true) 表示要建立實體, 即struct Myself}
+ \}
+ A(A \textcolor{keyword}{const}& a): self(false) \{ \textcolor{comment}{// for std::swap}
+ \hyperlink{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}{copyFrom}(a);
+ \}
+ \textcolor{comment}{// A(A const& a); // disable 模糊用法, 與上者二選一}
+ A(A \textcolor{keyword}{const}& a, \textcolor{keywordtype}{bool} reference): self(false) \{
+ \textcolor{keywordflow}{if} (reference) \{
+ \hyperlink{classmeow_1_1Self_a576e99ba0ba6e8263b4d2cfd9238440f}{referenceFrom}(a);
+ \} \textcolor{keywordflow}{else} \{
+ \hyperlink{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}{copyFrom}(a);
+ \}
+ \}
+ ~A() \{
+ \}
+ \textcolor{keywordtype}{void} setMemeber(\textcolor{keywordtype}{int} k) \{
+ \textcolor{keyword}{self}()->data = k; \textcolor{comment}{// self()->?? 可以有write權限}
+ \}
+ \textcolor{keywordtype}{int} getMemember(\textcolor{keywordtype}{int} wh)\textcolor{keyword}{ const }\{
+ \textcolor{keywordflow}{return} \textcolor{keyword}{self}->data; \textcolor{comment}{// self->?? 只有const}
+ \}
+ A \hyperlink{classmeow_1_1Self_a576e99ba0ba6e8263b4d2cfd9238440f}{referenceFrom}(A \textcolor{keyword}{const}& a) \{
+ \textcolor{keyword}{self}.referenceFrom(a.self);
+ \}
+ A \hyperlink{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}{copyFrom}(A \textcolor{keyword}{const}& a) \{
+ \textcolor{keyword}{self}.copyFrom(a.self);
+ \}
+ A& \hyperlink{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}{operator=}(A \textcolor{keyword}{const}& b) \{ \textcolor{comment}{// for std::swap}
+ \hyperlink{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}{copyFrom}(b);
+ \}
+ A& \hyperlink{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}{operator=}(A \textcolor{keyword}{const}& b); \textcolor{comment}{// 避免諢亂用法}
+\};
+\end{DoxyCode}
+
+
+\begin{DoxyAuthor}{Author}
+cathook
+\end{DoxyAuthor}
+\begin{DoxyWarning}{Warning}
+{\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 這個class會把{\ttfamily operator=} 給disable掉, 所以使用它當 kernel的class預設的 {\ttfamily operator=} 都會無法使用
+\end{DoxyWarning}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Self_a0db7c98f250aeee3b06a49ebe0f16937}{\index{meow\-::\-Self@{meow\-::\-Self}!Self@{Self}}
+\index{Self@{Self}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{Self}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ {\bf meow\-::\-Self}$<$ Data $>$\-::{\bf Self} (
+\begin{DoxyParamCaption}
+\item[{bool}]{create\-\_\-body}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a0db7c98f250aeee3b06a49ebe0f16937}
+
+
+constructor
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em create\-\_\-body} & 是否要new一個實體資料 (如果constructor完, 馬上就要 {\ttfamily \hyperlink{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}{copy\-From()}} , 或是 {\ttfamily \hyperlink{classmeow_1_1Self_a576e99ba0ba6e8263b4d2cfd9238440f}{reference\-From()}} 的話 不太需要 new一個實體, 否則基本上都要 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Self_a000ede7e217c31401cc0a4b1c6749ee5}{\index{meow\-::\-Self@{meow\-::\-Self}!Self@{Self}}
+\index{Self@{Self}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{Self}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ {\bf meow\-::\-Self}$<$ Data $>$\-::{\bf Self} (
+\begin{DoxyParamCaption}
+\item[{{\bf Self}$<$ Data $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1Self_a000ede7e217c31401cc0a4b1c6749ee5}
+
+
+不允許copy constructor
+
+\hypertarget{classmeow_1_1Self_ada16564a03665b10810a6342d61044bc}{\index{meow\-::\-Self@{meow\-::\-Self}!$\sim$\-Self@{$\sim$\-Self}}
+\index{$\sim$\-Self@{$\sim$\-Self}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{$\sim$\-Self}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ {\bf meow\-::\-Self}$<$ Data $>$\-::$\sim${\bf Self} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_ada16564a03665b10810a6342d61044bc}
+
+
+解構子
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}{\index{meow\-::\-Self@{meow\-::\-Self}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ void {\bf meow\-::\-Self}$<$ Data $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Self}$<$ Data $>$ const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a7ae7da730705bf2330a259308e5a6828}
+
+
+將給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 的資料複製到自己這裡
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em s} & 給定的{\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+與reference的差別是, copy之後若該給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 有資料修改, this 這邊 {\bfseries 不會} 被改到
+\end{DoxyNote}
+\hypertarget{classmeow_1_1Self_a91098e2218c358470e81d64f35d6491d}{\index{meow\-::\-Self@{meow\-::\-Self}!equal@{equal}}
+\index{equal@{equal}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{equal}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ bool {\bf meow\-::\-Self}$<$ Data $>$\-::equal (
+\begin{DoxyParamCaption}
+\item[{{\bf Self}$<$ Data $>$ const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a91098e2218c358470e81d64f35d6491d}
+
+
+比對兩個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 的內容是否一樣
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em s} & 另一個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表示兩個內容是否一樣
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+需要用到 Data的equal()
+\end{DoxyNote}
+\hypertarget{classmeow_1_1Self_a5962339e9ee49312ab770f1119256ca6}{\index{meow\-::\-Self@{meow\-::\-Self}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ {\bf Self}\& {\bf meow\-::\-Self}$<$ Data $>$\-::operator() (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a5962339e9ee49312ab770f1119256ca6}
+
+
+回傳非const型態的自己
+
+\hypertarget{classmeow_1_1Self_a6063551c3e6ac647500e938ade8fbc99}{\index{meow\-::\-Self@{meow\-::\-Self}!operator-\/$>$@{operator-\/$>$}}
+\index{operator-\/$>$@{operator-\/$>$}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{operator-\/$>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ Data const$\ast$ {\bf meow\-::\-Self}$<$ Data $>$\-::operator-\/$>$ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a6063551c3e6ac647500e938ade8fbc99}
+
+
+回傳指向 Data const 的指標
+
+\hypertarget{classmeow_1_1Self_ace312355261c68ac7531767939f5c4c2}{\index{meow\-::\-Self@{meow\-::\-Self}!operator-\/$>$@{operator-\/$>$}}
+\index{operator-\/$>$@{operator-\/$>$}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{operator-\/$>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ Data$\ast$ {\bf meow\-::\-Self}$<$ Data $>$\-::operator-\/$>$ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_ace312355261c68ac7531767939f5c4c2}
+
+
+回傳指向 Data 的指標, 如有需要, 這邊會做資料的duplicate
+
+\hypertarget{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}{\index{meow\-::\-Self@{meow\-::\-Self}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ void {\bf meow\-::\-Self}$<$ Data $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Self}$<$ Data $>$ const \&}]{a}
+\end{DoxyParamCaption}
+)}}\label{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}
+
+
+將 {\ttfamily operator=} 給disable掉
+
+\hypertarget{classmeow_1_1Self_a576e99ba0ba6e8263b4d2cfd9238440f}{\index{meow\-::\-Self@{meow\-::\-Self}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ void {\bf meow\-::\-Self}$<$ Data $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Self}$<$ Data $>$ const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a576e99ba0ba6e8263b4d2cfd9238440f}
+
+
+將自己reference 到給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em s} & 給定的{\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+把reference想像成指標會比較容易思考, 譬如 {\ttfamily a.\-reference\-From(b)} {\ttfamily b.\-reference\-From(c)} 相當於 {\bfseries a指向b原本指的記憶體位置}, {\bfseries b指向c原本指的記憶體位置} , 之後更動c時, 只有b會被牽連
+\end{DoxyNote}
+\hypertarget{classmeow_1_1Self_a10f22a83c3afcf65f8f9680f2a2f945c}{\index{meow\-::\-Self@{meow\-::\-Self}!reference\-Less@{reference\-Less}}
+\index{reference\-Less@{reference\-Less}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{reference\-Less}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ bool {\bf meow\-::\-Self}$<$ Data $>$\-::reference\-Less (
+\begin{DoxyParamCaption}
+\item[{{\bf Self}$<$ Data $>$ const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a10f22a83c3afcf65f8f9680f2a2f945c}
+
+
+以reference作為判斷依據的小於判斷
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em s} & 另一個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表示自己是否小於另一個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Self_ab3671e44693b79e2f987f59652d46ca9}{\index{meow\-::\-Self@{meow\-::\-Self}!same@{same}}
+\index{same@{same}!meow::Self@{meow\-::\-Self}}
+\subsubsection[{same}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ bool {\bf meow\-::\-Self}$<$ Data $>$\-::same (
+\begin{DoxyParamCaption}
+\item[{{\bf Self}$<$ Data $>$ const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_ab3671e44693b79e2f987f59652d46ca9}
+
+
+比對兩個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 是否指向同一個reference
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em s} & 另一個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表示是否為同一個reference
+\end{DoxyReturn}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/\hyperlink{Self_8h}{Self.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1SplayTree.tex b/doc/latex/classmeow_1_1SplayTree.tex
new file mode 100644
index 0000000..8d63aa4
--- /dev/null
+++ b/doc/latex/classmeow_1_1SplayTree.tex
@@ -0,0 +1,384 @@
+\hypertarget{classmeow_1_1SplayTree}{\section{meow\-:\-:Splay\-Tree$<$ Key, Value $>$ Class Template Reference}
+\label{classmeow_1_1SplayTree}\index{meow\-::\-Splay\-Tree$<$ Key, Value $>$@{meow\-::\-Splay\-Tree$<$ Key, Value $>$}}
+}
+
+
+是一種神乎其技的資料結構, 維護一堆 Key-\/$>$Value . 並且支援 一些 {\ttfamily std\-::map} 難以快速實踐的操作, 如 {\ttfamily split} , {\ttfamily merge} , {\ttfamily key\-Offset}
+
+
+
+
+{\ttfamily \#include \char`\"{}Splay\-Tree.\-h\char`\"{}}
+
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1SplayTree_1_1Element}{Element}
+\begin{DoxyCompactList}\small\item\em 類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree_1_1Element}{Element}} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1SplayTree_a640cec3815f70c0a7eac811d7272c637}{Splay\-Tree} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_addfdea993d700469785b3e01631ec3c0}{Splay\-Tree} (\hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} const \&tree2)
+\begin{DoxyCompactList}\small\item\em constructor, 複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_a8a3e10edd9aa04a5786ad6d8b7dd5490}{$\sim$\-Splay\-Tree} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} \& \hyperlink{classmeow_1_1SplayTree_aafc78f8d6abc95d52ba1062c14946cd5}{copy\-From} (\hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} const \&tree2)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree_a169eca2b27a5ec844bd79bba2bb75412}{move\-To} (\hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} $\ast$tree2)
+\begin{DoxyCompactList}\small\item\em 將資料都丟到 {\ttfamily tree2} 身上, 並且清空自己 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_a48d6f8f0af07a6620bd73a92db226ce6}{lower\-Bound} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出第一個(最小的) Element且 {\ttfamily k} $<$= 它的 Key, 並且回傳之. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_a9cd532f990a5fe6ff0930fc297cf664e}{upper\-Bound} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出第一個(最小的) Element且 {\ttfamily k} $<$ 它的 Key, 並且回傳之. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_a06dd77ef9bd62d83a7571feca5324825}{r\-Lower\-Bound} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出第一個(最小的) Element且 {\ttfamily k} $>$= 它的 Key, 並且回傳之. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_a7e4eb9104cd7a2c01cda7e0a19c55cbe}{r\-Upper\-Bound} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出第一個(最小的) Element且 {\ttfamily k} $>$ 它的 Key, 並且回傳之. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_a67dc7214cf9a89053e4b719f4d60cb4c}{find} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出 Key= {\ttfamily k} 的\-Elemenet 並回傳. 找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_ad91ceed4303b4fc5b115b067d304debc}{order} (size\-\_\-t order) const
+\begin{DoxyCompactList}\small\item\em 將\-Elements依照\-Key由小到大排序, 回傳第 {\ttfamily ord} 個\-Element (由0算起). \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_ad8c3814cbfbcc9f754b62a74368ddc0b}{first} () const
+\begin{DoxyCompactList}\small\item\em 回傳\-Key最小的\-Element, 如果\-Splay\-Tree為空, 則回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_a805efe9b5f4bac68fd62908eb7cf3501}{last} () const
+\begin{DoxyCompactList}\small\item\em 回傳\-Key最大的\-Element, 如果\-Splay\-Tree為空, 則回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end} () const
+\begin{DoxyCompactList}\small\item\em 回傳一個指向\-N\-U\-L\-L的\-Element, \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1SplayTree_a40b663d34933b258e667f9205f469fdc}{size} () const
+\begin{DoxyCompactList}\small\item\em 回傳資料個數 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree_a8dac8bccc08f9c1c828b25b7fe9919c7}{empty} () const
+\begin{DoxyCompactList}\small\item\em 回傳是否為空 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree_ae5a57883fd31a6288b958b42b94606a9}{clear} ()
+\begin{DoxyCompactList}\small\item\em 清空 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree_a0ae5e48da8d18ad8b2dc839d1c1b5582}{insert} (Key const \&key, Value const \&value)
+\begin{DoxyCompactList}\small\item\em 插入一組{\ttfamily }(Key ---$>$ {\ttfamily Value}) \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree_aef1f4e901e3e17a67e45aa2b9f9b61db}{erase} (Key const \&key)
+\begin{DoxyCompactList}\small\item\em 刪除一組資料 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree_aead0d2eba7528aeff12f6c0f87c60917}{key\-Offset} (Key const \&delta)
+\begin{DoxyCompactList}\small\item\em 將所有\-Element的\-Key同加上 {\ttfamily delta} \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree_a36a55daf9150ae2d866075dedf1d583d}{split\-Out} (Key const \&upper\-\_\-bound, \hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} $\ast$right)
+\begin{DoxyCompactList}\small\item\em 將{\ttfamily tree2} 清空, 再將所有\-Key $>$ {\ttfamily upper\-\_\-bound} 的\-Element都丟過去 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree_a17f0fea3a3f4c7a548743bee7e5a285c}{merge\-After} (\hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} $\ast$tree2)
+\begin{DoxyCompactList}\small\item\em 合併 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree_a9d370115877428e58b1595458dc345a3}{merge} (\hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} $\ast$tree2)
+\begin{DoxyCompactList}\small\item\em 合併 \end{DoxyCompactList}\item
+Value \& \hyperlink{classmeow_1_1SplayTree_a9f02a4ccc46616b7923c5834e02d53bc}{operator\mbox{[}$\,$\mbox{]}} (Key const \&key)
+\begin{DoxyCompactList}\small\item\em 就像{\ttfamily stl\-::map\-::operator}\mbox{[}\mbox{]} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} \& \hyperlink{classmeow_1_1SplayTree_aef1da0d72d3a88851bd805d489fb6ea0}{operator=} (\hyperlink{classmeow_1_1SplayTree}{Splay\-Tree} const \&tree2)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(tree2)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Key, class Value$>$class meow\-::\-Splay\-Tree$<$ Key, Value $>$}
+
+是一種神乎其技的資料結構, 維護一堆 Key-\/$>$Value . 並且支援 一些 {\ttfamily std\-::map} 難以快速實踐的操作, 如 {\ttfamily split} , {\ttfamily merge} , {\ttfamily key\-Offset}
+
+\subsubsection*{Template Class Operators Request}
+
+\begin{TabularC}{6}
+\hline
+\rowcolor{lightgray}\PBS\raggedleft {\bf const?}&\PBS\centering {\bf Typename}&\PBS\raggedleft {\bf Operator }&{\bf Parameters }&\PBS\centering {\bf Return Type }&{\bf Description }\\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Key &\PBS\raggedleft operator+ &(Key {\ttfamily k}) &\PBS\centering Key &相加 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Key &\PBS\raggedleft operator$<$ &(Key {\ttfamily k}) &\PBS\centering bool &大小比較 \\\cline{1-6}
+\PBS\raggedleft &\PBS\centering Key &\PBS\raggedleft operator= &(Key {\ttfamily k}) &\PBS\centering Key &copy oper \\\cline{1-6}
+\PBS\raggedleft &\PBS\centering Key &\PBS\raggedleft Key &(int {\ttfamily n}) &\PBS\centering &構子,{\ttfamily n} 永遠是0 \\\cline{1-6}
+\PBS\raggedleft &\PBS\centering Value &\PBS\raggedleft Value &( ) &\PBS\centering &建構子 \\\cline{1-6}
+\end{TabularC}
+
+
+\begin{DoxyNote}{Note}
+\-: -\/假設現在有兩個\-Splay\-Tree {\ttfamily A} 和 {\ttfamily B}, 則\-: -\/執行 {\ttfamily B.\-move\-To(\&\-A)} 後 {\ttfamily B} 會變成空的, {\ttfamily A} 原本擁有的資料也會覆蓋掉 -\/行 {\ttfamily A.\-merge(\&\-B)} 或 {\ttfamily A.\-merge\-After(\&\-B)} 後 如果檢查發現確實可以merge, 則之後 {\ttfamily B} 會變成空的
+\end{DoxyNote}
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1SplayTree_a640cec3815f70c0a7eac811d7272c637}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!Splay\-Tree@{Splay\-Tree}}
+\index{Splay\-Tree@{Splay\-Tree}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{Splay\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::{\bf Splay\-Tree} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a640cec3815f70c0a7eac811d7272c637}
+
+
+constructor
+
+\hypertarget{classmeow_1_1SplayTree_addfdea993d700469785b3e01631ec3c0}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!Splay\-Tree@{Splay\-Tree}}
+\index{Splay\-Tree@{Splay\-Tree}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{Splay\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::{\bf Splay\-Tree} (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree}$<$ Key, Value $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_addfdea993d700469785b3e01631ec3c0}
+
+
+constructor, 複製資料
+
+\hypertarget{classmeow_1_1SplayTree_a8a3e10edd9aa04a5786ad6d8b7dd5490}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!$\sim$\-Splay\-Tree@{$\sim$\-Splay\-Tree}}
+\index{$\sim$\-Splay\-Tree@{$\sim$\-Splay\-Tree}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{$\sim$\-Splay\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::$\sim${\bf Splay\-Tree} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a8a3e10edd9aa04a5786ad6d8b7dd5490}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1SplayTree_ae5a57883fd31a6288b958b42b94606a9}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!clear@{clear}}
+\index{clear@{clear}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_ae5a57883fd31a6288b958b42b94606a9}
+
+
+清空
+
+\hypertarget{classmeow_1_1SplayTree_aafc78f8d6abc95d52ba1062c14946cd5}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Splay\-Tree}\& {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree}$<$ Key, Value $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_aafc78f8d6abc95d52ba1062c14946cd5}
+
+
+複製資料
+
+\hypertarget{classmeow_1_1SplayTree_a8dac8bccc08f9c1c828b25b7fe9919c7}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!empty@{empty}}
+\index{empty@{empty}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::empty (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a8dac8bccc08f9c1c828b25b7fe9919c7}
+
+
+回傳是否為空
+
+\hypertarget{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!end@{end}}
+\index{end@{end}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::end (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}
+
+
+回傳一個指向\-N\-U\-L\-L的\-Element,
+
+以供 {\ttfamily find} ,{\ttfamily order} ,{\ttfamily first} ,{\ttfamily last} 等判斷是否有找到相對應的\-Element \hypertarget{classmeow_1_1SplayTree_aef1f4e901e3e17a67e45aa2b9f9b61db}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!erase@{erase}}
+\index{erase@{erase}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{erase}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::erase (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_aef1f4e901e3e17a67e45aa2b9f9b61db}
+
+
+刪除一組資料
+
+檢查是否已有\-Element的\-Key 為 {\ttfamily key}, 若有則刪除之, 並回傳 {\ttfamily true}, 否則則回傳 {\ttfamily false} \hypertarget{classmeow_1_1SplayTree_a67dc7214cf9a89053e4b719f4d60cb4c}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!find@{find}}
+\index{find@{find}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{find}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::find (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a67dc7214cf9a89053e4b719f4d60cb4c}
+
+
+找出 Key= {\ttfamily k} 的\-Elemenet 並回傳. 找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}}
+
+\hypertarget{classmeow_1_1SplayTree_ad8c3814cbfbcc9f754b62a74368ddc0b}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!first@{first}}
+\index{first@{first}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{first}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::first (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_ad8c3814cbfbcc9f754b62a74368ddc0b}
+
+
+回傳\-Key最小的\-Element, 如果\-Splay\-Tree為空, 則回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}}
+
+\hypertarget{classmeow_1_1SplayTree_a0ae5e48da8d18ad8b2dc839d1c1b5582}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!insert@{insert}}
+\index{insert@{insert}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::insert (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key, }
+\item[{Value const \&}]{value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a0ae5e48da8d18ad8b2dc839d1c1b5582}
+
+
+插入一組{\ttfamily }(Key ---$>$ {\ttfamily Value})
+
+檢查是否已有\-Element的\-Key 為 {\ttfamily key}, 若有則回傳 {\ttfamily false} , 否則將 一個 (Key -\/$>$ Value) = ({\ttfamily key} -\/$>$ {\ttfamily value})的\-Element加入, 並回傳 {\ttfamily true} \hypertarget{classmeow_1_1SplayTree_aead0d2eba7528aeff12f6c0f87c60917}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!key\-Offset@{key\-Offset}}
+\index{key\-Offset@{key\-Offset}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{key\-Offset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::key\-Offset (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{delta}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_aead0d2eba7528aeff12f6c0f87c60917}
+
+
+將所有\-Element的\-Key同加上 {\ttfamily delta}
+
+\hypertarget{classmeow_1_1SplayTree_a805efe9b5f4bac68fd62908eb7cf3501}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!last@{last}}
+\index{last@{last}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{last}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::last (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a805efe9b5f4bac68fd62908eb7cf3501}
+
+
+回傳\-Key最大的\-Element, 如果\-Splay\-Tree為空, 則回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}}
+
+\hypertarget{classmeow_1_1SplayTree_a48d6f8f0af07a6620bd73a92db226ce6}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!lower\-Bound@{lower\-Bound}}
+\index{lower\-Bound@{lower\-Bound}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{lower\-Bound}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::lower\-Bound (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a48d6f8f0af07a6620bd73a92db226ce6}
+
+
+找出第一個(最小的) Element且 {\ttfamily k} $<$= 它的 Key, 並且回傳之.
+
+找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}} \hypertarget{classmeow_1_1SplayTree_a9d370115877428e58b1595458dc345a3}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!merge@{merge}}
+\index{merge@{merge}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{merge}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::merge (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree}$<$ Key, Value $>$ $\ast$}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a9d370115877428e58b1595458dc345a3}
+
+
+合併
+
+檢查是否自己中的 Key 都小於 {\ttfamily tree2} 中的\-Key, 或是完全相反, 是的話把 {\ttfamily tree2`中的} \hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} 都搬到自己這, 同時清空 {\ttfamily tree2} , 否則回傳 {\ttfamily false} \hypertarget{classmeow_1_1SplayTree_a17f0fea3a3f4c7a548743bee7e5a285c}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!merge\-After@{merge\-After}}
+\index{merge\-After@{merge\-After}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{merge\-After}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::merge\-After (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree}$<$ Key, Value $>$ $\ast$}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a17f0fea3a3f4c7a548743bee7e5a285c}
+
+
+合併
+
+檢查是否自己中的 Key 都小於 {\ttfamily tree2} 中的\-Key, 是的話把 {\ttfamily tree2`} 中的 \hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} 都搬到自己這, 同時清空 {\ttfamily tree2} , 否則回傳 {\ttfamily false} \hypertarget{classmeow_1_1SplayTree_a169eca2b27a5ec844bd79bba2bb75412}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!move\-To@{move\-To}}
+\index{move\-To@{move\-To}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{move\-To}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::move\-To (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree}$<$ Key, Value $>$ $\ast$}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a169eca2b27a5ec844bd79bba2bb75412}
+
+
+將資料都丟到 {\ttfamily tree2} 身上, 並且清空自己
+
+\hypertarget{classmeow_1_1SplayTree_aef1da0d72d3a88851bd805d489fb6ea0}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Splay\-Tree}\& {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree}$<$ Key, Value $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_aef1da0d72d3a88851bd805d489fb6ea0}
+
+
+same as {\ttfamily copy\-From(tree2)}
+
+\hypertarget{classmeow_1_1SplayTree_a9f02a4ccc46616b7923c5834e02d53bc}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
+\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Value\& {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::operator\mbox{[}$\,$\mbox{]} (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a9f02a4ccc46616b7923c5834e02d53bc}
+
+
+就像{\ttfamily stl\-::map\-::operator}\mbox{[}\mbox{]}
+
+會先檢查是否已有\-Element的\-Key 為 {\ttfamily key}, 若有則回傳相對應的\-Value的\-Reference 否則先執行 {\ttfamily insert}(key,Value()) 再回傳相對應的\-Reference \hypertarget{classmeow_1_1SplayTree_ad91ceed4303b4fc5b115b067d304debc}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!order@{order}}
+\index{order@{order}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{order}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::order (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{order}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_ad91ceed4303b4fc5b115b067d304debc}
+
+
+將\-Elements依照\-Key由小到大排序, 回傳第 {\ttfamily ord} 個\-Element (由0算起).
+
+其中如果 {\ttfamily ord$>$N-\/1}, 則會回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_a805efe9b5f4bac68fd62908eb7cf3501}{last()}} \hypertarget{classmeow_1_1SplayTree_a06dd77ef9bd62d83a7571feca5324825}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!r\-Lower\-Bound@{r\-Lower\-Bound}}
+\index{r\-Lower\-Bound@{r\-Lower\-Bound}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{r\-Lower\-Bound}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::r\-Lower\-Bound (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a06dd77ef9bd62d83a7571feca5324825}
+
+
+找出第一個(最小的) Element且 {\ttfamily k} $>$= 它的 Key, 並且回傳之.
+
+找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}} \hypertarget{classmeow_1_1SplayTree_a7e4eb9104cd7a2c01cda7e0a19c55cbe}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!r\-Upper\-Bound@{r\-Upper\-Bound}}
+\index{r\-Upper\-Bound@{r\-Upper\-Bound}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{r\-Upper\-Bound}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::r\-Upper\-Bound (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a7e4eb9104cd7a2c01cda7e0a19c55cbe}
+
+
+找出第一個(最小的) Element且 {\ttfamily k} $>$ 它的 Key, 並且回傳之.
+
+找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}} \hypertarget{classmeow_1_1SplayTree_a40b663d34933b258e667f9205f469fdc}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!size@{size}}
+\index{size@{size}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ size\-\_\-t {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a40b663d34933b258e667f9205f469fdc}
+
+
+回傳資料個數
+
+\hypertarget{classmeow_1_1SplayTree_a36a55daf9150ae2d866075dedf1d583d}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!split\-Out@{split\-Out}}
+\index{split\-Out@{split\-Out}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{split\-Out}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::split\-Out (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{upper\-\_\-bound, }
+\item[{{\bf Splay\-Tree}$<$ Key, Value $>$ $\ast$}]{right}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a36a55daf9150ae2d866075dedf1d583d}
+
+
+將{\ttfamily tree2} 清空, 再將所有\-Key $>$ {\ttfamily upper\-\_\-bound} 的\-Element都丟過去
+
+\hypertarget{classmeow_1_1SplayTree_a9cd532f990a5fe6ff0930fc297cf664e}{\index{meow\-::\-Splay\-Tree@{meow\-::\-Splay\-Tree}!upper\-Bound@{upper\-Bound}}
+\index{upper\-Bound@{upper\-Bound}!meow::SplayTree@{meow\-::\-Splay\-Tree}}
+\subsubsection[{upper\-Bound}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::upper\-Bound (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_a9cd532f990a5fe6ff0930fc297cf664e}
+
+
+找出第一個(最小的) Element且 {\ttfamily k} $<$ 它的 Key, 並且回傳之.
+
+找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree_abcdab5caa27fecfd980595681381a4dc}{end()}}
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{SplayTree_8h}{Splay\-Tree.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1SplayTree_1_1Element.tex b/doc/latex/classmeow_1_1SplayTree_1_1Element.tex
new file mode 100644
index 0000000..744b044
--- /dev/null
+++ b/doc/latex/classmeow_1_1SplayTree_1_1Element.tex
@@ -0,0 +1,160 @@
+\hypertarget{classmeow_1_1SplayTree_1_1Element}{\section{meow\-:\-:Splay\-Tree$<$ Key, Value $>$\-:\-:Element Class Reference}
+\label{classmeow_1_1SplayTree_1_1Element}\index{meow\-::\-Splay\-Tree$<$ Key, Value $>$\-::\-Element@{meow\-::\-Splay\-Tree$<$ Key, Value $>$\-::\-Element}}
+}
+
+
+類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree_1_1Element}{Element}}
+
+
+
+
+{\ttfamily \#include \char`\"{}Splay\-Tree.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element_abab289dd578dd4879abebb58a6d86784}{Element} ()
+\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element_a4f12f5c26525cbf3763a05f63ab33871}{Element} (Node $\ast$node)
+\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element_a4cc99037c39c9d3856a06d9950678a85}{Element} (\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} const \&element2)
+\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element_ad522186691eead6d0a0a880e05e2a73b}{$\sim$\-Element} ()
+\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \& \hyperlink{classmeow_1_1SplayTree_1_1Element_aaea89fe0e873d4a2ceafad1519064d9a}{copy\-From} (\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} const \&e)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree_1_1Element_a01f7474b5018d9505c0e8495d9d1d895}{same} (\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} const \&e2) const
+\begin{DoxyCompactList}\small\item\em 比對兩者是否為指向同一個\-Entry \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} \& \hyperlink{classmeow_1_1SplayTree_1_1Element_a6af08a219ca313ddd086db6d3a8685d7}{operator=} (\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} const \&e2)
+\begin{DoxyCompactList}\small\item\em same as copy\-From \end{DoxyCompactList}\item
+Entry $\ast$ \hyperlink{classmeow_1_1SplayTree_1_1Element_a5e564545e78be2ad63e965c985997ab5}{operator-\/$>$} ()
+\begin{DoxyCompactList}\small\item\em 重導至{\ttfamily std\-::pair$<$Key} {\ttfamily const\&},{\ttfamily Value\&$>$$\ast$} \end{DoxyCompactList}\item
+Entry \& \hyperlink{classmeow_1_1SplayTree_1_1Element_ac947185148b8e81083172b843b129510}{operator$\ast$} ()
+\begin{DoxyCompactList}\small\item\em 重導至{\ttfamily std\-::pair$<$Key} {\ttfamily const\&},{\ttfamily Value\&$>$\&} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree_1_1Element_aeaf7740977e75749cd8656066d05808b}{operator==} (\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} const \&e2) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily same(e2)} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree_1_1Element_ae5c8fa3ed0fb90953de1b50e81a89480}{operator!=} (\hyperlink{classmeow_1_1SplayTree_1_1Element}{Element} const \&e2) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily !same}(e2) \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Key, class Value$>$class meow\-::\-Splay\-Tree$<$ Key, Value $>$\-::\-Element}
+
+類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree_1_1Element}{Element}}
+
+用來當作回傳資料的媒介
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1SplayTree_1_1Element_abab289dd578dd4879abebb58a6d86784}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!Element@{Element}}
+\index{Element@{Element}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{Element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::\-Element (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_abab289dd578dd4879abebb58a6d86784}
+\hypertarget{classmeow_1_1SplayTree_1_1Element_a4f12f5c26525cbf3763a05f63ab33871}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!Element@{Element}}
+\index{Element@{Element}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{Element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::\-Element (
+\begin{DoxyParamCaption}
+\item[{Node $\ast$}]{node}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_a4f12f5c26525cbf3763a05f63ab33871}
+\hypertarget{classmeow_1_1SplayTree_1_1Element_a4cc99037c39c9d3856a06d9950678a85}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!Element@{Element}}
+\index{Element@{Element}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{Element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::\-Element (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{element2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_a4cc99037c39c9d3856a06d9950678a85}
+\hypertarget{classmeow_1_1SplayTree_1_1Element_ad522186691eead6d0a0a880e05e2a73b}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!$\sim$\-Element@{$\sim$\-Element}}
+\index{$\sim$\-Element@{$\sim$\-Element}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{$\sim$\-Element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::$\sim$\-Element (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_ad522186691eead6d0a0a880e05e2a73b}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1SplayTree_1_1Element_aaea89fe0e873d4a2ceafad1519064d9a}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element}\& {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_aaea89fe0e873d4a2ceafad1519064d9a}
+
+
+複製資料
+
+\hypertarget{classmeow_1_1SplayTree_1_1Element_ae5c8fa3ed0fb90953de1b50e81a89480}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!operator!=@{operator!=}}
+\index{operator!=@{operator!=}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{operator!=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::operator!= (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e2}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_ae5c8fa3ed0fb90953de1b50e81a89480}
+
+
+same as {\ttfamily !same}(e2)
+
+\hypertarget{classmeow_1_1SplayTree_1_1Element_ac947185148b8e81083172b843b129510}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Entry\& {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_ac947185148b8e81083172b843b129510}
+
+
+重導至{\ttfamily std\-::pair$<$Key} {\ttfamily const\&},{\ttfamily Value\&$>$\&}
+
+\hypertarget{classmeow_1_1SplayTree_1_1Element_a5e564545e78be2ad63e965c985997ab5}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!operator-\/$>$@{operator-\/$>$}}
+\index{operator-\/$>$@{operator-\/$>$}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{operator-\/$>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Entry$\ast$ {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::operator-\/$>$ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_a5e564545e78be2ad63e965c985997ab5}
+
+
+重導至{\ttfamily std\-::pair$<$Key} {\ttfamily const\&},{\ttfamily Value\&$>$$\ast$}
+
+\hypertarget{classmeow_1_1SplayTree_1_1Element_a6af08a219ca313ddd086db6d3a8685d7}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element}\& {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_a6af08a219ca313ddd086db6d3a8685d7}
+
+
+same as copy\-From
+
+\hypertarget{classmeow_1_1SplayTree_1_1Element_aeaf7740977e75749cd8656066d05808b}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!operator==@{operator==}}
+\index{operator==@{operator==}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::operator== (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e2}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_aeaf7740977e75749cd8656066d05808b}
+
+
+same as {\ttfamily same(e2)}
+
+\hypertarget{classmeow_1_1SplayTree_1_1Element_a01f7474b5018d9505c0e8495d9d1d895}{\index{meow\-::\-Splay\-Tree\-::\-Element@{meow\-::\-Splay\-Tree\-::\-Element}!same@{same}}
+\index{same@{same}!meow::SplayTree::Element@{meow\-::\-Splay\-Tree\-::\-Element}}
+\subsubsection[{same}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree}$<$ Key, Value $>$\-::Element\-::same (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e2}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree_1_1Element_a01f7474b5018d9505c0e8495d9d1d895}
+
+
+比對兩者是否為指向同一個\-Entry
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{SplayTree_8h}{Splay\-Tree.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1SplayTree__Range.tex b/doc/latex/classmeow_1_1SplayTree__Range.tex
new file mode 100644
index 0000000..d4ab08e
--- /dev/null
+++ b/doc/latex/classmeow_1_1SplayTree__Range.tex
@@ -0,0 +1,437 @@
+\hypertarget{classmeow_1_1SplayTree__Range}{\section{meow\-:\-:Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$ Class Template Reference}
+\label{classmeow_1_1SplayTree__Range}\index{meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$@{meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$}}
+}
+
+
+基本上跟\-Splay\-Tree一樣, 不過這邊結合線段樹, 多了區間操作 (線段樹相關operator定義請見 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} )
+
+
+
+
+{\ttfamily \#include \char`\"{}Splay\-Tree.\-h\char`\"{}}
+
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element}
+\begin{DoxyCompactList}\small\item\em 類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element}} \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1SplayTree__Range_acf3c8d90ff38a210ed9d64dd365d5e93}{Splay\-Tree\-\_\-\-Range} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_aa5a5c774d04721cbe038ec883c01737a}{Splay\-Tree\-\_\-\-Range} (\hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} const \&tree2)
+\begin{DoxyCompactList}\small\item\em constructor, 複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_afa919ebbc8feedc4c2ed2185d6207261}{$\sim$\-Splay\-Tree\-\_\-\-Range} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} \& \hyperlink{classmeow_1_1SplayTree__Range_acb88cb76b50884221cbb58d2adcb4329}{copy\-From} (\hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} const \&tree2)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree__Range_a17483e5f0028004cc4bf46699591fafe}{move\-To} (\hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} $\ast$tree2)
+\begin{DoxyCompactList}\small\item\em 將資料都丟到 {\ttfamily tree2} 身上, 並且清空自己 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_a92ca3967d0f433a57b5057d61183f2aa}{lower\-Bound} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出第一個(最小的) Element且 {\ttfamily k} $<$= 它的 Key, 並且回傳之. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_a492f68ede1f6423590ec2bfa3f839ab0}{upper\-Bound} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出第一個(最小的) Element且 {\ttfamily k} $<$ 它的 Key, 並且回傳之. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_a05057d5df92737104b7431b4203cac11}{r\-Lower\-Bound} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出第一個(最小的) Element且 {\ttfamily k} $>$= 它的 Key, 並且回傳之. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_ae0f6543101ce4864257b93786c21a5c8}{r\-Upper\-Bound} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出第一個(最小的) Element且 {\ttfamily k} $>$ 它的 Key, 並且回傳之. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_a13c3591050f556251a33c03ce142acb1}{find} (Key const \&key) const
+\begin{DoxyCompactList}\small\item\em 找出 Key= {\ttfamily k} 的\-Elemenet 並回傳. 找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_a6e33546a3cb07d56548a1f64aa1fc711}{order} (size\-\_\-t order) const
+\begin{DoxyCompactList}\small\item\em 將\-Elements依照\-Key由小到大排序, 回傳第 {\ttfamily ord} 個\-Element (由0算起). \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_a74207c8c8023d62111171cd64abfbe77}{first} () const
+\begin{DoxyCompactList}\small\item\em 回傳\-Key最小的\-Element, 如果\-Splay\-Tree為空, 則回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_afd72a714bb2b7bce0ceedad1dea9e264}{last} () const
+\begin{DoxyCompactList}\small\item\em 回傳\-Key最大的\-Element, 如果\-Splay\-Tree為空, 則回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end} () const
+\begin{DoxyCompactList}\small\item\em 回傳一個指向\-N\-U\-L\-L的\-Element, \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1SplayTree__Range_afce0f36427e9105a3405176ed4eddf58}{size} () const
+\begin{DoxyCompactList}\small\item\em 回傳資料個數 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree__Range_a86abc6a3a19f874e86fb29b75c212fce}{empty} () const
+\begin{DoxyCompactList}\small\item\em 回傳是否為空 \end{DoxyCompactList}\item
+Value \hyperlink{classmeow_1_1SplayTree__Range_a91272707629fcec7cc9fa60594334002}{query} () const
+\begin{DoxyCompactList}\small\item\em 查找 \end{DoxyCompactList}\item
+Value \hyperlink{classmeow_1_1SplayTree__Range_a9952f914eb9449ae17f5ea0ece422af9}{query} (Key const \&\hyperlink{classmeow_1_1SplayTree__Range_a74207c8c8023d62111171cd64abfbe77}{first}, Key const \&\hyperlink{classmeow_1_1SplayTree__Range_afd72a714bb2b7bce0ceedad1dea9e264}{last}) const
+\begin{DoxyCompactList}\small\item\em 查找 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree__Range_a514b6eac0a39ac0d365a5ee72eea78e8}{clear} ()
+\begin{DoxyCompactList}\small\item\em 清空 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree__Range_a5e80acef8cd1a6732f5cfec65ab69d54}{insert} (Key const \&key, Value const \&value)
+\begin{DoxyCompactList}\small\item\em 插入一組{\ttfamily }(Key ---$>$ {\ttfamily Value}) \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree__Range_ae3cffdbb135d3f2518092c2e4b993e1f}{erase} (Key const \&key)
+\begin{DoxyCompactList}\small\item\em 刪除一組資料 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree__Range_a4e05023009c1c82a5d464a43d6777843}{key\-Offset} (Key const \&delta)
+\begin{DoxyCompactList}\small\item\em 將所有\-Element的\-Key同加上 {\ttfamily delta} \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree__Range_a2974124d833383fc0b3f9fed6f18db2f}{value\-Offset} (Value const \&delta)
+\begin{DoxyCompactList}\small\item\em 將所有\-Element的\-Value同加上 {\ttfamily delta} \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree__Range_abe3366aac14529a4b044b519a53c5bb7}{value\-Override} (Value const \&value)
+\begin{DoxyCompactList}\small\item\em 將所有\-Element的\-Value全部設定成{\ttfamily value} \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1SplayTree__Range_a1594362228633d8b026bb0f8c343384f}{split\-Out} (Key const \&upper\-\_\-bound, \hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} $\ast$right)
+\begin{DoxyCompactList}\small\item\em 將{\ttfamily tree2} 清空, 再將所有\-Key $>$ {\ttfamily upper\-\_\-bound} 的\-Element都丟過去 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree__Range_a53a6ba929a8500fa74e0991e120d3401}{merge\-After} (\hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} $\ast$tree2)
+\begin{DoxyCompactList}\small\item\em 合併 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree__Range_a42d874bda7b24108d0e861448eadce84}{merge} (\hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} $\ast$tree2)
+\begin{DoxyCompactList}\small\item\em 合併 \end{DoxyCompactList}\item
+Value \& \hyperlink{classmeow_1_1SplayTree__Range_a2a4e8bffccdf807bfe6feb9d838ab44d}{operator\mbox{[}$\,$\mbox{]}} (Key const \&key)
+\begin{DoxyCompactList}\small\item\em 就像{\ttfamily stl\-::map\-::operator}\mbox{[}\mbox{]} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} \& \hyperlink{classmeow_1_1SplayTree__Range_af93643b667895835f97e32e30959ca9e}{operator=} (\hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range} const \&tree2)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(tree2)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Key, class Value$>$class meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$}
+
+基本上跟\-Splay\-Tree一樣, 不過這邊結合線段樹, 多了區間操作 (線段樹相關operator定義請見 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} )
+
+\subsubsection*{Template Class Operators Request}
+
+\begin{TabularC}{6}
+\hline
+\rowcolor{lightgray}\PBS\raggedleft {\bf const?}&\PBS\centering {\bf Typename}&\PBS\raggedleft {\bf Operator }&{\bf Parameters }&\PBS\centering {\bf Return Type }&{\bf Description }\\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Key &\PBS\raggedleft operator+ &(Key {\ttfamily k}) &\PBS\centering Key &相加 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Key &\PBS\raggedleft operator$<$ &(Key {\ttfamily k}) &\PBS\centering bool &大小比較 \\\cline{1-6}
+\PBS\raggedleft &\PBS\centering Key &\PBS\raggedleft operator= &(Key {\ttfamily k}) &\PBS\centering Key &copy oper \\\cline{1-6}
+\PBS\raggedleft &\PBS\centering Key &\PBS\raggedleft Key &(int {\ttfamily n}) &\PBS\centering &構子,{\ttfamily n} 永遠是0 \\\cline{1-6}
+\PBS\raggedleft &\PBS\centering Value &\PBS\raggedleft Value &( ) &\PBS\centering &建構子 \\\cline{1-6}
+\end{TabularC}
+
+
+\begin{DoxyNote}{Note}
+\-: -\/假設現在有兩個\-Splay\-Tree {\ttfamily A} 和 {\ttfamily B}, 則\-: -\/執行 {\ttfamily B.\-move\-To(\&\-A)} 後 {\ttfamily B} 會變成空的, {\ttfamily A} 原本擁有的資料也會覆蓋掉 -\/行 {\ttfamily A.\-merge(\&\-B)} 或 {\ttfamily A.\-merge\-After(\&\-B)} 後 如果檢查發現確實可以merge, 則之後 {\ttfamily B} 會變成空的
+\end{DoxyNote}
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1SplayTree__Range_acf3c8d90ff38a210ed9d64dd365d5e93}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!Splay\-Tree\-\_\-\-Range@{Splay\-Tree\-\_\-\-Range}}
+\index{Splay\-Tree\-\_\-\-Range@{Splay\-Tree\-\_\-\-Range}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{Splay\-Tree\-\_\-\-Range}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::{\bf Splay\-Tree\-\_\-\-Range} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_acf3c8d90ff38a210ed9d64dd365d5e93}
+
+
+constructor
+
+\hypertarget{classmeow_1_1SplayTree__Range_aa5a5c774d04721cbe038ec883c01737a}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!Splay\-Tree\-\_\-\-Range@{Splay\-Tree\-\_\-\-Range}}
+\index{Splay\-Tree\-\_\-\-Range@{Splay\-Tree\-\_\-\-Range}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{Splay\-Tree\-\_\-\-Range}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::{\bf Splay\-Tree\-\_\-\-Range} (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_aa5a5c774d04721cbe038ec883c01737a}
+
+
+constructor, 複製資料
+
+\hypertarget{classmeow_1_1SplayTree__Range_afa919ebbc8feedc4c2ed2185d6207261}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!$\sim$\-Splay\-Tree\-\_\-\-Range@{$\sim$\-Splay\-Tree\-\_\-\-Range}}
+\index{$\sim$\-Splay\-Tree\-\_\-\-Range@{$\sim$\-Splay\-Tree\-\_\-\-Range}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{$\sim$\-Splay\-Tree\-\_\-\-Range}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::$\sim${\bf Splay\-Tree\-\_\-\-Range} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_afa919ebbc8feedc4c2ed2185d6207261}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1SplayTree__Range_a514b6eac0a39ac0d365a5ee72eea78e8}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!clear@{clear}}
+\index{clear@{clear}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a514b6eac0a39ac0d365a5ee72eea78e8}
+
+
+清空
+
+\hypertarget{classmeow_1_1SplayTree__Range_acb88cb76b50884221cbb58d2adcb4329}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Splay\-Tree\-\_\-\-Range}\& {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_acb88cb76b50884221cbb58d2adcb4329}
+
+
+複製資料
+
+\hypertarget{classmeow_1_1SplayTree__Range_a86abc6a3a19f874e86fb29b75c212fce}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!empty@{empty}}
+\index{empty@{empty}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::empty (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a86abc6a3a19f874e86fb29b75c212fce}
+
+
+回傳是否為空
+
+\hypertarget{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!end@{end}}
+\index{end@{end}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::end (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}
+
+
+回傳一個指向\-N\-U\-L\-L的\-Element,
+
+以供 {\ttfamily find} ,{\ttfamily order} ,{\ttfamily first} ,{\ttfamily last} 等判斷是否有找到相對應的\-Element \hypertarget{classmeow_1_1SplayTree__Range_ae3cffdbb135d3f2518092c2e4b993e1f}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!erase@{erase}}
+\index{erase@{erase}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{erase}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::erase (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_ae3cffdbb135d3f2518092c2e4b993e1f}
+
+
+刪除一組資料
+
+檢查是否已有\-Element的\-Key 為 {\ttfamily key}, 若有則刪除之, 並回傳 {\ttfamily true}, 否則則回傳 {\ttfamily false} \hypertarget{classmeow_1_1SplayTree__Range_a13c3591050f556251a33c03ce142acb1}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!find@{find}}
+\index{find@{find}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{find}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::find (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a13c3591050f556251a33c03ce142acb1}
+
+
+找出 Key= {\ttfamily k} 的\-Elemenet 並回傳. 找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}}
+
+\hypertarget{classmeow_1_1SplayTree__Range_a74207c8c8023d62111171cd64abfbe77}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!first@{first}}
+\index{first@{first}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{first}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::first (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a74207c8c8023d62111171cd64abfbe77}
+
+
+回傳\-Key最小的\-Element, 如果\-Splay\-Tree為空, 則回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}}
+
+\hypertarget{classmeow_1_1SplayTree__Range_a5e80acef8cd1a6732f5cfec65ab69d54}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!insert@{insert}}
+\index{insert@{insert}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::insert (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key, }
+\item[{Value const \&}]{value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a5e80acef8cd1a6732f5cfec65ab69d54}
+
+
+插入一組{\ttfamily }(Key ---$>$ {\ttfamily Value})
+
+檢查是否已有\-Element的\-Key 為 {\ttfamily key}, 若有則回傳 {\ttfamily false} , 否則將 一個 (Key -\/$>$ Value) = ({\ttfamily key} -\/$>$ {\ttfamily value})的\-Element加入, 並回傳 {\ttfamily true} \hypertarget{classmeow_1_1SplayTree__Range_a4e05023009c1c82a5d464a43d6777843}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!key\-Offset@{key\-Offset}}
+\index{key\-Offset@{key\-Offset}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{key\-Offset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::key\-Offset (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{delta}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a4e05023009c1c82a5d464a43d6777843}
+
+
+將所有\-Element的\-Key同加上 {\ttfamily delta}
+
+\hypertarget{classmeow_1_1SplayTree__Range_afd72a714bb2b7bce0ceedad1dea9e264}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!last@{last}}
+\index{last@{last}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{last}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::last (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_afd72a714bb2b7bce0ceedad1dea9e264}
+
+
+回傳\-Key最大的\-Element, 如果\-Splay\-Tree為空, 則回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}}
+
+\hypertarget{classmeow_1_1SplayTree__Range_a92ca3967d0f433a57b5057d61183f2aa}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!lower\-Bound@{lower\-Bound}}
+\index{lower\-Bound@{lower\-Bound}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{lower\-Bound}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::lower\-Bound (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a92ca3967d0f433a57b5057d61183f2aa}
+
+
+找出第一個(最小的) Element且 {\ttfamily k} $<$= 它的 Key, 並且回傳之.
+
+找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}} \hypertarget{classmeow_1_1SplayTree__Range_a42d874bda7b24108d0e861448eadce84}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!merge@{merge}}
+\index{merge@{merge}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{merge}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::merge (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$ $\ast$}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a42d874bda7b24108d0e861448eadce84}
+
+
+合併
+
+檢查是否自己中的 Key 都小於 {\ttfamily tree2} 中的\-Key, 或是完全相反, 是的話把 {\ttfamily tree2`中的} \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} 都搬到自己這, 同時清空 {\ttfamily tree2} , 否則回傳 {\ttfamily false} \hypertarget{classmeow_1_1SplayTree__Range_a53a6ba929a8500fa74e0991e120d3401}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!merge\-After@{merge\-After}}
+\index{merge\-After@{merge\-After}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{merge\-After}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::merge\-After (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$ $\ast$}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a53a6ba929a8500fa74e0991e120d3401}
+
+
+合併
+
+檢查是否自己中的 Key 都小於 {\ttfamily tree2} 中的\-Key, 是的話把 {\ttfamily tree2`} 中的 \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} 都搬到自己這, 同時清空 {\ttfamily tree2} , 否則回傳 {\ttfamily false} \hypertarget{classmeow_1_1SplayTree__Range_a17483e5f0028004cc4bf46699591fafe}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!move\-To@{move\-To}}
+\index{move\-To@{move\-To}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{move\-To}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::move\-To (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$ $\ast$}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a17483e5f0028004cc4bf46699591fafe}
+
+
+將資料都丟到 {\ttfamily tree2} 身上, 並且清空自己
+
+\hypertarget{classmeow_1_1SplayTree__Range_af93643b667895835f97e32e30959ca9e}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Splay\-Tree\-\_\-\-Range}\& {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_af93643b667895835f97e32e30959ca9e}
+
+
+same as {\ttfamily copy\-From(tree2)}
+
+\hypertarget{classmeow_1_1SplayTree__Range_a2a4e8bffccdf807bfe6feb9d838ab44d}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!operator\mbox{[}$\,$\mbox{]}@{operator[]}}
+\index{operator\mbox{[}$\,$\mbox{]}@{operator[]}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Value\& {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::operator\mbox{[}$\,$\mbox{]} (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a2a4e8bffccdf807bfe6feb9d838ab44d}
+
+
+就像{\ttfamily stl\-::map\-::operator}\mbox{[}\mbox{]}
+
+會先檢查是否已有\-Element的\-Key 為 {\ttfamily key}, 若有則回傳相對應的\-Value的\-Reference 否則先執行 {\ttfamily insert}(key,Value()) 再回傳相對應的\-Reference \hypertarget{classmeow_1_1SplayTree__Range_a6e33546a3cb07d56548a1f64aa1fc711}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!order@{order}}
+\index{order@{order}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{order}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::order (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{order}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a6e33546a3cb07d56548a1f64aa1fc711}
+
+
+將\-Elements依照\-Key由小到大排序, 回傳第 {\ttfamily ord} 個\-Element (由0算起).
+
+其中如果 {\ttfamily ord$>$N-\/1}, 則會回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_afd72a714bb2b7bce0ceedad1dea9e264}{last()}} \hypertarget{classmeow_1_1SplayTree__Range_a91272707629fcec7cc9fa60594334002}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!query@{query}}
+\index{query@{query}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{query}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Value {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::query (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a91272707629fcec7cc9fa60594334002}
+
+
+查找
+
+詢問目前整個range的值 \hypertarget{classmeow_1_1SplayTree__Range_a9952f914eb9449ae17f5ea0ece422af9}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!query@{query}}
+\index{query@{query}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{query}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Value {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::query (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{first, }
+\item[{Key const \&}]{last}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a9952f914eb9449ae17f5ea0ece422af9}
+
+
+查找
+
+詢問給定range的值 \hypertarget{classmeow_1_1SplayTree__Range_a05057d5df92737104b7431b4203cac11}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!r\-Lower\-Bound@{r\-Lower\-Bound}}
+\index{r\-Lower\-Bound@{r\-Lower\-Bound}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{r\-Lower\-Bound}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::r\-Lower\-Bound (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a05057d5df92737104b7431b4203cac11}
+
+
+找出第一個(最小的) Element且 {\ttfamily k} $>$= 它的 Key, 並且回傳之.
+
+找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}} \hypertarget{classmeow_1_1SplayTree__Range_ae0f6543101ce4864257b93786c21a5c8}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!r\-Upper\-Bound@{r\-Upper\-Bound}}
+\index{r\-Upper\-Bound@{r\-Upper\-Bound}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{r\-Upper\-Bound}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::r\-Upper\-Bound (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_ae0f6543101ce4864257b93786c21a5c8}
+
+
+找出第一個(最小的) Element且 {\ttfamily k} $>$ 它的 Key, 並且回傳之.
+
+找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}} \hypertarget{classmeow_1_1SplayTree__Range_afce0f36427e9105a3405176ed4eddf58}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!size@{size}}
+\index{size@{size}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ size\-\_\-t {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_afce0f36427e9105a3405176ed4eddf58}
+
+
+回傳資料個數
+
+\hypertarget{classmeow_1_1SplayTree__Range_a1594362228633d8b026bb0f8c343384f}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!split\-Out@{split\-Out}}
+\index{split\-Out@{split\-Out}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{split\-Out}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::split\-Out (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{upper\-\_\-bound, }
+\item[{{\bf Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$ $\ast$}]{right}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a1594362228633d8b026bb0f8c343384f}
+
+
+將{\ttfamily tree2} 清空, 再將所有\-Key $>$ {\ttfamily upper\-\_\-bound} 的\-Element都丟過去
+
+\hypertarget{classmeow_1_1SplayTree__Range_a492f68ede1f6423590ec2bfa3f839ab0}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!upper\-Bound@{upper\-Bound}}
+\index{upper\-Bound@{upper\-Bound}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{upper\-Bound}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element} {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::upper\-Bound (
+\begin{DoxyParamCaption}
+\item[{Key const \&}]{key}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a492f68ede1f6423590ec2bfa3f839ab0}
+
+
+找出第一個(最小的) Element且 {\ttfamily k} $<$ 它的 Key, 並且回傳之.
+
+找不到的話回傳 {\ttfamily this-\/$>$\hyperlink{classmeow_1_1SplayTree__Range_ad3aaed040f619a3b14c3f9b598b7fecc}{end()}} \hypertarget{classmeow_1_1SplayTree__Range_a2974124d833383fc0b3f9fed6f18db2f}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!value\-Offset@{value\-Offset}}
+\index{value\-Offset@{value\-Offset}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{value\-Offset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::value\-Offset (
+\begin{DoxyParamCaption}
+\item[{Value const \&}]{delta}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_a2974124d833383fc0b3f9fed6f18db2f}
+
+
+將所有\-Element的\-Value同加上 {\ttfamily delta}
+
+\hypertarget{classmeow_1_1SplayTree__Range_abe3366aac14529a4b044b519a53c5bb7}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}!value\-Override@{value\-Override}}
+\index{value\-Override@{value\-Override}!meow::SplayTree_Range@{meow\-::\-Splay\-Tree\-\_\-\-Range}}
+\subsubsection[{value\-Override}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ void {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::value\-Override (
+\begin{DoxyParamCaption}
+\item[{Value const \&}]{value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_abe3366aac14529a4b044b519a53c5bb7}
+
+
+將所有\-Element的\-Value全部設定成{\ttfamily value}
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{SplayTree_8h}{Splay\-Tree.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1SplayTree__Range_1_1Element.tex b/doc/latex/classmeow_1_1SplayTree__Range_1_1Element.tex
new file mode 100644
index 0000000..e77995b
--- /dev/null
+++ b/doc/latex/classmeow_1_1SplayTree__Range_1_1Element.tex
@@ -0,0 +1,160 @@
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element}{\section{meow\-:\-:Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$\-:\-:Element Class Reference}
+\label{classmeow_1_1SplayTree__Range_1_1Element}\index{meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$\-::\-Element}}
+}
+
+
+類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element}}
+
+
+
+
+{\ttfamily \#include \char`\"{}Splay\-Tree.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element_acc3dcc61b0b363c10ab3cb572a37bffe}{Element} ()
+\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element_a18157d69d14dad8e2a9600a3052ef341}{Element} (Node $\ast$node)
+\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element_aaf32bca541ab3b6212a135a77e7f7d91}{Element} (\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} const \&element2)
+\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element_a5441072951b572b2859f6f0f1b55d3cc}{$\sim$\-Element} ()
+\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \& \hyperlink{classmeow_1_1SplayTree__Range_1_1Element_ace7c7fb2416ca7afd7df627a0fe57ed0}{copy\-From} (\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} const \&e)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree__Range_1_1Element_aea48bcfd0ad50cbdcdc15128be5e8f15}{same} (\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} const \&e2) const
+\begin{DoxyCompactList}\small\item\em 比對兩者是否為指向同一個\-Entry \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} \& \hyperlink{classmeow_1_1SplayTree__Range_1_1Element_a126d57eee520aa17868ce74112249e12}{operator=} (\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} const \&e2)
+\begin{DoxyCompactList}\small\item\em same as copy\-From \end{DoxyCompactList}\item
+Entry $\ast$ \hyperlink{classmeow_1_1SplayTree__Range_1_1Element_a6344204522f3093165b1a100cc2bf6f2}{operator-\/$>$} ()
+\begin{DoxyCompactList}\small\item\em 重導至{\ttfamily std\-::pair$<$Key} {\ttfamily const\&},{\ttfamily Value\&$>$$\ast$} \end{DoxyCompactList}\item
+Entry \& \hyperlink{classmeow_1_1SplayTree__Range_1_1Element_ad860aa695abffe96716eed4a5e58d950}{operator$\ast$} ()
+\begin{DoxyCompactList}\small\item\em 重導至{\ttfamily std\-::pair$<$Key} {\ttfamily const\&},{\ttfamily Value\&$>$\&} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree__Range_1_1Element_a42f71bf3aa7e009582e628e87763482d}{operator==} (\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} const \&e2) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily same(e2)} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1SplayTree__Range_1_1Element_a7e8d951ce66208a88ac8d8a177af48a5}{operator!=} (\hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element} const \&e2) const
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily !same}(e2) \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Key, class Value$>$class meow\-::\-Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$\-::\-Element}
+
+類似 {\ttfamily stl} 的 {\ttfamily iterator} ,不過這邊叫做{\ttfamily \hyperlink{classmeow_1_1SplayTree__Range_1_1Element}{Element}}
+
+用來當作回傳資料的媒介
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_acc3dcc61b0b363c10ab3cb572a37bffe}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!Element@{Element}}
+\index{Element@{Element}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{Element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::\-Element (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_acc3dcc61b0b363c10ab3cb572a37bffe}
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_a18157d69d14dad8e2a9600a3052ef341}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!Element@{Element}}
+\index{Element@{Element}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{Element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::\-Element (
+\begin{DoxyParamCaption}
+\item[{Node $\ast$}]{node}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_a18157d69d14dad8e2a9600a3052ef341}
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_aaf32bca541ab3b6212a135a77e7f7d91}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!Element@{Element}}
+\index{Element@{Element}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{Element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::\-Element (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{element2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_aaf32bca541ab3b6212a135a77e7f7d91}
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_a5441072951b572b2859f6f0f1b55d3cc}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!$\sim$\-Element@{$\sim$\-Element}}
+\index{$\sim$\-Element@{$\sim$\-Element}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{$\sim$\-Element}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::$\sim$\-Element (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_a5441072951b572b2859f6f0f1b55d3cc}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_ace7c7fb2416ca7afd7df627a0fe57ed0}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element}\& {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_ace7c7fb2416ca7afd7df627a0fe57ed0}
+
+
+複製資料
+
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_a7e8d951ce66208a88ac8d8a177af48a5}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!operator!=@{operator!=}}
+\index{operator!=@{operator!=}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{operator!=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::operator!= (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e2}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_a7e8d951ce66208a88ac8d8a177af48a5}
+
+
+same as {\ttfamily !same}(e2)
+
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_ad860aa695abffe96716eed4a5e58d950}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Entry\& {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_ad860aa695abffe96716eed4a5e58d950}
+
+
+重導至{\ttfamily std\-::pair$<$Key} {\ttfamily const\&},{\ttfamily Value\&$>$\&}
+
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_a6344204522f3093165b1a100cc2bf6f2}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!operator-\/$>$@{operator-\/$>$}}
+\index{operator-\/$>$@{operator-\/$>$}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{operator-\/$>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ Entry$\ast$ {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::operator-\/$>$ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_a6344204522f3093165b1a100cc2bf6f2}
+
+
+重導至{\ttfamily std\-::pair$<$Key} {\ttfamily const\&},{\ttfamily Value\&$>$$\ast$}
+
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_a126d57eee520aa17868ce74112249e12}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ {\bf Element}\& {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_a126d57eee520aa17868ce74112249e12}
+
+
+same as copy\-From
+
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_a42f71bf3aa7e009582e628e87763482d}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!operator==@{operator==}}
+\index{operator==@{operator==}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::operator== (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e2}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_a42f71bf3aa7e009582e628e87763482d}
+
+
+same as {\ttfamily same(e2)}
+
+\hypertarget{classmeow_1_1SplayTree__Range_1_1Element_aea48bcfd0ad50cbdcdc15128be5e8f15}{\index{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}!same@{same}}
+\index{same@{same}!meow::SplayTree_Range::Element@{meow\-::\-Splay\-Tree\-\_\-\-Range\-::\-Element}}
+\subsubsection[{same}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Key , class Value $>$ bool {\bf meow\-::\-Splay\-Tree\-\_\-\-Range}$<$ Key, Value $>$\-::Element\-::same (
+\begin{DoxyParamCaption}
+\item[{{\bf Element} const \&}]{e2}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1SplayTree__Range_1_1Element_aea48bcfd0ad50cbdcdc15128be5e8f15}
+
+
+比對兩者是否為指向同一個\-Entry
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{SplayTree_8h}{Splay\-Tree.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Transformation.eps b/doc/latex/classmeow_1_1Transformation.eps
new file mode 100644
index 0000000..9801afe
--- /dev/null
+++ b/doc/latex/classmeow_1_1Transformation.eps
@@ -0,0 +1,213 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 83.682008
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 5.975000 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 3 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::Transformation< Scalar >) cw
+(meow::BallProjection< Scalar >) cw
+(meow::LinearTransformation< Scalar >) cw
+(meow::PhotoProjection< Scalar >) cw
+(meow::Rotation3D< Scalar >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::Transformation< Scalar >) 1.000000 2.000000 box
+ (meow::BallProjection< Scalar >) 0.000000 1.000000 box
+ (meow::LinearTransformation< Scalar >) 1.000000 1.000000 box
+ (meow::PhotoProjection< Scalar >) 2.000000 1.000000 box
+ (meow::Rotation3D< Scalar >) 1.000000 0.000000 box
+
+% ----- relations -----
+
+solid
+1 1.000000 1.250000 out
+solid
+0.000000 2.000000 2.000000 conn
+solid
+0 0.000000 1.750000 in
+solid
+0 1.000000 1.750000 in
+solid
+1 1.000000 0.250000 out
+solid
+0 2.000000 1.750000 in
+solid
+0 1.000000 0.750000 in
diff --git a/doc/latex/classmeow_1_1Transformation.pdf b/doc/latex/classmeow_1_1Transformation.pdf
new file mode 100644
index 0000000..9acb29a
--- /dev/null
+++ b/doc/latex/classmeow_1_1Transformation.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1Transformation.tex b/doc/latex/classmeow_1_1Transformation.tex
new file mode 100644
index 0000000..43b5f64
--- /dev/null
+++ b/doc/latex/classmeow_1_1Transformation.tex
@@ -0,0 +1,441 @@
+\hypertarget{classmeow_1_1Transformation}{\section{meow\-:\-:Transformation$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1Transformation}\index{meow\-::\-Transformation$<$ Scalar $>$@{meow\-::\-Transformation$<$ Scalar $>$}}
+}
+
+
+A base class for implementing kinds of transformations.
+
+
+
+
+{\ttfamily \#include \char`\"{}Transformation.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Transformation$<$ Scalar $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.343096cm]{classmeow_1_1Transformation}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+virtual \hyperlink{classmeow_1_1Transformation_a96471a49fe0b9737ad5b98b8e917385e}{$\sim$\-Transformation} ()
+\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}{input\-Rows} () const
+\begin{DoxyCompactList}\small\item\em Return the number of rows of the input matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_a1b556b6b0798d4e03cae5cdc474dca13}{input\-Cols} () const
+\begin{DoxyCompactList}\small\item\em Return the number of columns of the input matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}{output\-Rows} () const
+\begin{DoxyCompactList}\small\item\em Return the number of rows of the output matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_a45fb012c3276a37a71805590ab3d75a8}{output\-Cols} () const
+\begin{DoxyCompactList}\small\item\em Return the number of columns of the output matrix. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Transformation_a2dedc054a656a962e8556472aa767dbb}{parameter\-Size} () const
+\begin{DoxyCompactList}\small\item\em Return the number of parameters. \end{DoxyCompactList}\item
+virtual Scalar \hyperlink{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}{parameter} (size\-\_\-t i) const =0
+\begin{DoxyCompactList}\small\item\em Get the {\itshape i} -\/th parameter. \end{DoxyCompactList}\item
+virtual Scalar \hyperlink{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}{parameter} (size\-\_\-t i, Scalar const \&s)=0
+\begin{DoxyCompactList}\small\item\em Setup the {\itshape i} -\/th parameter. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}{transformate} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const =0
+\begin{DoxyCompactList}\small\item\em Do transformate. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Calculate the jacobian matrix (derivate by the input matrix) of the transformation. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}{jacobian} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x, size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Calculate the jacobian matrix (derivate by the {\itshape i} -\/th parameter) of the transformation. \end{DoxyCompactList}\item
+virtual bool \hyperlink{classmeow_1_1Transformation_a71a1e75ebcf4d692cb9f0dcfeba1c1e4}{inversable} () const
+\begin{DoxyCompactList}\small\item\em Return whether this transformation is inversable or not. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_aa9a476c677e7efc805c0fbdccfb48b38}{transformate\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Do the inverse transformation. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_a0186764bb80869bd80b81efb5bb1ee95}{jacobian\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix of the inverse transformation. \end{DoxyCompactList}\item
+virtual \hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Transformation_a4e7e3b24d0879eddc53951dfb357db0b}{jacobian\-Inv} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&x, size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em Return the jacobian matrix of the inverse transformation. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Transformation_a129b2465033d0f6c8f57e4ee36c52b6c}{Transformation} (size\-\_\-t \hyperlink{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}{input\-Rows}, size\-\_\-t \hyperlink{classmeow_1_1Transformation_a1b556b6b0798d4e03cae5cdc474dca13}{input\-Cols}, size\-\_\-t \hyperlink{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}{output\-Rows}, size\-\_\-t \hyperlink{classmeow_1_1Transformation_a45fb012c3276a37a71805590ab3d75a8}{output\-Cols}, size\-\_\-t psize)
+\item
+\hyperlink{classmeow_1_1Transformation_ac457f3968b21842afa72344e34e7ada2}{Transformation} (\hyperlink{classmeow_1_1Transformation}{Transformation} const \&b)
+\item
+\hyperlink{classmeow_1_1Transformation}{Transformation} \& \hyperlink{classmeow_1_1Transformation_abe781169171fa3b8206a91e166779d74}{copy\-From} (\hyperlink{classmeow_1_1Transformation}{Transformation} const \&b)
+\begin{DoxyCompactList}\small\item\em Copy from the specified one. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Transformation}{Transformation} \& \hyperlink{classmeow_1_1Transformation_a9b6ec99d8363742f77c63a49ba9467b5}{reference\-From} (\hyperlink{classmeow_1_1Transformation}{Transformation} const \&b)
+\begin{DoxyCompactList}\small\item\em Ceference from the specified one. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Transformation$<$ Scalar $>$}
+
+A base class for implementing kinds of transformations.
+
+We define that the input and output form of our transformations all be {\bfseries matrix} . Some advance methods such as calculating jacobian matrix will order that the input form must be a vector. \begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Transformation_a129b2465033d0f6c8f57e4ee36c52b6c}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!Transformation@{Transformation}}
+\index{Transformation@{Transformation}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::{\bf Transformation} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{input\-Rows, }
+\item[{size\-\_\-t}]{input\-Cols, }
+\item[{size\-\_\-t}]{output\-Rows, }
+\item[{size\-\_\-t}]{output\-Cols, }
+\item[{size\-\_\-t}]{psize}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Transformation_a129b2465033d0f6c8f57e4ee36c52b6c}
+Construct and setup
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em input\-Rows} & number of rows of the input matrix. \\
+\hline
+\mbox{\tt in} & {\em input\-Cols} & number of columns of the input matrix. \\
+\hline
+\mbox{\tt in} & {\em output\-Rows} & number of rows of the output matrix. \\
+\hline
+\mbox{\tt in} & {\em output\-Cols} & number of columns of the output matrix. \\
+\hline
+\mbox{\tt in} & {\em psize} & number of parameters \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Transformation_ac457f3968b21842afa72344e34e7ada2}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!Transformation@{Transformation}}
+\index{Transformation@{Transformation}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::{\bf Transformation} (
+\begin{DoxyParamCaption}
+\item[{{\bf Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Transformation_ac457f3968b21842afa72344e34e7ada2}
+Construct and copy setings from another transformation class.
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & Specify where to copy the informations. \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Transformation_a96471a49fe0b9737ad5b98b8e917385e}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!$\sim$\-Transformation@{$\sim$\-Transformation}}
+\index{$\sim$\-Transformation@{$\sim$\-Transformation}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{$\sim$\-Transformation}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::$\sim${\bf Transformation} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a96471a49fe0b9737ad5b98b8e917385e}
+Destructor
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Transformation_abe781169171fa3b8206a91e166779d74}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Transformation}\& {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Transformation_abe781169171fa3b8206a91e166779d74}
+
+
+Copy from the specified one.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & The specified one \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a1b556b6b0798d4e03cae5cdc474dca13}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!input\-Cols@{input\-Cols}}
+\index{input\-Cols@{input\-Cols}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{input\-Cols}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::input\-Cols (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_a1b556b6b0798d4e03cae5cdc474dca13}
+
+
+Return the number of columns of the input matrix.
+
+\begin{DoxyReturn}{Returns}
+Number of columns.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!input\-Rows@{input\-Rows}}
+\index{input\-Rows@{input\-Rows}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{input\-Rows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::input\-Rows (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_a9c4d19fe8d95967596b06bc026bdf200}
+
+
+Return the number of rows of the input matrix.
+
+\begin{DoxyReturn}{Returns}
+Number of rows.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a71a1e75ebcf4d692cb9f0dcfeba1c1e4}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!inversable@{inversable}}
+\index{inversable@{inversable}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{inversable}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual bool {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::inversable (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a71a1e75ebcf4d692cb9f0dcfeba1c1e4}
+
+
+Return whether this transformation is inversable or not.
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily false}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a97b459877b4e508193071fa166a126c9}
+
+
+Calculate the jacobian matrix (derivate by the input matrix) of the transformation.
+
+Consider the case of a non-\/differentiable transformation might be implemented, we return an empty matrix now instead of making it be a pure virtual method.
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix.
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1PhotoProjection_aabb88ff170cc655a3b7262af3337a0a3}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_aabb88ff170cc655a3b7262af3337a0a3}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1Rotation3D_a4846e5870c41f3694678d8acf032b8df}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_a4846e5870c41f3694678d8acf032b8df}{meow\-::\-Rotation3\-D$<$ double $>$}, and \hyperlink{classmeow_1_1BallProjection_a4fb7773f5566e93435ba56defbb7efc6}{meow\-::\-Ball\-Projection$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!jacobian@{jacobian}}
+\index{jacobian@{jacobian}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::jacobian (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a18590a4501b79a9ad38eb8fa3c966eb8}
+
+
+Calculate the jacobian matrix (derivate by the {\itshape i} -\/th parameter) of the transformation.
+
+Consider the case of a non-\/differentiable transformation might be implemented, we return an empty matrix now instead of making it be a pure virtual method.
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\mbox{\tt in} & {\em i} & The index of the specified parameter. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix.
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1PhotoProjection_a4a07aecb4474633c82d6b73dc1cdd53d}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_a4a07aecb4474633c82d6b73dc1cdd53d}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1Rotation3D_a201c56debd6cc0f4e75cb06148197726}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_a201c56debd6cc0f4e75cb06148197726}{meow\-::\-Rotation3\-D$<$ double $>$}, and \hyperlink{classmeow_1_1BallProjection_ad2d62da97dd4b527c254e62a1ec949d8}{meow\-::\-Ball\-Projection$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a0186764bb80869bd80b81efb5bb1ee95}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!jacobian\-Inv@{jacobian\-Inv}}
+\index{jacobian\-Inv@{jacobian\-Inv}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{jacobian\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::jacobian\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a0186764bb80869bd80b81efb5bb1ee95}
+
+
+Return the jacobian matrix of the inverse transformation.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matirx \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Rotation3D_ae12a31cabc1260bd7256734f0e04acfb}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_ae12a31cabc1260bd7256734f0e04acfb}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a4e7e3b24d0879eddc53951dfb357db0b}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!jacobian\-Inv@{jacobian\-Inv}}
+\index{jacobian\-Inv@{jacobian\-Inv}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{jacobian\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::jacobian\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_a4e7e3b24d0879eddc53951dfb357db0b}
+
+
+Return the jacobian matrix of the inverse transformation.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matirx \\
+\hline
+\mbox{\tt in} & {\em i} & The index of the specified parameter. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Rotation3D_af2a38c66668f6dcc11005e8f42b81f2f}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_af2a38c66668f6dcc11005e8f42b81f2f}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a45fb012c3276a37a71805590ab3d75a8}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!output\-Cols@{output\-Cols}}
+\index{output\-Cols@{output\-Cols}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{output\-Cols}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::output\-Cols (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_a45fb012c3276a37a71805590ab3d75a8}
+
+
+Return the number of columns of the output matrix.
+
+\begin{DoxyReturn}{Returns}
+Number of columns.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!output\-Rows@{output\-Rows}}
+\index{output\-Rows@{output\-Rows}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{output\-Rows}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::output\-Rows (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_aae50028aba551ad3459335299794f8af}
+
+
+Return the number of rows of the output matrix.
+
+\begin{DoxyReturn}{Returns}
+Number of rows.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual Scalar {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1Transformation_a09e71e5af508d7c0e09fdbeaacbe4365}
+
+
+Get the {\itshape i} -\/th parameter.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em i} & The index of the specified parameter. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyNote}{Note}
+It's a pure virtual method.
+\end{DoxyNote}
+
+
+Implemented in \hyperlink{classmeow_1_1PhotoProjection_a3499d5c76df3c78028f3e1b7d8cb48e6}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_a3499d5c76df3c78028f3e1b7d8cb48e6}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1BallProjection_adf2bcb2f82e9f7e2136b187317ba3211}{meow\-::\-Ball\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_ac6488df50303b564262065350186549a}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_ac6488df50303b564262065350186549a}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!parameter@{parameter}}
+\index{parameter@{parameter}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{parameter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual Scalar {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::parameter (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1Transformation_a2a90b93490712232b81a628b5057526f}
+
+
+Setup the {\itshape i} -\/th parameter.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em i} & The index of the specified parameter. \\
+\hline
+\mbox{\tt in} & {\em s} & The new value to the specified parameter. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyNote}{Note}
+It's a pure virtual method.
+\end{DoxyNote}
+
+
+Implemented in \hyperlink{classmeow_1_1PhotoProjection_adecf5a6f3f1f07d7fc6b4714fa80e8a1}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_adecf5a6f3f1f07d7fc6b4714fa80e8a1}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1BallProjection_a288814dc861482dd70129a698b1a2d7e}{meow\-::\-Ball\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_a0a7c3b7f605caf7bc54f80b25b317972}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_a0a7c3b7f605caf7bc54f80b25b317972}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+\hypertarget{classmeow_1_1Transformation_a2dedc054a656a962e8556472aa767dbb}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!parameter\-Size@{parameter\-Size}}
+\index{parameter\-Size@{parameter\-Size}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{parameter\-Size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::parameter\-Size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Transformation_a2dedc054a656a962e8556472aa767dbb}
+
+
+Return the number of parameters.
+
+\begin{DoxyReturn}{Returns}
+Number of parameters.
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_a9b6ec99d8363742f77c63a49ba9467b5}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Transformation}\& {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Transformation}$<$ Scalar $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{classmeow_1_1Transformation_a9b6ec99d8363742f77c63a49ba9467b5}
+
+
+Ceference from the specified one.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & The specified one \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily $\ast$this}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!transformate@{transformate}}
+\index{transformate@{transformate}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{transformate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::transformate (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classmeow_1_1Transformation_aa0c299b9ad13020a9eb460de01378ddc}
+
+
+Do transformate.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matrix. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyNote}{Note}
+It's a pure virtual method.
+\end{DoxyNote}
+
+
+Implemented in \hyperlink{classmeow_1_1PhotoProjection_ac4bbf64ef4341a10bc444147142c7d5f}{meow\-::\-Photo\-Projection$<$ Scalar $>$}, \hyperlink{classmeow_1_1PhotoProjection_ac4bbf64ef4341a10bc444147142c7d5f}{meow\-::\-Photo\-Projection$<$ double $>$}, \hyperlink{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, \hyperlink{classmeow_1_1Rotation3D_a566ebd46881ef0165aab55a4cf4ca169}{meow\-::\-Rotation3\-D$<$ double $>$}, and \hyperlink{classmeow_1_1BallProjection_a2573c364dd1e0d7de32b1e2afc0bb1b5}{meow\-::\-Ball\-Projection$<$ Scalar $>$}.
+
+\hypertarget{classmeow_1_1Transformation_aa9a476c677e7efc805c0fbdccfb48b38}{\index{meow\-::\-Transformation@{meow\-::\-Transformation}!transformate\-Inv@{transformate\-Inv}}
+\index{transformate\-Inv@{transformate\-Inv}!meow::Transformation@{meow\-::\-Transformation}}
+\subsubsection[{transformate\-Inv}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ virtual {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Transformation}$<$ Scalar $>$\-::transformate\-Inv (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{x}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1Transformation_aa9a476c677e7efc805c0fbdccfb48b38}
+
+
+Do the inverse transformation.
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em x} & The input matirx \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An empty matrix
+\end{DoxyReturn}
+
+
+Reimplemented in \hyperlink{classmeow_1_1Rotation3D_aa872f44ce5b53faadddc9493697cfe13}{meow\-::\-Rotation3\-D$<$ Scalar $>$}, and \hyperlink{classmeow_1_1Rotation3D_aa872f44ce5b53faadddc9493697cfe13}{meow\-::\-Rotation3\-D$<$ double $>$}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/math/\hyperlink{Transformation_8h}{Transformation.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Usage.tex b/doc/latex/classmeow_1_1Usage.tex
new file mode 100644
index 0000000..15ad9d0
--- /dev/null
+++ b/doc/latex/classmeow_1_1Usage.tex
@@ -0,0 +1,403 @@
+\hypertarget{classmeow_1_1Usage}{\section{meow\-:\-:Usage Class Reference}
+\label{classmeow_1_1Usage}\index{meow\-::\-Usage@{meow\-::\-Usage}}
+}
+
+
+管理參數設置, 自訂usage document, 分析argc, argv
+
+
+
+
+{\ttfamily \#include \char`\"{}Usage.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Usage_a5bcc22c9e69258c22462c1cb4e5b5400}{Usage} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Usage_a93bca4e2025f46bac3fbfdc36d8ab649}{Usage} (String const \&name)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Usage_a20c74babb6cc473dd3abe2a31bbe32db}{Usage} (\hyperlink{classmeow_1_1Usage}{Usage} const \&\hyperlink{classmeow_1_1Usage_a974e116cde6295ed08d836b08e0c1e99}{usage})
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Usage_ad7db9a4197d9b281c47df0800ed63df0}{import} (\hyperlink{classmeow_1_1Usage}{Usage} const \&\hyperlink{classmeow_1_1Usage_a974e116cde6295ed08d836b08e0c1e99}{usage})
+\begin{DoxyCompactList}\small\item\em 將另一個usage的設置匯入 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Usage_ac09c339c31d602eca40df02c582d5241}{update} (\hyperlink{classmeow_1_1Usage}{Usage} const \&\hyperlink{classmeow_1_1Usage_a974e116cde6295ed08d836b08e0c1e99}{usage})
+\begin{DoxyCompactList}\small\item\em 將另一個usage的選項設置加進來 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Usage_a1fbd15f59f3fdbe5e817d540505d6d6c}{option\-Add} (unsigned char opt, String const \&des)
+\begin{DoxyCompactList}\small\item\em 新增一個沒有額外選項的選項 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Usage_af5a6f3dc4d2250dce3bd74d3de48714d}{option\-Add} (unsigned char opt, String const \&des, String const \&val\-\_\-type, String const \&val\-\_\-default, bool must)
+\begin{DoxyCompactList}\small\item\em 新增一個有額外選項的選項 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Usage_a71ba10481062ed7088187cf27d7e0399}{option\-Value\-Accept\-Add} (unsigned char opt, String const \&val, String const \&des)
+\begin{DoxyCompactList}\small\item\em 針對-\/(opt)新增一個可接受的額外選項 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Usage_a095271836eecf23940608c0eafcff841}{has\-Option\-Setup} (unsigned char opt) const
+\begin{DoxyCompactList}\small\item\em 回傳是否有設定此選項 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Usage_acf478b89a1208024f9f37f1fe04add0d}{option\-Values\-Size} (unsigned char opt) const
+\begin{DoxyCompactList}\small\item\em 回傳參數 {\bfseries -\/}(opt) 被設置幾次 \end{DoxyCompactList}\item
+String \hyperlink{classmeow_1_1Usage_a79dc9b39f0fa7c810e1c8cee29e2adac}{option\-Value} (unsigned char opt, size\-\_\-t index) const
+\begin{DoxyCompactList}\small\item\em 回傳參數 {\bfseries -\/}(opt) 的第 {\bfseries index} 個額外選項 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Usage_aef05aaef7ba6433b2f4c5f313f9c0752}{proc\-Args\-Size} () const
+\begin{DoxyCompactList}\small\item\em 取得有幾個process arguments \end{DoxyCompactList}\item
+String \hyperlink{classmeow_1_1Usage_a503b7e13dd79597020805b58d3d81d9d}{proc\-Arg} (size\-\_\-t index) const
+\begin{DoxyCompactList}\small\item\em 取得第i個process argument \end{DoxyCompactList}\item
+Strings const \& \hyperlink{classmeow_1_1Usage_aa6a254158f9681e984424c2852fb20ee}{proc\-Args} () const
+\begin{DoxyCompactList}\small\item\em 取得process arguments array \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Usage_a05f4b23ce224661dbc7f308da4cb2709}{usage\-Begin\-Add} (String const \&des)
+\begin{DoxyCompactList}\small\item\em 新增一段usage document於每個選項逐條說明之前 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Usage_a4ee38098e5abdb6932a32c13a30f584d}{usage\-End\-Add} (String const \&des)
+\begin{DoxyCompactList}\small\item\em 新增一段usage document於每個選項逐條說明之後 \end{DoxyCompactList}\item
+String \hyperlink{classmeow_1_1Usage_a974e116cde6295ed08d836b08e0c1e99}{usage} () const
+\begin{DoxyCompactList}\small\item\em 回傳usage string \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Usage_a9c22701e09fec8e206118a95d7a082d1}{arguments} (\hyperlink{classint}{int} argc, char $\ast$$\ast$argv, String $\ast$errmsg)
+\begin{DoxyCompactList}\small\item\em 給定argc, argv, 將各參數設置 \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+管理參數設置, 自訂usage document, 分析argc, argv
+
+{\bfseries \hyperlink{classmeow_1_1Usage}{Usage}} 是用來分析argc, argv和輸出usage document的class. \par
+ argc, argv的部份, 有以下規則
+\begin{DoxyItemize}
+\item {\bfseries -\/c} 其中 {\itshape c} 可以代換成一個字符, 這種選像可能是 {\bfseries 有設置} 或 {\bfseries 沒設置}
+\item {\bfseries -\/c} {\itshape value} 附加一個 {\itshape value} , 這種選項可以是 {\bfseries 選擇性} 或 {\bfseries 必要的} , 另外可以給定value的預設值以及哪些value是可接受
+\item {\itshape value} 其他, 一律視為 {\bfseries process} {\bfseries arguments}
+\end{DoxyItemize}
+
+\begin{DoxyAuthor}{Author}
+cathook
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Usage_a5bcc22c9e69258c22462c1cb4e5b5400}{\index{meow\-::\-Usage@{meow\-::\-Usage}!Usage@{Usage}}
+\index{Usage@{Usage}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{Usage}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Usage\-::\-Usage (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a5bcc22c9e69258c22462c1cb4e5b5400}
+
+
+constructor
+
+所有說明文字中 {\itshape $<$name$>$} 都會被代換成空字串 \hypertarget{classmeow_1_1Usage_a93bca4e2025f46bac3fbfdc36d8ab649}{\index{meow\-::\-Usage@{meow\-::\-Usage}!Usage@{Usage}}
+\index{Usage@{Usage}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{Usage}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Usage\-::\-Usage (
+\begin{DoxyParamCaption}
+\item[{String const \&}]{name}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a93bca4e2025f46bac3fbfdc36d8ab649}
+
+
+constructor
+
+所有說明文字中 {\itshape \char`\"{}$<$name$>$\char`\"{}} 都會被代換成空字串 {\bfseries name} \hypertarget{classmeow_1_1Usage_a20c74babb6cc473dd3abe2a31bbe32db}{\index{meow\-::\-Usage@{meow\-::\-Usage}!Usage@{Usage}}
+\index{Usage@{Usage}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{Usage}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Usage\-::\-Usage (
+\begin{DoxyParamCaption}
+\item[{{\bf Usage} const \&}]{usage}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a20c74babb6cc473dd3abe2a31bbe32db}
+
+
+constructor
+
+將另一個usage原封不動的複製過來
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Usage_a9c22701e09fec8e206118a95d7a082d1}{\index{meow\-::\-Usage@{meow\-::\-Usage}!arguments@{arguments}}
+\index{arguments@{arguments}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{arguments}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::\-Usage\-::arguments (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{argc, }
+\item[{char $\ast$$\ast$}]{argv, }
+\item[{String $\ast$}]{errmsg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a9c22701e09fec8e206118a95d7a082d1}
+
+
+給定argc, argv, 將各參數設置
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em argc,argv} & \\
+\hline
+\mbox{\tt out} & {\em errmsg} & 將錯誤訊息寫到這裡 (若給定\-N\-U\-L\-L pointer, 則會把錯誤訊息忽略) \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} {\bfseries 成功與否} (否的話代表有錯誤的設定值在其中)
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_a095271836eecf23940608c0eafcff841}{\index{meow\-::\-Usage@{meow\-::\-Usage}!has\-Option\-Setup@{has\-Option\-Setup}}
+\index{has\-Option\-Setup@{has\-Option\-Setup}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{has\-Option\-Setup}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::\-Usage\-::has\-Option\-Setup (
+\begin{DoxyParamCaption}
+\item[{unsigned char}]{opt}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a095271836eecf23940608c0eafcff841}
+
+
+回傳是否有設定此選項
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em opt} & 指定字符 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表 {\bfseries 是否有設定此選項}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_ad7db9a4197d9b281c47df0800ed63df0}{\index{meow\-::\-Usage@{meow\-::\-Usage}!import@{import}}
+\index{import@{import}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{import}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::\-Usage\-::import (
+\begin{DoxyParamCaption}
+\item[{{\bf Usage} const \&}]{usage}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_ad7db9a4197d9b281c47df0800ed63df0}
+
+
+將另一個usage的設置匯入
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em usage} & 另一個usage \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表示 {\bfseries 是否成功}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_a1fbd15f59f3fdbe5e817d540505d6d6c}{\index{meow\-::\-Usage@{meow\-::\-Usage}!option\-Add@{option\-Add}}
+\index{option\-Add@{option\-Add}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{option\-Add}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::\-Usage\-::option\-Add (
+\begin{DoxyParamCaption}
+\item[{unsigned char}]{opt, }
+\item[{String const \&}]{des}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a1fbd15f59f3fdbe5e817d540505d6d6c}
+
+
+新增一個沒有額外選項的選項
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em opt} & 指定字符 \\
+\hline
+\mbox{\tt in} & {\em des} & 即description, 用來解釋這個選項的意義用的 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表 {\bfseries 是否成功}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_af5a6f3dc4d2250dce3bd74d3de48714d}{\index{meow\-::\-Usage@{meow\-::\-Usage}!option\-Add@{option\-Add}}
+\index{option\-Add@{option\-Add}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{option\-Add}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::\-Usage\-::option\-Add (
+\begin{DoxyParamCaption}
+\item[{unsigned char}]{opt, }
+\item[{String const \&}]{des, }
+\item[{String const \&}]{val\-\_\-type, }
+\item[{String const \&}]{val\-\_\-default, }
+\item[{bool}]{must}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_af5a6f3dc4d2250dce3bd74d3de48714d}
+
+
+新增一個有額外選項的選項
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em opt} & 指定字符 \\
+\hline
+\mbox{\tt in} & {\em des} & 即description, 用來解釋這個選項的意義用的 \\
+\hline
+\mbox{\tt in} & {\em val\-\_\-type} & 表示額外選項的型態, 寫在\-U\-S\-A\-G\-E裡面給人看用的 \\
+\hline
+\mbox{\tt in} & {\em val\-\_\-default} & 預設值, 若為空字串則當作沒有預設值 \\
+\hline
+\mbox{\tt in} & {\em must} & 表示是否一定要設定 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表 {\bfseries 是否成功}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_a79dc9b39f0fa7c810e1c8cee29e2adac}{\index{meow\-::\-Usage@{meow\-::\-Usage}!option\-Value@{option\-Value}}
+\index{option\-Value@{option\-Value}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{option\-Value}]{\setlength{\rightskip}{0pt plus 5cm}String meow\-::\-Usage\-::option\-Value (
+\begin{DoxyParamCaption}
+\item[{unsigned char}]{opt, }
+\item[{size\-\_\-t}]{index}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a79dc9b39f0fa7c810e1c8cee29e2adac}
+
+
+回傳參數 {\bfseries -\/}(opt) 的第 {\bfseries index} 個額外選項
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em opt} & 指定字符 \\
+\hline
+\mbox{\tt in} & {\em index} & 第幾個 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+回傳參數 {\bfseries -\/}(opt) 的第 {\bfseries index} 個額外選項
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_a71ba10481062ed7088187cf27d7e0399}{\index{meow\-::\-Usage@{meow\-::\-Usage}!option\-Value\-Accept\-Add@{option\-Value\-Accept\-Add}}
+\index{option\-Value\-Accept\-Add@{option\-Value\-Accept\-Add}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{option\-Value\-Accept\-Add}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::\-Usage\-::option\-Value\-Accept\-Add (
+\begin{DoxyParamCaption}
+\item[{unsigned char}]{opt, }
+\item[{String const \&}]{val, }
+\item[{String const \&}]{des}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a71ba10481062ed7088187cf27d7e0399}
+
+
+針對-\/(opt)新增一個可接受的額外選項
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em opt} & 指定字符 \\
+\hline
+\mbox{\tt in} & {\em val} & 額外選項 \\
+\hline
+\mbox{\tt in} & {\em des} & 關於此額外選項的說明 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表 {\bfseries 是否成功}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_acf478b89a1208024f9f37f1fe04add0d}{\index{meow\-::\-Usage@{meow\-::\-Usage}!option\-Values\-Size@{option\-Values\-Size}}
+\index{option\-Values\-Size@{option\-Values\-Size}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{option\-Values\-Size}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t meow\-::\-Usage\-::option\-Values\-Size (
+\begin{DoxyParamCaption}
+\item[{unsigned char}]{opt}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_acf478b89a1208024f9f37f1fe04add0d}
+
+
+回傳參數 {\bfseries -\/}(opt) 被設置幾次
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em opt} & 指定字符 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+回傳次數
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_a503b7e13dd79597020805b58d3d81d9d}{\index{meow\-::\-Usage@{meow\-::\-Usage}!proc\-Arg@{proc\-Arg}}
+\index{proc\-Arg@{proc\-Arg}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{proc\-Arg}]{\setlength{\rightskip}{0pt plus 5cm}String meow\-::\-Usage\-::proc\-Arg (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{index}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a503b7e13dd79597020805b58d3d81d9d}
+
+
+取得第i個process argument
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em index} & 第幾個 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+回傳第 {\itshape index} 個 {\bfseries process} {\bfseries argument}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_aa6a254158f9681e984424c2852fb20ee}{\index{meow\-::\-Usage@{meow\-::\-Usage}!proc\-Args@{proc\-Args}}
+\index{proc\-Args@{proc\-Args}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{proc\-Args}]{\setlength{\rightskip}{0pt plus 5cm}Strings const\& meow\-::\-Usage\-::proc\-Args (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_aa6a254158f9681e984424c2852fb20ee}
+
+
+取得process arguments array
+
+\begin{DoxyReturn}{Returns}
+一個 {\ttfamily std\-::vector} , 包含所有 {\bfseries Process} {\bfseries arguments}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_aef05aaef7ba6433b2f4c5f313f9c0752}{\index{meow\-::\-Usage@{meow\-::\-Usage}!proc\-Args\-Size@{proc\-Args\-Size}}
+\index{proc\-Args\-Size@{proc\-Args\-Size}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{proc\-Args\-Size}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t meow\-::\-Usage\-::proc\-Args\-Size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_aef05aaef7ba6433b2f4c5f313f9c0752}
+
+
+取得有幾個process arguments
+
+\begin{DoxyReturn}{Returns}
+有幾個process arguments
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_ac09c339c31d602eca40df02c582d5241}{\index{meow\-::\-Usage@{meow\-::\-Usage}!update@{update}}
+\index{update@{update}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::\-Usage\-::update (
+\begin{DoxyParamCaption}
+\item[{{\bf Usage} const \&}]{usage}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_ac09c339c31d602eca40df02c582d5241}
+
+
+將另一個usage的選項設置加進來
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em usage} & 另一個usage \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表 {\bfseries 是否成功}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_a974e116cde6295ed08d836b08e0c1e99}{\index{meow\-::\-Usage@{meow\-::\-Usage}!usage@{usage}}
+\index{usage@{usage}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{usage}]{\setlength{\rightskip}{0pt plus 5cm}String meow\-::\-Usage\-::usage (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a974e116cde6295ed08d836b08e0c1e99}
+
+
+回傳usage string
+
+\begin{DoxyReturn}{Returns}
+{\bfseries usage} {\bfseries string}
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Usage_a05f4b23ce224661dbc7f308da4cb2709}{\index{meow\-::\-Usage@{meow\-::\-Usage}!usage\-Begin\-Add@{usage\-Begin\-Add}}
+\index{usage\-Begin\-Add@{usage\-Begin\-Add}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{usage\-Begin\-Add}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::\-Usage\-::usage\-Begin\-Add (
+\begin{DoxyParamCaption}
+\item[{String const \&}]{des}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a05f4b23ce224661dbc7f308da4cb2709}
+
+
+新增一段usage document於每個選項逐條說明之前
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em des} & 要新增的usage document \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Usage_a4ee38098e5abdb6932a32c13a30f584d}{\index{meow\-::\-Usage@{meow\-::\-Usage}!usage\-End\-Add@{usage\-End\-Add}}
+\index{usage\-End\-Add@{usage\-End\-Add}!meow::Usage@{meow\-::\-Usage}}
+\subsubsection[{usage\-End\-Add}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::\-Usage\-::usage\-End\-Add (
+\begin{DoxyParamCaption}
+\item[{String const \&}]{des}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Usage_a4ee38098e5abdb6932a32c13a30f584d}
+
+
+新增一段usage document於每個選項逐條說明之後
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em des} & 要新增的usage document \\
+\hline
+\end{DoxyParams}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/\hyperlink{Usage_8h}{Usage.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1VP__Tree.tex b/doc/latex/classmeow_1_1VP__Tree.tex
new file mode 100644
index 0000000..b9ea41e
--- /dev/null
+++ b/doc/latex/classmeow_1_1VP__Tree.tex
@@ -0,0 +1,238 @@
+\hypertarget{classmeow_1_1VP__Tree}{\section{meow\-:\-:V\-P\-\_\-\-Tree$<$ Vector, Scalar $>$ Class Template Reference}
+\label{classmeow_1_1VP__Tree}\index{meow\-::\-V\-P\-\_\-\-Tree$<$ Vector, Scalar $>$@{meow\-::\-V\-P\-\_\-\-Tree$<$ Vector, Scalar $>$}}
+}
+
+
+跟\-K\-D\-\_\-\-Tree很像歐
+
+
+
+
+{\ttfamily \#include \char`\"{}V\-P\-\_\-\-Tree.\-h\char`\"{}}
+
+\subsection*{Public Types}
+\begin{DoxyCompactItemize}
+\item
+typedef std\-::vector$<$ \hyperlink{classmeow_1_1Vector}{Vector} $>$ \hyperlink{classmeow_1_1VP__Tree_a02c136810876c8713b9760aa8bb51aa4}{Vectors}
+\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1VP__Tree_ab611c988f5c567498d40866e9eab3851}{V\-P\-\_\-\-Tree} ()
+\begin{DoxyCompactList}\small\item\em constructor, with dimension = 1 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1VP__Tree_a1f301f751afe7baf5eafe6964c6a7a15}{V\-P\-\_\-\-Tree} (\hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree} const \&tree2)
+\begin{DoxyCompactList}\small\item\em constructor, 複製資料 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1VP__Tree_a5ce274e16a28c6ef5cac63c6e3258d8b}{V\-P\-\_\-\-Tree} (size\-\_\-t dimension)
+\begin{DoxyCompactList}\small\item\em constructor, 給定dimension \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1VP__Tree_a599a1fba89e0e5a06fa1e71c81bc5216}{$\sim$\-V\-P\-\_\-\-Tree} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree} \& \hyperlink{classmeow_1_1VP__Tree_afcc9734a4e012d6dfdab408d5c698905}{copy\-From} (\hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree} const \&tree2)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1VP__Tree_a2319a3995c4b6ad415a4997764e83b3f}{insert} (\hyperlink{classmeow_1_1Vector}{Vector} const \&vector)
+\begin{DoxyCompactList}\small\item\em 將給定的\-Vector加到set中 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1VP__Tree_aa53e215a7e6daa3edfba4201602c8894}{erase} (\hyperlink{classmeow_1_1Vector}{Vector} const \&vector)
+\begin{DoxyCompactList}\small\item\em 將給定的\-Vector從set移除 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1VP__Tree_a4688e0675080bf406a086d176c5555b9}{build} ()
+\begin{DoxyCompactList}\small\item\em 檢查至今是否有 insert/erase 被呼叫來決定是否 {\ttfamily rebuild()} \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1VP__Tree_aa4adfa52bd1cee8703b49a5ecf906733}{force\-Build} ()
+\begin{DoxyCompactList}\small\item\em 重新建樹 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1VP__Tree_a02c136810876c8713b9760aa8bb51aa4}{Vectors} \hyperlink{classmeow_1_1VP__Tree_a22db303a6318b2ef58957b22063cb591}{query} (\hyperlink{classmeow_1_1Vector}{Vector} const \&vector, size\-\_\-t nearest\-Number, bool compare\-Whole\-Vector) const
+\begin{DoxyCompactList}\small\item\em 查找 \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1VP__Tree_ac4d1a186226b2d27abce9eb71149c62c}{clear} ()
+\begin{DoxyCompactList}\small\item\em 清空所有資料 \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1VP__Tree_ad1bffde18bc2f0fc955e78fe77333558}{reset} (size\-\_\-t dimension)
+\begin{DoxyCompactList}\small\item\em 清空所有資料並重新給定維度 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree} \& \hyperlink{classmeow_1_1VP__Tree_a7c73bb25b40f440b48267f94fa4561ad}{operator=} (\hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree} const \&tree2)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(tree2)} \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Vector, class Scalar$>$class meow\-::\-V\-P\-\_\-\-Tree$<$ Vector, Scalar $>$}
+
+跟\-K\-D\-\_\-\-Tree很像歐
+
+{\ttfamily \hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree}} 用來維護由 {\bfseries N個\-K維度向量所成的集合} , 並可於該set中查找 {\bfseries 前i個離給定向量最接近的向量$\ast$} . 不像 {\ttfamily \hyperlink{classmeow_1_1KD__Tree}{K\-D\-\_\-\-Tree}} 二分樹每次都選擇一個維度去分, 分成小的跟大的, {\ttfamily \hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree}} 每次選一個點, 將資料分成 離這個點近的, 跟離這個點遠的. 至於怎麼選呢...., 嘛還沒研究, 先random
+
+參考資料連結\-:
+\begin{DoxyItemize}
+\item \href{http://stevehanov.ca/blog/index.php?id=130}{\tt http\-://stevehanov.\-ca/blog/index.\-php?id=130}
+\item \href{http://pnylab.com/pny/papers/vptree/vptree}{\tt http\-://pnylab.\-com/pny/papers/vptree/vptree}
+\end{DoxyItemize}
+
+\subsubsection*{Template Class Operators Request}
+
+\begin{TabularC}{6}
+\hline
+\rowcolor{lightgray}\PBS\raggedleft {\bf const?}&\PBS\centering {\bf Typename}&\PBS\raggedleft {\bf Operator }&{\bf Parameters }&\PBS\centering {\bf Return Type }&{\bf Description }\\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering \hyperlink{classmeow_1_1Vector}{Vector}&\PBS\raggedleft operator\mbox{[}\mbox{]} &(size\-\_\-t {\ttfamily n}) &\PBS\centering Scalar &取得第{\ttfamily n} 維度量 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering \hyperlink{classmeow_1_1Vector}{Vector}&\PBS\raggedleft operator= &(\hyperlink{classmeow_1_1Vector}{Vector} {\ttfamily v}) &\PBS\centering \hyperlink{classmeow_1_1Vector}{Vector}\& &copy operator \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering \hyperlink{classmeow_1_1Vector}{Vector}&\PBS\raggedleft operator$<$ &(\hyperlink{classmeow_1_1Vector}{Vector} {\ttfamily v}) &\PBS\centering bool &權重比較 \\\cline{1-6}
+\PBS\raggedleft const &\PBS\centering Scalar&\PBS\raggedleft 'Scalar' &(int {\ttfamily n}) &\PBS\centering Scalar &建構子, \\\cline{1-6}
+\end{TabularC}
+其中一定{\ttfamily n=0or4} $|$ $|$const $|$ Scalar$|$operator$\ast$ $|$(Scalar {\ttfamily s}) $|$ Scalar $|$ 相乘 $|$ $|$const $|$ Scalar$|$operator+ $|$(Scalar {\ttfamily s}) $|$ Scalar $|$ 相加 $|$ $|$const $|$ Scalar$|$operator-\/ $|$(Scalar {\ttfamily s}) $|$ Scalar $|$ 相差 $|$ $|$const $|$ Scalar$|$operator-\/ $|$( ) $|$ Scalar $|$ 取負號 $|$ $|$const $|$ Scalar$|$operator$<$ $|$(Scalar {\ttfamily s}) $|$ bool $|$ 大小比較 $|$
+
+\begin{DoxyNote}{Note}
+\-: -\/實測結果發覺, 維度小的時候, 比起中規中矩的 {\ttfamily \hyperlink{classmeow_1_1KD__Tree}{K\-D\-\_\-\-Tree}}, {\ttfamily \hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree}} 有 {\bfseries random} 於其中, 因此時間複雜度只是期望值 {\ttfamily O(log\-N)} 但是測資大到 一定程度, {\ttfamily \hyperlink{classmeow_1_1KD__Tree}{K\-D\-\_\-\-Tree}} 效率會一整個大幅掉下, 但 {\ttfamily \hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree}} 幾乎不受影響 -\/\-T\-O\-D\-O {\ttfamily \hyperlink{classmeow_1_1VP__Tree_a2319a3995c4b6ad415a4997764e83b3f}{insert()}}, {\ttfamily \hyperlink{classmeow_1_1VP__Tree_aa53e215a7e6daa3edfba4201602c8894}{erase()}} 算是未完成功能
+\end{DoxyNote}
+
+
+\subsection{Member Typedef Documentation}
+\hypertarget{classmeow_1_1VP__Tree_a02c136810876c8713b9760aa8bb51aa4}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!Vectors@{Vectors}}
+\index{Vectors@{Vectors}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{Vectors}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ typedef std\-::vector$<${\bf Vector}$>$ {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::{\bf Vectors}}}\label{classmeow_1_1VP__Tree_a02c136810876c8713b9760aa8bb51aa4}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1VP__Tree_ab611c988f5c567498d40866e9eab3851}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!V\-P\-\_\-\-Tree@{V\-P\-\_\-\-Tree}}
+\index{V\-P\-\_\-\-Tree@{V\-P\-\_\-\-Tree}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{V\-P\-\_\-\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::{\bf V\-P\-\_\-\-Tree} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_ab611c988f5c567498d40866e9eab3851}
+
+
+constructor, with dimension = 1
+
+\hypertarget{classmeow_1_1VP__Tree_a1f301f751afe7baf5eafe6964c6a7a15}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!V\-P\-\_\-\-Tree@{V\-P\-\_\-\-Tree}}
+\index{V\-P\-\_\-\-Tree@{V\-P\-\_\-\-Tree}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{V\-P\-\_\-\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::{\bf V\-P\-\_\-\-Tree} (
+\begin{DoxyParamCaption}
+\item[{{\bf V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_a1f301f751afe7baf5eafe6964c6a7a15}
+
+
+constructor, 複製資料
+
+\hypertarget{classmeow_1_1VP__Tree_a5ce274e16a28c6ef5cac63c6e3258d8b}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!V\-P\-\_\-\-Tree@{V\-P\-\_\-\-Tree}}
+\index{V\-P\-\_\-\-Tree@{V\-P\-\_\-\-Tree}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{V\-P\-\_\-\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::{\bf V\-P\-\_\-\-Tree} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_a5ce274e16a28c6ef5cac63c6e3258d8b}
+
+
+constructor, 給定dimension
+
+\hypertarget{classmeow_1_1VP__Tree_a599a1fba89e0e5a06fa1e71c81bc5216}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!$\sim$\-V\-P\-\_\-\-Tree@{$\sim$\-V\-P\-\_\-\-Tree}}
+\index{$\sim$\-V\-P\-\_\-\-Tree@{$\sim$\-V\-P\-\_\-\-Tree}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{$\sim$\-V\-P\-\_\-\-Tree}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::$\sim${\bf V\-P\-\_\-\-Tree} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_a599a1fba89e0e5a06fa1e71c81bc5216}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1VP__Tree_a4688e0675080bf406a086d176c5555b9}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!build@{build}}
+\index{build@{build}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{build}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ void {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::build (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_a4688e0675080bf406a086d176c5555b9}
+
+
+檢查至今是否有 insert/erase 被呼叫來決定是否 {\ttfamily rebuild()}
+
+\hypertarget{classmeow_1_1VP__Tree_ac4d1a186226b2d27abce9eb71149c62c}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!clear@{clear}}
+\index{clear@{clear}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ void {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::clear (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_ac4d1a186226b2d27abce9eb71149c62c}
+
+
+清空所有資料
+
+\hypertarget{classmeow_1_1VP__Tree_afcc9734a4e012d6dfdab408d5c698905}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ {\bf V\-P\-\_\-\-Tree}\& {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_afcc9734a4e012d6dfdab408d5c698905}
+
+
+複製資料
+
+\hypertarget{classmeow_1_1VP__Tree_aa53e215a7e6daa3edfba4201602c8894}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!erase@{erase}}
+\index{erase@{erase}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{erase}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ bool {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::erase (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector} const \&}]{vector}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_aa53e215a7e6daa3edfba4201602c8894}
+
+
+將給定的\-Vector從set移除
+
+\hypertarget{classmeow_1_1VP__Tree_aa4adfa52bd1cee8703b49a5ecf906733}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!force\-Build@{force\-Build}}
+\index{force\-Build@{force\-Build}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{force\-Build}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ void {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::force\-Build (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_aa4adfa52bd1cee8703b49a5ecf906733}
+
+
+重新建樹
+
+\hypertarget{classmeow_1_1VP__Tree_a2319a3995c4b6ad415a4997764e83b3f}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!insert@{insert}}
+\index{insert@{insert}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ void {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::insert (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector} const \&}]{vector}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_a2319a3995c4b6ad415a4997764e83b3f}
+
+
+將給定的\-Vector加到set中
+
+\hypertarget{classmeow_1_1VP__Tree_a7c73bb25b40f440b48267f94fa4561ad}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ {\bf V\-P\-\_\-\-Tree}\& {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$ const \&}]{tree2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_a7c73bb25b40f440b48267f94fa4561ad}
+
+
+same as {\ttfamily copy\-From(tree2)}
+
+\hypertarget{classmeow_1_1VP__Tree_a22db303a6318b2ef58957b22063cb591}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!query@{query}}
+\index{query@{query}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{query}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ {\bf Vectors} {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::query (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector} const \&}]{vector, }
+\item[{size\-\_\-t}]{nearest\-Number, }
+\item[{bool}]{compare\-Whole\-Vector}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_a22db303a6318b2ef58957b22063cb591}
+
+
+查找
+
+於set中找尋距離指定向量前 {\ttfamily i} 近的向量, 並依照由近而遠的順序排序. 如果有兩個向量{\ttfamily v1},v2 距離一樣, 且 {\ttfamily cmp} 為{\ttfamily true} , 則直接依照 {\ttfamily v1$<$v2} 來決定誰在前面. 最後回傳一陣列包含所有解. \hypertarget{classmeow_1_1VP__Tree_ad1bffde18bc2f0fc955e78fe77333558}{\index{meow\-::\-V\-P\-\_\-\-Tree@{meow\-::\-V\-P\-\_\-\-Tree}!reset@{reset}}
+\index{reset@{reset}!meow::VP_Tree@{meow\-::\-V\-P\-\_\-\-Tree}}
+\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Vector, class Scalar$>$ size\-\_\-t {\bf meow\-::\-V\-P\-\_\-\-Tree}$<$ {\bf Vector}, Scalar $>$\-::reset (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{dimension}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1VP__Tree_ad1bffde18bc2f0fc955e78fe77333558}
+
+
+清空所有資料並重新給定維度
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/dsa/\hyperlink{VP__Tree_8h}{V\-P\-\_\-\-Tree.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Vector.tex b/doc/latex/classmeow_1_1Vector.tex
new file mode 100644
index 0000000..e2abffd
--- /dev/null
+++ b/doc/latex/classmeow_1_1Vector.tex
@@ -0,0 +1,592 @@
+\hypertarget{classmeow_1_1Vector}{\section{meow\-:\-:Vector$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1Vector}\index{meow\-::\-Vector$<$ Scalar $>$@{meow\-::\-Vector$<$ Scalar $>$}}
+}
+
+
+{\bfseries vector}
+
+
+
+
+{\ttfamily \#include \char`\"{}Vector.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Vector_a68530affccd332248e476cc3e188cd61}{Vector} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector_a7def8437ada844cc6b6dc9769aba1ee6}{Vector} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector_a34ca34c834e47288894cec2445e5b073}{Vector} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&m)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector_af4966b6e2df19fa6d2752460b1e8afff}{Vector} (\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \&m, size\-\_\-t i)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector_a58f997cdc6b98a76ae13bba6d685d815}{Vector} (std\-::vector$<$ Scalar $>$ const \&v)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector_a5589e07881f9f6a7bb7c43630d30ecdd}{Vector} (size\-\_\-t d, Scalar const \&e)
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector_aee0da81d6a393d2abf7bf20c2ef260c3}{$\sim$\-Vector} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \& \hyperlink{classmeow_1_1Vector_a52540cc03073243026770587c35beba0}{copy\-From} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v)
+\begin{DoxyCompactList}\small\item\em copy from ... \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \& \hyperlink{classmeow_1_1Vector_ad46346bcc2250cbf91803d38df9d538e}{reference\-From} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v)
+\begin{DoxyCompactList}\small\item\em reference from ... \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ const \& \hyperlink{classmeow_1_1Vector_ad3b1665885c683f41b94fd59b0f5e084}{matrix} () const
+\begin{DoxyCompactList}\small\item\em Return a {\itshape dimension} x 1 matrix form of it. \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Vector_a554bb098d8af7ef1458624e8b1f47e6a}{dimension} () const
+\begin{DoxyCompactList}\small\item\em return dimension \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1Vector_ada37bc2df18e7c892d4b5e2ac34bf025}{dimension} (size\-\_\-t d, Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em resize the dimension \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1Vector_a98f150719042e458d52a1476ae9fd52e}{valid} () const
+\begin{DoxyCompactList}\small\item\em Return whether {\ttfamily dimension$>$0} is true or not. \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector_af5ecb8d9cc811a2d56e1725c4bfd30e8}{entry} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em return {\itshape i} -\/th entry \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector_a5050e9117204a6dbdcc7cf5038845c00}{entry} (size\-\_\-t i, Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em change {\itshape i} -\/th entry \end{DoxyCompactList}\item
+void \hyperlink{classmeow_1_1Vector_adc55ef7402cf4114ea5696df18545618}{entries} (size\-\_\-t i, size\-\_\-t j, Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em change {\itshape i} -\/th to {\itshape j} -\/th entries \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_a70c2620d25f6a36dc6d6aa38851b1c7a}{sub\-Vector} (size\-\_\-t i, size\-\_\-t j)
+\begin{DoxyCompactList}\small\item\em subvector form i-\/th to j-\/th \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_a200453ad223a040147a2dc92e4222589}{positive} () const
+\begin{DoxyCompactList}\small\item\em return +{\itshape }($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_abefb870f27490906e326a6f94a896f7c}{negative} () const
+\begin{DoxyCompactList}\small\item\em return -\/{\itshape }($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_a43f91063553124efdd23d7f3db1599ac}{add} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)+v \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_ad2e490231e4b624ef86f958b99c94533}{sub} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)-\/v \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_a45bd0b9c27a2fc83f1d00106c976751c}{mul} (Scalar const \&s) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)$\ast$s , where s is a scalar \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_ac813d8c46325f8ec4771a7cc315c8908}{div} (Scalar const \&s) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)/s , where s is a scalar \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector_a9228c4b935c57cd2af9cb07218eca452}{dot} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v) const
+\begin{DoxyCompactList}\small\item\em dot \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector_afc7cc691dd00ab41fd56d798c13a6a27}{length} () const
+\begin{DoxyCompactList}\small\item\em sqrt of {\itshape length2} \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector_a71b56938e01de730490e722824f4b53e}{length2} () const
+\begin{DoxyCompactList}\small\item\em same as {\itshape }($\ast$this).dot($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_ab675b777186dd4903367bc77922893ee}{normalize} () const
+\begin{DoxyCompactList}\small\item\em return a normalize form of itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \& \hyperlink{classmeow_1_1Vector_aadbed69a847ce560210d0513c2156448}{normalized} ()
+\begin{DoxyCompactList}\small\item\em Let itself be normalize form. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \& \hyperlink{classmeow_1_1Vector_a8cad36b5fab47f3d50b840ff26260623}{operator=} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v)
+\begin{DoxyCompactList}\small\item\em same as copy\-From \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector_a6591f95bda6b9724d2f66fc1254bfa7a}{operator()} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em same as entry(i) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_af10156730c992a5597ca674940157fe8}{operator+} () const
+\begin{DoxyCompactList}\small\item\em same as \hyperlink{classmeow_1_1Vector_a200453ad223a040147a2dc92e4222589}{positive()} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_a510da6e6a0470bf2312e62c1b43a310a}{operator-\/} () const
+\begin{DoxyCompactList}\small\item\em same as \hyperlink{classmeow_1_1Vector_abefb870f27490906e326a6f94a896f7c}{negative()} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_a0a6eade258af4979692fa325dd59429c}{operator+} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v) const
+\begin{DoxyCompactList}\small\item\em same as add(v) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_ac3e4b43822b9091c3eab7215c52b140d}{operator-\/} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v) const
+\begin{DoxyCompactList}\small\item\em same as sub(v) \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector_a8180db77db8e6ef30a15f4bd1fcb7ef1}{operator$\ast$} (\hyperlink{classmeow_1_1Vector}{Vector} const \&v) const
+\begin{DoxyCompactList}\small\item\em same as dot(v) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_a3fdb5ccf26fe0602f7bd08e1ecfc940c}{operator$\ast$} (Scalar const \&s) const
+\begin{DoxyCompactList}\small\item\em same as mul(s) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector}{Vector} \hyperlink{classmeow_1_1Vector_a74e4cf085fd43a51c50872ea9b42c47e}{operator/} (Scalar const \&s) const
+\begin{DoxyCompactList}\small\item\em same as div(s) \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Vector$<$ Scalar $>$}
+
+{\bfseries vector}
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Vector_a68530affccd332248e476cc3e188cd61}{\index{meow\-::\-Vector@{meow\-::\-Vector}!Vector@{Vector}}
+\index{Vector@{Vector}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector}$<$ Scalar $>$\-::{\bf Vector} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a68530affccd332248e476cc3e188cd61}
+
+
+constructor
+
+With {\bfseries dimension=0}, which means {\bfseries invalid}. \hypertarget{classmeow_1_1Vector_a7def8437ada844cc6b6dc9769aba1ee6}{\index{meow\-::\-Vector@{meow\-::\-Vector}!Vector@{Vector}}
+\index{Vector@{Vector}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector}$<$ Scalar $>$\-::{\bf Vector} (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a7def8437ada844cc6b6dc9769aba1ee6}
+
+
+constructor
+
+Copy from another vector
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em v} & another vector \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Vector_a34ca34c834e47288894cec2445e5b073}{\index{meow\-::\-Vector@{meow\-::\-Vector}!Vector@{Vector}}
+\index{Vector@{Vector}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector}$<$ Scalar $>$\-::{\bf Vector} (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{m}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a34ca34c834e47288894cec2445e5b073}
+
+
+constructor
+
+From matrix's first column
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em m} & matrix \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Vector_af4966b6e2df19fa6d2752460b1e8afff}{\index{meow\-::\-Vector@{meow\-::\-Vector}!Vector@{Vector}}
+\index{Vector@{Vector}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector}$<$ Scalar $>$\-::{\bf Vector} (
+\begin{DoxyParamCaption}
+\item[{{\bf Matrix}$<$ Scalar $>$ const \&}]{m, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_af4966b6e2df19fa6d2752460b1e8afff}
+
+
+constructor
+
+From matrix's {\itshape i-\/th} column
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em m} & matrix \\
+\hline
+\mbox{\tt in} & {\em i} & i-\/th \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Vector_a58f997cdc6b98a76ae13bba6d685d815}{\index{meow\-::\-Vector@{meow\-::\-Vector}!Vector@{Vector}}
+\index{Vector@{Vector}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector}$<$ Scalar $>$\-::{\bf Vector} (
+\begin{DoxyParamCaption}
+\item[{std\-::vector$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a58f997cdc6b98a76ae13bba6d685d815}
+
+
+constructor
+
+Copy from another std\-::vector
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em v} & vector \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Vector_a5589e07881f9f6a7bb7c43630d30ecdd}{\index{meow\-::\-Vector@{meow\-::\-Vector}!Vector@{Vector}}
+\index{Vector@{Vector}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector}$<$ Scalar $>$\-::{\bf Vector} (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{d, }
+\item[{Scalar const \&}]{e}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a5589e07881f9f6a7bb7c43630d30ecdd}
+
+
+constructor
+
+setup dimension and inital value
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em d} & dimension \\
+\hline
+\mbox{\tt in} & {\em e} & inital value \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Vector_aee0da81d6a393d2abf7bf20c2ef260c3}{\index{meow\-::\-Vector@{meow\-::\-Vector}!$\sim$\-Vector@{$\sim$\-Vector}}
+\index{$\sim$\-Vector@{$\sim$\-Vector}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{$\sim$\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector}$<$ Scalar $>$\-::$\sim${\bf Vector} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_aee0da81d6a393d2abf7bf20c2ef260c3}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Vector_a43f91063553124efdd23d7f3db1599ac}{\index{meow\-::\-Vector@{meow\-::\-Vector}!add@{add}}
+\index{add@{add}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a43f91063553124efdd23d7f3db1599ac}
+
+
+return {\itshape }($\ast$this)+v
+
+\hypertarget{classmeow_1_1Vector_a52540cc03073243026770587c35beba0}{\index{meow\-::\-Vector@{meow\-::\-Vector}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector}\& {\bf meow\-::\-Vector}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a52540cc03073243026770587c35beba0}
+
+
+copy from ...
+
+\hypertarget{classmeow_1_1Vector_a554bb098d8af7ef1458624e8b1f47e6a}{\index{meow\-::\-Vector@{meow\-::\-Vector}!dimension@{dimension}}
+\index{dimension@{dimension}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Vector}$<$ Scalar $>$\-::dimension (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a554bb098d8af7ef1458624e8b1f47e6a}
+
+
+return dimension
+
+\hypertarget{classmeow_1_1Vector_ada37bc2df18e7c892d4b5e2ac34bf025}{\index{meow\-::\-Vector@{meow\-::\-Vector}!dimension@{dimension}}
+\index{dimension@{dimension}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{dimension}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ size\-\_\-t {\bf meow\-::\-Vector}$<$ Scalar $>$\-::dimension (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{d, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_ada37bc2df18e7c892d4b5e2ac34bf025}
+
+
+resize the dimension
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em d} & new dimension \\
+\hline
+\mbox{\tt in} & {\em s} & inital entry \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+new dimension
+\end{DoxyReturn}
+\hypertarget{classmeow_1_1Vector_ac813d8c46325f8ec4771a7cc315c8908}{\index{meow\-::\-Vector@{meow\-::\-Vector}!div@{div}}
+\index{div@{div}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{div}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::div (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_ac813d8c46325f8ec4771a7cc315c8908}
+
+
+return {\itshape }($\ast$this)/s , where s is a scalar
+
+\hypertarget{classmeow_1_1Vector_a9228c4b935c57cd2af9cb07218eca452}{\index{meow\-::\-Vector@{meow\-::\-Vector}!dot@{dot}}
+\index{dot@{dot}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector}$<$ Scalar $>$\-::dot (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a9228c4b935c57cd2af9cb07218eca452}
+
+
+dot
+
+\hypertarget{classmeow_1_1Vector_adc55ef7402cf4114ea5696df18545618}{\index{meow\-::\-Vector@{meow\-::\-Vector}!entries@{entries}}
+\index{entries@{entries}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{entries}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ void {\bf meow\-::\-Vector}$<$ Scalar $>$\-::entries (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{size\-\_\-t}]{j, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_adc55ef7402cf4114ea5696df18545618}
+
+
+change {\itshape i} -\/th to {\itshape j} -\/th entries
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em i} & i-\/th \\
+\hline
+\mbox{\tt in} & {\em j} & j-\/th \\
+\hline
+\mbox{\tt in} & {\em s} & new value \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Vector_af5ecb8d9cc811a2d56e1725c4bfd30e8}{\index{meow\-::\-Vector@{meow\-::\-Vector}!entry@{entry}}
+\index{entry@{entry}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{entry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector}$<$ Scalar $>$\-::entry (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_af5ecb8d9cc811a2d56e1725c4bfd30e8}
+
+
+return {\itshape i} -\/th entry
+
+\hypertarget{classmeow_1_1Vector_a5050e9117204a6dbdcc7cf5038845c00}{\index{meow\-::\-Vector@{meow\-::\-Vector}!entry@{entry}}
+\index{entry@{entry}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{entry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector}$<$ Scalar $>$\-::entry (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a5050e9117204a6dbdcc7cf5038845c00}
+
+
+change {\itshape i} -\/th entry
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em i} & i-\/th \\
+\hline
+\mbox{\tt in} & {\em s} & new value \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1Vector_afc7cc691dd00ab41fd56d798c13a6a27}{\index{meow\-::\-Vector@{meow\-::\-Vector}!length@{length}}
+\index{length@{length}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{length}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector}$<$ Scalar $>$\-::length (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_afc7cc691dd00ab41fd56d798c13a6a27}
+
+
+sqrt of {\itshape length2}
+
+\hypertarget{classmeow_1_1Vector_a71b56938e01de730490e722824f4b53e}{\index{meow\-::\-Vector@{meow\-::\-Vector}!length2@{length2}}
+\index{length2@{length2}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{length2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector}$<$ Scalar $>$\-::length2 (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a71b56938e01de730490e722824f4b53e}
+
+
+same as {\itshape }($\ast$this).dot($\ast$this)
+
+\hypertarget{classmeow_1_1Vector_ad3b1665885c683f41b94fd59b0f5e084}{\index{meow\-::\-Vector@{meow\-::\-Vector}!matrix@{matrix}}
+\index{matrix@{matrix}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ const\& {\bf meow\-::\-Vector}$<$ Scalar $>$\-::matrix (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_ad3b1665885c683f41b94fd59b0f5e084}
+
+
+Return a {\itshape dimension} x 1 matrix form of it.
+
+\hypertarget{classmeow_1_1Vector_a45bd0b9c27a2fc83f1d00106c976751c}{\index{meow\-::\-Vector@{meow\-::\-Vector}!mul@{mul}}
+\index{mul@{mul}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{mul}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::mul (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a45bd0b9c27a2fc83f1d00106c976751c}
+
+
+return {\itshape }($\ast$this)$\ast$s , where s is a scalar
+
+\hypertarget{classmeow_1_1Vector_abefb870f27490906e326a6f94a896f7c}{\index{meow\-::\-Vector@{meow\-::\-Vector}!negative@{negative}}
+\index{negative@{negative}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{negative}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::negative (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_abefb870f27490906e326a6f94a896f7c}
+
+
+return -\/{\itshape }($\ast$this)
+
+\hypertarget{classmeow_1_1Vector_ab675b777186dd4903367bc77922893ee}{\index{meow\-::\-Vector@{meow\-::\-Vector}!normalize@{normalize}}
+\index{normalize@{normalize}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{normalize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::normalize (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_ab675b777186dd4903367bc77922893ee}
+
+
+return a normalize form of itself
+
+\hypertarget{classmeow_1_1Vector_aadbed69a847ce560210d0513c2156448}{\index{meow\-::\-Vector@{meow\-::\-Vector}!normalized@{normalized}}
+\index{normalized@{normalized}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{normalized}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector}\& {\bf meow\-::\-Vector}$<$ Scalar $>$\-::normalized (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_aadbed69a847ce560210d0513c2156448}
+
+
+Let itself be normalize form.
+
+\hypertarget{classmeow_1_1Vector_a6591f95bda6b9724d2f66fc1254bfa7a}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a6591f95bda6b9724d2f66fc1254bfa7a}
+
+
+same as entry(i)
+
+\hypertarget{classmeow_1_1Vector_a8180db77db8e6ef30a15f4bd1fcb7ef1}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a8180db77db8e6ef30a15f4bd1fcb7ef1}
+
+
+same as dot(v)
+
+\hypertarget{classmeow_1_1Vector_a3fdb5ccf26fe0602f7bd08e1ecfc940c}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a3fdb5ccf26fe0602f7bd08e1ecfc940c}
+
+
+same as mul(s)
+
+\hypertarget{classmeow_1_1Vector_af10156730c992a5597ca674940157fe8}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator+ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_af10156730c992a5597ca674940157fe8}
+
+
+same as \hyperlink{classmeow_1_1Vector_a200453ad223a040147a2dc92e4222589}{positive()}
+
+\hypertarget{classmeow_1_1Vector_a0a6eade258af4979692fa325dd59429c}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a0a6eade258af4979692fa325dd59429c}
+
+
+same as add(v)
+
+\hypertarget{classmeow_1_1Vector_a510da6e6a0470bf2312e62c1b43a310a}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator-\/ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a510da6e6a0470bf2312e62c1b43a310a}
+
+
+same as \hyperlink{classmeow_1_1Vector_abefb870f27490906e326a6f94a896f7c}{negative()}
+
+\hypertarget{classmeow_1_1Vector_ac3e4b43822b9091c3eab7215c52b140d}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_ac3e4b43822b9091c3eab7215c52b140d}
+
+
+same as sub(v)
+
+\hypertarget{classmeow_1_1Vector_a74e4cf085fd43a51c50872ea9b42c47e}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a74e4cf085fd43a51c50872ea9b42c47e}
+
+
+same as div(s)
+
+\hypertarget{classmeow_1_1Vector_a8cad36b5fab47f3d50b840ff26260623}{\index{meow\-::\-Vector@{meow\-::\-Vector}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector}\& {\bf meow\-::\-Vector}$<$ Scalar $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a8cad36b5fab47f3d50b840ff26260623}
+
+
+same as copy\-From
+
+\hypertarget{classmeow_1_1Vector_a200453ad223a040147a2dc92e4222589}{\index{meow\-::\-Vector@{meow\-::\-Vector}!positive@{positive}}
+\index{positive@{positive}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{positive}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::positive (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a200453ad223a040147a2dc92e4222589}
+
+
+return +{\itshape }($\ast$this)
+
+\hypertarget{classmeow_1_1Vector_ad46346bcc2250cbf91803d38df9d538e}{\index{meow\-::\-Vector@{meow\-::\-Vector}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector}\& {\bf meow\-::\-Vector}$<$ Scalar $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_ad46346bcc2250cbf91803d38df9d538e}
+
+
+reference from ...
+
+\hypertarget{classmeow_1_1Vector_ad2e490231e4b624ef86f958b99c94533}{\index{meow\-::\-Vector@{meow\-::\-Vector}!sub@{sub}}
+\index{sub@{sub}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{sub}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::sub (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_ad2e490231e4b624ef86f958b99c94533}
+
+
+return {\itshape }($\ast$this)-\/v
+
+\hypertarget{classmeow_1_1Vector_a70c2620d25f6a36dc6d6aa38851b1c7a}{\index{meow\-::\-Vector@{meow\-::\-Vector}!sub\-Vector@{sub\-Vector}}
+\index{sub\-Vector@{sub\-Vector}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{sub\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector} {\bf meow\-::\-Vector}$<$ Scalar $>$\-::sub\-Vector (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{size\-\_\-t}]{j}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a70c2620d25f6a36dc6d6aa38851b1c7a}
+
+
+subvector form i-\/th to j-\/th
+
+\hypertarget{classmeow_1_1Vector_a98f150719042e458d52a1476ae9fd52e}{\index{meow\-::\-Vector@{meow\-::\-Vector}!valid@{valid}}
+\index{valid@{valid}!meow::Vector@{meow\-::\-Vector}}
+\subsubsection[{valid}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ bool {\bf meow\-::\-Vector}$<$ Scalar $>$\-::valid (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector_a98f150719042e458d52a1476ae9fd52e}
+
+
+Return whether {\ttfamily dimension$>$0} is true or not.
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false}
+\end{DoxyReturn}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/math/\hyperlink{Vector_8h}{Vector.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Vector2D.tex b/doc/latex/classmeow_1_1Vector2D.tex
new file mode 100644
index 0000000..ad783ad
--- /dev/null
+++ b/doc/latex/classmeow_1_1Vector2D.tex
@@ -0,0 +1,682 @@
+\hypertarget{classmeow_1_1Vector2D}{\section{meow\-:\-:Vector2\-D$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1Vector2D}\index{meow\-::\-Vector2\-D$<$ Scalar $>$@{meow\-::\-Vector2\-D$<$ Scalar $>$}}
+}
+
+
+2\-D's vector
+
+
+
+
+{\ttfamily \#include \char`\"{}Vectors.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Vector2D_a69f2ee0830db546d5a2b5cb39a22ffda}{Vector2\-D} ()
+\begin{DoxyCompactList}\small\item\em consturctor (0, 0) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D_a01aeddc4e436a8c97e0e570a089ea6c2}{Vector2\-D} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em consturctor (from another \hyperlink{classmeow_1_1Vector2D}{Vector2\-D}) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D_a713952e42ea15ee86187a14b677e9555}{Vector2\-D} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em constructor (s, s) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D_a989ff27c4ef1dacd3f1b37b81dff0fa2}{Vector2\-D} (Scalar const \&sx, Scalar const \&sy)
+\begin{DoxyCompactList}\small\item\em constructor (sx, sy) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D_ade618c2ccb5a6c1915495e5b0e34cba4}{Vector2\-D} (\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&v)
+\begin{DoxyCompactList}\small\item\em constructor (from another \hyperlink{classmeow_1_1Vector}{Vector}) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D_a62a15858053f7c6c80aa9a896dd6d78d}{Vector2\-D} (\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&v, size\-\_\-t i)
+\begin{DoxyCompactList}\small\item\em constructor (from another \hyperlink{classmeow_1_1Vector}{Vector}, i-\/th) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D_a3782df3eec67c68edae1afdd64e18d27}{$\sim$\-Vector2\-D} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_adced5720013a8be2883df4a82e091483}{copy\-From} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em copy \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector2D_a1bb0d1ce4954e56b8b0f166b928816a3}{x} () const
+\begin{DoxyCompactList}\small\item\em access x \end{DoxyCompactList}\item
+Scalar \& \hyperlink{classmeow_1_1Vector2D_a23046c79acf88b719292022ea4e8d171}{x\-Get} ()
+\begin{DoxyCompactList}\small\item\em access x with non constant reference \end{DoxyCompactList}\item
+Scalar \& \hyperlink{classmeow_1_1Vector2D_a26a246441af25df6aa76708cf98fb9e6}{y\-Get} ()
+\begin{DoxyCompactList}\small\item\em access y with non constant reference \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector2D_a0506d587eb30444092082258baab7a74}{y} () const
+\begin{DoxyCompactList}\small\item\em access y \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector2D_a1bb44937c6a470a483740aa6527a90b9}{x} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em modify x \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector2D_a48f420d0f701c059f86f33cdfdf630b7}{y} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em modify y \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a79c0c92338f7197902cfc53876eb5e73}{xy} (Scalar const \&sx, Scalar const \&sy)
+\begin{DoxyCompactList}\small\item\em modify x and y \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_a0b53875b3acbc7ac8c8e773c9ed340e2}{positive} () const
+\begin{DoxyCompactList}\small\item\em return {\itshape +}($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_a8d389c0b1a9cc2b3a9dec7fec05bbad8}{negative} () const
+\begin{DoxyCompactList}\small\item\em return {\itshape -\/}($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_a2e768dd00d86dafa8adefc4ffc4edc9e}{right} () const
+\begin{DoxyCompactList}\small\item\em return {\itshape count-\/clockwise} {\itshape rotate} {\itshape 90} {\itshape degree} of itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_a52467da33d126ff24f4c2757ee37ed4d}{add} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)+v \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a56f0d3848a5508b33d6c564e2eebb75e}{added} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em Let itself add v. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_ad7b3e23827cfc3db7fbcc12c70db398a}{sub} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)-\/v \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a274c5cd3e139978539655a0191f03579}{subed} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em Let itself substract v. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_ac3d894445c7dfa8b0cbe8ec2c1dfd1c2}{mul} (Scalar const \&s) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)$\ast$s , where s is a scalar \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a4e0422609e71a9e16b41fceca451d63c}{muled} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em Let itself mulitple s. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_acbb2ec7aa2897e93b3ff9964565ae8fc}{div} (Scalar const \&s) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)/s , where s is a scalar \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a045c6189a70574b1465131d59410fa16}{dived} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em Let itself divide s. \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector2D_a8c65e501c1eeafe7f504c3b834743320}{mul} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em same as dot(v) \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector2D_a5a7a5ca3c2a401f1409b05b6bdf18490}{dot} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em dot \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector2D_adc7dbbcc85cacd7ca22b466335f250ae}{cross} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em cross \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector2D_ac32c4c5bd8ecf0a662dd12f3b6de15e5}{length} () const
+\begin{DoxyCompactList}\small\item\em sqrt of length2 \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector2D_a1847d22eda48a16d9265f6e0774e1538}{length2} () const
+\begin{DoxyCompactList}\small\item\em same as {\itshape dot($\ast$this)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_aa5da315ea365b2ca374704a3e8dded9b}{normalize} () const
+\begin{DoxyCompactList}\small\item\em return normalize form of itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_ad60642b6b0dc4a6626e1d9eb917e6b45}{normalized} ()
+\begin{DoxyCompactList}\small\item\em normalize itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_aa6ae22d99360ff9e0b623e1744576733}{rotate} (Scalar const \&theta) const
+\begin{DoxyCompactList}\small\item\em return rotate {\itshape theta} degree of itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_af3fd0ff1b8f9ca6df82b8659cadafb7d}{rotated} (Scalar const \&theta)
+\begin{DoxyCompactList}\small\item\em Let itself rotate {\itshape theta} degree. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_affe23a69e939807c11ee8763ca79debf}{reflect} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em return reflect from given vector {\itshape v} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a21850fb1a57df44425330ede4cfee331}{reflected} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em reflect itself given vector {\itshape v} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Vector2D_added6ab5bb058ef53f919724333454fd}{matrix} () const
+\begin{DoxyCompactList}\small\item\em return a 2x1 matrix form of itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Vector2D_a715f0f3cb62fddd7723b38d4211bb6db}{matrix} (Scalar const \&homo) const
+\begin{DoxyCompactList}\small\item\em return a 3x1 matrix form of itself \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector2D_a2a0cd6731b85b71649dca56d719a1633}{operator()} (size\-\_\-t n) const
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a16a2ba46dfff7929b291df9aa0952422}{operator()} (Scalar const \&sx, Scalar const \&sy)
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_aff9ac089030964f9ba665a5522d759f0}{operator+} () const
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_a6b86b91ba3c24e668593aaba3e4bc50e}{operator-\/} () const
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_ae2fe5b97bf837bc29bb6d819772f4ea0}{operator$\sim$} () const
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_aca1ad41491896a0743029d9864495c6a}{operator+} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_a7a71b243bdcab1d6433f2c7611bc8d15}{operator-\/} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_abc930168f72c634aa9a608cc9a4e8c1e}{operator$\ast$} (Scalar const \&s) const
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \hyperlink{classmeow_1_1Vector2D_abe7d948febd4ea0faf80be7ffc369692}{operator/} (Scalar const \&s) const
+\item
+Scalar \hyperlink{classmeow_1_1Vector2D_af609b7cb9d23412fe2ec627eec902cba}{operator$\ast$} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v) const
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a470def2d8b1789e0cbb8ede298893242}{operator=} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v)
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a43660ff47fbe41076396c122a5bfd7ac}{operator+=} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v)
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_ac160da32a9af65264c4b509db5d9f0fb}{operator-\/=} (\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} const \&v)
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_a2d5ada8cf5673c79375c0429a1681ca6}{operator$\ast$=} (Scalar const \&s)
+\item
+\hyperlink{classmeow_1_1Vector2D}{Vector2\-D} \& \hyperlink{classmeow_1_1Vector2D_af164380cbababa279dee2bedb81ec080}{operator/=} (Scalar const \&s)
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Vector2\-D$<$ Scalar $>$}
+
+2\-D's vector
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Vector2D_a69f2ee0830db546d5a2b5cb39a22ffda}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!Vector2\-D@{Vector2\-D}}
+\index{Vector2\-D@{Vector2\-D}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{Vector2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::{\bf Vector2\-D} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a69f2ee0830db546d5a2b5cb39a22ffda}
+
+
+consturctor (0, 0)
+
+\hypertarget{classmeow_1_1Vector2D_a01aeddc4e436a8c97e0e570a089ea6c2}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!Vector2\-D@{Vector2\-D}}
+\index{Vector2\-D@{Vector2\-D}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{Vector2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::{\bf Vector2\-D} (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a01aeddc4e436a8c97e0e570a089ea6c2}
+
+
+consturctor (from another \hyperlink{classmeow_1_1Vector2D}{Vector2\-D})
+
+\hypertarget{classmeow_1_1Vector2D_a713952e42ea15ee86187a14b677e9555}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!Vector2\-D@{Vector2\-D}}
+\index{Vector2\-D@{Vector2\-D}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{Vector2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::{\bf Vector2\-D} (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a713952e42ea15ee86187a14b677e9555}
+
+
+constructor (s, s)
+
+\hypertarget{classmeow_1_1Vector2D_a989ff27c4ef1dacd3f1b37b81dff0fa2}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!Vector2\-D@{Vector2\-D}}
+\index{Vector2\-D@{Vector2\-D}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{Vector2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::{\bf Vector2\-D} (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{sx, }
+\item[{Scalar const \&}]{sy}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a989ff27c4ef1dacd3f1b37b81dff0fa2}
+
+
+constructor (sx, sy)
+
+\hypertarget{classmeow_1_1Vector2D_ade618c2ccb5a6c1915495e5b0e34cba4}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!Vector2\-D@{Vector2\-D}}
+\index{Vector2\-D@{Vector2\-D}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{Vector2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::{\bf Vector2\-D} (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_ade618c2ccb5a6c1915495e5b0e34cba4}
+
+
+constructor (from another \hyperlink{classmeow_1_1Vector}{Vector})
+
+\hypertarget{classmeow_1_1Vector2D_a62a15858053f7c6c80aa9a896dd6d78d}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!Vector2\-D@{Vector2\-D}}
+\index{Vector2\-D@{Vector2\-D}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{Vector2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::{\bf Vector2\-D} (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a62a15858053f7c6c80aa9a896dd6d78d}
+
+
+constructor (from another \hyperlink{classmeow_1_1Vector}{Vector}, i-\/th)
+
+\hypertarget{classmeow_1_1Vector2D_a3782df3eec67c68edae1afdd64e18d27}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!$\sim$\-Vector2\-D@{$\sim$\-Vector2\-D}}
+\index{$\sim$\-Vector2\-D@{$\sim$\-Vector2\-D}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{$\sim$\-Vector2\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::$\sim${\bf Vector2\-D} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a3782df3eec67c68edae1afdd64e18d27}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Vector2D_a52467da33d126ff24f4c2757ee37ed4d}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!add@{add}}
+\index{add@{add}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a52467da33d126ff24f4c2757ee37ed4d}
+
+
+return {\itshape }($\ast$this)+v
+
+\hypertarget{classmeow_1_1Vector2D_a56f0d3848a5508b33d6c564e2eebb75e}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!added@{added}}
+\index{added@{added}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{added}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::added (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a56f0d3848a5508b33d6c564e2eebb75e}
+
+
+Let itself add v.
+
+\hypertarget{classmeow_1_1Vector2D_adced5720013a8be2883df4a82e091483}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_adced5720013a8be2883df4a82e091483}
+
+
+copy
+
+\hypertarget{classmeow_1_1Vector2D_adc7dbbcc85cacd7ca22b466335f250ae}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!cross@{cross}}
+\index{cross@{cross}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{cross}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::cross (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_adc7dbbcc85cacd7ca22b466335f250ae}
+
+
+cross
+
+\hypertarget{classmeow_1_1Vector2D_acbb2ec7aa2897e93b3ff9964565ae8fc}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!div@{div}}
+\index{div@{div}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{div}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::div (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_acbb2ec7aa2897e93b3ff9964565ae8fc}
+
+
+return {\itshape }($\ast$this)/s , where s is a scalar
+
+\hypertarget{classmeow_1_1Vector2D_a045c6189a70574b1465131d59410fa16}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!dived@{dived}}
+\index{dived@{dived}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{dived}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::dived (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a045c6189a70574b1465131d59410fa16}
+
+
+Let itself divide s.
+
+\hypertarget{classmeow_1_1Vector2D_a5a7a5ca3c2a401f1409b05b6bdf18490}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!dot@{dot}}
+\index{dot@{dot}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::dot (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a5a7a5ca3c2a401f1409b05b6bdf18490}
+
+
+dot
+
+\hypertarget{classmeow_1_1Vector2D_ac32c4c5bd8ecf0a662dd12f3b6de15e5}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!length@{length}}
+\index{length@{length}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{length}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::length (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_ac32c4c5bd8ecf0a662dd12f3b6de15e5}
+
+
+sqrt of length2
+
+\hypertarget{classmeow_1_1Vector2D_a1847d22eda48a16d9265f6e0774e1538}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!length2@{length2}}
+\index{length2@{length2}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{length2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::length2 (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a1847d22eda48a16d9265f6e0774e1538}
+
+
+same as {\itshape dot($\ast$this)}
+
+\hypertarget{classmeow_1_1Vector2D_added6ab5bb058ef53f919724333454fd}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!matrix@{matrix}}
+\index{matrix@{matrix}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::matrix (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_added6ab5bb058ef53f919724333454fd}
+
+
+return a 2x1 matrix form of itself
+
+\hypertarget{classmeow_1_1Vector2D_a715f0f3cb62fddd7723b38d4211bb6db}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!matrix@{matrix}}
+\index{matrix@{matrix}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::matrix (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{homo}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a715f0f3cb62fddd7723b38d4211bb6db}
+
+
+return a 3x1 matrix form of itself
+
+\hypertarget{classmeow_1_1Vector2D_ac3d894445c7dfa8b0cbe8ec2c1dfd1c2}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!mul@{mul}}
+\index{mul@{mul}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{mul}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::mul (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_ac3d894445c7dfa8b0cbe8ec2c1dfd1c2}
+
+
+return {\itshape }($\ast$this)$\ast$s , where s is a scalar
+
+\hypertarget{classmeow_1_1Vector2D_a8c65e501c1eeafe7f504c3b834743320}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!mul@{mul}}
+\index{mul@{mul}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{mul}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::mul (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a8c65e501c1eeafe7f504c3b834743320}
+
+
+same as dot(v)
+
+\hypertarget{classmeow_1_1Vector2D_a4e0422609e71a9e16b41fceca451d63c}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!muled@{muled}}
+\index{muled@{muled}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{muled}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::muled (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a4e0422609e71a9e16b41fceca451d63c}
+
+
+Let itself mulitple s.
+
+\hypertarget{classmeow_1_1Vector2D_a8d389c0b1a9cc2b3a9dec7fec05bbad8}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!negative@{negative}}
+\index{negative@{negative}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{negative}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::negative (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a8d389c0b1a9cc2b3a9dec7fec05bbad8}
+
+
+return {\itshape -\/}($\ast$this)
+
+\hypertarget{classmeow_1_1Vector2D_aa5da315ea365b2ca374704a3e8dded9b}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!normalize@{normalize}}
+\index{normalize@{normalize}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{normalize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::normalize (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_aa5da315ea365b2ca374704a3e8dded9b}
+
+
+return normalize form of itself
+
+\hypertarget{classmeow_1_1Vector2D_ad60642b6b0dc4a6626e1d9eb917e6b45}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!normalized@{normalized}}
+\index{normalized@{normalized}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{normalized}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::normalized (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_ad60642b6b0dc4a6626e1d9eb917e6b45}
+
+
+normalize itself
+
+\hypertarget{classmeow_1_1Vector2D_a2a0cd6731b85b71649dca56d719a1633}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{n}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a2a0cd6731b85b71649dca56d719a1633}
+\hypertarget{classmeow_1_1Vector2D_a16a2ba46dfff7929b291df9aa0952422}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{sx, }
+\item[{Scalar const \&}]{sy}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a16a2ba46dfff7929b291df9aa0952422}
+\hypertarget{classmeow_1_1Vector2D_abc930168f72c634aa9a608cc9a4e8c1e}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_abc930168f72c634aa9a608cc9a4e8c1e}
+\hypertarget{classmeow_1_1Vector2D_af609b7cb9d23412fe2ec627eec902cba}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_af609b7cb9d23412fe2ec627eec902cba}
+\hypertarget{classmeow_1_1Vector2D_a2d5ada8cf5673c79375c0429a1681ca6}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator$\ast$=@{operator$\ast$=}}
+\index{operator$\ast$=@{operator$\ast$=}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator$\ast$=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator$\ast$= (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a2d5ada8cf5673c79375c0429a1681ca6}
+\hypertarget{classmeow_1_1Vector2D_aff9ac089030964f9ba665a5522d759f0}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator+ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_aff9ac089030964f9ba665a5522d759f0}
+\hypertarget{classmeow_1_1Vector2D_aca1ad41491896a0743029d9864495c6a}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_aca1ad41491896a0743029d9864495c6a}
+\hypertarget{classmeow_1_1Vector2D_a43660ff47fbe41076396c122a5bfd7ac}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator+=@{operator+=}}
+\index{operator+=@{operator+=}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator+=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator+= (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a43660ff47fbe41076396c122a5bfd7ac}
+\hypertarget{classmeow_1_1Vector2D_a6b86b91ba3c24e668593aaba3e4bc50e}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator-\/ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a6b86b91ba3c24e668593aaba3e4bc50e}
+\hypertarget{classmeow_1_1Vector2D_a7a71b243bdcab1d6433f2c7611bc8d15}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a7a71b243bdcab1d6433f2c7611bc8d15}
+\hypertarget{classmeow_1_1Vector2D_ac160da32a9af65264c4b509db5d9f0fb}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator-\/=@{operator-\/=}}
+\index{operator-\/=@{operator-\/=}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator-\/=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator-\/= (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_ac160da32a9af65264c4b509db5d9f0fb}
+\hypertarget{classmeow_1_1Vector2D_abe7d948febd4ea0faf80be7ffc369692}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_abe7d948febd4ea0faf80be7ffc369692}
+\hypertarget{classmeow_1_1Vector2D_af164380cbababa279dee2bedb81ec080}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator/=@{operator/=}}
+\index{operator/=@{operator/=}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator/=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator/= (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_af164380cbababa279dee2bedb81ec080}
+\hypertarget{classmeow_1_1Vector2D_a470def2d8b1789e0cbb8ede298893242}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a470def2d8b1789e0cbb8ede298893242}
+\hypertarget{classmeow_1_1Vector2D_ae2fe5b97bf837bc29bb6d819772f4ea0}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!operator$\sim$@{operator$\sim$}}
+\index{operator$\sim$@{operator$\sim$}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{operator$\sim$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::operator$\sim$ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_ae2fe5b97bf837bc29bb6d819772f4ea0}
+\hypertarget{classmeow_1_1Vector2D_a0b53875b3acbc7ac8c8e773c9ed340e2}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!positive@{positive}}
+\index{positive@{positive}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{positive}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::positive (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a0b53875b3acbc7ac8c8e773c9ed340e2}
+
+
+return {\itshape +}($\ast$this)
+
+\hypertarget{classmeow_1_1Vector2D_affe23a69e939807c11ee8763ca79debf}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!reflect@{reflect}}
+\index{reflect@{reflect}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{reflect}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::reflect (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_affe23a69e939807c11ee8763ca79debf}
+
+
+return reflect from given vector {\itshape v}
+
+\hypertarget{classmeow_1_1Vector2D_a21850fb1a57df44425330ede4cfee331}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!reflected@{reflected}}
+\index{reflected@{reflected}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{reflected}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::reflected (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a21850fb1a57df44425330ede4cfee331}
+
+
+reflect itself given vector {\itshape v}
+
+\hypertarget{classmeow_1_1Vector2D_a2e768dd00d86dafa8adefc4ffc4edc9e}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!right@{right}}
+\index{right@{right}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{right}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::right (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a2e768dd00d86dafa8adefc4ffc4edc9e}
+
+
+return {\itshape count-\/clockwise} {\itshape rotate} {\itshape 90} {\itshape degree} of itself
+
+\hypertarget{classmeow_1_1Vector2D_aa6ae22d99360ff9e0b623e1744576733}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!rotate@{rotate}}
+\index{rotate@{rotate}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{rotate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::rotate (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{theta}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_aa6ae22d99360ff9e0b623e1744576733}
+
+
+return rotate {\itshape theta} degree of itself
+
+\hypertarget{classmeow_1_1Vector2D_af3fd0ff1b8f9ca6df82b8659cadafb7d}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!rotated@{rotated}}
+\index{rotated@{rotated}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{rotated}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::rotated (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{theta}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_af3fd0ff1b8f9ca6df82b8659cadafb7d}
+
+
+Let itself rotate {\itshape theta} degree.
+
+\hypertarget{classmeow_1_1Vector2D_ad7b3e23827cfc3db7fbcc12c70db398a}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!sub@{sub}}
+\index{sub@{sub}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{sub}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D} {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::sub (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_ad7b3e23827cfc3db7fbcc12c70db398a}
+
+
+return {\itshape }($\ast$this)-\/v
+
+\hypertarget{classmeow_1_1Vector2D_a274c5cd3e139978539655a0191f03579}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!subed@{subed}}
+\index{subed@{subed}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{subed}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::subed (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector2\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a274c5cd3e139978539655a0191f03579}
+
+
+Let itself substract v.
+
+\hypertarget{classmeow_1_1Vector2D_a1bb0d1ce4954e56b8b0f166b928816a3}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!x@{x}}
+\index{x@{x}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{x}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::x (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a1bb0d1ce4954e56b8b0f166b928816a3}
+
+
+access x
+
+\hypertarget{classmeow_1_1Vector2D_a1bb44937c6a470a483740aa6527a90b9}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!x@{x}}
+\index{x@{x}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{x}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::x (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a1bb44937c6a470a483740aa6527a90b9}
+
+
+modify x
+
+\hypertarget{classmeow_1_1Vector2D_a23046c79acf88b719292022ea4e8d171}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!x\-Get@{x\-Get}}
+\index{x\-Get@{x\-Get}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{x\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::x\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a23046c79acf88b719292022ea4e8d171}
+
+
+access x with non constant reference
+
+\hypertarget{classmeow_1_1Vector2D_a79c0c92338f7197902cfc53876eb5e73}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!xy@{xy}}
+\index{xy@{xy}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{xy}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector2\-D}\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::xy (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{sx, }
+\item[{Scalar const \&}]{sy}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a79c0c92338f7197902cfc53876eb5e73}
+
+
+modify x and y
+
+\hypertarget{classmeow_1_1Vector2D_a0506d587eb30444092082258baab7a74}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!y@{y}}
+\index{y@{y}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{y}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::y (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a0506d587eb30444092082258baab7a74}
+
+
+access y
+
+\hypertarget{classmeow_1_1Vector2D_a48f420d0f701c059f86f33cdfdf630b7}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!y@{y}}
+\index{y@{y}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{y}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::y (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a48f420d0f701c059f86f33cdfdf630b7}
+
+
+modify y
+
+\hypertarget{classmeow_1_1Vector2D_a26a246441af25df6aa76708cf98fb9e6}{\index{meow\-::\-Vector2\-D@{meow\-::\-Vector2\-D}!y\-Get@{y\-Get}}
+\index{y\-Get@{y\-Get}!meow::Vector2D@{meow\-::\-Vector2\-D}}
+\subsubsection[{y\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar\& {\bf meow\-::\-Vector2\-D}$<$ Scalar $>$\-::y\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector2D_a26a246441af25df6aa76708cf98fb9e6}
+
+
+access y with non constant reference
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/geo/\hyperlink{Vectors_8h}{Vectors.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1Vector3D.tex b/doc/latex/classmeow_1_1Vector3D.tex
new file mode 100644
index 0000000..3110e65
--- /dev/null
+++ b/doc/latex/classmeow_1_1Vector3D.tex
@@ -0,0 +1,717 @@
+\hypertarget{classmeow_1_1Vector3D}{\section{meow\-:\-:Vector3\-D$<$ Scalar $>$ Class Template Reference}
+\label{classmeow_1_1Vector3D}\index{meow\-::\-Vector3\-D$<$ Scalar $>$@{meow\-::\-Vector3\-D$<$ Scalar $>$}}
+}
+
+
+3\-D's vector
+
+
+
+
+{\ttfamily \#include \char`\"{}Vectors.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1Vector3D_a62bd29ce86c81075ef240eb0d0fc0d97}{Vector3\-D} ()
+\begin{DoxyCompactList}\small\item\em consturctor (0, 0) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D_a6c1f0e4d1d28cbb32fa4cc5e4d7bf390}{Vector3\-D} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em consturctor (from another \hyperlink{classmeow_1_1Vector3D}{Vector3\-D}) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D_a8f670a62f3f3ff3a6d7f7326e9d4bfd8}{Vector3\-D} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em constructor (s, s) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D_a0244832892d238c66945cbb39e2a5d6c}{Vector3\-D} (Scalar const \&sx, Scalar const \&sy, Scalar const \&sz)
+\begin{DoxyCompactList}\small\item\em constructor (sx, sy) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D_afae72511a31b5260ee93130d0654093f}{Vector3\-D} (\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&v)
+\begin{DoxyCompactList}\small\item\em constructor (from another \hyperlink{classmeow_1_1Vector}{Vector}) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D_a360cc4bdfaca40a1b9e80590dd13e523}{Vector3\-D} (\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&v, size\-\_\-t i)
+\begin{DoxyCompactList}\small\item\em constructor (from another \hyperlink{classmeow_1_1Vector}{Vector}, i-\/th) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D_a76e749898519070a7918a9cf382d87d7}{$\sim$\-Vector3\-D} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_ab266a5252dd1243b726584724f8f843d}{copy\-From} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em copy \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector3D_a647a1a8b562c05d615328559f557257e}{x} () const
+\begin{DoxyCompactList}\small\item\em access x \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector3D_a128085dc3d052f9479f3486fc3882caf}{y} () const
+\begin{DoxyCompactList}\small\item\em access y \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector3D_a2d3855af7fd18b94faa89cceffa3d950}{z} () const
+\begin{DoxyCompactList}\small\item\em access z \end{DoxyCompactList}\item
+Scalar \& \hyperlink{classmeow_1_1Vector3D_a001a44809826f9cd17dbd652c790c455}{x\-Get} ()
+\begin{DoxyCompactList}\small\item\em access x with non constant reference \end{DoxyCompactList}\item
+Scalar \& \hyperlink{classmeow_1_1Vector3D_ab3603b9ca292877febc1aec42b29b0ae}{y\-Get} ()
+\begin{DoxyCompactList}\small\item\em access y with non constant reference \end{DoxyCompactList}\item
+Scalar \& \hyperlink{classmeow_1_1Vector3D_a49b26941a2b323519ee22fbabdd0ce24}{z\-Get} ()
+\begin{DoxyCompactList}\small\item\em access z with non constant reference \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector3D_ae7254b17c13defe2123565c17c9856a7}{x} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em modify x \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector3D_ab520fe8f88aa2df1af1bfb91bac28fb2}{y} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em modify y \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector3D_aaa3b1182e639a91df5d58d6e5223ad39}{z} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em modify z \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a4d95f04693bc608375a5dffb3f8d6514}{xyz} (Scalar const \&sx, Scalar const \&sy, Scalar const \&sz)
+\begin{DoxyCompactList}\small\item\em modify x and y \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_a8fc395992d84b816307f72026d1e7125}{positive} () const
+\begin{DoxyCompactList}\small\item\em return {\itshape +}($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_ab71feb692f3ce13de6815fa1b2b21be8}{negative} () const
+\begin{DoxyCompactList}\small\item\em return {\itshape -\/}($\ast$this) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_a1b950da187dd750e25b31f3f267234b5}{add} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)+v \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_aa26ba31625ebeeb07c41925335c1afcc}{added} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em Let itself add v. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_ab509fd9ef3b79fb13cc04cfec798dcc2}{sub} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)-\/v \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a65995d7ae4ba5652e162be215a5ec1ea}{subed} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em Let itself substract v. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_a22717807229c6243b5d0fd4d370b578a}{mul} (Scalar const \&s) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)$\ast$s , where s is a scalar \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a840c9c1ab9734c0687241cc6636fe915}{muled} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em Let itself mulitple s. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_a9449f90146085ac5901eb0c75b316b87}{div} (Scalar const \&s) const
+\begin{DoxyCompactList}\small\item\em return {\itshape }($\ast$this)/s , where s is a scalar \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a7d6973544b3b3c4bd34055c34d3da73b}{dived} (Scalar const \&s)
+\begin{DoxyCompactList}\small\item\em Let itself divide s. \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector3D_a04201f13c26a2f6abc9b1c7b0ff313cc}{mul} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em same as dot(v) \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector3D_aa8204ccaf2a6a0459f58f92defee3396}{dot} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em dot \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_afc6474b0219c6135f9e268404edc93e0}{cross} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em cross \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a2ec32fffb7a0355d46c52826f85aa506}{crossed} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em crossed \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector3D_ae5d23addf232794f4635bdf6221ef7ec}{length} () const
+\begin{DoxyCompactList}\small\item\em sqrt of length2 \end{DoxyCompactList}\item
+Scalar \hyperlink{classmeow_1_1Vector3D_ab378a6b96d9e5d9a75f21ee3bf107bde}{length2} () const
+\begin{DoxyCompactList}\small\item\em same as {\itshape dot($\ast$this)} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_aa9f6d3c5f4e5dd0952633822451d98b8}{normalize} () const
+\begin{DoxyCompactList}\small\item\em return normalize form of itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_af4f99f5a4871892e3975e41c8137f69c}{normalized} ()
+\begin{DoxyCompactList}\small\item\em normalize itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_aa733fcc0936ef22613df75f9dabd853b}{rotate} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&axis, \hyperlink{classdouble}{double} theta) const
+\begin{DoxyCompactList}\small\item\em return rotate {\itshape theta} degree by {\itshape axis} of itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a27a06ec4ab5e4f6d3d59eeffa5a31617}{rotated} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&axis, \hyperlink{classdouble}{double} theta)
+\begin{DoxyCompactList}\small\item\em Let itself rotate {\itshape theta} degree. \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_a47b8cbd8a6738bbdbe713aa342a1d53f}{reflect} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\begin{DoxyCompactList}\small\item\em return reflect from given vector {\itshape v} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_af4f968f581bfbcf57afcd1bbf1d3bee2}{reflected} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\begin{DoxyCompactList}\small\item\em reflect itself given vector {\itshape v} \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Vector3D_ae03fb93d06c60fd2901875ead10c8c72}{matrix} () const
+\begin{DoxyCompactList}\small\item\em return a 3x1 matrix form of itself \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Matrix}{Matrix}$<$ Scalar $>$ \hyperlink{classmeow_1_1Vector3D_acb2fc741a0bd039b38b1ae5cec103265}{matrix} (Scalar const \&homo) const
+\begin{DoxyCompactList}\small\item\em return a 3x1 matrix form of itself \end{DoxyCompactList}\item
+Scalar const \& \hyperlink{classmeow_1_1Vector3D_aebeef94d26c97cf43566070ce5501baf}{operator()} (size\-\_\-t n) const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_ac49ceadb4ac36acaa0031160a1e1b099}{operator()} (Scalar const \&sx, Scalar const \&sy, Scalar const \&sz)
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_abd020d6c071c7c3d374c52d738b471fc}{operator+} () const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_a967c15ddac7c8e949e8361c3339492c8}{operator-\/} () const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_ac84bb8858275f0c7c780fce3b9f3d0fb}{operator+} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_a7fa501db101297b8536801bca68fa0c9}{operator-\/} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_a7e274b5303baca7caec05d34a4e72ccc}{operator$\ast$} (Scalar const \&s) const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \hyperlink{classmeow_1_1Vector3D_ab19d15aa3ecbe2f2b87ce077a0bd7a46}{operator/} (Scalar const \&s) const
+\item
+Scalar \hyperlink{classmeow_1_1Vector3D_ab868dfd428a801abe173085826a40c97}{operator$\ast$} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v) const
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a336dbab9f61ee8196ce4c577a169a927}{operator=} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_ad8effb8709fe565734bc1c8f94dc0ef1}{operator+=} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a238bd646690e1ac1660726e007b05d92}{operator-\/=} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} const \&v)
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a80e9a667ae9d0d1015123d8477cfeee6}{operator$\ast$=} (Scalar const \&s)
+\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D} \& \hyperlink{classmeow_1_1Vector3D_a882b59cc16aaaa5b136dc60d1d6eecbd}{operator/=} (Scalar const \&s)
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Scalar$>$class meow\-::\-Vector3\-D$<$ Scalar $>$}
+
+3\-D's vector
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1Vector3D_a62bd29ce86c81075ef240eb0d0fc0d97}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!Vector3\-D@{Vector3\-D}}
+\index{Vector3\-D@{Vector3\-D}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{Vector3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::{\bf Vector3\-D} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a62bd29ce86c81075ef240eb0d0fc0d97}
+
+
+consturctor (0, 0)
+
+\hypertarget{classmeow_1_1Vector3D_a6c1f0e4d1d28cbb32fa4cc5e4d7bf390}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!Vector3\-D@{Vector3\-D}}
+\index{Vector3\-D@{Vector3\-D}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{Vector3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::{\bf Vector3\-D} (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a6c1f0e4d1d28cbb32fa4cc5e4d7bf390}
+
+
+consturctor (from another \hyperlink{classmeow_1_1Vector3D}{Vector3\-D})
+
+\hypertarget{classmeow_1_1Vector3D_a8f670a62f3f3ff3a6d7f7326e9d4bfd8}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!Vector3\-D@{Vector3\-D}}
+\index{Vector3\-D@{Vector3\-D}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{Vector3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::{\bf Vector3\-D} (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a8f670a62f3f3ff3a6d7f7326e9d4bfd8}
+
+
+constructor (s, s)
+
+\hypertarget{classmeow_1_1Vector3D_a0244832892d238c66945cbb39e2a5d6c}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!Vector3\-D@{Vector3\-D}}
+\index{Vector3\-D@{Vector3\-D}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{Vector3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::{\bf Vector3\-D} (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{sx, }
+\item[{Scalar const \&}]{sy, }
+\item[{Scalar const \&}]{sz}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a0244832892d238c66945cbb39e2a5d6c}
+
+
+constructor (sx, sy)
+
+\hypertarget{classmeow_1_1Vector3D_afae72511a31b5260ee93130d0654093f}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!Vector3\-D@{Vector3\-D}}
+\index{Vector3\-D@{Vector3\-D}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{Vector3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::{\bf Vector3\-D} (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_afae72511a31b5260ee93130d0654093f}
+
+
+constructor (from another \hyperlink{classmeow_1_1Vector}{Vector})
+
+\hypertarget{classmeow_1_1Vector3D_a360cc4bdfaca40a1b9e80590dd13e523}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!Vector3\-D@{Vector3\-D}}
+\index{Vector3\-D@{Vector3\-D}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{Vector3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::{\bf Vector3\-D} (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector}$<$ Scalar $>$ const \&}]{v, }
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a360cc4bdfaca40a1b9e80590dd13e523}
+
+
+constructor (from another \hyperlink{classmeow_1_1Vector}{Vector}, i-\/th)
+
+\hypertarget{classmeow_1_1Vector3D_a76e749898519070a7918a9cf382d87d7}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!$\sim$\-Vector3\-D@{$\sim$\-Vector3\-D}}
+\index{$\sim$\-Vector3\-D@{$\sim$\-Vector3\-D}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{$\sim$\-Vector3\-D}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::$\sim${\bf Vector3\-D} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a76e749898519070a7918a9cf382d87d7}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1Vector3D_a1b950da187dd750e25b31f3f267234b5}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!add@{add}}
+\index{add@{add}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::add (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a1b950da187dd750e25b31f3f267234b5}
+
+
+return {\itshape }($\ast$this)+v
+
+\hypertarget{classmeow_1_1Vector3D_aa26ba31625ebeeb07c41925335c1afcc}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!added@{added}}
+\index{added@{added}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{added}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::added (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_aa26ba31625ebeeb07c41925335c1afcc}
+
+
+Let itself add v.
+
+\hypertarget{classmeow_1_1Vector3D_ab266a5252dd1243b726584724f8f843d}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ab266a5252dd1243b726584724f8f843d}
+
+
+copy
+
+\hypertarget{classmeow_1_1Vector3D_afc6474b0219c6135f9e268404edc93e0}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!cross@{cross}}
+\index{cross@{cross}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{cross}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::cross (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_afc6474b0219c6135f9e268404edc93e0}
+
+
+cross
+
+\hypertarget{classmeow_1_1Vector3D_a2ec32fffb7a0355d46c52826f85aa506}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!crossed@{crossed}}
+\index{crossed@{crossed}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{crossed}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::crossed (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a2ec32fffb7a0355d46c52826f85aa506}
+
+
+crossed
+
+\hypertarget{classmeow_1_1Vector3D_a9449f90146085ac5901eb0c75b316b87}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!div@{div}}
+\index{div@{div}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{div}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::div (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a9449f90146085ac5901eb0c75b316b87}
+
+
+return {\itshape }($\ast$this)/s , where s is a scalar
+
+\hypertarget{classmeow_1_1Vector3D_a7d6973544b3b3c4bd34055c34d3da73b}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!dived@{dived}}
+\index{dived@{dived}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{dived}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::dived (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a7d6973544b3b3c4bd34055c34d3da73b}
+
+
+Let itself divide s.
+
+\hypertarget{classmeow_1_1Vector3D_aa8204ccaf2a6a0459f58f92defee3396}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!dot@{dot}}
+\index{dot@{dot}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::dot (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_aa8204ccaf2a6a0459f58f92defee3396}
+
+
+dot
+
+\hypertarget{classmeow_1_1Vector3D_ae5d23addf232794f4635bdf6221ef7ec}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!length@{length}}
+\index{length@{length}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{length}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::length (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ae5d23addf232794f4635bdf6221ef7ec}
+
+
+sqrt of length2
+
+\hypertarget{classmeow_1_1Vector3D_ab378a6b96d9e5d9a75f21ee3bf107bde}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!length2@{length2}}
+\index{length2@{length2}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{length2}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::length2 (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ab378a6b96d9e5d9a75f21ee3bf107bde}
+
+
+same as {\itshape dot($\ast$this)}
+
+\hypertarget{classmeow_1_1Vector3D_ae03fb93d06c60fd2901875ead10c8c72}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!matrix@{matrix}}
+\index{matrix@{matrix}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::matrix (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ae03fb93d06c60fd2901875ead10c8c72}
+
+
+return a 3x1 matrix form of itself
+
+\hypertarget{classmeow_1_1Vector3D_acb2fc741a0bd039b38b1ae5cec103265}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!matrix@{matrix}}
+\index{matrix@{matrix}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Matrix}$<$Scalar$>$ {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::matrix (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{homo}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_acb2fc741a0bd039b38b1ae5cec103265}
+
+
+return a 3x1 matrix form of itself
+
+\hypertarget{classmeow_1_1Vector3D_a22717807229c6243b5d0fd4d370b578a}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!mul@{mul}}
+\index{mul@{mul}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{mul}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::mul (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a22717807229c6243b5d0fd4d370b578a}
+
+
+return {\itshape }($\ast$this)$\ast$s , where s is a scalar
+
+\hypertarget{classmeow_1_1Vector3D_a04201f13c26a2f6abc9b1c7b0ff313cc}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!mul@{mul}}
+\index{mul@{mul}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{mul}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::mul (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a04201f13c26a2f6abc9b1c7b0ff313cc}
+
+
+same as dot(v)
+
+\hypertarget{classmeow_1_1Vector3D_a840c9c1ab9734c0687241cc6636fe915}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!muled@{muled}}
+\index{muled@{muled}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{muled}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::muled (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a840c9c1ab9734c0687241cc6636fe915}
+
+
+Let itself mulitple s.
+
+\hypertarget{classmeow_1_1Vector3D_ab71feb692f3ce13de6815fa1b2b21be8}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!negative@{negative}}
+\index{negative@{negative}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{negative}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::negative (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ab71feb692f3ce13de6815fa1b2b21be8}
+
+
+return {\itshape -\/}($\ast$this)
+
+\hypertarget{classmeow_1_1Vector3D_aa9f6d3c5f4e5dd0952633822451d98b8}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!normalize@{normalize}}
+\index{normalize@{normalize}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{normalize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::normalize (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_aa9f6d3c5f4e5dd0952633822451d98b8}
+
+
+return normalize form of itself
+
+\hypertarget{classmeow_1_1Vector3D_af4f99f5a4871892e3975e41c8137f69c}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!normalized@{normalized}}
+\index{normalized@{normalized}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{normalized}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::normalized (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_af4f99f5a4871892e3975e41c8137f69c}
+
+
+normalize itself
+
+\hypertarget{classmeow_1_1Vector3D_aebeef94d26c97cf43566070ce5501baf}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{n}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_aebeef94d26c97cf43566070ce5501baf}
+\hypertarget{classmeow_1_1Vector3D_ac49ceadb4ac36acaa0031160a1e1b099}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator()@{operator()}}
+\index{operator()@{operator()}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator() (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{sx, }
+\item[{Scalar const \&}]{sy, }
+\item[{Scalar const \&}]{sz}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ac49ceadb4ac36acaa0031160a1e1b099}
+\hypertarget{classmeow_1_1Vector3D_a7e274b5303baca7caec05d34a4e72ccc}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a7e274b5303baca7caec05d34a4e72ccc}
+\hypertarget{classmeow_1_1Vector3D_ab868dfd428a801abe173085826a40c97}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ab868dfd428a801abe173085826a40c97}
+\hypertarget{classmeow_1_1Vector3D_a80e9a667ae9d0d1015123d8477cfeee6}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator$\ast$=@{operator$\ast$=}}
+\index{operator$\ast$=@{operator$\ast$=}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator$\ast$=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator$\ast$= (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a80e9a667ae9d0d1015123d8477cfeee6}
+\hypertarget{classmeow_1_1Vector3D_abd020d6c071c7c3d374c52d738b471fc}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator+ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_abd020d6c071c7c3d374c52d738b471fc}
+\hypertarget{classmeow_1_1Vector3D_ac84bb8858275f0c7c780fce3b9f3d0fb}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ac84bb8858275f0c7c780fce3b9f3d0fb}
+\hypertarget{classmeow_1_1Vector3D_ad8effb8709fe565734bc1c8f94dc0ef1}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator+=@{operator+=}}
+\index{operator+=@{operator+=}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator+=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator+= (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ad8effb8709fe565734bc1c8f94dc0ef1}
+\hypertarget{classmeow_1_1Vector3D_a967c15ddac7c8e949e8361c3339492c8}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator-\/ (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a967c15ddac7c8e949e8361c3339492c8}
+\hypertarget{classmeow_1_1Vector3D_a7fa501db101297b8536801bca68fa0c9}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a7fa501db101297b8536801bca68fa0c9}
+\hypertarget{classmeow_1_1Vector3D_a238bd646690e1ac1660726e007b05d92}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator-\/=@{operator-\/=}}
+\index{operator-\/=@{operator-\/=}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator-\/=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator-\/= (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a238bd646690e1ac1660726e007b05d92}
+\hypertarget{classmeow_1_1Vector3D_ab19d15aa3ecbe2f2b87ce077a0bd7a46}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ab19d15aa3ecbe2f2b87ce077a0bd7a46}
+\hypertarget{classmeow_1_1Vector3D_a882b59cc16aaaa5b136dc60d1d6eecbd}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator/=@{operator/=}}
+\index{operator/=@{operator/=}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator/=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator/= (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a882b59cc16aaaa5b136dc60d1d6eecbd}
+\hypertarget{classmeow_1_1Vector3D_a336dbab9f61ee8196ce4c577a169a927}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a336dbab9f61ee8196ce4c577a169a927}
+\hypertarget{classmeow_1_1Vector3D_a8fc395992d84b816307f72026d1e7125}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!positive@{positive}}
+\index{positive@{positive}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{positive}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::positive (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a8fc395992d84b816307f72026d1e7125}
+
+
+return {\itshape +}($\ast$this)
+
+\hypertarget{classmeow_1_1Vector3D_a47b8cbd8a6738bbdbe713aa342a1d53f}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!reflect@{reflect}}
+\index{reflect@{reflect}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{reflect}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::reflect (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a47b8cbd8a6738bbdbe713aa342a1d53f}
+
+
+return reflect from given vector {\itshape v}
+
+\hypertarget{classmeow_1_1Vector3D_af4f968f581bfbcf57afcd1bbf1d3bee2}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!reflected@{reflected}}
+\index{reflected@{reflected}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{reflected}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::reflected (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_af4f968f581bfbcf57afcd1bbf1d3bee2}
+
+
+reflect itself given vector {\itshape v}
+
+\hypertarget{classmeow_1_1Vector3D_aa733fcc0936ef22613df75f9dabd853b}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!rotate@{rotate}}
+\index{rotate@{rotate}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{rotate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::rotate (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{axis, }
+\item[{{\bf double}}]{theta}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_aa733fcc0936ef22613df75f9dabd853b}
+
+
+return rotate {\itshape theta} degree by {\itshape axis} of itself
+
+\hypertarget{classmeow_1_1Vector3D_a27a06ec4ab5e4f6d3d59eeffa5a31617}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!rotated@{rotated}}
+\index{rotated@{rotated}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{rotated}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::rotated (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{axis, }
+\item[{{\bf double}}]{theta}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a27a06ec4ab5e4f6d3d59eeffa5a31617}
+
+
+Let itself rotate {\itshape theta} degree.
+
+\hypertarget{classmeow_1_1Vector3D_ab509fd9ef3b79fb13cc04cfec798dcc2}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!sub@{sub}}
+\index{sub@{sub}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{sub}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D} {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::sub (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ab509fd9ef3b79fb13cc04cfec798dcc2}
+
+
+return {\itshape }($\ast$this)-\/v
+
+\hypertarget{classmeow_1_1Vector3D_a65995d7ae4ba5652e162be215a5ec1ea}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!subed@{subed}}
+\index{subed@{subed}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{subed}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::subed (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ Scalar $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a65995d7ae4ba5652e162be215a5ec1ea}
+
+
+Let itself substract v.
+
+\hypertarget{classmeow_1_1Vector3D_a647a1a8b562c05d615328559f557257e}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!x@{x}}
+\index{x@{x}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{x}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::x (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a647a1a8b562c05d615328559f557257e}
+
+
+access x
+
+\hypertarget{classmeow_1_1Vector3D_ae7254b17c13defe2123565c17c9856a7}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!x@{x}}
+\index{x@{x}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{x}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::x (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ae7254b17c13defe2123565c17c9856a7}
+
+
+modify x
+
+\hypertarget{classmeow_1_1Vector3D_a001a44809826f9cd17dbd652c790c455}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!x\-Get@{x\-Get}}
+\index{x\-Get@{x\-Get}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{x\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::x\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a001a44809826f9cd17dbd652c790c455}
+
+
+access x with non constant reference
+
+\hypertarget{classmeow_1_1Vector3D_a4d95f04693bc608375a5dffb3f8d6514}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!xyz@{xyz}}
+\index{xyz@{xyz}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{xyz}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ {\bf Vector3\-D}\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::xyz (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{sx, }
+\item[{Scalar const \&}]{sy, }
+\item[{Scalar const \&}]{sz}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a4d95f04693bc608375a5dffb3f8d6514}
+
+
+modify x and y
+
+\hypertarget{classmeow_1_1Vector3D_a128085dc3d052f9479f3486fc3882caf}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!y@{y}}
+\index{y@{y}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{y}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::y (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a128085dc3d052f9479f3486fc3882caf}
+
+
+access y
+
+\hypertarget{classmeow_1_1Vector3D_ab520fe8f88aa2df1af1bfb91bac28fb2}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!y@{y}}
+\index{y@{y}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{y}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::y (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ab520fe8f88aa2df1af1bfb91bac28fb2}
+
+
+modify y
+
+\hypertarget{classmeow_1_1Vector3D_ab3603b9ca292877febc1aec42b29b0ae}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!y\-Get@{y\-Get}}
+\index{y\-Get@{y\-Get}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{y\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::y\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_ab3603b9ca292877febc1aec42b29b0ae}
+
+
+access y with non constant reference
+
+\hypertarget{classmeow_1_1Vector3D_a2d3855af7fd18b94faa89cceffa3d950}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!z@{z}}
+\index{z@{z}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{z}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::z (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a2d3855af7fd18b94faa89cceffa3d950}
+
+
+access z
+
+\hypertarget{classmeow_1_1Vector3D_aaa3b1182e639a91df5d58d6e5223ad39}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!z@{z}}
+\index{z@{z}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{z}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar const\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::z (
+\begin{DoxyParamCaption}
+\item[{Scalar const \&}]{s}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_aaa3b1182e639a91df5d58d6e5223ad39}
+
+
+modify z
+
+\hypertarget{classmeow_1_1Vector3D_a49b26941a2b323519ee22fbabdd0ce24}{\index{meow\-::\-Vector3\-D@{meow\-::\-Vector3\-D}!z\-Get@{z\-Get}}
+\index{z\-Get@{z\-Get}!meow::Vector3D@{meow\-::\-Vector3\-D}}
+\subsubsection[{z\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar$>$ Scalar\& {\bf meow\-::\-Vector3\-D}$<$ Scalar $>$\-::z\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Vector3D_a49b26941a2b323519ee22fbabdd0ce24}
+
+
+access z with non constant reference
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/geo/\hyperlink{Vectors_8h}{Vectors.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1ViewPort.eps b/doc/latex/classmeow_1_1ViewPort.eps
new file mode 100644
index 0000000..6d42164
--- /dev/null
+++ b/doc/latex/classmeow_1_1ViewPort.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 366.972477
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.362500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::ViewPort) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::ViewPort) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1ViewPort.pdf b/doc/latex/classmeow_1_1ViewPort.pdf
new file mode 100644
index 0000000..83682aa
--- /dev/null
+++ b/doc/latex/classmeow_1_1ViewPort.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1ViewPort.tex b/doc/latex/classmeow_1_1ViewPort.tex
new file mode 100644
index 0000000..6e66e19
--- /dev/null
+++ b/doc/latex/classmeow_1_1ViewPort.tex
@@ -0,0 +1,27 @@
+\hypertarget{classmeow_1_1ViewPort}{\section{meow\-:\-:View\-Port Class Reference}
+\label{classmeow_1_1ViewPort}\index{meow\-::\-View\-Port@{meow\-::\-View\-Port}}
+}
+
+
+未完待續
+
+
+
+
+{\ttfamily \#include \char`\"{}View\-Port.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:View\-Port\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1ViewPort}
+\end{center}
+\end{figure}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+未完待續
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{ViewPort_8h}{View\-Port.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1WatchBall.eps b/doc/latex/classmeow_1_1WatchBall.eps
new file mode 100644
index 0000000..40f55dc
--- /dev/null
+++ b/doc/latex/classmeow_1_1WatchBall.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 242.424242
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.062500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::WatchBall< Pixel >) cw
+(meow::ObjBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::WatchBall< Pixel >) 0.000000 0.000000 box
+ (meow::ObjBase) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1WatchBall.pdf b/doc/latex/classmeow_1_1WatchBall.pdf
new file mode 100644
index 0000000..cd4f223
--- /dev/null
+++ b/doc/latex/classmeow_1_1WatchBall.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1WatchBall.tex b/doc/latex/classmeow_1_1WatchBall.tex
new file mode 100644
index 0000000..407b7a1
--- /dev/null
+++ b/doc/latex/classmeow_1_1WatchBall.tex
@@ -0,0 +1,426 @@
+\hypertarget{classmeow_1_1WatchBall}{\section{meow\-:\-:Watch\-Ball$<$ Pixel $>$ Class Template Reference}
+\label{classmeow_1_1WatchBall}\index{meow\-::\-Watch\-Ball$<$ Pixel $>$@{meow\-::\-Watch\-Ball$<$ Pixel $>$}}
+}
+
+
+{\bfseries 多個camera}, 一個offset, 一個rotation
+
+
+
+
+{\ttfamily \#include \char`\"{}Watch\-Ball.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Watch\-Ball$<$ Pixel $>$\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1WatchBall}
+\end{center}
+\end{figure}
+\subsection*{Public Types}
+\begin{DoxyCompactItemize}
+\item
+typedef std\-::vector$<$ \hyperlink{classmeow_1_1Camera}{Camera}\\*
+$<$ Pixel $>$ $>$ \hyperlink{classmeow_1_1WatchBall_a1626a844f77feebc5f0f71bcd71bf20c}{Cameras}
+\end{DoxyCompactItemize}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1WatchBall_ab0072695aa7766d1d77f2f71424fcb40}{Watch\-Ball} ()
+\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1WatchBall_a798e37186c20a9b134b2137a2d4f7b26}{Watch\-Ball} (\hyperlink{classmeow_1_1WatchBall}{Watch\-Ball} const \&b)
+\begin{DoxyCompactList}\small\item\em copy constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1WatchBall_a255ccc4db07762e2f8f3443429aa017c}{$\sim$\-Watch\-Ball} ()
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1WatchBall}{Watch\-Ball} \& \hyperlink{classmeow_1_1WatchBall_abf464a7507044d2bca58ce6b686c5a73}{copy\-From} (\hyperlink{classmeow_1_1WatchBall}{Watch\-Ball} const \&b)
+\begin{DoxyCompactList}\small\item\em copy data \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1WatchBall}{Watch\-Ball} \& \hyperlink{classmeow_1_1WatchBall_a1480323a56f6f53799e56f4855d95b07}{reference\-From} (\hyperlink{classmeow_1_1WatchBall}{Watch\-Ball} const \&b)
+\begin{DoxyCompactList}\small\item\em reference \end{DoxyCompactList}\item
+size\-\_\-t \hyperlink{classmeow_1_1WatchBall_aa511d4d3fe3742e03dfad5f889a3628f}{camera\-Size} () const
+\begin{DoxyCompactList}\small\item\em 取得有幾個camera \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1WatchBall_a1626a844f77feebc5f0f71bcd71bf20c}{Cameras} const \& \hyperlink{classmeow_1_1WatchBall_a1a8810f599cd9cf5929c8b95b52abf98}{cameras} () const
+\begin{DoxyCompactList}\small\item\em 取得 cameras \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1WatchBall_a1626a844f77feebc5f0f71bcd71bf20c}{Cameras} \& \hyperlink{classmeow_1_1WatchBall_a1e1c147b92eb097472f957b5fc44346f}{cameras\-Get} ()
+\begin{DoxyCompactList}\small\item\em 取得 cameras (non-\/constant) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1WatchBall_a1626a844f77feebc5f0f71bcd71bf20c}{Cameras} const \& \hyperlink{classmeow_1_1WatchBall_a6dc606fde781e28da367e4d5ef023341}{cameras} (\hyperlink{classmeow_1_1WatchBall_a1626a844f77feebc5f0f71bcd71bf20c}{Cameras} const \&c)
+\begin{DoxyCompactList}\small\item\em 設定 camera \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera}{Camera}$<$ Pixel $>$ const \& \hyperlink{classmeow_1_1WatchBall_ae80be9aa3e4e4e3a1577c8fecf05c22b}{camera} (size\-\_\-t i) const
+\begin{DoxyCompactList}\small\item\em 取得第i個camera \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera}{Camera}$<$ Pixel $>$ \& \hyperlink{classmeow_1_1WatchBall_afa8f3bf18dcd5295802777c1d9a25d71}{camera} (size\-\_\-t i)
+\begin{DoxyCompactList}\small\item\em 取得第i個camera (non-\/constant reference) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Camera}{Camera}$<$ Pixel $>$ const \& \hyperlink{classmeow_1_1WatchBall_ad2a10fde68b850a32193c20804708bc6}{camera} (size\-\_\-t i, \hyperlink{classmeow_1_1Camera}{Camera}$<$ Pixel $>$ const \&c)
+\begin{DoxyCompactList}\small\item\em 設定第i個camera \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \& \hyperlink{classmeow_1_1WatchBall_af8a5cf5d7093da13578aee6f802c8cee}{offset} () const
+\begin{DoxyCompactList}\small\item\em 取得offset \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ \& \hyperlink{classmeow_1_1WatchBall_a07068805c2c31cce87eea8771611a711}{offset} ()
+\begin{DoxyCompactList}\small\item\em 取得offset (non-\/constant reference) \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \& \hyperlink{classmeow_1_1WatchBall_aeaedc62a9647b572e0606446e741152f}{offset} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&ofs)
+\begin{DoxyCompactList}\small\item\em 設定offset \end{DoxyCompactList}\item
+Pixel \hyperlink{classmeow_1_1WatchBall_aea73c7ddb1fb42a257406735ea687d4d}{color} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ p) const
+\begin{DoxyCompactList}\small\item\em 取得底片color \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Bitmap}{Bitmap}$<$ Pixel $>$ \hyperlink{classmeow_1_1WatchBall_a00fcbbce6d9e4748a9b093983e591c19}{expand} (\hyperlink{classdouble}{double} radius) const
+\begin{DoxyCompactList}\small\item\em 輸出展開圖 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1WatchBall}{Watch\-Ball} \& \hyperlink{classmeow_1_1WatchBall_a69948640465200ca8fadc364aad98b23}{operator=} (\hyperlink{classmeow_1_1WatchBall}{Watch\-Ball} const \&b)
+\begin{DoxyCompactList}\small\item\em same as {\ttfamily copy\-From(b)} \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1WatchBall_a33cb0d690e6da55580f1747c7fb72e7a}{write} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg) const
+\begin{DoxyCompactList}\small\item\em 將資料寫入檔案 \end{DoxyCompactList}\item
+bool \hyperlink{classmeow_1_1WatchBall_a18cac43a61f741c191148bfef76e3d85}{read} (F\-I\-L\-E $\ast$f, bool bin, unsigned \hyperlink{classint}{int} fg)
+\begin{DoxyCompactList}\small\item\em 將資料讀入 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1WatchBall_ae2c8bc97ac7d09b886fe59a8f88c2145}{create} () const
+\begin{DoxyCompactList}\small\item\em new一個自己 \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} $\ast$ \hyperlink{classmeow_1_1WatchBall_a898f8ad46598a01633f444804853a3bd}{copy\-From} (\hyperlink{classmeow_1_1ObjBase}{Obj\-Base} const $\ast$b)
+\begin{DoxyCompactList}\small\item\em 複製資料 \end{DoxyCompactList}\item
+char const $\ast$ \hyperlink{classmeow_1_1WatchBall_afcba8229502523255913392c592eabce}{ctype} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\item
+std\-::string \hyperlink{classmeow_1_1WatchBall_ab8478f0460b456da11863ab9e7542bd1}{type} () const
+\begin{DoxyCompactList}\small\item\em 回傳class的type \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class Pixel$>$class meow\-::\-Watch\-Ball$<$ Pixel $>$}
+
+{\bfseries 多個camera}, 一個offset, 一個rotation
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Member Typedef Documentation}
+\hypertarget{classmeow_1_1WatchBall_a1626a844f77feebc5f0f71bcd71bf20c}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!Cameras@{Cameras}}
+\index{Cameras@{Cameras}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{Cameras}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ typedef std\-::vector$<${\bf Camera}$<$Pixel$>$ $>$ {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::{\bf Cameras}}}\label{classmeow_1_1WatchBall_a1626a844f77feebc5f0f71bcd71bf20c}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1WatchBall_ab0072695aa7766d1d77f2f71424fcb40}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!Watch\-Ball@{Watch\-Ball}}
+\index{Watch\-Ball@{Watch\-Ball}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{Watch\-Ball}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::{\bf Watch\-Ball} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_ab0072695aa7766d1d77f2f71424fcb40}
+
+
+constructor
+
+\hypertarget{classmeow_1_1WatchBall_a798e37186c20a9b134b2137a2d4f7b26}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!Watch\-Ball@{Watch\-Ball}}
+\index{Watch\-Ball@{Watch\-Ball}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{Watch\-Ball}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::{\bf Watch\-Ball} (
+\begin{DoxyParamCaption}
+\item[{{\bf Watch\-Ball}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a798e37186c20a9b134b2137a2d4f7b26}
+
+
+copy constructor
+
+\hypertarget{classmeow_1_1WatchBall_a255ccc4db07762e2f8f3443429aa017c}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!$\sim$\-Watch\-Ball@{$\sim$\-Watch\-Ball}}
+\index{$\sim$\-Watch\-Ball@{$\sim$\-Watch\-Ball}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{$\sim$\-Watch\-Ball}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::$\sim${\bf Watch\-Ball} (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a255ccc4db07762e2f8f3443429aa017c}
+
+
+destructor
+
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1WatchBall_ae80be9aa3e4e4e3a1577c8fecf05c22b}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!camera@{camera}}
+\index{camera@{camera}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{camera}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Camera}$<$Pixel$>$ const\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::camera (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_ae80be9aa3e4e4e3a1577c8fecf05c22b}
+
+
+取得第i個camera
+
+\hypertarget{classmeow_1_1WatchBall_afa8f3bf18dcd5295802777c1d9a25d71}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!camera@{camera}}
+\index{camera@{camera}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{camera}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Camera}$<$Pixel$>$\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::camera (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_afa8f3bf18dcd5295802777c1d9a25d71}
+
+
+取得第i個camera (non-\/constant reference)
+
+\hypertarget{classmeow_1_1WatchBall_ad2a10fde68b850a32193c20804708bc6}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!camera@{camera}}
+\index{camera@{camera}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{camera}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Camera}$<$Pixel$>$ const\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::camera (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{{\bf Camera}$<$ Pixel $>$ const \&}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_ad2a10fde68b850a32193c20804708bc6}
+
+
+設定第i個camera
+
+\hypertarget{classmeow_1_1WatchBall_a1a8810f599cd9cf5929c8b95b52abf98}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!cameras@{cameras}}
+\index{cameras@{cameras}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{cameras}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Cameras} const\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::cameras (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a1a8810f599cd9cf5929c8b95b52abf98}
+
+
+取得 cameras
+
+\hypertarget{classmeow_1_1WatchBall_a6dc606fde781e28da367e4d5ef023341}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!cameras@{cameras}}
+\index{cameras@{cameras}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{cameras}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Cameras} const\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::cameras (
+\begin{DoxyParamCaption}
+\item[{{\bf Cameras} const \&}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a6dc606fde781e28da367e4d5ef023341}
+
+
+設定 camera
+
+\hypertarget{classmeow_1_1WatchBall_a1e1c147b92eb097472f957b5fc44346f}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!cameras\-Get@{cameras\-Get}}
+\index{cameras\-Get@{cameras\-Get}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{cameras\-Get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Cameras}\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::cameras\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a1e1c147b92eb097472f957b5fc44346f}
+
+
+取得 cameras (non-\/constant)
+
+\hypertarget{classmeow_1_1WatchBall_aa511d4d3fe3742e03dfad5f889a3628f}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!camera\-Size@{camera\-Size}}
+\index{camera\-Size@{camera\-Size}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{camera\-Size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ size\-\_\-t {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::camera\-Size (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_aa511d4d3fe3742e03dfad5f889a3628f}
+
+
+取得有幾個camera
+
+\hypertarget{classmeow_1_1WatchBall_aea73c7ddb1fb42a257406735ea687d4d}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!color@{color}}
+\index{color@{color}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{color}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ Pixel {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::color (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$}]{p}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_aea73c7ddb1fb42a257406735ea687d4d}
+
+
+取得底片color
+
+\hypertarget{classmeow_1_1WatchBall_abf464a7507044d2bca58ce6b686c5a73}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Watch\-Ball}\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Watch\-Ball}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_abf464a7507044d2bca58ce6b686c5a73}
+
+
+copy data
+
+\hypertarget{classmeow_1_1WatchBall_a898f8ad46598a01633f444804853a3bd}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!copy\-From@{copy\-From}}
+\index{copy\-From@{copy\-From}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{copy\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::copy\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Obj\-Base} const $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1WatchBall_a898f8ad46598a01633f444804853a3bd}
+
+
+複製資料
+
+輸入型別是 {\ttfamily \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}} {\ttfamily const$\ast$} 事實上這個method就只是幫忙轉型然後呼叫原本的{\ttfamily copy\-From}
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em b} & 資料來源 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+this
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a79725f50866832762db87184eb528619}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1WatchBall_ae2c8bc97ac7d09b886fe59a8f88c2145}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!create@{create}}
+\index{create@{create}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{create}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Obj\-Base}$\ast$ {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::create (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1WatchBall_ae2c8bc97ac7d09b886fe59a8f88c2145}
+
+
+new一個自己
+
+\begin{DoxyReturn}{Returns}
+一個new出來的pointer
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ac9114e6917bca03b8f3c89694214b57c}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1WatchBall_afcba8229502523255913392c592eabce}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!ctype@{ctype}}
+\index{ctype@{ctype}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{ctype}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ char const$\ast$ {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::ctype (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1WatchBall_afcba8229502523255913392c592eabce}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily char} {\ttfamily const{\ttfamily $\ast$} 形式的typename}
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4aae58e8005739abe6d091d8b55a21e8}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1WatchBall_a00fcbbce6d9e4748a9b093983e591c19}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!expand@{expand}}
+\index{expand@{expand}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{expand}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Bitmap}$<$Pixel$>$ {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::expand (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{radius}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a00fcbbce6d9e4748a9b093983e591c19}
+
+
+輸出展開圖
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em radius} & 半徑 \\
+\hline
+\end{DoxyParams}
+\hypertarget{classmeow_1_1WatchBall_af8a5cf5d7093da13578aee6f802c8cee}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!offset@{offset}}
+\index{offset@{offset}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{offset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Vector3\-D}$<${\bf double}$>$ const\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::offset (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_af8a5cf5d7093da13578aee6f802c8cee}
+
+
+取得offset
+
+\hypertarget{classmeow_1_1WatchBall_a07068805c2c31cce87eea8771611a711}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!offset@{offset}}
+\index{offset@{offset}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{offset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Vector3\-D}$<${\bf double}$>$\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::offset (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a07068805c2c31cce87eea8771611a711}
+
+
+取得offset (non-\/constant reference)
+
+\hypertarget{classmeow_1_1WatchBall_aeaedc62a9647b572e0606446e741152f}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!offset@{offset}}
+\index{offset@{offset}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{offset}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Vector3\-D}$<${\bf double}$>$ const\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::offset (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$ const \&}]{ofs}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_aeaedc62a9647b572e0606446e741152f}
+
+
+設定offset
+
+\hypertarget{classmeow_1_1WatchBall_a69948640465200ca8fadc364aad98b23}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Watch\-Ball}\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Watch\-Ball}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a69948640465200ca8fadc364aad98b23}
+
+
+same as {\ttfamily copy\-From(b)}
+
+\hypertarget{classmeow_1_1WatchBall_a18cac43a61f741c191148bfef76e3d85}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!read@{read}}
+\index{read@{read}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ bool {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::read (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1WatchBall_a18cac43a61f741c191148bfef76e3d85}
+
+
+將資料讀入
+
+\begin{DoxyNote}{Note}
+未完成
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a4c1f5cb4b05559197148a8f6524bfc34}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1WatchBall_a1480323a56f6f53799e56f4855d95b07}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!reference\-From@{reference\-From}}
+\index{reference\-From@{reference\-From}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{reference\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ {\bf Watch\-Ball}\& {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::reference\-From (
+\begin{DoxyParamCaption}
+\item[{{\bf Watch\-Ball}$<$ Pixel $>$ const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1WatchBall_a1480323a56f6f53799e56f4855d95b07}
+
+
+reference
+
+\hypertarget{classmeow_1_1WatchBall_ab8478f0460b456da11863ab9e7542bd1}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!type@{type}}
+\index{type@{type}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ std\-::string {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::type (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1WatchBall_ab8478f0460b456da11863ab9e7542bd1}
+
+
+回傳class的type
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily std\-::string} 形式的typename
+\end{DoxyReturn}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_a63a4911bb073281820fe9b7a9908ba72}{meow\-::\-Obj\-Base}.
+
+\hypertarget{classmeow_1_1WatchBall_a33cb0d690e6da55580f1747c7fb72e7a}{\index{meow\-::\-Watch\-Ball@{meow\-::\-Watch\-Ball}!write@{write}}
+\index{write@{write}!meow::WatchBall@{meow\-::\-Watch\-Ball}}
+\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Pixel $>$ bool {\bf meow\-::\-Watch\-Ball}$<$ Pixel $>$\-::write (
+\begin{DoxyParamCaption}
+\item[{F\-I\-L\-E $\ast$}]{f, }
+\item[{bool}]{bin, }
+\item[{unsigned {\bf int}}]{fg}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classmeow_1_1WatchBall_a33cb0d690e6da55580f1747c7fb72e7a}
+
+
+將資料寫入檔案
+
+\begin{DoxyNote}{Note}
+未完成
+\end{DoxyNote}
+
+
+Reimplemented from \hyperlink{classmeow_1_1ObjBase_ae9e9e5c664b7a92e54a3616983f39ba8}{meow\-::\-Obj\-Base}.
+
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{WatchBall_8h}{Watch\-Ball.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/classmeow_1_1YUVf__Space.eps b/doc/latex/classmeow_1_1YUVf__Space.eps
new file mode 100644
index 0000000..2da6370
--- /dev/null
+++ b/doc/latex/classmeow_1_1YUVf__Space.eps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 199.004975
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.512500 def % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(meow::YUVf_Space) cw
+(meow::Color3_Space< double >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (meow::YUVf_Space) 0.000000 0.000000 box
+ (meow::Color3_Space< double >) 0.000000 1.000000 box
+
+% ----- relations -----
+
+solid
+0 0.000000 0.000000 out
+solid
+1 0.000000 1.000000 in
diff --git a/doc/latex/classmeow_1_1YUVf__Space.pdf b/doc/latex/classmeow_1_1YUVf__Space.pdf
new file mode 100644
index 0000000..81755b8
--- /dev/null
+++ b/doc/latex/classmeow_1_1YUVf__Space.pdf
Binary files differ
diff --git a/doc/latex/classmeow_1_1YUVf__Space.tex b/doc/latex/classmeow_1_1YUVf__Space.tex
new file mode 100644
index 0000000..80ad19c
--- /dev/null
+++ b/doc/latex/classmeow_1_1YUVf__Space.tex
@@ -0,0 +1,323 @@
+\hypertarget{classmeow_1_1YUVf__Space}{\section{meow\-:\-:Y\-U\-Vf\-\_\-\-Space Class Reference}
+\label{classmeow_1_1YUVf__Space}\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+}
+
+
+以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間
+
+
+
+
+{\ttfamily \#include \char`\"{}Y\-U\-V\-\_\-\-Space.\-h\char`\"{}}
+
+Inheritance diagram for meow\-:\-:Y\-U\-Vf\-\_\-\-Space\-:\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2.000000cm]{classmeow_1_1YUVf__Space}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{classmeow_1_1YUVf__Space_a9b3807a627b89e9484eda3fa40120a24}{Y\-U\-Vf\-\_\-\-Space} ()
+\item
+\hyperlink{classmeow_1_1YUVf__Space_a2e9ddbeaae07e35c4c2adb254d5e4ca0}{Y\-U\-Vf\-\_\-\-Space} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classmeow_1_1YUVf__Space_a5694afcf7bf1962ea9e0abc7b8801358}{Y\-U\-Vf\-\_\-\-Space} (\hyperlink{classmeow_1_1Vector3D}{Vector3\-D}$<$ \hyperlink{classdouble}{double} $>$ const \&\hyperlink{classmeow_1_1YUVf__Space_a25715d75897bd4ede9898edfc932ffd5}{v})
+\item
+\hyperlink{classmeow_1_1YUVf__Space_a0b34feef9db731dbc7228c0bc3554415}{Y\-U\-Vf\-\_\-\-Space} (Y\-U\-V\-\_\-\-Space const \&b)
+\item
+\hyperlink{classmeow_1_1YUVf__Space_a4ffd3340f73d108e4641de0eab155262}{$\sim$\-Y\-U\-Vf\-\_\-\-Space} ()
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_a99f55740ad5a8b57f4edf68a69e2b720}{yuv\-Min} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_adb397aff53a9c0ede746bd734a519dd6}{y\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_ae799cfca7c0d3b4a817d33a6ebac5239}{u\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_aba01d6b8d0d8840d0132ccd6b43d8c0c}{v\-Min} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_afe90af43e91f5134419a2ca7624cff66}{yuv\-Max} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_adf7029d33a94df084c4ec0142a35d323}{y\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_aaf9cb97273b96475641a372fbbe86949}{u\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_a3b168dd8186710b014f2e1d1b5ee1c63}{v\-Max} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_a9f4740de51da44bb8397c90f24975c19}{yuv} (size\-\_\-t i) const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_ab09964887a8e6049fb9eaefd4fdd872c}{y} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_ab7a1880a397a5fff594ac18c0d569bd6}{u} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_a25715d75897bd4ede9898edfc932ffd5}{v} () const
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_afc4e9f52a8e75753772d99a077e5b4ea}{yuv} (size\-\_\-t i, \hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_a92f015c9545102445d1163c7eab67e79}{y} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_afaf24781d6b28a9615c807dfc70e4f7b}{u} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} const \& \hyperlink{classmeow_1_1YUVf__Space_af2f8d6a8a4913de6ad17f2da86d949fa}{v} (\hyperlink{classdouble}{double} c)
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1YUVf__Space_a47a65edcd356f3754f6aca45483cae06}{yuv\-Get} (size\-\_\-t i)
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1YUVf__Space_a31c9176faad460be84a0255bc3173226}{y\-Get} ()
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1YUVf__Space_ad377534486a9d1d1bea38d4c04ea0267}{u\-Get} ()
+\item
+\hyperlink{classdouble}{double} \& \hyperlink{classmeow_1_1YUVf__Space_a99e8bb42edb254ed1415f55ef1558ab0}{v\-Get} ()
+\item
+\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} \& \hyperlink{classmeow_1_1YUVf__Space_acd8f8d7472bfa816669e601243c0c2df}{operator=} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&b)
+\item
+\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} \hyperlink{classmeow_1_1YUVf__Space_a06cf23bd6493ce0c1e69cca45b3b9f96}{operator+} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&b) const
+\item
+\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} \hyperlink{classmeow_1_1YUVf__Space_adf527a2801ec37a42edf1b1964007547}{operator-\/} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&b) const
+\item
+\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} \hyperlink{classmeow_1_1YUVf__Space_ad4e4990fd6dbaaa3bdbb8c4706830588}{operator$\ast$} (\hyperlink{classdouble}{double} const \&c) const
+\item
+\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} \hyperlink{classmeow_1_1YUVf__Space_a056acc13f596f9d488eeb8540aa93a2d}{operator/} (\hyperlink{classdouble}{double} const \&c) const
+\item
+\hyperlink{classdouble}{double} \hyperlink{classmeow_1_1YUVf__Space_a0a38aa9230be765cdb7e1fd5ace9315b}{operator$\ast$} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&b) const
+\end{DoxyCompactItemize}
+\subsection*{Additional Inherited Members}
+
+
+\subsection{Detailed Description}
+以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間
+
+其中範圍都介於0.0$\sim$1.0之間
+
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classmeow_1_1YUVf__Space_a9b3807a627b89e9484eda3fa40120a24}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!Y\-U\-Vf\-\_\-\-Space@{Y\-U\-Vf\-\_\-\-Space}}
+\index{Y\-U\-Vf\-\_\-\-Space@{Y\-U\-Vf\-\_\-\-Space}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{Y\-U\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::\-Y\-U\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a9b3807a627b89e9484eda3fa40120a24}
+\hypertarget{classmeow_1_1YUVf__Space_a2e9ddbeaae07e35c4c2adb254d5e4ca0}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!Y\-U\-Vf\-\_\-\-Space@{Y\-U\-Vf\-\_\-\-Space}}
+\index{Y\-U\-Vf\-\_\-\-Space@{Y\-U\-Vf\-\_\-\-Space}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{Y\-U\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::\-Y\-U\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a2e9ddbeaae07e35c4c2adb254d5e4ca0}
+\hypertarget{classmeow_1_1YUVf__Space_a5694afcf7bf1962ea9e0abc7b8801358}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!Y\-U\-Vf\-\_\-\-Space@{Y\-U\-Vf\-\_\-\-Space}}
+\index{Y\-U\-Vf\-\_\-\-Space@{Y\-U\-Vf\-\_\-\-Space}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{Y\-U\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::\-Y\-U\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{{\bf Vector3\-D}$<$ {\bf double} $>$ const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a5694afcf7bf1962ea9e0abc7b8801358}
+\hypertarget{classmeow_1_1YUVf__Space_a0b34feef9db731dbc7228c0bc3554415}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!Y\-U\-Vf\-\_\-\-Space@{Y\-U\-Vf\-\_\-\-Space}}
+\index{Y\-U\-Vf\-\_\-\-Space@{Y\-U\-Vf\-\_\-\-Space}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{Y\-U\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::\-Y\-U\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+\item[{Y\-U\-V\-\_\-\-Space const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a0b34feef9db731dbc7228c0bc3554415}
+\hypertarget{classmeow_1_1YUVf__Space_a4ffd3340f73d108e4641de0eab155262}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!$\sim$\-Y\-U\-Vf\-\_\-\-Space@{$\sim$\-Y\-U\-Vf\-\_\-\-Space}}
+\index{$\sim$\-Y\-U\-Vf\-\_\-\-Space@{$\sim$\-Y\-U\-Vf\-\_\-\-Space}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{$\sim$\-Y\-U\-Vf\-\_\-\-Space}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::$\sim$\-Y\-U\-Vf\-\_\-\-Space (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a4ffd3340f73d108e4641de0eab155262}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{classmeow_1_1YUVf__Space_ad4e4990fd6dbaaa3bdbb8c4706830588}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Y\-U\-Vf\-\_\-\-Space} meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf double} const \&}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_ad4e4990fd6dbaaa3bdbb8c4706830588}
+\hypertarget{classmeow_1_1YUVf__Space_a0a38aa9230be765cdb7e1fd5ace9315b}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!operator$\ast$@{operator$\ast$}}
+\index{operator$\ast$@{operator$\ast$}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::operator$\ast$ (
+\begin{DoxyParamCaption}
+\item[{{\bf Y\-U\-Vf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a0a38aa9230be765cdb7e1fd5ace9315b}
+\hypertarget{classmeow_1_1YUVf__Space_a06cf23bd6493ce0c1e69cca45b3b9f96}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!operator+@{operator+}}
+\index{operator+@{operator+}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{operator+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Y\-U\-Vf\-\_\-\-Space} meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::operator+ (
+\begin{DoxyParamCaption}
+\item[{{\bf Y\-U\-Vf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a06cf23bd6493ce0c1e69cca45b3b9f96}
+\hypertarget{classmeow_1_1YUVf__Space_adf527a2801ec37a42edf1b1964007547}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!operator-\/@{operator-\/}}
+\index{operator-\/@{operator-\/}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{operator-\/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Y\-U\-Vf\-\_\-\-Space} meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::operator-\/ (
+\begin{DoxyParamCaption}
+\item[{{\bf Y\-U\-Vf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_adf527a2801ec37a42edf1b1964007547}
+\hypertarget{classmeow_1_1YUVf__Space_a056acc13f596f9d488eeb8540aa93a2d}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!operator/@{operator/}}
+\index{operator/@{operator/}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Y\-U\-Vf\-\_\-\-Space} meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::operator/ (
+\begin{DoxyParamCaption}
+\item[{{\bf double} const \&}]{c}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a056acc13f596f9d488eeb8540aa93a2d}
+\hypertarget{classmeow_1_1YUVf__Space_acd8f8d7472bfa816669e601243c0c2df}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!operator=@{operator=}}
+\index{operator=@{operator=}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Y\-U\-Vf\-\_\-\-Space}\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::operator= (
+\begin{DoxyParamCaption}
+\item[{{\bf Y\-U\-Vf\-\_\-\-Space} const \&}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_acd8f8d7472bfa816669e601243c0c2df}
+\hypertarget{classmeow_1_1YUVf__Space_ab7a1880a397a5fff594ac18c0d569bd6}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!u@{u}}
+\index{u@{u}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{u}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::u (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_ab7a1880a397a5fff594ac18c0d569bd6}
+\hypertarget{classmeow_1_1YUVf__Space_afaf24781d6b28a9615c807dfc70e4f7b}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!u@{u}}
+\index{u@{u}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{u}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::u (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_afaf24781d6b28a9615c807dfc70e4f7b}
+\hypertarget{classmeow_1_1YUVf__Space_ad377534486a9d1d1bea38d4c04ea0267}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!u\-Get@{u\-Get}}
+\index{u\-Get@{u\-Get}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{u\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::u\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_ad377534486a9d1d1bea38d4c04ea0267}
+\hypertarget{classmeow_1_1YUVf__Space_aaf9cb97273b96475641a372fbbe86949}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!u\-Max@{u\-Max}}
+\index{u\-Max@{u\-Max}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{u\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::u\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_aaf9cb97273b96475641a372fbbe86949}
+\hypertarget{classmeow_1_1YUVf__Space_ae799cfca7c0d3b4a817d33a6ebac5239}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!u\-Min@{u\-Min}}
+\index{u\-Min@{u\-Min}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{u\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::u\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_ae799cfca7c0d3b4a817d33a6ebac5239}
+\hypertarget{classmeow_1_1YUVf__Space_a25715d75897bd4ede9898edfc932ffd5}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!v@{v}}
+\index{v@{v}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{v}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::v (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a25715d75897bd4ede9898edfc932ffd5}
+\hypertarget{classmeow_1_1YUVf__Space_af2f8d6a8a4913de6ad17f2da86d949fa}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!v@{v}}
+\index{v@{v}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{v}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::v (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_af2f8d6a8a4913de6ad17f2da86d949fa}
+\hypertarget{classmeow_1_1YUVf__Space_a99e8bb42edb254ed1415f55ef1558ab0}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!v\-Get@{v\-Get}}
+\index{v\-Get@{v\-Get}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{v\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::v\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a99e8bb42edb254ed1415f55ef1558ab0}
+\hypertarget{classmeow_1_1YUVf__Space_a3b168dd8186710b014f2e1d1b5ee1c63}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!v\-Max@{v\-Max}}
+\index{v\-Max@{v\-Max}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{v\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::v\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a3b168dd8186710b014f2e1d1b5ee1c63}
+\hypertarget{classmeow_1_1YUVf__Space_aba01d6b8d0d8840d0132ccd6b43d8c0c}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!v\-Min@{v\-Min}}
+\index{v\-Min@{v\-Min}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{v\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::v\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_aba01d6b8d0d8840d0132ccd6b43d8c0c}
+\hypertarget{classmeow_1_1YUVf__Space_ab09964887a8e6049fb9eaefd4fdd872c}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!y@{y}}
+\index{y@{y}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{y}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::y (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_ab09964887a8e6049fb9eaefd4fdd872c}
+\hypertarget{classmeow_1_1YUVf__Space_a92f015c9545102445d1163c7eab67e79}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!y@{y}}
+\index{y@{y}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{y}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::y (
+\begin{DoxyParamCaption}
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a92f015c9545102445d1163c7eab67e79}
+\hypertarget{classmeow_1_1YUVf__Space_a31c9176faad460be84a0255bc3173226}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!y\-Get@{y\-Get}}
+\index{y\-Get@{y\-Get}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{y\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::y\-Get (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a31c9176faad460be84a0255bc3173226}
+\hypertarget{classmeow_1_1YUVf__Space_adf7029d33a94df084c4ec0142a35d323}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!y\-Max@{y\-Max}}
+\index{y\-Max@{y\-Max}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{y\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::y\-Max (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_adf7029d33a94df084c4ec0142a35d323}
+\hypertarget{classmeow_1_1YUVf__Space_adb397aff53a9c0ede746bd734a519dd6}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!y\-Min@{y\-Min}}
+\index{y\-Min@{y\-Min}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{y\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::y\-Min (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_adb397aff53a9c0ede746bd734a519dd6}
+\hypertarget{classmeow_1_1YUVf__Space_a9f4740de51da44bb8397c90f24975c19}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!yuv@{yuv}}
+\index{yuv@{yuv}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{yuv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::yuv (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a9f4740de51da44bb8397c90f24975c19}
+\hypertarget{classmeow_1_1YUVf__Space_afc4e9f52a8e75753772d99a077e5b4ea}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!yuv@{yuv}}
+\index{yuv@{yuv}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{yuv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::yuv (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i, }
+\item[{{\bf double}}]{c}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_afc4e9f52a8e75753772d99a077e5b4ea}
+\hypertarget{classmeow_1_1YUVf__Space_a47a65edcd356f3754f6aca45483cae06}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!yuv\-Get@{yuv\-Get}}
+\index{yuv\-Get@{yuv\-Get}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{yuv\-Get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double}\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::yuv\-Get (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a47a65edcd356f3754f6aca45483cae06}
+\hypertarget{classmeow_1_1YUVf__Space_afe90af43e91f5134419a2ca7624cff66}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!yuv\-Max@{yuv\-Max}}
+\index{yuv\-Max@{yuv\-Max}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{yuv\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::yuv\-Max (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_afe90af43e91f5134419a2ca7624cff66}
+\hypertarget{classmeow_1_1YUVf__Space_a99f55740ad5a8b57f4edf68a69e2b720}{\index{meow\-::\-Y\-U\-Vf\-\_\-\-Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}!yuv\-Min@{yuv\-Min}}
+\index{yuv\-Min@{yuv\-Min}!meow::YUVf_Space@{meow\-::\-Y\-U\-Vf\-\_\-\-Space}}
+\subsubsection[{yuv\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf double} const\& meow\-::\-Y\-U\-Vf\-\_\-\-Space\-::yuv\-Min (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{i}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1YUVf__Space_a99f55740ad5a8b57f4edf68a69e2b720}
+
+
+The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/colors/\hyperlink{YUV__Space_8h}{Y\-U\-V\-\_\-\-Space.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/dir_115d3279a93b9c99d8f569a34543848f.tex b/doc/latex/dir_115d3279a93b9c99d8f569a34543848f.tex
new file mode 100644
index 0000000..73fa340
--- /dev/null
+++ b/doc/latex/dir_115d3279a93b9c99d8f569a34543848f.tex
@@ -0,0 +1,28 @@
+\hypertarget{dir_115d3279a93b9c99d8f569a34543848f}{\section{meowpp/gra Directory Reference}
+\label{dir_115d3279a93b9c99d8f569a34543848f}\index{meowpp/gra Directory Reference@{meowpp/gra Directory Reference}}
+}
+\subsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \hyperlink{Bitmap_8h}{Bitmap.\-h}
+\item
+file \hyperlink{Camera_8h}{Camera.\-h}
+\item
+file \hyperlink{FeaturePoint_8h}{Feature\-Point.\-h}
+\item
+file \hyperlink{FeaturePointsDetector_8h}{Feature\-Points\-Detector.\-h}
+\item
+file \hyperlink{FeaturePointsDetector__Harris_8h}{Feature\-Points\-Detector\-\_\-\-Harris.\-h}
+\item
+file \hyperlink{FeaturePointsMatch_8h}{Feature\-Points\-Match.\-h}
+\item
+file \hyperlink{FeaturePointsMatch__K__Match_8h}{Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h}
+\item
+file \hyperlink{IdentityPoints_8h}{Identity\-Points.\-h}
+\item
+file \hyperlink{Photo_8h}{Photo.\-h}
+\item
+file \hyperlink{ViewPort_8h}{View\-Port.\-h}
+\item
+file \hyperlink{WatchBall_8h}{Watch\-Ball.\-h}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/dir_540a4c8f2977878a343351220ffba92b.tex b/doc/latex/dir_540a4c8f2977878a343351220ffba92b.tex
new file mode 100644
index 0000000..5940dcd
--- /dev/null
+++ b/doc/latex/dir_540a4c8f2977878a343351220ffba92b.tex
@@ -0,0 +1,18 @@
+\hypertarget{dir_540a4c8f2977878a343351220ffba92b}{\section{meowpp/oo Directory Reference}
+\label{dir_540a4c8f2977878a343351220ffba92b}\index{meowpp/oo Directory Reference@{meowpp/oo Directory Reference}}
+}
+\subsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \hyperlink{ObjArray_8h}{Obj\-Array.\-h}
+\item
+file \hyperlink{ObjBase_8h}{Obj\-Base.\-h}
+\item
+file \hyperlink{ObjDictionary_8h}{Obj\-Dictionary.\-h}
+\item
+file \hyperlink{ObjProperties_8h}{Obj\-Properties.\-h}
+\item
+file \hyperlink{ObjSelector_8h}{Obj\-Selector.\-h}
+\item
+file \hyperlink{ObjTypes_8h}{Obj\-Types.\-h}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/dir_77e0ab67466b1e7d76f50725a5ab9910.tex b/doc/latex/dir_77e0ab67466b1e7d76f50725a5ab9910.tex
new file mode 100644
index 0000000..294a06f
--- /dev/null
+++ b/doc/latex/dir_77e0ab67466b1e7d76f50725a5ab9910.tex
@@ -0,0 +1,22 @@
+\hypertarget{dir_77e0ab67466b1e7d76f50725a5ab9910}{\section{meowpp/math Directory Reference}
+\label{dir_77e0ab67466b1e7d76f50725a5ab9910}\index{meowpp/math Directory Reference@{meowpp/math Directory Reference}}
+}
+\subsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \hyperlink{LinearTransformation_8h}{Linear\-Transformation.\-h}
+\item
+file \hyperlink{LinearTransformations_8h}{Linear\-Transformations.\-h}
+\item
+file \hyperlink{Matrix_8h}{Matrix.\-h}
+\item
+file \hyperlink{methods_8h}{methods.\-h}
+\item
+file \hyperlink{Transformation_8h}{Transformation.\-h}
+\item
+file \hyperlink{Transformations_8h}{Transformations.\-h}
+\item
+file \hyperlink{math_2utility_8h}{utility.\-h}
+\item
+file \hyperlink{Vector_8h}{Vector.\-h}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/dir_92fecd8d02dd5e7a67429447fdf0f60f.tex b/doc/latex/dir_92fecd8d02dd5e7a67429447fdf0f60f.tex
new file mode 100644
index 0000000..154655d
--- /dev/null
+++ b/doc/latex/dir_92fecd8d02dd5e7a67429447fdf0f60f.tex
@@ -0,0 +1,27 @@
+\hypertarget{dir_92fecd8d02dd5e7a67429447fdf0f60f}{\section{meowpp Directory Reference}
+\label{dir_92fecd8d02dd5e7a67429447fdf0f60f}\index{meowpp Directory Reference@{meowpp Directory Reference}}
+}
+\subsection*{Directories}
+\begin{DoxyCompactItemize}
+\item
+directory \hyperlink{dir_f6840b2fecd08a3779df34f0add0e074}{colors}
+\item
+directory \hyperlink{dir_a17ff8dcb3a1c1b842af541700214096}{dsa}
+\item
+directory \hyperlink{dir_a57e9e528cb28fd6752031b735908fb6}{geo}
+\item
+directory \hyperlink{dir_115d3279a93b9c99d8f569a34543848f}{gra}
+\item
+directory \hyperlink{dir_77e0ab67466b1e7d76f50725a5ab9910}{math}
+\item
+directory \hyperlink{dir_540a4c8f2977878a343351220ffba92b}{oo}
+\end{DoxyCompactItemize}
+\subsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \hyperlink{Self_8h}{Self.\-h}
+\item
+file \hyperlink{Usage_8h}{Usage.\-h}
+\item
+file \hyperlink{utility_8h}{utility.\-h}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/dir_a17ff8dcb3a1c1b842af541700214096.tex b/doc/latex/dir_a17ff8dcb3a1c1b842af541700214096.tex
new file mode 100644
index 0000000..91abff8
--- /dev/null
+++ b/doc/latex/dir_a17ff8dcb3a1c1b842af541700214096.tex
@@ -0,0 +1,22 @@
+\hypertarget{dir_a17ff8dcb3a1c1b842af541700214096}{\section{meowpp/dsa Directory Reference}
+\label{dir_a17ff8dcb3a1c1b842af541700214096}\index{meowpp/dsa Directory Reference@{meowpp/dsa Directory Reference}}
+}
+\subsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \hyperlink{BinaryIndexTree_8h}{Binary\-Index\-Tree.\-h}
+\item
+file \hyperlink{DisjointSet_8h}{Disjoint\-Set.\-h}
+\item
+file \hyperlink{HashTable_8h}{Hash\-Table.\-h}
+\item
+file \hyperlink{KD__Tree_8h}{K\-D\-\_\-\-Tree.\-h}
+\item
+file \hyperlink{MergeableHeap_8h}{Mergeable\-Heap.\-h}
+\item
+file \hyperlink{SegmentTree_8h}{Segment\-Tree.\-h}
+\item
+file \hyperlink{SplayTree_8h}{Splay\-Tree.\-h}
+\item
+file \hyperlink{VP__Tree_8h}{V\-P\-\_\-\-Tree.\-h}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/dir_a57e9e528cb28fd6752031b735908fb6.tex b/doc/latex/dir_a57e9e528cb28fd6752031b735908fb6.tex
new file mode 100644
index 0000000..77d6542
--- /dev/null
+++ b/doc/latex/dir_a57e9e528cb28fd6752031b735908fb6.tex
@@ -0,0 +1,8 @@
+\hypertarget{dir_a57e9e528cb28fd6752031b735908fb6}{\section{meowpp/geo Directory Reference}
+\label{dir_a57e9e528cb28fd6752031b735908fb6}\index{meowpp/geo Directory Reference@{meowpp/geo Directory Reference}}
+}
+\subsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \hyperlink{Vectors_8h}{Vectors.\-h}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/dir_f6840b2fecd08a3779df34f0add0e074.tex b/doc/latex/dir_f6840b2fecd08a3779df34f0add0e074.tex
new file mode 100644
index 0000000..2c1c8bd
--- /dev/null
+++ b/doc/latex/dir_f6840b2fecd08a3779df34f0add0e074.tex
@@ -0,0 +1,16 @@
+\hypertarget{dir_f6840b2fecd08a3779df34f0add0e074}{\section{meowpp/colors Directory Reference}
+\label{dir_f6840b2fecd08a3779df34f0add0e074}\index{meowpp/colors Directory Reference@{meowpp/colors Directory Reference}}
+}
+\subsection*{Files}
+\begin{DoxyCompactItemize}
+\item
+file \hyperlink{Color3__Space_8h}{Color3\-\_\-\-Space.\-h}
+\item
+file \hyperlink{HSL__Space_8h}{H\-S\-L\-\_\-\-Space.\-h}
+\item
+file \hyperlink{HSV__Space_8h}{H\-S\-V\-\_\-\-Space.\-h}
+\item
+file \hyperlink{RGB__Space_8h}{R\-G\-B\-\_\-\-Space.\-h}
+\item
+file \hyperlink{YUV__Space_8h}{Y\-U\-V\-\_\-\-Space.\-h}
+\end{DoxyCompactItemize}
diff --git a/doc/latex/doxygen.sty b/doc/latex/doxygen.sty
new file mode 100644
index 0000000..a5088f3
--- /dev/null
+++ b/doc/latex/doxygen.sty
@@ -0,0 +1,484 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+
+% Packages used by this style file
+\RequirePackage{alltt}
+\RequirePackage{array}
+\RequirePackage{calc}
+\RequirePackage{color}
+\RequirePackage{fancyhdr}
+\RequirePackage{longtable}
+\RequirePackage{verbatim}
+\RequirePackage{ifthen}
+\RequirePackage{xtab}
+\RequirePackage{multirow}
+\RequirePackage[table]{xcolor}
+
+% Use helvetica font instead of times roman
+\RequirePackage{helvet}
+\RequirePackage{sectsty}
+\RequirePackage{tocloft}
+\providecommand{\rmdefault}{phv}
+\providecommand{\bfdefault}{bc}
+
+
+% Setup fancy headings
+\pagestyle{fancyplain}
+\newcommand{\clearemptydoublepage}{%
+ \newpage{\pagestyle{empty}\cleardoublepage}%
+}
+\renewcommand{\chaptermark}[1]{%
+ \markboth{#1}{}%
+}
+\renewcommand{\sectionmark}[1]{%
+ \markright{\thesection\ #1}%
+}
+\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
+\fancyhead[CE]{\fancyplain{}{}}
+\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
+\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
+\fancyhead[CO]{\fancyplain{}{}}
+\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
+\fancyfoot[LE]{\fancyplain{}{}}
+\fancyfoot[CE]{\fancyplain{}{}}
+\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Jun 1 2014 13\-:54\-:33 for Templates -\/-\/ Meow by Doxygen }}
+\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Jun 1 2014 13\-:54\-:33 for Templates -\/-\/ Meow by Doxygen }}
+\fancyfoot[CO]{\fancyplain{}{}}
+\fancyfoot[RO]{\fancyplain{}{}}
+%---------- Internal commands used in this style file ----------------
+
+\newcommand\tabfill[1]{%
+ \dimen@\linewidth%
+ \advance\dimen@\@totalleftmargin%
+ \advance\dimen@-\dimen\@curtab%
+ \parbox[t]\dimen@{\raggedright #1\ifhmode\strut\fi}%
+}
+
+\newcommand{\ensurespace}[1]{%
+ \begingroup
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@
+ \penalty -100\vskip\z@\@plus -\dimen@
+ \vskip\dimen@
+ \penalty 9999%
+ \vskip -\dimen@
+ \vskip\z@skip % hide the previous |\vskip| from |\addvspace|
+ \endgroup
+}
+
+% Generic environment used by all paragraph-based environments defined
+% below. Note that the command \title{...} needs to be defined inside
+% those environments!
+\newenvironment{DoxyDesc}[1]{%
+ \ensurespace{4\baselineskip}%
+ \begin{list}{}%
+ {%
+ \settowidth{\labelwidth}{40pt}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{-4pt}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }%
+ \item[#1]%
+}{%
+ \end{list}%
+}
+
+%---------- Commands used by doxygen LaTeX output generator ----------
+
+% Used by <pre> ... </pre>
+\newenvironment{DoxyPre}{%
+ \small%
+ \begin{alltt}%
+}{%
+ \end{alltt}%
+ \normalsize%
+}
+
+% Used by @code ... @endcode
+\newenvironment{DoxyCode}{%
+
+
+\begin{scriptsize}\begin{alltt}%
+}{%
+\end{alltt}\end{scriptsize}%
+}
+
+% Used by @example, @include, @includelineno and @dontinclude
+\newenvironment{DoxyCodeInclude}{%
+ \DoxyCode%
+}{%
+ \endDoxyCode%
+}
+
+% Used by @verbatim ... @endverbatim
+\newenvironment{DoxyVerb}{%
+ \footnotesize%
+ \verbatim%
+}{%
+ \endverbatim%
+ \normalsize%
+}
+
+% Used by @verbinclude
+\newenvironment{DoxyVerbInclude}{%
+ \DoxyVerb%
+}{%
+ \endDoxyVerb%
+}
+
+% Used by numbered lists (using '-#' or <ol> ... </ol>)
+\newenvironment{DoxyEnumerate}{%
+ \enumerate%
+}{%
+ \endenumerate%
+}
+
+% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
+\newenvironment{DoxyItemize}{%
+ \itemize%
+}{%
+ \enditemize%
+}
+
+% Used by description lists (using <dl> ... </dl>)
+\newenvironment{DoxyDescription}{%
+ \description%
+}{%
+ \enddescription%
+}
+
+% Used by @image, @dotfile, and @dot ... @enddot
+% (only if caption is specified)
+\newenvironment{DoxyImage}{%
+ \begin{figure}[H]%
+ \begin{center}%
+}{%
+ \end{center}%
+ \end{figure}%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if no caption is specified)
+\newenvironment{DoxyImageNoCaption}{%
+}{%
+}
+
+% Used by @attention
+\newenvironment{DoxyAttention}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @author and @authors
+\newenvironment{DoxyAuthor}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @date
+\newenvironment{DoxyDate}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @invariant
+\newenvironment{DoxyInvariant}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @note
+\newenvironment{DoxyNote}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @post
+\newenvironment{DoxyPostcond}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @pre
+\newenvironment{DoxyPrecond}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @copyright
+\newenvironment{DoxyCopyright}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @remark
+\newenvironment{DoxyRemark}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @return
+\newenvironment{DoxyReturn}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @since
+\newenvironment{DoxySince}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @see
+\newenvironment{DoxySeeAlso}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @version
+\newenvironment{DoxyVersion}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @warning
+\newenvironment{DoxyWarning}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @internal
+\newenvironment{DoxyInternal}[1]{%
+ \paragraph*{#1}%
+}{%
+}
+
+% Used by @par and @paragraph
+\newenvironment{DoxyParagraph}[1]{%
+ \begin{list}{}%
+ {%
+ \settowidth{\labelwidth}{40pt}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{-4pt}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }%
+ \item[#1]%
+}{%
+ \end{list}%
+}
+
+% Used by parameter lists
+\newenvironment{DoxyParams}[2][]{%
+ \begin{DoxyDesc}{#2}%
+ \item[] \hspace{\fill} \vspace{-40pt}%
+ \settowidth{\labelwidth}{40pt}%
+ \setlength{\LTleft}{0pt}%
+ \setlength{\tabcolsep}{0.01\textwidth}%
+ \ifthenelse{\equal{#1}{}}%
+ {\begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
+ p{0.815\textwidth}|}}%
+ {\ifthenelse{\equal{#1}{1}}%
+ {\begin{longtable}{|>{\centering}p{0.10\textwidth}|%
+ >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
+ p{0.685\textwidth}|}}%
+ {\begin{longtable}{|>{\centering}p{0.10\textwidth}|%
+ >{\centering\hspace{0pt}}p{0.15\textwidth}|%
+ >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
+ p{0.515\textwidth}|}}%
+ }\hline%
+}{%
+ \end{longtable}%
+ \end{DoxyDesc}%
+}
+
+% Used for fields of simple structs
+\newenvironment{DoxyFields}[1]{%
+ \begin{DoxyDesc}{#1}%
+ \item[] \hspace{\fill} \vspace{-40pt}%
+ \settowidth{\labelwidth}{40pt}%
+ \setlength{\LTleft}{0pt}%
+ \setlength{\tabcolsep}{0.01\textwidth}%
+ \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
+ p{0.15\textwidth}|%
+ p{0.635\textwidth}|}%
+ \hline%
+}{%
+ \end{longtable}%
+ \end{DoxyDesc}%
+}
+
+% is used for parameters within a detailed function description
+\newenvironment{DoxyParamCaption}{%
+ \renewcommand{\item}[2][]{##1 {\em ##2}}%
+ }{%
+}
+
+% Used by return value lists
+\newenvironment{DoxyRetVals}[1]{%
+ \begin{DoxyDesc}{#1}%
+ \begin{description}%
+ \item[] \hspace{\fill} \vspace{-25pt}%
+ \setlength{\tabcolsep}{0.01\textwidth}%
+ \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
+ p{0.705\textwidth}|}%
+ \hline%
+}{%
+ \end{longtable}%
+ \end{description}%
+ \end{DoxyDesc}%
+}
+
+% Used by exception lists
+\newenvironment{DoxyExceptions}[1]{%
+ \begin{DoxyDesc}{#1}%
+ \begin{description}%
+ \item[] \hspace{\fill} \vspace{-25pt}%
+ \definecolor{tableShade}{HTML}{F8F8F8}%
+ \rowcolors{1}{white}{tableShade}%
+ \arrayrulecolor{gray}%
+ \setlength{\tabcolsep}{0.01\textwidth}%
+ \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
+ p{0.705\textwidth}|}%
+ \hline%
+}{%
+ \end{longtable}%
+ \end{description}%
+ \end{DoxyDesc}%
+}
+
+% Used by template parameter lists
+\newenvironment{DoxyTemplParams}[1]{%
+ \begin{DoxyDesc}{#1}%
+ \begin{description}%
+ \item[] \hspace{\fill} \vspace{-25pt}%
+ \definecolor{tableShade}{HTML}{F8F8F8}%
+ \rowcolors{1}{white}{tableShade}%
+ \arrayrulecolor{gray}%
+ \setlength{\tabcolsep}{0.01\textwidth}%
+ \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
+ p{0.705\textwidth}|}%
+ \hline%
+}{%
+ \end{longtable}%
+ \end{description}%
+ \end{DoxyDesc}%
+}
+
+\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
+\newenvironment{DoxyCompactList}
+{\begin{list}{}{
+ \setlength{\leftmargin}{0.5cm}
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \renewcommand{\makelabel}{\hfill}}}
+{\end{list}}
+\newenvironment{DoxyCompactItemize}
+{
+ \begin{itemize}
+ \setlength{\itemsep}{-3pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \setlength{\partopsep}{0pt}
+}
+{\end{itemize}}
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
+\newlength{\tmplength}
+\newenvironment{TabularC}[1]
+{
+\setlength{\tmplength}
+ {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
+ \par\begin{xtabular*}{\linewidth}
+ {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
+}
+{\end{xtabular*}\par}
+\newcommand{\entrylabel}[1]{
+ {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{%
+ \usefont{OT1}{phv}{bc}{n}\color{darkgray}#1}\vspace{1.5\baselineskip}}}}
+\newenvironment{Desc}
+{\begin{list}{}
+ {
+ \settowidth{\labelwidth}{40pt}
+ \setlength{\leftmargin}{\labelwidth}
+ \setlength{\parsep}{0pt}
+ \setlength{\itemsep}{-4pt}
+ \renewcommand{\makelabel}{\entrylabel}
+ }
+}
+{\end{list}}
+\newsavebox{\xrefbox}
+\newlength{\xreflength}
+\newcommand{\xreflabel}[1]{%
+ \sbox{\xrefbox}{#1}%
+ \setlength{\xreflength}{\wd\xrefbox}%
+ \ifthenelse{\xreflength>\labelwidth}{%
+ \begin{minipage}{\textwidth}%
+ \setlength{\parindent}{0pt}%
+ \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
+ \end{minipage}%
+ }{%
+ \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
+ }}%
+\newenvironment{DoxyRefList}{%
+ \begin{list}{}{%
+ \setlength{\labelwidth}{10pt}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \renewcommand{\makelabel}{\xreflabel}%
+ }%
+ }%
+{\end{list}}
+\newenvironment{DoxyRefDesc}[1]
+{\begin{list}{}{%
+ \renewcommand\makelabel[1]{\textbf{##1}}
+ \settowidth\labelwidth{\makelabel{#1}}
+ \setlength\leftmargin{\labelwidth+\labelsep}}}
+{\end{list}}
+\newenvironment{Indent}
+ {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
+ \item[]\ignorespaces}
+ {\unskip\end{list}}
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{0.2cm}
+\addtocounter{secnumdepth}{2}
+\usepackage[T1]{fontenc}
+\makeatletter
+\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
+ {-1.0ex}%
+ {1.0ex}%
+ {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}}
+\renewcommand{\subparagraph}{\@startsection{subparagraph}{5}{0ex}%
+ {-1.0ex}%
+ {1.0ex}%
+ {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}}
+\makeatother
+\allsectionsfont{\usefont{OT1}{phv}{bc}{n}\selectfont\color{darkgray}}
+\stepcounter{secnumdepth}
+\stepcounter{tocdepth}
+\definecolor{comment}{rgb}{0.5,0.0,0.0}
+\definecolor{keyword}{rgb}{0.0,0.5,0.0}
+\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
+\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
+\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
+\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
+\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
+\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
+\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
+\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
+\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
diff --git a/doc/latex/files.tex b/doc/latex/files.tex
new file mode 100644
index 0000000..abe2be8
--- /dev/null
+++ b/doc/latex/files.tex
@@ -0,0 +1,45 @@
+\section{File List}
+Here is a list of all files with brief descriptions\-:\begin{DoxyCompactList}
+\item\contentsline{section}{meowpp/\hyperlink{Self_8h}{Self.\-h} }{\pageref{Self_8h}}{}
+\item\contentsline{section}{meowpp/\hyperlink{Usage_8h}{Usage.\-h} }{\pageref{Usage_8h}}{}
+\item\contentsline{section}{meowpp/\hyperlink{utility_8h}{utility.\-h} }{\pageref{utility_8h}}{}
+\item\contentsline{section}{meowpp/colors/\hyperlink{Color3__Space_8h}{Color3\-\_\-\-Space.\-h} }{\pageref{Color3__Space_8h}}{}
+\item\contentsline{section}{meowpp/colors/\hyperlink{HSL__Space_8h}{H\-S\-L\-\_\-\-Space.\-h} }{\pageref{HSL__Space_8h}}{}
+\item\contentsline{section}{meowpp/colors/\hyperlink{HSV__Space_8h}{H\-S\-V\-\_\-\-Space.\-h} }{\pageref{HSV__Space_8h}}{}
+\item\contentsline{section}{meowpp/colors/\hyperlink{RGB__Space_8h}{R\-G\-B\-\_\-\-Space.\-h} }{\pageref{RGB__Space_8h}}{}
+\item\contentsline{section}{meowpp/colors/\hyperlink{YUV__Space_8h}{Y\-U\-V\-\_\-\-Space.\-h} }{\pageref{YUV__Space_8h}}{}
+\item\contentsline{section}{meowpp/dsa/\hyperlink{BinaryIndexTree_8h}{Binary\-Index\-Tree.\-h} }{\pageref{BinaryIndexTree_8h}}{}
+\item\contentsline{section}{meowpp/dsa/\hyperlink{DisjointSet_8h}{Disjoint\-Set.\-h} }{\pageref{DisjointSet_8h}}{}
+\item\contentsline{section}{meowpp/dsa/\hyperlink{HashTable_8h}{Hash\-Table.\-h} }{\pageref{HashTable_8h}}{}
+\item\contentsline{section}{meowpp/dsa/\hyperlink{KD__Tree_8h}{K\-D\-\_\-\-Tree.\-h} }{\pageref{KD__Tree_8h}}{}
+\item\contentsline{section}{meowpp/dsa/\hyperlink{MergeableHeap_8h}{Mergeable\-Heap.\-h} }{\pageref{MergeableHeap_8h}}{}
+\item\contentsline{section}{meowpp/dsa/\hyperlink{SegmentTree_8h}{Segment\-Tree.\-h} }{\pageref{SegmentTree_8h}}{}
+\item\contentsline{section}{meowpp/dsa/\hyperlink{SplayTree_8h}{Splay\-Tree.\-h} }{\pageref{SplayTree_8h}}{}
+\item\contentsline{section}{meowpp/dsa/\hyperlink{VP__Tree_8h}{V\-P\-\_\-\-Tree.\-h} }{\pageref{VP__Tree_8h}}{}
+\item\contentsline{section}{meowpp/geo/\hyperlink{Vectors_8h}{Vectors.\-h} }{\pageref{Vectors_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{Bitmap_8h}{Bitmap.\-h} }{\pageref{Bitmap_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{Camera_8h}{Camera.\-h} }{\pageref{Camera_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{FeaturePoint_8h}{Feature\-Point.\-h} }{\pageref{FeaturePoint_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{FeaturePointsDetector_8h}{Feature\-Points\-Detector.\-h} }{\pageref{FeaturePointsDetector_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{FeaturePointsDetector__Harris_8h}{Feature\-Points\-Detector\-\_\-\-Harris.\-h} }{\pageref{FeaturePointsDetector__Harris_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{FeaturePointsMatch_8h}{Feature\-Points\-Match.\-h} }{\pageref{FeaturePointsMatch_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{FeaturePointsMatch__K__Match_8h}{Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match.\-h} }{\pageref{FeaturePointsMatch__K__Match_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{IdentityPoints_8h}{Identity\-Points.\-h} }{\pageref{IdentityPoints_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{Photo_8h}{Photo.\-h} }{\pageref{Photo_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{ViewPort_8h}{View\-Port.\-h} }{\pageref{ViewPort_8h}}{}
+\item\contentsline{section}{meowpp/gra/\hyperlink{WatchBall_8h}{Watch\-Ball.\-h} }{\pageref{WatchBall_8h}}{}
+\item\contentsline{section}{meowpp/math/\hyperlink{LinearTransformation_8h}{Linear\-Transformation.\-h} }{\pageref{LinearTransformation_8h}}{}
+\item\contentsline{section}{meowpp/math/\hyperlink{LinearTransformations_8h}{Linear\-Transformations.\-h} }{\pageref{LinearTransformations_8h}}{}
+\item\contentsline{section}{meowpp/math/\hyperlink{Matrix_8h}{Matrix.\-h} }{\pageref{Matrix_8h}}{}
+\item\contentsline{section}{meowpp/math/\hyperlink{methods_8h}{methods.\-h} }{\pageref{methods_8h}}{}
+\item\contentsline{section}{meowpp/math/\hyperlink{Transformation_8h}{Transformation.\-h} }{\pageref{Transformation_8h}}{}
+\item\contentsline{section}{meowpp/math/\hyperlink{Transformations_8h}{Transformations.\-h} }{\pageref{Transformations_8h}}{}
+\item\contentsline{section}{meowpp/math/\hyperlink{math_2utility_8h}{utility.\-h} }{\pageref{math_2utility_8h}}{}
+\item\contentsline{section}{meowpp/math/\hyperlink{Vector_8h}{Vector.\-h} }{\pageref{Vector_8h}}{}
+\item\contentsline{section}{meowpp/oo/\hyperlink{ObjArray_8h}{Obj\-Array.\-h} }{\pageref{ObjArray_8h}}{}
+\item\contentsline{section}{meowpp/oo/\hyperlink{ObjBase_8h}{Obj\-Base.\-h} }{\pageref{ObjBase_8h}}{}
+\item\contentsline{section}{meowpp/oo/\hyperlink{ObjDictionary_8h}{Obj\-Dictionary.\-h} }{\pageref{ObjDictionary_8h}}{}
+\item\contentsline{section}{meowpp/oo/\hyperlink{ObjProperties_8h}{Obj\-Properties.\-h} }{\pageref{ObjProperties_8h}}{}
+\item\contentsline{section}{meowpp/oo/\hyperlink{ObjSelector_8h}{Obj\-Selector.\-h} }{\pageref{ObjSelector_8h}}{}
+\item\contentsline{section}{meowpp/oo/\hyperlink{ObjTypes_8h}{Obj\-Types.\-h} }{\pageref{ObjTypes_8h}}{}
+\end{DoxyCompactList}
diff --git a/doc/latex/hierarchy.tex b/doc/latex/hierarchy.tex
new file mode 100644
index 0000000..81290ed
--- /dev/null
+++ b/doc/latex/hierarchy.tex
@@ -0,0 +1,92 @@
+\section{Class Hierarchy}
+This inheritance list is sorted roughly, but not completely, alphabetically\-:\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Binary\-Index\-Tree$<$ Value $>$}{\pageref{classmeow_1_1BinaryIndexTree}}{}
+\item \contentsline{section}{meow\-:\-:Color3\-\_\-\-Space$<$ T $>$}{\pageref{classmeow_1_1Color3__Space}}{}
+\item \contentsline{section}{meow\-:\-:Color3\-\_\-\-Space$<$ double $>$}{\pageref{classmeow_1_1Color3__Space}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:H\-S\-Lf\-\_\-\-Space}{\pageref{classmeow_1_1HSLf__Space}}{}
+\item \contentsline{section}{meow\-:\-:H\-S\-Vf\-\_\-\-Space}{\pageref{classmeow_1_1HSVf__Space}}{}
+\item \contentsline{section}{meow\-:\-:R\-G\-Bf\-\_\-\-Space}{\pageref{classmeow_1_1RGBf__Space}}{}
+\item \contentsline{section}{meow\-:\-:Y\-U\-Vf\-\_\-\-Space}{\pageref{classmeow_1_1YUVf__Space}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Color3\-\_\-\-Space$<$ int $>$}{\pageref{classmeow_1_1Color3__Space}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:R\-G\-Bi\-\_\-\-Space}{\pageref{classmeow_1_1RGBi__Space}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Disjoint\-Set}{\pageref{classmeow_1_1DisjointSet}}{}
+\item \contentsline{section}{meow\-:\-:Splay\-Tree$<$ Key, Value $>$\-:\-:Element}{\pageref{classmeow_1_1SplayTree_1_1Element}}{}
+\item \contentsline{section}{meow\-:\-:Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$\-:\-:Element}{\pageref{classmeow_1_1SplayTree__Range_1_1Element}}{}
+\item \contentsline{section}{meow\-:\-:Feature\-Point\-Index\-Pair}{\pageref{structmeow_1_1FeaturePointIndexPair}}{}
+\item \contentsline{section}{meow\-:\-:Hash\-Table\-List$<$ Data, Hash\-Func $>$}{\pageref{classmeow_1_1HashTableList}}{}
+\item \contentsline{section}{meow\-:\-:K\-D\-\_\-\-Tree$<$ Vector, Scalar $>$}{\pageref{classmeow_1_1KD__Tree}}{}
+\item \contentsline{section}{meow\-:\-:Matrix$<$ Entry $>$}{\pageref{classmeow_1_1Matrix}}{}
+\item \contentsline{section}{meow\-:\-:Matrix$<$ Description $>$}{\pageref{classmeow_1_1Matrix}}{}
+\item \contentsline{section}{meow\-:\-:Matrix$<$ double $>$}{\pageref{classmeow_1_1Matrix}}{}
+\item \contentsline{section}{meow\-:\-:Matrix$<$ Pixel $>$}{\pageref{classmeow_1_1Matrix}}{}
+\item \contentsline{section}{meow\-:\-:Matrix$<$ Scalar $>$}{\pageref{classmeow_1_1Matrix}}{}
+\item \contentsline{section}{meow\-:\-:Mergeable\-Heap$<$ Element $>$}{\pageref{classmeow_1_1MergeableHeap}}{}
+\item \contentsline{section}{meow\-:\-:Obj\-Base}{\pageref{classmeow_1_1ObjBase}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Identity\-Points$<$ int, double $>$}{\pageref{classmeow_1_1IdentityPoints}}{}
+\item \contentsline{section}{meow\-:\-:Bitmap$<$ Pixel $>$}{\pageref{classmeow_1_1Bitmap}}{}
+\item \contentsline{section}{meow\-:\-:Camera$<$ Pixel $>$}{\pageref{classmeow_1_1Camera}}{}
+\item \contentsline{section}{meow\-:\-:Feature\-Point$<$ Scalar, Description $>$}{\pageref{classmeow_1_1FeaturePoint}}{}
+\item \contentsline{section}{meow\-:\-:Feature\-Points\-Detector$<$ Pixel $>$}{\pageref{classmeow_1_1FeaturePointsDetector}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Feature\-Points\-Detector\-\_\-\-Harris$<$ Pixel $>$}{\pageref{classmeow_1_1FeaturePointsDetector__Harris}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Feature\-Points\-Match$<$ Scalar, Description $>$}{\pageref{classmeow_1_1FeaturePointsMatch}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match$<$ Scalar, Description $>$}{\pageref{classmeow_1_1FeaturePointsMatch__K__Match}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Identity\-Points$<$ I\-D, Scalar $>$}{\pageref{classmeow_1_1IdentityPoints}}{}
+\item \contentsline{section}{meow\-:\-:Obj\-Array$<$ T $>$}{\pageref{classmeow_1_1ObjArray}}{}
+\item \contentsline{section}{meow\-:\-:Obj\-Dictionary$<$ Key, Value $>$}{\pageref{classmeow_1_1ObjDictionary}}{}
+\item \contentsline{section}{meow\-:\-:Obj\-Properties$<$ S\-I\-D $>$}{\pageref{classmeow_1_1ObjProperties}}{}
+\item \contentsline{section}{meow\-:\-:Obj\-Type$<$ Type, Reader\-Writer $>$}{\pageref{classmeow_1_1ObjType}}{}
+\item \contentsline{section}{meow\-:\-:Photo$<$ Pixel $>$}{\pageref{classmeow_1_1Photo}}{}
+\item \contentsline{section}{meow\-:\-:View\-Port}{\pageref{classmeow_1_1ViewPort}}{}
+\item \contentsline{section}{meow\-:\-:Watch\-Ball$<$ Pixel $>$}{\pageref{classmeow_1_1WatchBall}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Obj\-Selector$<$ id $>$}{\pageref{classmeow_1_1ObjSelector}}{}
+\item \contentsline{section}{meow\-:\-:Reader\-Writer\-\_\-double}{\pageref{classmeow_1_1ReaderWriter__double}}{}
+\item \contentsline{section}{meow\-:\-:Reader\-Writer\-\_\-int}{\pageref{classmeow_1_1ReaderWriter__int}}{}
+\item \contentsline{section}{meow\-:\-:Reader\-Writer\-\_\-size\-\_\-t}{\pageref{classmeow_1_1ReaderWriter__size__t}}{}
+\item \contentsline{section}{meow\-:\-:Reader\-Writer\-\_\-string}{\pageref{classmeow_1_1ReaderWriter__string}}{}
+\item \contentsline{section}{meow\-:\-:Segment\-Tree$<$ Value $>$}{\pageref{classmeow_1_1SegmentTree}}{}
+\item \contentsline{section}{meow\-:\-:Self$<$ Data $>$}{\pageref{classmeow_1_1Self}}{}
+\item \contentsline{section}{meow\-:\-:Self$<$ data\-\_\- $>$}{\pageref{classmeow_1_1Self}}{}
+\item \contentsline{section}{meow\-:\-:Self$<$ Myself $>$}{\pageref{classmeow_1_1Self}}{}
+\item \contentsline{section}{meow\-:\-:Splay\-Tree$<$ Key, Value $>$}{\pageref{classmeow_1_1SplayTree}}{}
+\item \contentsline{section}{meow\-:\-:Splay\-Tree\-\_\-\-Range$<$ Key, Value $>$}{\pageref{classmeow_1_1SplayTree__Range}}{}
+\item \contentsline{section}{meow\-:\-:Transformation$<$ Scalar $>$}{\pageref{classmeow_1_1Transformation}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Ball\-Projection$<$ Scalar $>$}{\pageref{classmeow_1_1BallProjection}}{}
+\item \contentsline{section}{meow\-:\-:Linear\-Transformation$<$ Scalar $>$}{\pageref{classmeow_1_1LinearTransformation}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Rotation3\-D$<$ Scalar $>$}{\pageref{classmeow_1_1Rotation3D}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Photo\-Projection$<$ Scalar $>$}{\pageref{classmeow_1_1PhotoProjection}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Transformation$<$ double $>$}{\pageref{classmeow_1_1Transformation}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Linear\-Transformation$<$ double $>$}{\pageref{classmeow_1_1LinearTransformation}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Rotation3\-D$<$ double $>$}{\pageref{classmeow_1_1Rotation3D}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Photo\-Projection$<$ double $>$}{\pageref{classmeow_1_1PhotoProjection}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{meow\-:\-:Usage}{\pageref{classmeow_1_1Usage}}{}
+\item \contentsline{section}{meow\-:\-:Vector$<$ Scalar $>$}{\pageref{classmeow_1_1Vector}}{}
+\item \contentsline{section}{meow\-:\-:Vector2\-D$<$ Scalar $>$}{\pageref{classmeow_1_1Vector2D}}{}
+\item \contentsline{section}{meow\-:\-:Vector2\-D$<$ double $>$}{\pageref{classmeow_1_1Vector2D}}{}
+\item \contentsline{section}{meow\-:\-:Vector3\-D$<$ Scalar $>$}{\pageref{classmeow_1_1Vector3D}}{}
+\item \contentsline{section}{meow\-:\-:Vector3\-D$<$ double $>$}{\pageref{classmeow_1_1Vector3D}}{}
+\item \contentsline{section}{meow\-:\-:Vector3\-D$<$ int $>$}{\pageref{classmeow_1_1Vector3D}}{}
+\item \contentsline{section}{meow\-:\-:Vector3\-D$<$ T $>$}{\pageref{classmeow_1_1Vector3D}}{}
+\item \contentsline{section}{meow\-:\-:Vector$<$ Description $>$}{\pageref{classmeow_1_1Vector}}{}
+\item \contentsline{section}{meow\-:\-:Vector$<$ double $>$}{\pageref{classmeow_1_1Vector}}{}
+\item \contentsline{section}{meow\-:\-:V\-P\-\_\-\-Tree$<$ Vector, Scalar $>$}{\pageref{classmeow_1_1VP__Tree}}{}
+\item \contentsline{section}{double}{\pageref{classdouble}}{}
+\item \contentsline{section}{int}{\pageref{classint}}{}
+\end{DoxyCompactList}
diff --git a/doc/latex/math_2utility_8h.tex b/doc/latex/math_2utility_8h.tex
new file mode 100644
index 0000000..e088c00
--- /dev/null
+++ b/doc/latex/math_2utility_8h.tex
@@ -0,0 +1,40 @@
+\hypertarget{math_2utility_8h}{\section{meowpp/math/utility.h File Reference}
+\label{math_2utility_8h}\index{meowpp/math/utility.\-h@{meowpp/math/utility.\-h}}
+}
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+{\ttfamily \#include $<$algorithm$>$}\\*
+{\ttfamily \#include $<$cmath$>$}\\*
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_ab9456533c0ae85fba812bfb5b017c8d2}{meow\-::no\-E\-P\-S} (T value, T eps=1e-\/9)
+\begin{DoxyCompactList}\small\item\em 如果abs(輸入的數值) $<$ eps, 則回傳0, 否則回傳輸入的數值 \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_aebe1ad335556790c578c4cf7836fd9ca}{meow\-::normalize} (T lower, T upper, T value)
+\begin{DoxyCompactList}\small\item\em {\ttfamily }(value-\/lower)/(upper-\/lower) \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_af95cfca15ad7a51ed4d07b06e1296080}{meow\-::denormalize} (T lower, T upper, T \-\_\-ratio)
+\begin{DoxyCompactList}\small\item\em {\ttfamily }(lower+\-\_\-ratio$\ast$(upper-\/lower)) \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a3b01a91eb4a02909a61a35e406fa5732}{meow\-::ratio\-Mapping} (T l1, T u1, T m1, T l2, T u2)
+\begin{DoxyCompactList}\small\item\em {\ttfamily denormalize}(l2,u2,normalize(l1,u1,m1)) \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a98d838d338a3e6f3c57e94562fab3fa7}{meow\-::in\-Range} (T const \&mn, T const \&mx, T const \&v)
+\begin{DoxyCompactList}\small\item\em {\ttfamily std\-::min}(mx,std\-::max(mn,v)) \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a1954e235973a2ac79a7a72a4b7d25573}{meow\-::squ} (T const \&x)
+\begin{DoxyCompactList}\small\item\em {\ttfamily x$\ast$x} \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a10a8cca705773b7d9f6f91d3fb08c104}{meow\-::cub} (T const \&x)
+\begin{DoxyCompactList}\small\item\em {\ttfamily x$\ast$x$\ast$x} \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\\hyperlink{classdouble}{double} \hyperlink{namespacemeow_ad4d1e5fa951e5534204a0ee3eee22777}{meow\-::average} (T const \&beg, T const \&end, \hyperlink{classdouble}{double} sigs)
+\begin{DoxyCompactList}\small\item\em 只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均 \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\\hyperlink{classdouble}{double} \hyperlink{namespacemeow_a6ae78e60d507c85de003f8fa8423b650}{meow\-::average} (T const \&beg, T const \&end, T const \&p, \hyperlink{classdouble}{double} sigs)
+\begin{DoxyCompactList}\small\item\em 只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均, 不過這次用 {\ttfamily p} 來加權平均 \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_ae880337dfdcc67984a0dccdb50e5c5d0}{meow\-::t\-Abs} (T const \&t)
+\begin{DoxyCompactList}\small\item\em 就只是個取絕對值 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+static const \hyperlink{classdouble}{double} \hyperlink{namespacemeow_aa86d5920087a4e73078b759bc3996f76}{meow\-::\-P\-I} = 3.\-14159265358979323846264338327950288
+\begin{DoxyCompactList}\small\item\em 圓周率... \end{DoxyCompactList}\end{DoxyCompactItemize}
diff --git a/doc/latex/methods_8h.tex b/doc/latex/methods_8h.tex
new file mode 100644
index 0000000..e6d9b7b
--- /dev/null
+++ b/doc/latex/methods_8h.tex
@@ -0,0 +1,20 @@
+\hypertarget{methods_8h}{\section{meowpp/math/methods.h File Reference}
+\label{methods_8h}\index{meowpp/math/methods.\-h@{meowpp/math/methods.\-h}}
+}
+{\ttfamily \#include \char`\"{}Matrix.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}Vector.\-h\char`\"{}}\\*
+{\ttfamily \#include \char`\"{}utility.\-h\char`\"{}}\\*
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$vector$>$}\\*
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+{\footnotesize template$<$class Data , class Weighting\-Class $>$ }\\std\-::vector$<$ Data $>$ \hyperlink{namespacemeow_a43a73b75f2e23c8172d2098d57eaf75a}{meow\-::ransac} (std\-::vector$<$ Data $>$ const \&data, Weighting\-Class const \&w, size\-\_\-t N, \hyperlink{classdouble}{double} p0, \hyperlink{classdouble}{double} P)
+\begin{DoxyCompactList}\small\item\em Run the {\bfseries R\-A\-N\-S\-A\-C} method to approach the best solution. \end{DoxyCompactList}\item
+{\footnotesize template$<$class Scalar , class F , class J , class I , class Stop $>$ }\\Vector$<$ Scalar $>$ \hyperlink{namespacemeow_a8e4a4baed7fb497f170075648ac95077}{meow\-::levenberg\-Marquardt} (F const \&func, J const \&jaco, I const \&iden, Vector$<$ Scalar $>$ const \&init, Stop const \&stop, \hyperlink{classint}{int} counter=-\/1)
+\begin{DoxyCompactList}\small\item\em Run the {\bfseries Levenberg-\/\-Marquardt} method to solve a non-\/linear least squares problem. \end{DoxyCompactList}\end{DoxyCompactItemize}
diff --git a/doc/latex/namespacemeow.tex b/doc/latex/namespacemeow.tex
new file mode 100644
index 0000000..aa51ef9
--- /dev/null
+++ b/doc/latex/namespacemeow.tex
@@ -0,0 +1,854 @@
+\hypertarget{namespacemeow}{\section{meow Namespace Reference}
+\label{namespacemeow}\index{meow@{meow}}
+}
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item
+class \hyperlink{classmeow_1_1Color3__Space}{Color3\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以三個channel所組成的色彩空間 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以整數 {\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}
+\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1BinaryIndexTree}{Binary\-Index\-Tree}
+\begin{DoxyCompactList}\small\item\em 極度簡化的 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} 已無區間更新的操作 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1DisjointSet}{Disjoint\-Set}
+\begin{DoxyCompactList}\small\item\em 用來維護一堆互斥集的資訊 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List}
+\begin{DoxyCompactList}\small\item\em 一個當key相撞時會用list解決的hash\-\_\-table \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1KD__Tree}{K\-D\-\_\-\-Tree}
+\begin{DoxyCompactList}\small\item\em {\ttfamily k-\/dimension} tree \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap}
+\begin{DoxyCompactList}\small\item\em 一個用 {\bfseries 左偏樹} 實作的 {\ttfamily Maximum-\/\-Heap} , 除了原本heap有的功能外, 還支援 {\ttfamily merge} 功能 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}
+\begin{DoxyCompactList}\small\item\em 中文名 {\ttfamily 線段樹} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1SplayTree}{Splay\-Tree}
+\begin{DoxyCompactList}\small\item\em 是一種神乎其技的資料結構, 維護一堆 Key-\/$>$Value . 並且支援 一些 {\ttfamily std\-::map} 難以快速實踐的操作, 如 {\ttfamily split} , {\ttfamily merge} , {\ttfamily key\-Offset} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range}
+\begin{DoxyCompactList}\small\item\em 基本上跟\-Splay\-Tree一樣, 不過這邊結合線段樹, 多了區間操作 (線段樹相關operator定義請見 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} ) \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree}
+\begin{DoxyCompactList}\small\item\em 跟\-K\-D\-\_\-\-Tree很像歐 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Vector2D}{Vector2\-D}
+\begin{DoxyCompactList}\small\item\em 2\-D's vector \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Vector3D}{Vector3\-D}
+\begin{DoxyCompactList}\small\item\em 3\-D's vector \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Bitmap}{Bitmap}
+\begin{DoxyCompactList}\small\item\em 二維點陣資料 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Camera}{Camera}
+\begin{DoxyCompactList}\small\item\em \hyperlink{classmeow_1_1Camera}{Camera}. \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point}
+\begin{DoxyCompactList}\small\item\em 特徵點 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1FeaturePointsDetector}{Feature\-Points\-Detector}
+\item
+class \hyperlink{classmeow_1_1FeaturePointsDetector__Harris}{Feature\-Points\-Detector\-\_\-\-Harris}
+\begin{DoxyCompactList}\small\item\em Harris corner detect. \end{DoxyCompactList}\item
+struct \hyperlink{structmeow_1_1FeaturePointIndexPair}{Feature\-Point\-Index\-Pair}
+\item
+class \hyperlink{classmeow_1_1FeaturePointsMatch}{Feature\-Points\-Match}
+\item
+class \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match}{Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}
+\item
+class \hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points}
+\begin{DoxyCompactList}\small\item\em 把一個 {\ttfamily std\-::map$<$I\-D},Vector$<$\-Scalar$>$ $>$ 包起來 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Photo}{Photo}
+\begin{DoxyCompactList}\small\item\em 底片 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ViewPort}{View\-Port}
+\begin{DoxyCompactList}\small\item\em 未完待續 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1WatchBall}{Watch\-Ball}
+\begin{DoxyCompactList}\small\item\em {\bfseries 多個camera}, 一個offset, 一個rotation \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation}
+\begin{DoxyCompactList}\small\item\em A base class for implementing kinds of linear transformations. \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D}
+\begin{DoxyCompactList}\small\item\em Rotation a point/vector alone an axis with given angle in 3\-D world. \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Matrix}{Matrix}
+\begin{DoxyCompactList}\small\item\em {\bfseries matrix} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Transformation}{Transformation}
+\begin{DoxyCompactList}\small\item\em A base class for implementing kinds of transformations. \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1BallProjection}{Ball\-Projection}
+\begin{DoxyCompactList}\small\item\em A ball projection is to project the given vector to a hyper-\/sphere. \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection}
+\begin{DoxyCompactList}\small\item\em A {\bfseries photo} {\bfseries projection} is a kind of transformation that project point/vector to a flat {\bfseries photo}. \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Vector}{Vector}
+\begin{DoxyCompactList}\small\item\em {\bfseries vector} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ObjArray}{Obj\-Array}
+\begin{DoxyCompactList}\small\item\em 純粹把 {\ttfamily std\-::vector} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
+\begin{DoxyCompactList}\small\item\em 一切物件的\-Base, 並要求每個物件都要有read, write, create, ... 等功能 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary}
+\begin{DoxyCompactList}\small\item\em 純粹把 {\ttfamily std\-::map} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ObjProperties}{Obj\-Properties}
+\begin{DoxyCompactList}\small\item\em 目前擺爛中 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ObjSelector}{Obj\-Selector}
+\begin{DoxyCompactList}\small\item\em 利用register的概念, 達到runtime用string選擇要new的class \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ObjType}{Obj\-Type}
+\begin{DoxyCompactList}\small\item\em 純粹把給定的 {\ttfamily Type} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1ReaderWriter__int}{Reader\-Writer\-\_\-int}
+\item
+class \hyperlink{classmeow_1_1ReaderWriter__size__t}{Reader\-Writer\-\_\-size\-\_\-t}
+\item
+class \hyperlink{classmeow_1_1ReaderWriter__double}{Reader\-Writer\-\_\-double}
+\item
+class \hyperlink{classmeow_1_1ReaderWriter__string}{Reader\-Writer\-\_\-string}
+\item
+class \hyperlink{classmeow_1_1Self}{Self}
+\begin{DoxyCompactList}\small\item\em 具有copy on write, 且擁有比\-C++更靈活的reference機制 \end{DoxyCompactList}\item
+class \hyperlink{classmeow_1_1Usage}{Usage}
+\begin{DoxyCompactList}\small\item\em 管理參數設置, 自訂usage document, 分析argc, argv \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item
+typedef std\-::vector\\*
+$<$ \hyperlink{structmeow_1_1FeaturePointIndexPair}{Feature\-Point\-Index\-Pair} $>$ \hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs}
+\item
+typedef \hyperlink{classmeow_1_1ObjType}{Obj\-Type}$<$ \hyperlink{classint}{int}, \\*
+\hyperlink{classmeow_1_1ReaderWriter__int}{Reader\-Writer\-\_\-int} $>$ \hyperlink{namespacemeow_add07dcc8e06a1394daa3e6402bc40c4b}{Obj\-Int}
+\item
+typedef \hyperlink{classmeow_1_1ObjType}{Obj\-Type}$<$ size\-\_\-t, \\*
+\hyperlink{classmeow_1_1ReaderWriter__size__t}{Reader\-Writer\-\_\-size\-\_\-t} $>$ \hyperlink{namespacemeow_a52b9d9ec3b004a9335222e7bf30e521a}{Obj\-Size\-T}
+\item
+typedef \hyperlink{classmeow_1_1ObjType}{Obj\-Type}$<$ \hyperlink{classdouble}{double}, \\*
+\hyperlink{classmeow_1_1ReaderWriter__double}{Reader\-Writer\-\_\-double} $>$ \hyperlink{namespacemeow_a936afddaa5716457741832ee501c7a58}{Obj\-Double}
+\item
+typedef \hyperlink{classmeow_1_1ObjType}{Obj\-Type}$<$ std\-::string, \\*
+\hyperlink{classmeow_1_1ReaderWriter__string}{Reader\-Writer\-\_\-string} $>$ \hyperlink{namespacemeow_a52d52e58feff5e9f9013279e2dbd2fee}{Obj\-String}
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+void \hyperlink{namespacemeow_af9ab85cd87a9f843e710657188f4c601}{color\-Transformate} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} $\ast$hsl)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a7f2b465df93750016d3ff54b2adce77b}{color\-Transformate} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&yuv, \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} $\ast$hsl)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ad429f8a956d1f0e1484d08bb9419685b}{color\-Transformate} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&hsl, \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a4c39f0ec6860546a7b16e3f165bed83e}{color\-Transformate} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&hsl, \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} $\ast$yuv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a992d4c33aed66c0d4d7f578ef92dfa15}{color\-Transformate} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&hsl, \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ae9b7bb880aa5b6dfebd523a6b344a4f1}{color\-Transformate} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} $\ast$hsl)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a1591a113b022322f1119894a83a56625}{color\-Transformate} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} $\ast$hsv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ad01fb20ad0ae3932e408c06ad80f7b1e}{color\-Transformate} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&yuv, \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} $\ast$hsv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a19e830f03459a25435ff963551772e74}{color\-Transformate} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&hsl, \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} $\ast$hsv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a2f627a58a3394af709ddc8114b4b5286}{color\-Transformate} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&hsv, \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a930aec4a586b79b076e64541f3a96cc7}{color\-Transformate} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&hsv, \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} $\ast$yuv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ae5a2c4f9f20fe94d8fcd378a86e05260}{color\-Transformate} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&hsv, \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} $\ast$hsl)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a303120584f2d7e474096da63bec4cdf5}{color\-Transformate} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&hsv, \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a0239dc74535f528644a22e3e86e5221c}{color\-Transformate} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} $\ast$hsv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a764c66bb63095b178107b276eb0cc24e}{color\-Transformate} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&a, \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} $\ast$b)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a5612b34e84764e275631d662e5f210cb}{color\-Transformate} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&a, \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} $\ast$b)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a6ebfe120c658a6320de42c449e485e54}{color\-Transformate} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} $\ast$yuv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_ab4756ef949554840f60a762661acc103}{color\-Transformate} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&yuv, \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a91f42614ccd31fdb9a3d8529f65198fd}{color\-Transformate} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} $\ast$yuv)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_af4d344590a86168090c2f2322289f080}{color\-Transformate} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&yuv, \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} $\ast$rgb)
+\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item
+{\footnotesize template$<$class Data , class Weighting\-Class $>$ }\\std\-::vector$<$ Data $>$ \hyperlink{namespacemeow_a43a73b75f2e23c8172d2098d57eaf75a}{ransac} (std\-::vector$<$ Data $>$ const \&data, Weighting\-Class const \&w, size\-\_\-t N, \hyperlink{classdouble}{double} p0, \hyperlink{classdouble}{double} P)
+\begin{DoxyCompactList}\small\item\em Run the {\bfseries R\-A\-N\-S\-A\-C} method to approach the best solution. \end{DoxyCompactList}\item
+{\footnotesize template$<$class Scalar , class F , class J , class I , class Stop $>$ }\\\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ \hyperlink{namespacemeow_a8e4a4baed7fb497f170075648ac95077}{levenberg\-Marquardt} (F const \&func, J const \&jaco, I const \&iden, \hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&init, Stop const \&stop, \hyperlink{classint}{int} counter=-\/1)
+\begin{DoxyCompactList}\small\item\em Run the {\bfseries Levenberg-\/\-Marquardt} method to solve a non-\/linear least squares problem. \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_ab9456533c0ae85fba812bfb5b017c8d2}{no\-E\-P\-S} (T value, T eps=1e-\/9)
+\begin{DoxyCompactList}\small\item\em 如果abs(輸入的數值) $<$ eps, 則回傳0, 否則回傳輸入的數值 \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_aebe1ad335556790c578c4cf7836fd9ca}{normalize} (T lower, T upper, T value)
+\begin{DoxyCompactList}\small\item\em {\ttfamily }(value-\/lower)/(upper-\/lower) \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_af95cfca15ad7a51ed4d07b06e1296080}{denormalize} (T lower, T upper, T \-\_\-ratio)
+\begin{DoxyCompactList}\small\item\em {\ttfamily }(lower+\-\_\-ratio$\ast$(upper-\/lower)) \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a3b01a91eb4a02909a61a35e406fa5732}{ratio\-Mapping} (T l1, T u1, T m1, T l2, T u2)
+\begin{DoxyCompactList}\small\item\em {\ttfamily denormalize}(l2,u2,normalize(l1,u1,m1)) \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a98d838d338a3e6f3c57e94562fab3fa7}{in\-Range} (T const \&mn, T const \&mx, T const \&v)
+\begin{DoxyCompactList}\small\item\em {\ttfamily std\-::min}(mx,std\-::max(mn,v)) \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a1954e235973a2ac79a7a72a4b7d25573}{squ} (T const \&x)
+\begin{DoxyCompactList}\small\item\em {\ttfamily x$\ast$x} \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a10a8cca705773b7d9f6f91d3fb08c104}{cub} (T const \&x)
+\begin{DoxyCompactList}\small\item\em {\ttfamily x$\ast$x$\ast$x} \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\\hyperlink{classdouble}{double} \hyperlink{namespacemeow_ad4d1e5fa951e5534204a0ee3eee22777}{average} (T const \&beg, T const \&end, \hyperlink{classdouble}{double} sigs)
+\begin{DoxyCompactList}\small\item\em 只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均 \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\\hyperlink{classdouble}{double} \hyperlink{namespacemeow_a6ae78e60d507c85de003f8fa8423b650}{average} (T const \&beg, T const \&end, T const \&p, \hyperlink{classdouble}{double} sigs)
+\begin{DoxyCompactList}\small\item\em 只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均, 不過這次用 {\ttfamily p} 來加權平均 \end{DoxyCompactList}\item
+{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_ae880337dfdcc67984a0dccdb50e5c5d0}{t\-Abs} (T const \&t)
+\begin{DoxyCompactList}\small\item\em 就只是個取絕對值 \end{DoxyCompactList}\item
+std\-::string \hyperlink{namespacemeow_a09946550cc38b132151643d3408b0175}{string\-Printf} (char const $\ast$fmt,...)
+\begin{DoxyCompactList}\small\item\em 類似\-C的printf, 不過是將格式化的字串丟到 {\ttfamily std\-::string} 裡回傳 \end{DoxyCompactList}\item
+std\-::string \hyperlink{namespacemeow_a532a4a224ccd34baa4c6317a8a014ba4}{string\-Replace} (std\-::string str, std\-::string const \&from, std\-::string const \&to)
+\begin{DoxyCompactList}\small\item\em 將輸入字串中的某個pattern取代成另一個pattern \end{DoxyCompactList}\item
+bool \hyperlink{namespacemeow_a375bf0494e671d61343f5be28f3204fb}{cstring\-End\-With} (char const $\ast$str, \hyperlink{classint}{int} n,...)
+\begin{DoxyCompactList}\small\item\em 檢查給定字串的結尾是否符合給定的數個patterns中的一個 \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a644a491d867da42696e3cf226019fc25}{debug\-Printf\-\_\-} (char const $\ast$file, char const $\ast$func, size\-\_\-t line, char const $\ast$msg)
+\item
+void \hyperlink{namespacemeow_a9aad86d9211af4ca27b72f87c2643926}{message\-Printf} (\hyperlink{classint}{int} level\-\_\-change, char const $\ast$fmt,...)
+\begin{DoxyCompactList}\small\item\em 階層式輸出 \end{DoxyCompactList}\item
+bool \hyperlink{namespacemeow_a575ff1d89bedceb3f850e0c6b7ab2396}{filename\-Compare} (std\-::string const \&f1, std\-::string const \&f2)
+\begin{DoxyCompactList}\small\item\em 將兩個字串用人類習慣的檔名排序方式排序 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Variables}
+\begin{DoxyCompactItemize}
+\item
+static const \hyperlink{classdouble}{double} \hyperlink{namespacemeow_aa86d5920087a4e73078b759bc3996f76}{P\-I} = 3.\-14159265358979323846264338327950288
+\begin{DoxyCompactList}\small\item\em 圓周率... \end{DoxyCompactList}\item
+static const size\-\_\-t \hyperlink{namespacemeow_aaa678bbd106012a98ed5679e2ca8cc32}{k\-Global\-Seletor\-I\-D} = 0
+\end{DoxyCompactItemize}
+
+
+\subsection{Typedef Documentation}
+\hypertarget{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{\index{meow@{meow}!Feature\-Point\-Index\-Pairs@{Feature\-Point\-Index\-Pairs}}
+\index{Feature\-Point\-Index\-Pairs@{Feature\-Point\-Index\-Pairs}!meow@{meow}}
+\subsubsection[{Feature\-Point\-Index\-Pairs}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\-::vector$<${\bf Feature\-Point\-Index\-Pair}$>$ {\bf meow\-::\-Feature\-Point\-Index\-Pairs}}}\label{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}
+\hypertarget{namespacemeow_a936afddaa5716457741832ee501c7a58}{\index{meow@{meow}!Obj\-Double@{Obj\-Double}}
+\index{Obj\-Double@{Obj\-Double}!meow@{meow}}
+\subsubsection[{Obj\-Double}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Obj\-Type}$<${\bf double} , {\bf Reader\-Writer\-\_\-double}$>$ {\bf meow\-::\-Obj\-Double}}}\label{namespacemeow_a936afddaa5716457741832ee501c7a58}
+\hypertarget{namespacemeow_add07dcc8e06a1394daa3e6402bc40c4b}{\index{meow@{meow}!Obj\-Int@{Obj\-Int}}
+\index{Obj\-Int@{Obj\-Int}!meow@{meow}}
+\subsubsection[{Obj\-Int}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Obj\-Type}$<${\bf int} , {\bf Reader\-Writer\-\_\-int} $>$ {\bf meow\-::\-Obj\-Int}}}\label{namespacemeow_add07dcc8e06a1394daa3e6402bc40c4b}
+\hypertarget{namespacemeow_a52b9d9ec3b004a9335222e7bf30e521a}{\index{meow@{meow}!Obj\-Size\-T@{Obj\-Size\-T}}
+\index{Obj\-Size\-T@{Obj\-Size\-T}!meow@{meow}}
+\subsubsection[{Obj\-Size\-T}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Obj\-Type}$<$size\-\_\-t , {\bf Reader\-Writer\-\_\-size\-\_\-t}$>$ {\bf meow\-::\-Obj\-Size\-T}}}\label{namespacemeow_a52b9d9ec3b004a9335222e7bf30e521a}
+\hypertarget{namespacemeow_a52d52e58feff5e9f9013279e2dbd2fee}{\index{meow@{meow}!Obj\-String@{Obj\-String}}
+\index{Obj\-String@{Obj\-String}!meow@{meow}}
+\subsubsection[{Obj\-String}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Obj\-Type}$<$std\-::string, {\bf Reader\-Writer\-\_\-string}$>$ {\bf meow\-::\-Obj\-String}}}\label{namespacemeow_a52d52e58feff5e9f9013279e2dbd2fee}
+
+
+\subsection{Function Documentation}
+\hypertarget{namespacemeow_ad4d1e5fa951e5534204a0ee3eee22777}{\index{meow@{meow}!average@{average}}
+\index{average@{average}!meow@{meow}}
+\subsubsection[{average}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf double} meow\-::average (
+\begin{DoxyParamCaption}
+\item[{T const \&}]{beg, }
+\item[{T const \&}]{end, }
+\item[{{\bf double}}]{sigs}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ad4d1e5fa951e5534204a0ee3eee22777}
+
+
+只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均
+
+\hypertarget{namespacemeow_a6ae78e60d507c85de003f8fa8423b650}{\index{meow@{meow}!average@{average}}
+\index{average@{average}!meow@{meow}}
+\subsubsection[{average}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf double} meow\-::average (
+\begin{DoxyParamCaption}
+\item[{T const \&}]{beg, }
+\item[{T const \&}]{end, }
+\item[{T const \&}]{p, }
+\item[{{\bf double}}]{sigs}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a6ae78e60d507c85de003f8fa8423b650}
+
+
+只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均, 不過這次用 {\ttfamily p} 來加權平均
+
+\hypertarget{namespacemeow_a6ebfe120c658a6320de42c449e485e54}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{R\-G\-Bf\-\_\-\-Space const \&}]{rgb, }
+\item[{Y\-U\-Vf\-\_\-\-Space $\ast$}]{yuv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a6ebfe120c658a6320de42c449e485e54}
+
+
+{\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_af9ab85cd87a9f843e710657188f4c601}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{R\-G\-Bf\-\_\-\-Space const \&}]{rgb, }
+\item[{H\-S\-Lf\-\_\-\-Space $\ast$}]{hsl}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_af9ab85cd87a9f843e710657188f4c601}
+
+
+{\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a1591a113b022322f1119894a83a56625}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{R\-G\-Bf\-\_\-\-Space const \&}]{rgb, }
+\item[{H\-S\-Vf\-\_\-\-Space $\ast$}]{hsv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a1591a113b022322f1119894a83a56625}
+
+
+{\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_ab4756ef949554840f60a762661acc103}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{Y\-U\-Vf\-\_\-\-Space const \&}]{yuv, }
+\item[{R\-G\-Bf\-\_\-\-Space $\ast$}]{rgb}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ab4756ef949554840f60a762661acc103}
+
+
+{\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_ad01fb20ad0ae3932e408c06ad80f7b1e}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{Y\-U\-Vf\-\_\-\-Space const \&}]{yuv, }
+\item[{H\-S\-Vf\-\_\-\-Space $\ast$}]{hsv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ad01fb20ad0ae3932e408c06ad80f7b1e}
+
+
+{\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a7f2b465df93750016d3ff54b2adce77b}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{Y\-U\-Vf\-\_\-\-Space const \&}]{yuv, }
+\item[{H\-S\-Lf\-\_\-\-Space $\ast$}]{hsl}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a7f2b465df93750016d3ff54b2adce77b}
+
+
+{\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a91f42614ccd31fdb9a3d8529f65198fd}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{R\-G\-Bi\-\_\-\-Space const \&}]{rgb, }
+\item[{Y\-U\-Vf\-\_\-\-Space $\ast$}]{yuv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a91f42614ccd31fdb9a3d8529f65198fd}
+
+
+{\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a19e830f03459a25435ff963551772e74}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{H\-S\-Lf\-\_\-\-Space const \&}]{hsl, }
+\item[{H\-S\-Vf\-\_\-\-Space $\ast$}]{hsv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a19e830f03459a25435ff963551772e74}
+
+
+{\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_ad429f8a956d1f0e1484d08bb9419685b}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{H\-S\-Lf\-\_\-\-Space const \&}]{hsl, }
+\item[{R\-G\-Bf\-\_\-\-Space $\ast$}]{rgb}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ad429f8a956d1f0e1484d08bb9419685b}
+
+
+{\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_af4d344590a86168090c2f2322289f080}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{Y\-U\-Vf\-\_\-\-Space const \&}]{yuv, }
+\item[{R\-G\-Bi\-\_\-\-Space $\ast$}]{rgb}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_af4d344590a86168090c2f2322289f080}
+
+
+{\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a2f627a58a3394af709ddc8114b4b5286}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{H\-S\-Vf\-\_\-\-Space const \&}]{hsv, }
+\item[{R\-G\-Bf\-\_\-\-Space $\ast$}]{rgb}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a2f627a58a3394af709ddc8114b4b5286}
+
+
+{\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a764c66bb63095b178107b276eb0cc24e}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{R\-G\-Bi\-\_\-\-Space const \&}]{a, }
+\item[{R\-G\-Bf\-\_\-\-Space $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a764c66bb63095b178107b276eb0cc24e}
+
+
+{\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a930aec4a586b79b076e64541f3a96cc7}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{H\-S\-Vf\-\_\-\-Space const \&}]{hsv, }
+\item[{Y\-U\-Vf\-\_\-\-Space $\ast$}]{yuv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a930aec4a586b79b076e64541f3a96cc7}
+
+
+{\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a5612b34e84764e275631d662e5f210cb}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{R\-G\-Bf\-\_\-\-Space const \&}]{a, }
+\item[{R\-G\-Bi\-\_\-\-Space $\ast$}]{b}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a5612b34e84764e275631d662e5f210cb}
+
+
+{\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a4c39f0ec6860546a7b16e3f165bed83e}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{H\-S\-Lf\-\_\-\-Space const \&}]{hsl, }
+\item[{Y\-U\-Vf\-\_\-\-Space $\ast$}]{yuv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a4c39f0ec6860546a7b16e3f165bed83e}
+
+
+{\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_ae5a2c4f9f20fe94d8fcd378a86e05260}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{H\-S\-Vf\-\_\-\-Space const \&}]{hsv, }
+\item[{H\-S\-Lf\-\_\-\-Space $\ast$}]{hsl}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ae5a2c4f9f20fe94d8fcd378a86e05260}
+
+
+{\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a992d4c33aed66c0d4d7f578ef92dfa15}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{H\-S\-Lf\-\_\-\-Space const \&}]{hsl, }
+\item[{R\-G\-Bi\-\_\-\-Space $\ast$}]{rgb}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a992d4c33aed66c0d4d7f578ef92dfa15}
+
+
+{\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a303120584f2d7e474096da63bec4cdf5}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{H\-S\-Vf\-\_\-\-Space const \&}]{hsv, }
+\item[{R\-G\-Bi\-\_\-\-Space $\ast$}]{rgb}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a303120584f2d7e474096da63bec4cdf5}
+
+
+{\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_ae9b7bb880aa5b6dfebd523a6b344a4f1}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{R\-G\-Bi\-\_\-\-Space const \&}]{rgb, }
+\item[{H\-S\-Lf\-\_\-\-Space $\ast$}]{hsl}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ae9b7bb880aa5b6dfebd523a6b344a4f1}
+
+
+{\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a0239dc74535f528644a22e3e86e5221c}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
+\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
+\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
+\begin{DoxyParamCaption}
+\item[{R\-G\-Bi\-\_\-\-Space const \&}]{rgb, }
+\item[{H\-S\-Vf\-\_\-\-Space $\ast$}]{hsv}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a0239dc74535f528644a22e3e86e5221c}
+
+
+{\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}}
+
+\hypertarget{namespacemeow_a375bf0494e671d61343f5be28f3204fb}{\index{meow@{meow}!cstring\-End\-With@{cstring\-End\-With}}
+\index{cstring\-End\-With@{cstring\-End\-With}!meow@{meow}}
+\subsubsection[{cstring\-End\-With}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::cstring\-End\-With (
+\begin{DoxyParamCaption}
+\item[{char const $\ast$}]{str, }
+\item[{{\bf int}}]{n, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a375bf0494e671d61343f5be28f3204fb}
+
+
+檢查給定字串的結尾是否符合給定的數個patterns中的一個
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em str} & 愈檢查的字串 \\
+\hline
+\mbox{\tt in} & {\em n} & pattern數 \\
+\hline
+\mbox{\tt in} & {\em ...} & 各種pattern \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表示 {\bfseries 是否有符合}
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+參數中所有的字串都是用{\ttfamily cstring} 來傳遞, 也就是 {\ttfamily char} {\ttfamily const$\ast$} 型態
+\end{DoxyNote}
+\hypertarget{namespacemeow_a10a8cca705773b7d9f6f91d3fb08c104}{\index{meow@{meow}!cub@{cub}}
+\index{cub@{cub}!meow@{meow}}
+\subsubsection[{cub}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::cub (
+\begin{DoxyParamCaption}
+\item[{T const \&}]{x}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a10a8cca705773b7d9f6f91d3fb08c104}
+
+
+{\ttfamily x$\ast$x$\ast$x}
+
+\hypertarget{namespacemeow_a644a491d867da42696e3cf226019fc25}{\index{meow@{meow}!debug\-Printf\-\_\-@{debug\-Printf\-\_\-}}
+\index{debug\-Printf\-\_\-@{debug\-Printf\-\_\-}!meow@{meow}}
+\subsubsection[{debug\-Printf\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::debug\-Printf\-\_\- (
+\begin{DoxyParamCaption}
+\item[{char const $\ast$}]{file, }
+\item[{char const $\ast$}]{func, }
+\item[{size\-\_\-t}]{line, }
+\item[{char const $\ast$}]{msg}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a644a491d867da42696e3cf226019fc25}
+\hypertarget{namespacemeow_af95cfca15ad7a51ed4d07b06e1296080}{\index{meow@{meow}!denormalize@{denormalize}}
+\index{denormalize@{denormalize}!meow@{meow}}
+\subsubsection[{denormalize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::denormalize (
+\begin{DoxyParamCaption}
+\item[{T}]{lower, }
+\item[{T}]{upper, }
+\item[{T}]{\-\_\-ratio}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_af95cfca15ad7a51ed4d07b06e1296080}
+
+
+{\ttfamily }(lower+\-\_\-ratio$\ast$(upper-\/lower))
+
+\hypertarget{namespacemeow_a575ff1d89bedceb3f850e0c6b7ab2396}{\index{meow@{meow}!filename\-Compare@{filename\-Compare}}
+\index{filename\-Compare@{filename\-Compare}!meow@{meow}}
+\subsubsection[{filename\-Compare}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::filename\-Compare (
+\begin{DoxyParamCaption}
+\item[{std\-::string const \&}]{f1, }
+\item[{std\-::string const \&}]{f2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a575ff1d89bedceb3f850e0c6b7ab2396}
+
+
+將兩個字串用人類習慣的檔名排序方式排序
+
+例如 a1 $<$ a2 $<$ a3 $<$ a10 $<$ a12 $<$ a20, 而不是 a1 $<$ a10 $<$ a12 $<$ a2 $<$ a20 $<$ a3
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em f1} & 第一個字串 \\
+\hline
+\mbox{\tt in} & {\em f2} & 第二個字串 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily true/false} 表 {\bfseries f1是否該排在f2前面}
+\end{DoxyReturn}
+\hypertarget{namespacemeow_a98d838d338a3e6f3c57e94562fab3fa7}{\index{meow@{meow}!in\-Range@{in\-Range}}
+\index{in\-Range@{in\-Range}!meow@{meow}}
+\subsubsection[{in\-Range}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::in\-Range (
+\begin{DoxyParamCaption}
+\item[{T const \&}]{mn, }
+\item[{T const \&}]{mx, }
+\item[{T const \&}]{v}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a98d838d338a3e6f3c57e94562fab3fa7}
+
+
+{\ttfamily std\-::min}(mx,std\-::max(mn,v))
+
+\hypertarget{namespacemeow_a8e4a4baed7fb497f170075648ac95077}{\index{meow@{meow}!levenberg\-Marquardt@{levenberg\-Marquardt}}
+\index{levenberg\-Marquardt@{levenberg\-Marquardt}!meow@{meow}}
+\subsubsection[{levenberg\-Marquardt}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class F , class J , class I , class Stop $>$ {\bf Vector}$<$Scalar$>$ meow\-::levenberg\-Marquardt (
+\begin{DoxyParamCaption}
+\item[{F const \&}]{func, }
+\item[{J const \&}]{jaco, }
+\item[{I const \&}]{iden, }
+\item[{Vector$<$ Scalar $>$ const \&}]{init, }
+\item[{Stop const \&}]{stop, }
+\item[{{\bf int}}]{counter = {\ttfamily -\/1}}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a8e4a4baed7fb497f170075648ac95077}
+
+
+Run the {\bfseries Levenberg-\/\-Marquardt} method to solve a non-\/linear least squares problem.
+
+Assume\-:
+\begin{DoxyItemize}
+\item The function we want to optimize is $ F: \mathbb{R} ^N \mapsto \mathbb{R}^M $
+\item We want to find the best solution $ v $ such that $ F(v)^T F(v) = 0$. But there is a gived threshold $ \epsilon $, we can just find a $ v $ such that $ F(v)^T F(v) < \epsilon $, which is mush easier.
+\item User gived a initiial vector $ v_0 $
+\end{DoxyItemize}Then we just iteratilly find $ v_1, v_2, v_3, v_4... $ until a vector $ v_k $ satisified that $ F(v_k)^TF(v_k)<\epsilon $ . And each iterator we have\-: \[ v_{i+1} = v_i + (J(v_i)^TJ(v_i)+\lambda I_{N\times N})^{-1} J(v_i)^T F(v_i) \] Where $ J(v) $ is a jacobian matrix defined below\-: \[ J(v) = \frac{d}{dv}F(v) = \left[ \begin{array}{ccccc} \frac{\partial F_1(v)}{\partial v_1} & \frac{\partial F_1(v)}{\partial v_2} & \frac{\partial F_1(v)}{\partial v_3} & ... & \frac{\partial F_1(v)}{\partial v_N} \\ \frac{\partial F_2(v)}{\partial v_1} & \frac{\partial F_2(v)}{\partial v_2} & \frac{\partial F_2(v)}{\partial v_3} & ... & \frac{\partial F_2(v)}{\partial v_N} \\ \frac{\partial F_3(v)}{\partial v_1} & \frac{\partial F_3(v)}{\partial v_2} & \frac{\partial F_3(v)}{\partial v_3} & ... & \frac{\partial F_3(v)}{\partial v_N} \\ . & . & . & & . \\ . & . & . & & . \\ . & . & . & & . \\ \frac{\partial F_M(v)}{\partial v_1} & \frac{\partial F_M(v)}{\partial v_2} & \frac{\partial F_M(v)}{\partial v_3} & ... & \frac{\partial F_M(v)}{\partial v_N} \\ \end{array} \right] \] And $ \lambda $ is a magic number....
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em func} & $ F $, a function(class with {\ttfamily operator()} ) which input a vector and the output the squares errors. \\
+\hline
+\mbox{\tt in} & {\em jaco} & $ J $, a function which input a vector and then output {\bfseries func} derivate by the vector \\
+\hline
+\mbox{\tt in} & {\em iden} & $ \lambda I_{N \times N} $, defined above \\
+\hline
+\mbox{\tt in} & {\em init} & $ v_0 $Initial vector \\
+\hline
+\mbox{\tt in} & {\em stop} & A function return a boolean which means the error is acceptable or not, so \[ S_{top}(v) = \begin{cases} true & if~F(v)<\epsilon \\ false & else \end{cases} \] \\
+\hline
+\mbox{\tt in} & {\em counter} & To prevent infinit loop. \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a vector which means the best solution this function found.
+\end{DoxyReturn}
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+\hypertarget{namespacemeow_a9aad86d9211af4ca27b72f87c2643926}{\index{meow@{meow}!message\-Printf@{message\-Printf}}
+\index{message\-Printf@{message\-Printf}!meow@{meow}}
+\subsubsection[{message\-Printf}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::message\-Printf (
+\begin{DoxyParamCaption}
+\item[{{\bf int}}]{level\-\_\-change, }
+\item[{char const $\ast$}]{fmt, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a9aad86d9211af4ca27b72f87c2643926}
+
+
+階層式輸出
+
+像是printf, 但多了一個 {\bfseries 巢狀} 的概念, 例如\-:
+
+
+\begin{DoxyCode}
+message1(level = 0)
+ message2(level = 1)
+ information1(level = 2)
+ information2(level = 2)
+ ... ok(for message2)
+ message3(level = 1) ... ok
+ information3(level = 1)
+ message4(level = 1)
+ message5(level = 2) ... ok
+ message6(level = 2) ... ok
+ information4(level = 2)
+ ... ok(for message4)
+... ok(for message5)
+\end{DoxyCode}
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em level\-\_\-change} & 分以下三種情況\-:
+\begin{DoxyItemize}
+\item == 0, 只是印出一個information
+\item == 1, 印出一個message, 並且level++
+\item == -\/1, 表示此訊息相對應最近一次level++的那個message
+\end{DoxyItemize}\\
+\hline
+\mbox{\tt in} & {\em fmt,...} & 跟printf一樣 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+\hypertarget{namespacemeow_ab9456533c0ae85fba812bfb5b017c8d2}{\index{meow@{meow}!no\-E\-P\-S@{no\-E\-P\-S}}
+\index{no\-E\-P\-S@{no\-E\-P\-S}!meow@{meow}}
+\subsubsection[{no\-E\-P\-S}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::no\-E\-P\-S (
+\begin{DoxyParamCaption}
+\item[{T}]{value, }
+\item[{T}]{eps = {\ttfamily 1e-\/9}}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ab9456533c0ae85fba812bfb5b017c8d2}
+
+
+如果abs(輸入的數值) $<$ eps, 則回傳0, 否則回傳輸入的數值
+
+\hypertarget{namespacemeow_aebe1ad335556790c578c4cf7836fd9ca}{\index{meow@{meow}!normalize@{normalize}}
+\index{normalize@{normalize}!meow@{meow}}
+\subsubsection[{normalize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::normalize (
+\begin{DoxyParamCaption}
+\item[{T}]{lower, }
+\item[{T}]{upper, }
+\item[{T}]{value}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_aebe1ad335556790c578c4cf7836fd9ca}
+
+
+{\ttfamily }(value-\/lower)/(upper-\/lower)
+
+\hypertarget{namespacemeow_a43a73b75f2e23c8172d2098d57eaf75a}{\index{meow@{meow}!ransac@{ransac}}
+\index{ransac@{ransac}!meow@{meow}}
+\subsubsection[{ransac}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Weighting\-Class $>$ std\-::vector$<$Data$>$ meow\-::ransac (
+\begin{DoxyParamCaption}
+\item[{std\-::vector$<$ Data $>$ const \&}]{data, }
+\item[{Weighting\-Class const \&}]{w, }
+\item[{size\-\_\-t}]{N, }
+\item[{{\bf double}}]{p0, }
+\item[{{\bf double}}]{P}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a43a73b75f2e23c8172d2098d57eaf75a}
+
+
+Run the {\bfseries R\-A\-N\-S\-A\-C} method to approach the best solution.
+
+{\bfseries R\-A\-Ndom} {\bfseries S\-Ample} {\bfseries Consensus} is an iterative method to estimate parameters of a mathematical model from a set of observed data which contains {\ttfamily outliers}. \par
+ Each iterator it will choose a subset of elements, the smallest set which can form a valid parameters, from the data set. And then calculate how many elements in the whole data set is inliers. After iterator much times, we just say the best solution is the parameters that has the much inliers elements in whole iterators.
+
+Assume\-:
+\begin{DoxyItemize}
+\item We need at least $ N $ element to form a valid parameters.
+\item The probability of choosing a right element from data set each time is $ p_0 $.
+\item We want the probability of our solution actually being the best solution be $ P $.
+\item We need to iterator $ M $ times.
+\end{DoxyItemize}Then we can estimate the number of iterations $ M $ \-: \[ \begin{aligned} & (1 - p_0^N)^M \leq(1 - P) \\ \Rightarrow & M \log(1 - p_0^N) \leq \log(1 - P) \\ \Rightarrow & M \geq \frac{\log(1 - p)}{\log(1 - p_0^N)},~~ \because (1-p_0^N<1 \Rightarrow \log(1-p_0^N)<0) \end{aligned} \]
+
+So in this function we choose $ M = \lceil \frac{\log(1 - P)}{\log(1 - p_0^N)} \rceil $
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em data} & The whole data sett \\
+\hline
+\mbox{\tt in} & {\em w} & Weight function to give a floating number for a given parameters which means how best this solution is. Negitave number means invalid parameters. \\
+\hline
+\mbox{\tt in} & {\em N} & $ N $, defined above \\
+\hline
+\mbox{\tt in} & {\em p0} & $ p_0 $, defined above \\
+\hline
+\mbox{\tt in} & {\em P} & $ P $, defined above \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+solution.
+\end{DoxyReturn}
+\begin{DoxyAuthor}{Author}
+cat\-\_\-leopard
+\end{DoxyAuthor}
+\hypertarget{namespacemeow_a3b01a91eb4a02909a61a35e406fa5732}{\index{meow@{meow}!ratio\-Mapping@{ratio\-Mapping}}
+\index{ratio\-Mapping@{ratio\-Mapping}!meow@{meow}}
+\subsubsection[{ratio\-Mapping}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::ratio\-Mapping (
+\begin{DoxyParamCaption}
+\item[{T}]{l1, }
+\item[{T}]{u1, }
+\item[{T}]{m1, }
+\item[{T}]{l2, }
+\item[{T}]{u2}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a3b01a91eb4a02909a61a35e406fa5732}
+
+
+{\ttfamily denormalize}(l2,u2,normalize(l1,u1,m1))
+
+\hypertarget{namespacemeow_a1954e235973a2ac79a7a72a4b7d25573}{\index{meow@{meow}!squ@{squ}}
+\index{squ@{squ}!meow@{meow}}
+\subsubsection[{squ}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::squ (
+\begin{DoxyParamCaption}
+\item[{T const \&}]{x}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a1954e235973a2ac79a7a72a4b7d25573}
+
+
+{\ttfamily x$\ast$x}
+
+\hypertarget{namespacemeow_a09946550cc38b132151643d3408b0175}{\index{meow@{meow}!string\-Printf@{string\-Printf}}
+\index{string\-Printf@{string\-Printf}!meow@{meow}}
+\subsubsection[{string\-Printf}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string meow\-::string\-Printf (
+\begin{DoxyParamCaption}
+\item[{char const $\ast$}]{fmt, }
+\item[{}]{...}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a09946550cc38b132151643d3408b0175}
+
+
+類似\-C的printf, 不過是將格式化的字串丟到 {\ttfamily std\-::string} 裡回傳
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em fmt,...} & 同printf \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+一個 {\ttfamily std\-::string}
+\end{DoxyReturn}
+\begin{DoxyWarning}{Warning}
+目前格式化字串最長只支援8191個字元
+\end{DoxyWarning}
+\hypertarget{namespacemeow_a532a4a224ccd34baa4c6317a8a014ba4}{\index{meow@{meow}!string\-Replace@{string\-Replace}}
+\index{string\-Replace@{string\-Replace}!meow@{meow}}
+\subsubsection[{string\-Replace}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string meow\-::string\-Replace (
+\begin{DoxyParamCaption}
+\item[{std\-::string}]{str, }
+\item[{std\-::string const \&}]{from, }
+\item[{std\-::string const \&}]{to}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a532a4a224ccd34baa4c6317a8a014ba4}
+
+
+將輸入字串中的某個pattern取代成另一個pattern
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em str} & 輸入的字串 \\
+\hline
+\mbox{\tt in} & {\em from} & 要被取代的pattern \\
+\hline
+\mbox{\tt in} & {\em to} & 將要取代的pattern \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+取代後的字串
+\end{DoxyReturn}
+\begin{DoxyWarning}{Warning}
+有礙於目前實作方法很低級暴力, 時間複雜度神高
+\end{DoxyWarning}
+\hypertarget{namespacemeow_ae880337dfdcc67984a0dccdb50e5c5d0}{\index{meow@{meow}!t\-Abs@{t\-Abs}}
+\index{t\-Abs@{t\-Abs}!meow@{meow}}
+\subsubsection[{t\-Abs}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::t\-Abs (
+\begin{DoxyParamCaption}
+\item[{T const \&}]{t}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ae880337dfdcc67984a0dccdb50e5c5d0}
+
+
+就只是個取絕對值
+
+
+
+\subsection{Variable Documentation}
+\hypertarget{namespacemeow_aaa678bbd106012a98ed5679e2ca8cc32}{\index{meow@{meow}!k\-Global\-Seletor\-I\-D@{k\-Global\-Seletor\-I\-D}}
+\index{k\-Global\-Seletor\-I\-D@{k\-Global\-Seletor\-I\-D}!meow@{meow}}
+\subsubsection[{k\-Global\-Seletor\-I\-D}]{\setlength{\rightskip}{0pt plus 5cm}const size\-\_\-t meow\-::k\-Global\-Seletor\-I\-D = 0\hspace{0.3cm}{\ttfamily [static]}}}\label{namespacemeow_aaa678bbd106012a98ed5679e2ca8cc32}
+\hypertarget{namespacemeow_aa86d5920087a4e73078b759bc3996f76}{\index{meow@{meow}!P\-I@{P\-I}}
+\index{P\-I@{P\-I}!meow@{meow}}
+\subsubsection[{P\-I}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf double} meow\-::\-P\-I = 3.\-14159265358979323846264338327950288\hspace{0.3cm}{\ttfamily [static]}}}\label{namespacemeow_aa86d5920087a4e73078b759bc3996f76}
+
+
+圓周率...
+
diff --git a/doc/latex/namespaces.tex b/doc/latex/namespaces.tex
new file mode 100644
index 0000000..c338356
--- /dev/null
+++ b/doc/latex/namespaces.tex
@@ -0,0 +1,4 @@
+\section{Namespace List}
+Here is a list of all namespaces with brief descriptions\-:\begin{DoxyCompactList}
+\item\contentsline{section}{\hyperlink{namespacemeow}{meow} }{\pageref{namespacemeow}}{}
+\end{DoxyCompactList}
diff --git a/doc/latex/refman.tex b/doc/latex/refman.tex
new file mode 100644
index 0000000..a4ae59e
--- /dev/null
+++ b/doc/latex/refman.tex
@@ -0,0 +1,175 @@
+% Latex header for doxygen 1.8.3.1
+\documentclass{book}
+\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
+\usepackage{makeidx}
+\usepackage{natbib}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{listings}
+\usepackage{color}
+\usepackage{ifthen}
+\usepackage[table]{xcolor}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\else
+\usepackage[ps2pdf,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage[utf8]{inputenc}
+\usepackage{mathptmx}
+\usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\usepackage{sectsty}
+\usepackage{amssymb}
+\usepackage[titles]{tocloft}
+\usepackage{doxygen}
+\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=4,numbers=left }
+\makeindex
+\setcounter{tocdepth}{3}
+\renewcommand{\footrulewidth}{0.4pt}
+\renewcommand{\familydefault}{\sfdefault}
+\hfuzz=15pt
+\setlength{\emergencystretch}{15pt}
+\hbadness=750
+\tolerance=750
+\begin{document}
+\hypersetup{pageanchor=false,citecolor=blue}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Large Your title here}\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.8.3.1}\\
+\vspace*{0.5cm}
+{\small Thu May 8 2014 18:53:47}\\
+\end{center}
+\end{titlepage}
+\clearemptydoublepage
+\pagenumbering{roman}
+\tableofcontents
+\clearemptydoublepage
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true,citecolor=blue}
+\color{red}
+\chapter{Namespace Index}
+\input{namespaces}
+\chapter{Hierarchical Index}
+\input{hierarchy}
+\chapter{Class Index}
+\input{annotated}
+\chapter{File Index}
+\input{files}
+\chapter{Namespace Documentation}
+\input{namespacemeow}
+\chapter{Class Documentation}
+\input{classmeow_1_1BallProjection}
+\input{classmeow_1_1BinaryIndexTree}
+\input{classmeow_1_1Bitmap}
+\input{classmeow_1_1Camera}
+\input{classmeow_1_1Color3__Space}
+\input{classmeow_1_1DisjointSet}
+\input{classmeow_1_1SplayTree_1_1Element}
+\input{classmeow_1_1SplayTree__Range_1_1Element}
+\input{classmeow_1_1FeaturePoint}
+\input{structmeow_1_1FeaturePointIndexPair}
+\input{classmeow_1_1FeaturePointsDetector}
+\input{classmeow_1_1FeaturePointsDetector__Harris}
+\input{classmeow_1_1FeaturePointsMatch}
+\input{classmeow_1_1FeaturePointsMatch__K__Match}
+\input{classmeow_1_1HashTableList}
+\input{classmeow_1_1HSLf__Space}
+\input{classmeow_1_1HSVf__Space}
+\input{classmeow_1_1IdentityPoints}
+\input{classmeow_1_1KD__Tree}
+\input{classmeow_1_1LinearTransformation}
+\input{classmeow_1_1Matrix}
+\input{classmeow_1_1MergeableHeap}
+\input{classmeow_1_1ObjArray}
+\input{classmeow_1_1ObjBase}
+\input{classmeow_1_1ObjDictionary}
+\input{classmeow_1_1ObjProperties}
+\input{classmeow_1_1ObjSelector}
+\input{classmeow_1_1ObjType}
+\input{classmeow_1_1Photo}
+\input{classmeow_1_1PhotoProjection}
+\input{classmeow_1_1ReaderWriter__double}
+\input{classmeow_1_1ReaderWriter__int}
+\input{classmeow_1_1ReaderWriter__size__t}
+\input{classmeow_1_1ReaderWriter__string}
+\input{classmeow_1_1RGBf__Space}
+\input{classmeow_1_1RGBi__Space}
+\input{classmeow_1_1Rotation3D}
+\input{classmeow_1_1SegmentTree}
+\input{classmeow_1_1Self}
+\input{classmeow_1_1SplayTree}
+\input{classmeow_1_1SplayTree__Range}
+\input{classmeow_1_1Transformation}
+\input{classmeow_1_1Usage}
+\input{classmeow_1_1Vector}
+\input{classmeow_1_1Vector2D}
+\input{classmeow_1_1Vector3D}
+\input{classmeow_1_1ViewPort}
+\input{classmeow_1_1VP__Tree}
+\input{classmeow_1_1WatchBall}
+\input{classmeow_1_1YUVf__Space}
+\chapter{File Documentation}
+\input{Color3__Space_8h}
+\input{HSL__Space_8h}
+\input{HSV__Space_8h}
+\input{RGB__Space_8h}
+\input{YUV__Space_8h}
+\input{BinaryIndexTree_8h}
+\input{DisjointSet_8h}
+\input{HashTable_8h}
+\input{KD__Tree_8h}
+\input{MergeableHeap_8h}
+\input{SegmentTree_8h}
+\input{SplayTree_8h}
+\input{VP__Tree_8h}
+\input{Vectors_8h}
+\input{Bitmap_8h}
+\input{Camera_8h}
+\input{FeaturePoint_8h}
+\input{FeaturePointsDetector_8h}
+\input{FeaturePointsDetector__Harris_8h}
+\input{FeaturePointsMatch_8h}
+\input{FeaturePointsMatch__K__Match_8h}
+\input{IdentityPoints_8h}
+\input{Photo_8h}
+\input{ViewPort_8h}
+\input{WatchBall_8h}
+\input{LinearTransformation_8h}
+\input{LinearTransformations_8h}
+\input{Matrix_8h}
+\input{methods_8h}
+\input{Transformation_8h}
+\input{Transformations_8h}
+\input{math_2utility_8h}
+\input{utility_8h}
+\input{Vector_8h}
+\input{ObjArray_8h}
+\input{ObjBase_8h}
+\input{ObjDictionary_8h}
+\input{ObjProperties_8h}
+\input{ObjSelector_8h}
+\input{ObjTypes_8h}
+\input{Self_8h}
+\input{Usage_8h}
+% Latex footer for doxygen 1.8.3.1
+\addcontentsline{toc}{part}{Index}
+\printindex
+\end{document}
diff --git a/doc/latex/structmeow_1_1FeaturePointIndexPair.tex b/doc/latex/structmeow_1_1FeaturePointIndexPair.tex
new file mode 100644
index 0000000..d7f6569
--- /dev/null
+++ b/doc/latex/structmeow_1_1FeaturePointIndexPair.tex
@@ -0,0 +1,67 @@
+\hypertarget{structmeow_1_1FeaturePointIndexPair}{\section{meow\-:\-:Feature\-Point\-Index\-Pair Struct Reference}
+\label{structmeow_1_1FeaturePointIndexPair}\index{meow\-::\-Feature\-Point\-Index\-Pair@{meow\-::\-Feature\-Point\-Index\-Pair}}
+}
+
+
+{\ttfamily \#include \char`\"{}Feature\-Points\-Match.\-h\char`\"{}}
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\hyperlink{structmeow_1_1FeaturePointIndexPair_a0fd816ce3fc077e13df94bd35e60bc83}{Feature\-Point\-Index\-Pair} ()
+\item
+\hyperlink{structmeow_1_1FeaturePointIndexPair_a8f105274ca6de9a749d8119ec8c1685b}{Feature\-Point\-Index\-Pair} (size\-\_\-t ff, size\-\_\-t fs, size\-\_\-t tf, size\-\_\-t ts)
+\item
+bool \hyperlink{structmeow_1_1FeaturePointIndexPair_ad4bc29dd8931fa3c6fa8139bb51b7f4a}{operator==} (\hyperlink{structmeow_1_1FeaturePointIndexPair}{Feature\-Point\-Index\-Pair} const \&p) const
+\end{DoxyCompactItemize}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+std\-::pair$<$ size\-\_\-t, size\-\_\-t $>$ \hyperlink{structmeow_1_1FeaturePointIndexPair_af0c72f723fbe96c29b36295e6e3ac5bc}{from}
+\item
+std\-::pair$<$ size\-\_\-t, size\-\_\-t $>$ \hyperlink{structmeow_1_1FeaturePointIndexPair_a3c2dd21c446f8c52279d5a7451e5360c}{to}
+\end{DoxyCompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{structmeow_1_1FeaturePointIndexPair_a0fd816ce3fc077e13df94bd35e60bc83}{\index{meow\-::\-Feature\-Point\-Index\-Pair@{meow\-::\-Feature\-Point\-Index\-Pair}!Feature\-Point\-Index\-Pair@{Feature\-Point\-Index\-Pair}}
+\index{Feature\-Point\-Index\-Pair@{Feature\-Point\-Index\-Pair}!meow::FeaturePointIndexPair@{meow\-::\-Feature\-Point\-Index\-Pair}}
+\subsubsection[{Feature\-Point\-Index\-Pair}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Feature\-Point\-Index\-Pair\-::\-Feature\-Point\-Index\-Pair (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{structmeow_1_1FeaturePointIndexPair_a0fd816ce3fc077e13df94bd35e60bc83}
+\hypertarget{structmeow_1_1FeaturePointIndexPair_a8f105274ca6de9a749d8119ec8c1685b}{\index{meow\-::\-Feature\-Point\-Index\-Pair@{meow\-::\-Feature\-Point\-Index\-Pair}!Feature\-Point\-Index\-Pair@{Feature\-Point\-Index\-Pair}}
+\index{Feature\-Point\-Index\-Pair@{Feature\-Point\-Index\-Pair}!meow::FeaturePointIndexPair@{meow\-::\-Feature\-Point\-Index\-Pair}}
+\subsubsection[{Feature\-Point\-Index\-Pair}]{\setlength{\rightskip}{0pt plus 5cm}meow\-::\-Feature\-Point\-Index\-Pair\-::\-Feature\-Point\-Index\-Pair (
+\begin{DoxyParamCaption}
+\item[{size\-\_\-t}]{ff, }
+\item[{size\-\_\-t}]{fs, }
+\item[{size\-\_\-t}]{tf, }
+\item[{size\-\_\-t}]{ts}
+\end{DoxyParamCaption}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{structmeow_1_1FeaturePointIndexPair_a8f105274ca6de9a749d8119ec8c1685b}
+
+
+\subsection{Member Function Documentation}
+\hypertarget{structmeow_1_1FeaturePointIndexPair_ad4bc29dd8931fa3c6fa8139bb51b7f4a}{\index{meow\-::\-Feature\-Point\-Index\-Pair@{meow\-::\-Feature\-Point\-Index\-Pair}!operator==@{operator==}}
+\index{operator==@{operator==}!meow::FeaturePointIndexPair@{meow\-::\-Feature\-Point\-Index\-Pair}}
+\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::\-Feature\-Point\-Index\-Pair\-::operator== (
+\begin{DoxyParamCaption}
+\item[{{\bf Feature\-Point\-Index\-Pair} const \&}]{p}
+\end{DoxyParamCaption}
+) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{structmeow_1_1FeaturePointIndexPair_ad4bc29dd8931fa3c6fa8139bb51b7f4a}
+
+
+\subsection{Member Data Documentation}
+\hypertarget{structmeow_1_1FeaturePointIndexPair_af0c72f723fbe96c29b36295e6e3ac5bc}{\index{meow\-::\-Feature\-Point\-Index\-Pair@{meow\-::\-Feature\-Point\-Index\-Pair}!from@{from}}
+\index{from@{from}!meow::FeaturePointIndexPair@{meow\-::\-Feature\-Point\-Index\-Pair}}
+\subsubsection[{from}]{\setlength{\rightskip}{0pt plus 5cm}std\-::pair$<$size\-\_\-t, size\-\_\-t$>$ meow\-::\-Feature\-Point\-Index\-Pair\-::from}}\label{structmeow_1_1FeaturePointIndexPair_af0c72f723fbe96c29b36295e6e3ac5bc}
+\hypertarget{structmeow_1_1FeaturePointIndexPair_a3c2dd21c446f8c52279d5a7451e5360c}{\index{meow\-::\-Feature\-Point\-Index\-Pair@{meow\-::\-Feature\-Point\-Index\-Pair}!to@{to}}
+\index{to@{to}!meow::FeaturePointIndexPair@{meow\-::\-Feature\-Point\-Index\-Pair}}
+\subsubsection[{to}]{\setlength{\rightskip}{0pt plus 5cm}std\-::pair$<$size\-\_\-t, size\-\_\-t$>$ meow\-::\-Feature\-Point\-Index\-Pair\-::to}}\label{structmeow_1_1FeaturePointIndexPair_a3c2dd21c446f8c52279d5a7451e5360c}
+
+
+The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
+\item
+meowpp/gra/\hyperlink{FeaturePointsMatch_8h}{Feature\-Points\-Match.\-h}\end{DoxyCompactItemize}
diff --git a/doc/latex/utility_8h.tex b/doc/latex/utility_8h.tex
new file mode 100644
index 0000000..926082a
--- /dev/null
+++ b/doc/latex/utility_8h.tex
@@ -0,0 +1,66 @@
+\hypertarget{utility_8h}{\section{meowpp/utility.h File Reference}
+\label{utility_8h}\index{meowpp/utility.\-h@{meowpp/utility.\-h}}
+}
+{\ttfamily \#include $<$cstdlib$>$}\\*
+{\ttfamily \#include $<$cstring$>$}\\*
+{\ttfamily \#include $<$cstdio$>$}\\*
+{\ttfamily \#include $<$cstdarg$>$}\\*
+{\ttfamily \#include $<$string$>$}\\*
+\subsection*{Namespaces}
+\begin{DoxyCompactItemize}
+\item
+namespace \hyperlink{namespacemeow}{meow}
+\end{DoxyCompactItemize}
+\subsection*{Macros}
+\begin{DoxyCompactItemize}
+\item
+\#define \hyperlink{utility_8h_a7b550f1ff25a89286527a460c390a902}{debug\-Printf}(str)
+\begin{DoxyCompactList}\small\item\em 若\-D\-E\-B\-U\-G有被define過, 將字串印到stderr, 並且附上檔名行號與所在函數名 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item
+std\-::string \hyperlink{namespacemeow_a09946550cc38b132151643d3408b0175}{meow\-::string\-Printf} (char const $\ast$fmt,...)
+\begin{DoxyCompactList}\small\item\em 類似\-C的printf, 不過是將格式化的字串丟到 {\ttfamily std\-::string} 裡回傳 \end{DoxyCompactList}\item
+std\-::string \hyperlink{namespacemeow_a532a4a224ccd34baa4c6317a8a014ba4}{meow\-::string\-Replace} (std\-::string str, std\-::string const \&from, std\-::string const \&to)
+\begin{DoxyCompactList}\small\item\em 將輸入字串中的某個pattern取代成另一個pattern \end{DoxyCompactList}\item
+bool \hyperlink{namespacemeow_a375bf0494e671d61343f5be28f3204fb}{meow\-::cstring\-End\-With} (char const $\ast$str, \hyperlink{classint}{int} n,...)
+\begin{DoxyCompactList}\small\item\em 檢查給定字串的結尾是否符合給定的數個patterns中的一個 \end{DoxyCompactList}\item
+void \hyperlink{namespacemeow_a644a491d867da42696e3cf226019fc25}{meow\-::debug\-Printf\-\_\-} (char const $\ast$file, char const $\ast$func, size\-\_\-t line, char const $\ast$msg)
+\item
+void \hyperlink{namespacemeow_a9aad86d9211af4ca27b72f87c2643926}{meow\-::message\-Printf} (\hyperlink{classint}{int} level\-\_\-change, char const $\ast$fmt,...)
+\begin{DoxyCompactList}\small\item\em 階層式輸出 \end{DoxyCompactList}\item
+bool \hyperlink{namespacemeow_a575ff1d89bedceb3f850e0c6b7ab2396}{meow\-::filename\-Compare} (std\-::string const \&f1, std\-::string const \&f2)
+\begin{DoxyCompactList}\small\item\em 將兩個字串用人類習慣的檔名排序方式排序 \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Macro Definition Documentation}
+\hypertarget{utility_8h_a7b550f1ff25a89286527a460c390a902}{\index{utility.\-h@{utility.\-h}!debug\-Printf@{debug\-Printf}}
+\index{debug\-Printf@{debug\-Printf}!utility.h@{utility.\-h}}
+\subsubsection[{debug\-Printf}]{\setlength{\rightskip}{0pt plus 5cm}\#define debug\-Printf(
+\begin{DoxyParamCaption}
+\item[{}]{str}
+\end{DoxyParamCaption}
+)}}\label{utility_8h_a7b550f1ff25a89286527a460c390a902}
+{\bfseries Value\-:}
+\begin{DoxyCode}
+\hyperlink{namespacemeow_a644a491d867da42696e3cf226019fc25}{debugPrintf\_}(\(\backslash\)
+ \_\_FILE\_\_,\(\backslash\)
+ \_\_FUNCTION\_\_,\(\backslash\)
+ \_\_LINE\_\_,\(\backslash\)
+ str)
+\end{DoxyCode}
+
+
+若\-D\-E\-B\-U\-G有被define過, 將字串印到stderr, 並且附上檔名行號與所在函數名
+
+
+\begin{DoxyParams}[1]{Parameters}
+\mbox{\tt in} & {\em str} & 要輸出的字串, 必須是c string, 即 {\ttfamily char} {\ttfamily const$\ast$} 型態 \\
+\hline
+\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+無
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+這是一個 {\bfseries macro}
+\end{DoxyNote}