Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

csDIntersect3 Class Reference

Some functions to perform various intersection calculations with 3D line segments. More...

#include <math3d_d.h>

List of all members.

Static Public Methods

void Plane (const csDVector3 &u, const csDVector3 &v, const csDVector3 &normal, const csDVector3 &a, csDVector3 &isect)
 Intersect a 3D segment with a plane. More...

bool Plane (const csDVector3 &u, const csDVector3 &v, double A, double B, double C, double D, csDVector3 &isect, double &dist)
 Intersect a 3D segment with a plane. More...

bool Plane (const csDVector3 &u, const csDVector3 &v, const csDPlane &p, csDVector3 &isect, double &dist)
 Intersect a 3D segment with a plane. More...

bool Planes (const csDPlane &p1, const csDPlane &p2, const csDPlane &p3, csDVector3 &isect)
 Intersect 3 planes, to get the point that is part of all three planes. More...

double Z0Plane (const csDVector3 &u, const csDVector3 &v, csDVector3 &isect)
 Intersect a 3D segment with the z = 0 plane. More...

double ZPlane (double zval, const csDVector3 &u, const csDVector3 &v, csDVector3 &isect)
 Intersect a 3D segment with the plane z = zval. More...

double XFrustum (double A, const csDVector3 &u, const csDVector3 &v, csDVector3 &isect)
 Intersect a 3D segment with the frustum plane Ax + z = 0. More...

double YFrustum (double B, const csDVector3 &u, const csDVector3 &v, csDVector3 &isect)
 Intersect a 3D segment with the frustum plane By + z = 0. More...


Detailed Description

Some functions to perform various intersection calculations with 3D line segments.

This is a static class and contains only static member functions.


Member Function Documentation

bool csDIntersect3::Plane ( const csDVector3 & u,
const csDVector3 & v,
const csDPlane & p,
csDVector3 & isect,
double & dist ) [static]
 

Intersect a 3D segment with a plane.

Returns true if there is an intersection, with the intersection point returned in isect. The distance from u to the intersection point is returned in dist. The distance that is returned is a normalized distance with respect to the given input vector. i.e. a distance of 0.5 means that the intersection point is halfway u and v.

bool csDIntersect3::Plane ( const csDVector3 & u,
const csDVector3 & v,
double A,
double B,
double C,
double D,
csDVector3 & isect,
double & dist ) [static]
 

Intersect a 3D segment with a plane.

Returns true if there is an intersection, with the intersection point returned in isect. The distance from u to the intersection point is returned in dist. The distance that is returned is a normalized distance with respect to the given input vector. i.e. a distance of 0.5 means that the intersection point is halfway u and v.

void csDIntersect3::Plane ( const csDVector3 & u,
const csDVector3 & v,
const csDVector3 & normal,
const csDVector3 & a,
csDVector3 & isect ) [static]
 

Intersect a 3D segment with a plane.

Returns true if there is an intersection, with the intersection point returned in isect.

bool csDIntersect3::Planes ( const csDPlane & p1,
const csDPlane & p2,
const csDPlane & p3,
csDVector3 & isect ) [static]
 

Intersect 3 planes, to get the point that is part of all three planes.

Returns true, if there is a single point that fits. If some planes are parallel, then it will return false.

double csDIntersect3::XFrustum ( double A,
const csDVector3 & u,
const csDVector3 & v,
csDVector3 & isect ) [static]
 

Intersect a 3D segment with the frustum plane Ax + z = 0.

Assumes an intersection, and returns the intersection point in isect.

double csDIntersect3::YFrustum ( double B,
const csDVector3 & u,
const csDVector3 & v,
csDVector3 & isect ) [static]
 

Intersect a 3D segment with the frustum plane By + z = 0.

Assumes an intersection, and returns the intersection point in isect.

double csDIntersect3::Z0Plane ( const csDVector3 & u,
const csDVector3 & v,
csDVector3 & isect ) [static]
 

Intersect a 3D segment with the z = 0 plane.

Assumes that there is an intersection (fails if the segment is parallel to the plane), and returns the distance from u to the intersection point. The intersection point is returned in isect.

double csDIntersect3::ZPlane ( double zval,
const csDVector3 & u,
const csDVector3 & v,
csDVector3 & isect ) [static]
 

Intersect a 3D segment with the plane z = zval.

Assumes that there is an intersection (fails if the segment is parallel to the plane), and returns the distance from u to the intersection point. The intersection point is returned in isect.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000