/usr/include/libwildmagic/Wm5TCBSpline2.h is in libwildmagic-dev 5.13-1ubuntu3.
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | // 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.2 (2011/07/23)
#ifndef WM5TCBSPLINE2_H
#define WM5TCBSPLINE2_H
#include "Wm5MathematicsLIB.h"
#include "Wm5MultipleCurve2.h"
namespace Wm5
{
template <typename Real>
class WM5_MATHEMATICS_ITEM TCBSpline2 : public MultipleCurve2<Real>
{
public:
// Construction and destruction. TCBSpline2 accepts responsibility for
// deleting the input arrays.
TCBSpline2 (int numSegments, Real* times, Vector2<Real>* points,
Real* tension, Real* continuity, Real* bias);
virtual ~TCBSpline2 ();
const Vector2<Real>* GetPoints () const;
const Real* GetTensions () const;
const Real* GetContinuities () const;
const Real* GetBiases () const;
virtual Vector2<Real> GetPosition (Real t) const;
virtual Vector2<Real> GetFirstDerivative (Real t) const;
virtual Vector2<Real> GetSecondDerivative (Real t) const;
virtual Vector2<Real> GetThirdDerivative (Real t) const;
protected:
using MultipleCurve2<Real>::mNumSegments;
using MultipleCurve2<Real>::mTimes;
using MultipleCurve2<Real>::GetKeyInfo;
using MultipleCurve2<Real>::GetSpeedWithData;
void ComputePoly (int i0, int i1, int i2, int i3);
virtual Real GetSpeedKey (int key, Real t) const;
virtual Real GetLengthKey (int key, Real t0, Real t1) const;
Vector2<Real>* mPoints;
Real* mTension;
Real* mContinuity;
Real* mBias;
Vector2<Real>* mA;
Vector2<Real>* mB;
Vector2<Real>* mC;
Vector2<Real>* mD;
class WM5_MATHEMATICS_ITEM SplineKey
{
public:
SplineKey (const TCBSpline2* spline, int key);
const TCBSpline2* Spline;
int Key;
};
};
typedef TCBSpline2<float> TCBSpline2f;
typedef TCBSpline2<double> TCBSpline2d;
}
#endif
|