Blender  V3.3
Namespaces | Enumerations | Functions
GeomUtils.h File Reference

Various tools for geometry. More...

#include <vector>
#include "Geom.h"
#include "../system/FreestyleConfig.h"

Go to the source code of this file.

Namespaces

 Freestyle
 inherits from class Rep
 
 Freestyle::GeomUtils
 

Enumerations

enum  Freestyle::GeomUtils::intersection_test { Freestyle::GeomUtils::DONT_INTERSECT , Freestyle::GeomUtils::DO_INTERSECT , Freestyle::GeomUtils::COLINEAR , Freestyle::GeomUtils::COINCIDENT }
 

Functions

template<class T >
real Freestyle::GeomUtils::distPointSegment (const T &P, const T &A, const T &B)
 
intersection_test Freestyle::GeomUtils::intersect2dSeg2dSeg (const Vec2r &p1, const Vec2r &p2, const Vec2r &p3, const Vec2r &p4, Vec2r &res)
 
intersection_test Freestyle::GeomUtils::intersect2dLine2dLine (const Vec2r &p1, const Vec2r &p2, const Vec2r &p3, const Vec2r &p4, Vec2r &res)
 
intersection_test Freestyle::GeomUtils::intersect2dSeg2dSegParametric (const Vec2r &p1, const Vec2r &p2, const Vec2r &p3, const Vec2r &p4, real &t, real &u, real epsilon)
 
bool Freestyle::GeomUtils::intersect2dSeg2dArea (const Vec2r &min, const Vec2r &max, const Vec2r &A, const Vec2r &B)
 
bool Freestyle::GeomUtils::include2dSeg2dArea (const Vec2r &min, const Vec2r &max, const Vec2r &A, const Vec2r &B)
 
bool Freestyle::GeomUtils::overlapTriangleBox (Vec3r &boxcenter, Vec3r &boxhalfsize, Vec3r triverts[3])
 
bool Freestyle::GeomUtils::intersectRayTriangle (const Vec3r &orig, const Vec3r &dir, const Vec3r &v0, const Vec3r &v1, const Vec3r &v2, real &t, real &u, real &v, const real epsilon)
 
intersection_test Freestyle::GeomUtils::intersectRayPlane (const Vec3r &orig, const Vec3r &dir, const Vec3r &norm, const real d, real &t, const real epsilon)
 
bool Freestyle::GeomUtils::intersectRayBBox (const Vec3r &orig, const Vec3r &dir, const Vec3r &boxMin, const Vec3r &boxMax, real t0, real t1, real &tmin, real &tmax, real)
 
bool Freestyle::GeomUtils::includePointTriangle (const Vec3r &P, const Vec3r &A, const Vec3r &B, const Vec3r &C)
 
void Freestyle::GeomUtils::transformVertex (const Vec3r &vert, const Matrix44r &matrix, Vec3r &res)
 
void Freestyle::GeomUtils::transformVertices (const vector< Vec3r > &vertices, const Matrix44r &trans, vector< Vec3r > &res)
 
Vec3r Freestyle::GeomUtils::rotateVector (const Matrix44r &mat, const Vec3r &v)
 
void Freestyle::GeomUtils::fromWorldToImage (const Vec3r &p, Vec3r &q, const real model_view_matrix[4][4], const real projection_matrix[4][4], const int viewport[4])
 
void Freestyle::GeomUtils::fromWorldToImage (const Vec3r &p, Vec3r &q, const real transform[4][4], const int viewport[4])
 
void Freestyle::GeomUtils::fromWorldToCamera (const Vec3r &p, Vec3r &q, const real model_view_matrix[4][4])
 
void Freestyle::GeomUtils::fromCameraToRetina (const Vec3r &p, Vec3r &q, const real projection_matrix[4][4])
 
void Freestyle::GeomUtils::fromRetinaToImage (const Vec3r &p, Vec3r &q, const int viewport[4])
 
void Freestyle::GeomUtils::fromImageToRetina (const Vec3r &p, Vec3r &q, const int viewport[4])
 
void Freestyle::GeomUtils::fromRetinaToCamera (const Vec3r &p, Vec3r &q, real focal, const real projection_matrix[4][4])
 
void Freestyle::GeomUtils::fromCameraToWorld (const Vec3r &p, Vec3r &q, const real model_view_matrix[4][4])
 

Detailed Description

Various tools for geometry.

Definition in file GeomUtils.h.