/usr/include/libwildmagic/Wm5ContEllipsoid3.h is in libwildmagic-dev 5.13-1+b2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | // Geometric Tools, LLC
// Copyright (c) 1998-2014
// Distributed under the Boost Software License, Version 1.0.
// http://www.boost.org/LICENSE_1_0.txt
// http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
//
// File Version: 5.0.1 (2010/10/01)
#ifndef WM5CONTELLIPSOID3_H
#define WM5CONTELLIPSOID3_H
#include "Wm5MathematicsLIB.h"
#include "Wm5Ellipsoid3.h"
#include "Wm5Line3.h"
namespace Wm5
{
// The input points are fit with a Gaussian distribution. The center C of the
// ellipsoid is chosen to be the mean of the distribution. The axes of the
// ellipsoid are chosen to be the eigenvectors of the covariance matrix M.
// The shape of the ellipsoid is determined by the absolute values of the
// eigenvalues.
//
// WARNING. The construction is ill-conditioned if the points are (nearly)
// collinear or (nearly) planar. In this case M has a (nearly) zero
// eigenvalue, so inverting M is problematic.
template <typename Real> WM5_MATHEMATICS_ITEM
Ellipsoid3<Real> ContEllipsoid (int numPoints, const Vector3<Real>* points);
// Project an ellipsoid onto a line. The projection interval is [smin,smax]
// and corresponds to the line segment P+s*D, where smin <= s <= smax.
template <typename Real> WM5_MATHEMATICS_ITEM
void ProjectEllipsoid (const Ellipsoid3<Real>& ellipsoid,
const Line3<Real>& line, Real& smin, Real& smax);
// Construct a bounding ellipsoid for the two input ellipsoids.
template <typename Real> WM5_MATHEMATICS_ITEM
const Ellipsoid3<Real> MergeEllipsoids (const Ellipsoid3<Real>& ellipsoid0,
const Ellipsoid3<Real>& ellipsoid1);
}
#endif
|