Utility Class for Intersection Computation. More...
#include <cmtkIntersection.h>
Static Public Member Functions | |
static int | IntersectX (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Vector3D &dX, const Types::Coordinate Size[3], const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1, const int lowerClosed=0, const int upperClosed=0) |
Compute line-to-volume intersection. | |
static int | IntersectY (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Vector3D &dX, const Vector3D &dY, const Types::Coordinate Size[3], const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1) |
Compute plane-to-volume intersection. | |
static int | IntersectZ (Types::Coordinate &fromFactor, Types::Coordinate &toFactor, const Vector3D &offset, const Vector3D &dX, const Vector3D &dY, const Vector3D &dZ, const Types::Coordinate Size[3], const Types::Coordinate initFromFactor=0, const Types::Coordinate initToFactor=1) |
Compute volume-to-volume intersection. |
Utility Class for Intersection Computation.
This class provides functions to compute intersections of volumes with lines, planes, and other volumes. Line-to-volume intersection can be computed by a single function call.
Plane to volume intersection is done by first computing a range of parallel lines that intersect the volume. Then, for each line the line to volume intersection has to be computed to determine the exact intersection.
Analog, for volume to volume intersection, first a range of parallel planes is determined. Those then have to be examined in separate as described before.
This class' main application is ray clipping for DRR computation and volume clipping for voxel based volume similarity computation. All member functions are static, so they can be used without contructing an object.
Definition at line 64 of file cmtkIntersection.h.