/**
* Author: Per Austrin, Ulf Lundstrom
* Date: 2009-04-09
* License: CC0
* Source:
* Description:\\
\begin{minipage}{75mm}
Apply the linear transformation (translation, rotation and scaling) which takes line p0-p1 to line q0-q1 to point r.
\end{minipage}
\begin{minipage}{15mm}
\vspace{-8mm}
\includegraphics[width=\textwidth]{src/geometry/linearTransformation}
\vspace{-2mm}
\end{minipage}
* Status: not tested
*/#pragma once
#include"src/geometry/Point.h"typedefPoint<double>P;PlinearTransformation(constP&p0,constP&p1,constP&q0,constP&q1,constP&r){Pdp=p1-p0,dq=q1-q0,num(dp.cross(dq),dp.dot(dq));returnq0+P((r-p0).cross(num),(r-p0).dot(num))/dp.dist2();}
Traceback(mostrecentcalllast):File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/documentation/build.py",line71,in_render_source_code_statbundled_code=language.bundle(stat.path,basedir=basedir,options={'include_paths':[basedir]}).decode()~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus.py",line187,inbundlebundler.update(path)~~~~~~~~~~~~~~^^^^^^File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py",line312,inupdateraiseBundleErrorAt(path,i+1,"#pragma once found in a non-first line")onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt:src/geometry/linearTransformation.h:line17:#pragmaoncefoundinanon-firstline