1 #ifndef MATH3D_POLYHEDRON3D_H 2 #define MATH3D_POLYHEDRON3D_H 23 void initialize(
int numPlanes,
int numVertices);
24 void resize(
int numPlanes,
int numVertices);
26 void makeFromTriangles(
const Point3D* p,
int numVertices,
int* triangles,
int numFaces);
29 void getAABB(
AABB3D&)
const;
32 void planeExtents(
const Plane3D& p,Real& dmin,Real& dmax)
const;
33 bool planeSplits(
const Plane3D& p)
const;
34 bool planePos(
const Plane3D& p)
const;
35 bool planeNeg(
const Plane3D& p)
const;
36 bool contains(
const Point3D& v)
const;
37 bool withinDistance(
const Point3D& v, Real dist)
const;
38 Real planeDistance(
const Point3D& v)
const;
39 bool intersects(
const Line3D& l, Real& tmin, Real& tmax)
const;
40 bool intersects(
const Line3D& l)
const;
41 bool intersects(
const Segment3D& l)
const;
44 bool Write(
File& f)
const;
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
A convex polyhedron given in a dual representation, planes and vertices of convex hull...
Definition: Polyhedron3D.h:19
Contains all the definitions in the Math3D package.
Definition: AnyGeometry.h:13
A 3D line class.
Definition: Line3D.h:18
A cross-platform class for reading/writing binary data.
Definition: File.h:47
Definition: Segment3D.h:12