\hypertarget{classACG_1_1Geometry_1_1QuadricT}{}\section{A\+CG\+:\+:Geometry\+:\+:QuadricT$<$ Scalar $>$ Class Template Reference}
\label{classACG_1_1Geometry_1_1QuadricT}\index{A\+C\+G\+::\+Geometry\+::\+Quadric\+T$<$ Scalar $>$@{A\+C\+G\+::\+Geometry\+::\+Quadric\+T$<$ Scalar $>$}}


{\ttfamily \#include $<$Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+Geometry/\+Types/\+Quadric\+T.\+hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_add30299f577a50dcd8d1e7cdecf9372e}\label{classACG_1_1Geometry_1_1QuadricT_add30299f577a50dcd8d1e7cdecf9372e}} 
\hyperlink{classACG_1_1Geometry_1_1QuadricT_add30299f577a50dcd8d1e7cdecf9372e}{QuadricT} (Scalar \+\_\+a, Scalar \+\_\+b, Scalar \+\_\+c, Scalar \+\_\+d, Scalar \+\_\+e, Scalar \+\_\+f, Scalar \+\_\+g, Scalar \+\_\+h, Scalar \+\_\+i, Scalar \+\_\+j)
\begin{DoxyCompactList}\small\item\em construct with upper triangle of symmetrix 4x4 matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a6ee9e55b697d10c72d80958fc25c93d3}\label{classACG_1_1Geometry_1_1QuadricT_a6ee9e55b697d10c72d80958fc25c93d3}} 
\hyperlink{classACG_1_1Geometry_1_1QuadricT_a6ee9e55b697d10c72d80958fc25c93d3}{QuadricT} (Scalar \+\_\+a=0.\+0, Scalar \+\_\+b=0.\+0, Scalar \+\_\+c=0.\+0, Scalar \+\_\+d=0.\+0)
\begin{DoxyCompactList}\small\item\em constructor from given plane equation\+: ax+by+cz+d=0 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_adacb25f917406743b4f56729ab812c02}\label{classACG_1_1Geometry_1_1QuadricT_adacb25f917406743b4f56729ab812c02}} 
void \hyperlink{classACG_1_1Geometry_1_1QuadricT_adacb25f917406743b4f56729ab812c02}{clear} ()
\begin{DoxyCompactList}\small\item\em set all entries to zero \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_ab3159ff76c0719e90f210a1484232f60}\label{classACG_1_1Geometry_1_1QuadricT_ab3159ff76c0719e90f210a1484232f60}} 
\hyperlink{classACG_1_1Geometry_1_1QuadricT}{QuadricT}$<$ Scalar $>$ \& \hyperlink{classACG_1_1Geometry_1_1QuadricT_ab3159ff76c0719e90f210a1484232f60}{operator+=} (const \hyperlink{classACG_1_1Geometry_1_1QuadricT}{QuadricT}$<$ Scalar $>$ \&\+\_\+q)
\begin{DoxyCompactList}\small\item\em add quadrics \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a8f47e735bc59aa0041935abfd041bef3}\label{classACG_1_1Geometry_1_1QuadricT_a8f47e735bc59aa0041935abfd041bef3}} 
\hyperlink{classACG_1_1Geometry_1_1QuadricT}{QuadricT}$<$ Scalar $>$ \& \hyperlink{classACG_1_1Geometry_1_1QuadricT_a8f47e735bc59aa0041935abfd041bef3}{operator$\ast$=} (Scalar \+\_\+s)
\begin{DoxyCompactList}\small\item\em multiply by scalar \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_aaf6599d49aee0e4a65e468c9db328fcd}\label{classACG_1_1Geometry_1_1QuadricT_aaf6599d49aee0e4a65e468c9db328fcd}} 
\hyperlink{classOpenMesh_1_1VectorT}{VectorT}$<$ Scalar, 4 $>$ \hyperlink{classACG_1_1Geometry_1_1QuadricT_aaf6599d49aee0e4a65e468c9db328fcd}{operator$\ast$} (const \hyperlink{classOpenMesh_1_1VectorT}{VectorT}$<$ Scalar, 4 $>$ \&\+\_\+v) const
\begin{DoxyCompactList}\small\item\em multiply 4D vector from right\+: Q$\ast$v \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a6d33c66deb2d19eb9beb89a7279bddbf}\label{classACG_1_1Geometry_1_1QuadricT_a6d33c66deb2d19eb9beb89a7279bddbf}} 
Scalar \hyperlink{classACG_1_1Geometry_1_1QuadricT_a6d33c66deb2d19eb9beb89a7279bddbf}{operator()} (const \hyperlink{classOpenMesh_1_1VectorT}{VectorT}$<$ Scalar, 3 $>$ \+\_\+v) const
\begin{DoxyCompactList}\small\item\em evaluate quadric Q at vector v\+: v$\ast$\+Q$\ast$v \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a812e3bb7f6da1b64e36fdaec3d83a8b6}\label{classACG_1_1Geometry_1_1QuadricT_a812e3bb7f6da1b64e36fdaec3d83a8b6}} 
Scalar \hyperlink{classACG_1_1Geometry_1_1QuadricT_a812e3bb7f6da1b64e36fdaec3d83a8b6}{operator()} (const \hyperlink{classOpenMesh_1_1VectorT}{VectorT}$<$ Scalar, 4 $>$ \+\_\+v) const
\begin{DoxyCompactList}\small\item\em evaluate quadric Q at vector v\+: v$\ast$\+Q$\ast$v \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a0e9396065297845711cd6d6ff4f9f59d}\label{classACG_1_1Geometry_1_1QuadricT_a0e9396065297845711cd6d6ff4f9f59d}} 
Scalar {\bfseries a}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a0c2aab2c5d20342b6f6448e0e02e15df}\label{classACG_1_1Geometry_1_1QuadricT_a0c2aab2c5d20342b6f6448e0e02e15df}} 
Scalar {\bfseries b}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a62b4c777e95adb2786f0da9879363b0d}\label{classACG_1_1Geometry_1_1QuadricT_a62b4c777e95adb2786f0da9879363b0d}} 
Scalar {\bfseries c}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a1a8cc5f03efac07795a2903c64cad0a4}\label{classACG_1_1Geometry_1_1QuadricT_a1a8cc5f03efac07795a2903c64cad0a4}} 
Scalar {\bfseries d}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a2633f20ca7340660105804045a48d160}\label{classACG_1_1Geometry_1_1QuadricT_a2633f20ca7340660105804045a48d160}} 
Scalar {\bfseries e}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a13eb7498a8c6e0016fb4b9c6537c0713}\label{classACG_1_1Geometry_1_1QuadricT_a13eb7498a8c6e0016fb4b9c6537c0713}} 
Scalar {\bfseries f}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a78e8ff605e81ba3d3ae0076c2d382f30}\label{classACG_1_1Geometry_1_1QuadricT_a78e8ff605e81ba3d3ae0076c2d382f30}} 
Scalar {\bfseries g}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_aa389f7c38ef47b2b7c48bf4398575f1f}\label{classACG_1_1Geometry_1_1QuadricT_aa389f7c38ef47b2b7c48bf4398575f1f}} 
Scalar {\bfseries h}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a6f8ae238e0b5079d37b9277c9aefe59d}\label{classACG_1_1Geometry_1_1QuadricT_a6f8ae238e0b5079d37b9277c9aefe59d}} 
Scalar {\bfseries i}
\item 
\mbox{\Hypertarget{classACG_1_1Geometry_1_1QuadricT_a25cab2009769050bcb6c96965a2bf0fe}\label{classACG_1_1Geometry_1_1QuadricT_a25cab2009769050bcb6c96965a2bf0fe}} 
Scalar {\bfseries j}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class Scalar$>$\newline
class A\+C\+G\+::\+Geometry\+::\+Quadric\+T$<$ Scalar $>$}

/class \hyperlink{classACG_1_1Geometry_1_1QuadricT}{QuadricT} Quadric\+T.\+hh $<$\hyperlink{ACG_2Geometry_2Types_2QuadricT_8hh_source}{A\+C\+G/\+Geometry/\+Types/\+Quadric\+T.\+hh}$>$

Stores a quadric as a 4x4 symmetrix matrix. Used by the error quadric based mesh decimation algorithms. 

Definition at line 77 of file Quadric\+T.\+hh.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+Geometry/\+Types/Quadric\+T.\+hh\end{DoxyCompactItemize}
