bool TPinholeCamera::getPlaneProjection (const TVector& rktPOINT, TVector2& rtPROJ) const { TScalar u, v; TScalar pt, pu, pv; TVector tPoint = (rktPOINT - tLocation); pt = dotProduct (tDirection, tPoint); pu = dotProduct (I, tPoint) / tPixelSize; pv = dotProduct (J, tPoint) / tPixelSize; u = tHalfResX + ((pu / pt) / tPixelSize); if ( ( u < 0 ) || ( u > (tHalfResX * 2) ) ) { return false; } v = tHalfResY - ((pv / pt) / tPixelSize); if ( ( v < 0 ) || ( v > (tHalfResY * 2) ) ) { return false; } rtPROJ.set (u, v); return true; } /* getPlaneProjection() */