Workspace 6.21.5
|
Provides 3D analytic geometry operations for projections and intersections. More...
#include "Workspace/Application/LanguageUtils/errorchecks.h"
#include "Workspace/Application/LanguageUtils/mathdefs.h"
#include "vector3d.h"
Namespaces | |
namespace | CSIRO |
Top level namespace for all Workspace code. | |
namespace | CSIRO::Mesh |
Mesh model data structures. | |
Functions | |
double | discriminant (double a1, double b1, double a2, double b2) |
double | Discriminant (double a1, double b1, double a2, double b2) |
Vector3d | getNodeProjectedToLine (const Vector3d &p, const Vector3d &v0, const Vector3d &v1) |
Vector3d | GetNodeProjectedToLine (const Vector3d &p, const Vector3d &v0, const Vector3d &v1) |
Vector3d | getNodeProjectedToLineSegment (const Vector3d &p, const Vector3d &v0, const Vector3d &v1) |
Vector3d | GetNodeProjectedToLineSegment (const Vector3d &p, const Vector3d &v0, const Vector3d &v1) |
bool | getPlanesIntersect (const Vector3d &r0, const Vector3d &n0, const Vector3d &r1, const Vector3d &n1, Vector3d &p, Vector3d &v) |
bool | GetPlanesIntersect (const Vector3d &r0, const Vector3d &n0, const Vector3d &r1, const Vector3d &n1, Vector3d &p, Vector3d &v) |
bool | linePlaneIntersect (const Vector3d &n0, const Vector3d &n1, const Vector3d &pPoint, const Vector3d &pNormal, Vector3d &intersect) |
bool | LinePlaneIntersect (const Vector3d &n0, const Vector3d &n1, const Vector3d &pPoint, const Vector3d &pNormal, Vector3d &intersect) |
bool | lineSegmentsIntersect (const Vector3d &a0, const Vector3d &a1, const Vector3d &b0, const Vector3d &b1) |
bool | LineSegmentsIntersect (const Vector3d &a0, const Vector3d &a1, const Vector3d &b0, const Vector3d &b1) |
bool | lineSegmentsIntersect (const Vector3d &a0, const Vector3d &a1, const Vector3d &b0, const Vector3d &b1, double &tA, double &tB) |
bool | LineSegmentsIntersect (const Vector3d &a0, const Vector3d &a1, const Vector3d &b0, const Vector3d &b1, double &tA, double &tB) |
void | projectLineToPlane (Vector3d &n0, Vector3d &n1, const Vector3d &pPoint, const Vector3d &pNormal) |
void | ProjectLineToPlane (Vector3d &n0, Vector3d &n1, const Vector3d &pPoint, const Vector3d &pNormal) |
int | projectPointToLineSegment (Vector3d &p, const Vector3d &v0, const Vector3d &v1) |
int | ProjectPointToLineSegment (Vector3d &p, const Vector3d &v0, const Vector3d &v1) |
Vector3d | projectPointToPlane (const Vector3d &p0, const Vector3d &pPoint, const Vector3d &pNormal) |
Vector3d | ProjectPointToPlane (const Vector3d &p0, const Vector3d &pPoint, const Vector3d &pNormal) |
bool | solve2eqns (double a1, double b1, double rhs1, double a2, double b2, double rhs2, double &x, double &y) |
bool | Solve2eqns (double a1, double b1, double rhs1, double a2, double b2, double rhs2, double &x, double &y) |
All functions defined in this file use no loops and rely only on Vector3d or built-in data types. More projection/intersection code can be found in the files customprojectintersect.h and customprojectintersect.cpp (those two files define the looped/non-inlinable functions).