/usr/include/libwildmagic/Wm5IntrBox2Circle2.h is in libwildmagic-dev 5.13-1.
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 | // 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 WM5INTRBOX2CIRCLE2_H
#define WM5INTRBOX2CIRCLE2_H
#include "Wm5MathematicsLIB.h"
#include "Wm5Intersector.h"
#include "Wm5Box2.h"
#include "Wm5Circle2.h"
namespace Wm5
{
template <typename Real>
class WM5_MATHEMATICS_ITEM IntrBox2Circle2
: public Intersector<Real,Vector2<Real> >
{
public:
IntrBox2Circle2 (const Box2<Real>& box, const Circle2<Real>& circle);
// Object access.
const Box2<Real>& GetBox () const;
const Circle2<Real>& GetCircle () const;
// Static test-intersection query.
virtual bool Test ();
// Dynamic find-intersection query.
virtual bool Find (Real tmax, const Vector2<Real>& velocity0,
const Vector2<Real>& velocity1);
// Intersection set for dynamic find-intersection query.
const Vector2<Real>& GetContactPoint () const;
private:
using Intersector<Real,Vector2<Real> >::IT_EMPTY;
using Intersector<Real,Vector2<Real> >::IT_POINT;
using Intersector<Real,Vector2<Real> >::IT_OTHER;
using Intersector<Real,Vector2<Real> >::mIntersectionType;
using Intersector<Real,Vector2<Real> >::mContactTime;
// Support for dynamic Find. Both functions return -1 if the objects are
// initially intersecting, 0 if no intersection, or +1 if they intersect
// at some positive time.
int TestVertexRegion (Real cx, Real cy, Real vx, Real vy, Real ex,
Real ey, Real& ix, Real& iy);
int TestEdgeRegion (Real cx, Real cy, Real vx, Real vy, Real ex, Real ey,
Real& ix, Real& iy);
// The objects to intersect.
const Box2<Real>* mBox;
const Circle2<Real>* mCircle;
// Point of intersection.
Vector2<Real> mContactPoint;
};
typedef IntrBox2Circle2<float> IntrBox2Circle2f;
typedef IntrBox2Circle2<double> IntrBox2Circle2d;
}
#endif
|