ACF $AcfVersion:0$
Namespaces | Functions
Geometry.h File Reference
#include <i3d/CVector3d.h>
#include <i3d/CPlane3d.h>
#include <i3d/CLine3d.h>

Go to the source code of this file.

Namespaces

namespace  i3d
 Contains the 3D objects.
 
namespace  i3d::Geometry
 Geometric utility functions for 3D space.
 

Functions

double i3d::Geometry::GetAngleBetweenVectors (const CVector3d &v1, const CVector3d &v2)
 Calculate angle between two vectors in radians.
 
double i3d::Geometry::GetSignedAngleBetweenVectors (const CVector3d &v1, const CVector3d &v2, const CVector3d &axis)
 Calculate signed angle between two vectors around an axis.
 
double i3d::Geometry::GetDistance (const CVector3d &p1, const CVector3d &p2)
 Calculate distance between two points.
 
double i3d::Geometry::GetDistanceSq (const CVector3d &p1, const CVector3d &p2)
 Calculate squared distance between two points (faster).
 
double i3d::Geometry::GetDistance (const CVector3d &point, const CPlane3d &plane)
 Calculate distance from point to plane.
 
double i3d::Geometry::GetDistance (const CVector3d &point, const CLine3d &line)
 Calculate distance from point to line.
 
bool i3d::Geometry::AreIntersecting (const CLine3d &line1, const CLine3d &line2, double tolerance=I_BIG_EPSILON)
 Check if two lines intersect in 3D.
 
bool i3d::Geometry::GetIntersection (const CLine3d &line, const CPlane3d &plane, CVector3d &result, double tolerance=I_BIG_EPSILON)
 Find intersection point between line and plane.
 
double i3d::Geometry::GetClosestPoints (const CLine3d &line1, const CLine3d &line2, CVector3d &point1, CVector3d &point2)
 Find closest points between two lines.
 
bool i3d::Geometry::IsOnPositiveSide (const CVector3d &point, const CPlane3d &plane)
 Check if point is on the same side of plane as the plane's normal.
 
CVector3d i3d::Geometry::ProjectVectorOntoVector (const CVector3d &vector, const CVector3d &onto)
 Project vector onto another vector.
 
bool i3d::Geometry::GetBarycentricCoordinates (const CVector3d &point, const CVector3d &p1, const CVector3d &p2, const CVector3d &p3, double &u, double &v, double &w)
 Calculate barycentric coordinates of point relative to triangle.
 
bool i3d::Geometry::IsPointInTriangle (const CVector3d &point, const CVector3d &p1, const CVector3d &p2, const CVector3d &p3)
 Check if point is inside triangle.
 
CVector3d i3d::Geometry::GetTriangleNormal (const CVector3d &p1, const CVector3d &p2, const CVector3d &p3)
 Calculate normal vector of triangle.
 
double i3d::Geometry::GetTriangleArea (const CVector3d &p1, const CVector3d &p2, const CVector3d &p3)
 Calculate area of triangle.