1 #ifndef MATH3D_TRIANGLE3D_H 2 #define MATH3D_TRIANGLE3D_H 32 const Vector3& vertex(
int v)
const;
36 void getPlane(
Plane3D& p)
const;
45 bool contains(
const Point3D& x)
const;
47 bool rayIntersects(
const Ray3D& ray, Real *t, Real *u, Real *v)
const;
48 bool rayIntersectsBackfaceCull(
const Ray3D& ray, Real *t, Real *u, Real *v)
const;
49 bool intersects(
const Segment3D& s, Real *t=NULL, Real *u=NULL, Real *v=NULL)
const;
50 bool intersects(
const Plane3D&)
const;
59 void getAABB(
AABB3D&)
const;
60 bool intersects(
const AABB3D&)
const;
65 bool Write(
File& f)
const;
71 static bool containsBarycentricCoords(
const Vector3& bc);
73 static bool containsPlaneCoords(
const Vector2& pc);
75 Real *t, Real *u, Real *v);
77 Real *t, Real *u, Real *v);
82 std::ostream& operator << (std::ostream& out,
const Triangle3D& tri);
83 std::istream& operator >> (std::istream& in,
Triangle3D& tri);
A 3D plane classRepresents plane with a normal and offset such that x on the plane satisfy dot(normal...
Definition: Plane3D.h:19
A 3D vector class.
Definition: math3d/primitives.h:136
A 3D axis-aligned bounding box.
Definition: AABB3D.h:13
A 4x4 matrix class.
Definition: math3d/primitives.h:626
Vector2 closestPointCoords(const Point3D &in) const
returns the plane-coords of the point
Definition: Triangle3D.cpp:182
Contains all the definitions in the Math3D package.
Definition: AnyGeometry.h:12
A 3D triangle class.
Definition: Triangle3D.h:26
A 2D vector class.
Definition: math3d/primitives.h:41
Real distance(const Triangle3D &other, Vector3 &P, Vector3 &Q) const
Definition: Triangle3D.cpp:613
void edgeIntersections(const Plane3D &, Real u[3]) const
Definition: Triangle3D.cpp:475
A cross-platform class for reading/writing binary data.
Definition: File.h:47
Definition: Segment3D.h:12