CGeometry.h File Reference

Implements general geometry utility functions. More...

#include "math/CPolySolver.h"

Go to the source code of this file.

Namespaces

 chai3d
 

Functions

double chai3d::cTriangleArea (const cVector3d &a_vertex0, const cVector3d &a_vertex1, const cVector3d &a_vertex2)
 This function computes the area of a triangle. More...
 
cVector3d chai3d::cProjectPointOnPlane (const cVector3d &a_point, const cVector3d &a_planePoint, const cVector3d &a_planeNormal)
 This function computes the projection of a point onto a plane. More...
 
cVector3d chai3d::cProjectPointOnPlane (const cVector3d &a_point, const cVector3d &a_planePoint0, const cVector3d &a_planePoint1, const cVector3d &a_planePoint2)
 This function computes the projection of a point onto a plane. More...
 
void chai3d::cProjectPointOnPlane (const cVector3d &a_point, const cVector3d &a_planePoint0, const cVector3d &a_planePoint1, const cVector3d &a_planePoint2, double &a_r01, double &a_r02)
 This function computes the projection of a point onto a plane. More...
 
cVector3d chai3d::cProjectPointOnLine (const cVector3d &a_point, const cVector3d &a_pointOnLine, const cVector3d &a_directionOfLine)
 This function computes the projection of a point onto a line. More...
 
cVector3d chai3d::cProjectPointOnSegment (const cVector3d &a_point, const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB)
 This function computes the projection of a point onto a segment. More...
 
cVector3d chai3d::cProjectPointOnDiskXY (const cVector3d &a_point, const double &a_height, const double &a_radius)
 This function computes the projection of a point onto a disk. More...
 
cVector3d chai3d::cProjectPointOnTriangle (const cVector3d &a_point, const cVector3d &a_vertex0, const cVector3d &a_vertex1, const cVector3d &a_vertex2)
 This function computes the projection of a point onto a triangle. More...
 
cVector3d chai3d::cProject (const cVector3d &a_vector0, const cVector3d &a_vector1)
 This function computes the projection of a vector V0 onto a vector V1. More...
 
double chai3d::cDistanceToLine (const cVector3d &a_point, const cVector3d &a_linePoint1, const cVector3d &a_linePoint2)
 This function computes the distance between a point and a line. More...
 
cVector3d chai3d::cComputeSurfaceNormal (const cVector3d &a_surfacePoint0, const cVector3d &a_surfacePoint1, const cVector3d &a_surfacePoint2)
 This function computes the surface normal of a plane. More...
 
bool chai3d::cBoxContains (const cVector3d &a_point, const cVector3d &a_boxMin, const cVector3d &a_boxMax)
 This function checks if a point is contained in a box. More...
 
int chai3d::cIntersectionSegmentPlane (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const cVector3d &a_planePos, const cVector3d &a_planeNormal, cVector3d &a_collisionPoint, cVector3d &a_collisionNormal)
 This function computes the intersection between a segment and a plane. More...
 
int chai3d::cIntersectionSegmentDisk (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const cVector3d &a_diskPos, const cVector3d &a_diskNormal, const double &a_diskRadius, cVector3d &a_collisionPoint, cVector3d &a_collisionNormal)
 This function computes the intersection between a segment and a disk. More...
 
int chai3d::cIntersectionSegmentSphere (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const cVector3d &a_spherePos, const double &a_sphereRadius, cVector3d &a_collisionPoint0, cVector3d &a_collisionNormal0, cVector3d &a_collisionPoint1, cVector3d &a_collisionNormal1)
 This function computes the intersection between a segment and a sphere. More...
 
int chai3d::cIntersectionSegmentEllipsoid (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const cVector3d &a_pos, const double &a_radiusX, const double &a_radiusY, const double &a_radiusZ, cVector3d &a_collisionPoint0, cVector3d &a_collisionNormal0, cVector3d &a_collisionPoint1, cVector3d &a_collisionNormal1)
 This function computes the intersection between a segment and a sphere. More...
 
int chai3d::cIntersectionSegmentToplessCylinder (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const cVector3d &a_cylinderPointA, const cVector3d &a_cylinderPointB, const double &a_cylinderRadius, cVector3d &a_collisionPoint0, cVector3d &a_collisionNormal0, double &a_collisionPointRelPosAB0, cVector3d &a_collisionPoint1, cVector3d &a_collisionNormal1, double &a_collisionPointRelPosAB1)
 This function computes the intersection between a segment and a topless cylinder. More...
 
int chai3d::cIntersectionSegmentCylinder (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const double &a_baseRadius, const double &a_topRadius, const double &a_height, cVector3d &a_collisionPoint, cVector3d &a_collisionNormal)
 This function computes the nearest intersection point between a segment and a cylinder. More...
 
int chai3d::cIntersectionSegmentBox (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const cVector3d &a_boxMin, const cVector3d &a_boxMax, cVector3d &a_collisionPoint, cVector3d &a_collisionNormal)
 This function computes the nearest intersection point between a segment and a box. More...
 
int chai3d::cIntersectionSegmentTorus (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const double &a_innerRadius, const double &a_outerRadius, cVector3d &a_collisionPoint, cVector3d &a_collisionNormal)
 This function computes the nearest intersection point between a segment and a torus. More...
 
bool chai3d::cIntersectionSegmentTriangle (const cVector3d &a_segmentPointA, const cVector3d &a_segmentPointB, const cVector3d &a_triangleVertex0, const cVector3d &a_triangleVertex1, const cVector3d &a_triangleVertex2, const bool a_reportFrontSideCollision, const bool a_reportBackSideCollision, cVector3d &a_collisionPoint, cVector3d &a_collisionNormal, double &a_collisionPosVertex01, double &a_collisionPosVertex02)
 This function computes the intersection between a segment and a triangle. More...