UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DetourCommon.h File Reference

Go to the source code of this file.

Macros

#define DT_STATS   STATS
 

Functions

General helper functions
template<class T >
void dtSwap (T &a, T &b)
 
template<class T >
dtMin (T a, T b)
 
dtReal dtMin (dtReal a, dtReal b)
 
template<class T >
dtMax (T a, T b)
 
dtReal dtMax (dtReal a, dtReal b)
 
template<class T >
dtAbs (T a)
 
template<class T >
dtSqr (T a)
 
template<class T >
dtClamp (T v, T mn, T mx)
 
dtReal dtClamp (dtReal v, dtReal mn, dtReal mx)
 
float dtFloor (float x)
 
double dtFloor (double x)
 
float dtCeil (float x)
 
double dtCeil (double x)
 
float dtSin (float x)
 
double dtSin (double x)
 
float dtCos (float x)
 
double dtCos (double x)
 
float dtAtan2 (float x, float y)
 
double dtAtan2 (double x, double y)
 
float dtSqrt (float x)
 
double dtSqrt (double x)
 
float dtfMod (float x, float y)
 
double dtfMod (double x, double y)
 
float dtLerp (float a, float b, float t)
 
Vector helper functions.
void dtVcross (dtReal *dest, const dtReal *v1, const dtReal *v2)
 
dtReal dtVdot (const dtReal *v1, const dtReal *v2)
 
void dtVmad (dtReal *dest, const dtReal *v1, const dtReal *v2, const dtReal s)
 
void dtVlerp (dtReal *dest, const dtReal *v1, const dtReal *v2, const dtReal t)
 
void dtVadd (dtReal *dest, const dtReal *v1, const dtReal *v2)
 
void dtVsub (dtReal *dest, const dtReal *v1, const dtReal *v2)
 
void dtVscale (dtReal *dest, const dtReal *v, const dtReal t)
 
void dtVmin (dtReal *mn, const dtReal *v)
 
void dtVmax (dtReal *mx, const dtReal *v)
 
void dtVset (dtReal *dest, const dtReal x, const dtReal y, const dtReal z)
 
void dtVcopy (dtReal *dest, const dtReal *a)
 
dtReal dtVlen (const dtReal *v)
 
dtReal dtVlenSqr (const dtReal *v)
 
dtReal dtVdist (const dtReal *v1, const dtReal *v2)
 
dtReal dtVdistSqr (const dtReal *v1, const dtReal *v2)
 
dtReal dtVdist2D (const dtReal *v1, const dtReal *v2)
 
dtReal dtVdist2DSqr (const dtReal *v1, const dtReal *v2)
 
void dtVnormalize (dtReal *v)
 
bool dtVisEqual (const unsigned short *a, const unsigned short *b)
 
bool dtVequal (const dtReal *p0, const dtReal *p1)
 
dtReal dtVdot2D (const dtReal *u, const dtReal *v)
 
dtReal dtVperp2D (const dtReal *u, const dtReal *v)
 
Computational geometry helper functions.
dtReal dtTriArea2D (const dtReal *a, const dtReal *b, const dtReal *c)
 
bool dtOverlapQuantBounds (const unsigned short amin[3], const unsigned short amax[3], const unsigned short bmin[3], const unsigned short bmax[3])
 
bool dtOverlapBounds (const dtReal *amin, const dtReal *amax, const dtReal *bmin, const dtReal *bmax)
 
void dtClosestPtPointTriangle (dtReal *closest, const dtReal *p, const dtReal *a, const dtReal *b, const dtReal *c)
 
bool dtClosestHeightPointTriangle (const dtReal *p, const dtReal *a, const dtReal *b, const dtReal *c, dtReal &h)
 
bool dtIntersectSegmentPoly2D (const dtReal *p0, const dtReal *p1, const dtReal *verts, int nverts, dtReal &tmin, dtReal &tmax, int &segMin, int &segMax)
 
bool dtIntersectSegSeg2D (const dtReal *ap, const dtReal *aq, const dtReal *bp, const dtReal *bq, dtReal &s, dtReal &t)
 
bool dtPointInPolygon (const dtReal *pt, const dtReal *verts, const int nverts)
 
bool dtDistancePtPolyEdgesSqr (const dtReal *pt, const dtReal *verts, const int nverts, dtReal *ed, dtReal *et)
 
dtReal dtDistancePtSegSqr2D (const dtReal *pt, const dtReal *p, const dtReal *q, dtReal &t)
 
dtReal dtDistancePtSegSqr (const dtReal *pt, const dtReal *p, const dtReal *q)
 
void dtCalcPolyCenter (dtReal *tc, const unsigned short *idx, int nidx, const dtReal *verts)
 
bool dtOverlapPolyPoly2D (const dtReal *polya, const int npolya, const dtReal *polyb, const int npolyb)
 

Miscellanious functions.

enum  dtRotation { DT_ROTATE_0 , DT_ROTATE_90 , DT_ROTATE_180 , DT_ROTATE_270 }
 
unsigned int dtNextPow2 (unsigned int v)
 
unsigned int dtIlog2 (unsigned int v)
 
int dtAlign (int x)
 
int dtOppositeTile (int side)
 
void dtSwapByte (unsigned char *a, unsigned char *b)
 
void dtSwapEndian (unsigned short *v)
 
void dtSwapEndian (short *v)
 
void dtSwapEndian (unsigned int *v)
 
void dtSwapEndian (int *v)
 
void dtSwapEndian (unsigned long long int *v)
 
void dtSwapEndian (long long int *v)
 
void dtSwapEndian (float *v)
 
void dtSwapEndian (double *v)
 
void dtRandomPointInConvexPoly (const dtReal *pts, const int npts, dtReal *areas, const dtReal s, const dtReal t, dtReal *out)
 
dtRotation dtSelectRotation (dtReal rotationDeg)
 
void dtVRot90 (dtReal *dest, const dtReal *v, const dtRotation rot)
 
void dtVRot90 (unsigned short *dest, const unsigned short *v, const dtRotation rot)
 
void dtRotate90 (dtReal *dest, const dtReal *v, const dtReal *center, const dtRotation rot)
 
void dtRotate90 (unsigned short *dest, const unsigned short *v, const unsigned short *center, const dtRotation rot)
 

Macro Definition Documentation

◆ DT_STATS

#define DT_STATS   STATS

Enumeration Type Documentation

◆ dtRotation

Enumerator
DT_ROTATE_0 
DT_ROTATE_90 
DT_ROTATE_180 
DT_ROTATE_270 

Function Documentation

◆ dtAbs()

template<class T >
T dtAbs ( a)
inline

Returns the absolute value.

Parameters
[in]aThe value.
Returns
The absolute value of the specified value.

◆ dtAlign()

int dtAlign ( int  x)
inline

◆ dtAtan2() [1/2]

double dtAtan2 ( double  x,
double  y 
)
inline

◆ dtAtan2() [2/2]

float dtAtan2 ( float  x,
float  y 
)
inline

◆ dtCalcPolyCenter()

void dtCalcPolyCenter ( dtReal tc,
const unsigned short idx,
int  nidx,
const dtReal verts 
)

Derives the centroid of a convex polygon.

Parameters
[out]tcThe centroid of the polgyon. [(x, y, z)]
[in]idxThe polygon indices. [(vertIndex) * nidx]
[in]nidxThe number of indices in the polygon. [Limit: >= 3]
[in]vertsThe polygon vertices. [(x, y, z) * vertCount]

◆ dtCeil() [1/2]

double dtCeil ( double  x)
inline

◆ dtCeil() [2/2]

float dtCeil ( float  x)
inline

◆ dtClamp() [1/2]

dtReal dtClamp ( dtReal  v,
dtReal  mn,
dtReal  mx 
)
inline

◆ dtClamp() [2/2]

template<class T >
T dtClamp ( v,
mn,
mx 
)
inline

Clamps the value to the specified range.

Parameters
[in]vThe value to clamp.
[in]mnThe minimum permitted return value.
[in]mxThe maximum permitted return value.
Returns
The value, clamped to the specified range.

◆ dtClosestHeightPointTriangle()

bool dtClosestHeightPointTriangle ( const dtReal p,
const dtReal a,
const dtReal b,
const dtReal c,
dtReal h 
)

Derives the y-axis height of the closest point on the triangle from the specified reference point.

Parameters
[in]pThe reference point from which to test. [(x, y, z)]
[in]aVertex A of triangle ABC. [(x, y, z)]
[in]bVertex B of triangle ABC. [(x, y, z)]
[in]cVertex C of triangle ABC. [(x, y, z)]
[out]hThe resulting height.

◆ dtClosestPtPointTriangle()

void dtClosestPtPointTriangle ( dtReal closest,
const dtReal p,
const dtReal a,
const dtReal b,
const dtReal c 
)

Derives the closest point on a triangle from the specified reference point.

Parameters
[out]closestThe closest point on the triangle.
[in]pThe reference point from which to test. [(x, y, z)]
[in]aVertex A of triangle ABC. [(x, y, z)]
[in]bVertex B of triangle ABC. [(x, y, z)]
[in]cVertex C of triangle ABC. [(x, y, z)]

◆ dtCos() [1/2]

double dtCos ( double  x)
inline

◆ dtCos() [2/2]

float dtCos ( float  x)
inline

◆ dtDistancePtPolyEdgesSqr()

bool dtDistancePtPolyEdgesSqr ( const dtReal pt,
const dtReal verts,
const int  nverts,
dtReal ed,
dtReal et 
)

◆ dtDistancePtSegSqr()

dtReal dtDistancePtSegSqr ( const dtReal pt,
const dtReal p,
const dtReal q 
)

◆ dtDistancePtSegSqr2D()

dtReal dtDistancePtSegSqr2D ( const dtReal pt,
const dtReal p,
const dtReal q,
dtReal t 
)

◆ dtFloor() [1/2]

double dtFloor ( double  x)
inline

◆ dtFloor() [2/2]

float dtFloor ( float  x)
inline

◆ dtfMod() [1/2]

double dtfMod ( double  x,
double  y 
)
inline

◆ dtfMod() [2/2]

float dtfMod ( float  x,
float  y 
)
inline

◆ dtIlog2()

unsigned int dtIlog2 ( unsigned int  v)
inline

◆ dtIntersectSegmentPoly2D()

bool dtIntersectSegmentPoly2D ( const dtReal p0,
const dtReal p1,
const dtReal verts,
int  nverts,
dtReal tmin,
dtReal tmax,
int &  segMin,
int &  segMax 
)

◆ dtIntersectSegSeg2D()

bool dtIntersectSegSeg2D ( const dtReal ap,
const dtReal aq,
const dtReal bp,
const dtReal bq,
dtReal s,
dtReal t 
)

◆ dtLerp()

float dtLerp ( float  a,
float  b,
float  t 
)
inline

◆ dtMax() [1/2]

dtReal dtMax ( dtReal  a,
dtReal  b 
)
inline

◆ dtMax() [2/2]

template<class T >
T dtMax ( a,
b 
)
inline

Returns the maximum of two values.

Parameters
[in]aValue A
[in]bValue B
Returns
The maximum of the two values.

◆ dtMin() [1/2]

dtReal dtMin ( dtReal  a,
dtReal  b 
)
inline

◆ dtMin() [2/2]

template<class T >
T dtMin ( a,
b 
)
inline

Returns the minimum of two values.

Parameters
[in]aValue A
[in]bValue B
Returns
The minimum of the two values.

◆ dtNextPow2()

unsigned int dtNextPow2 ( unsigned int  v)
inline

◆ dtOppositeTile()

int dtOppositeTile ( int  side)
inline

◆ dtOverlapBounds()

bool dtOverlapBounds ( const dtReal amin,
const dtReal amax,
const dtReal bmin,
const dtReal bmax 
)
inline

Determines if two axis-aligned bounding boxes overlap.

Parameters
[in]aminMinimum bounds of box A. [(x, y, z)]
[in]amaxMaximum bounds of box A. [(x, y, z)]
[in]bminMinimum bounds of box B. [(x, y, z)]
[in]bmaxMaximum bounds of box B. [(x, y, z)]
Returns
True if the two AABB's overlap.
See also
dtOverlapQuantBounds

◆ dtOverlapPolyPoly2D()

bool dtOverlapPolyPoly2D ( const dtReal polya,
const int  npolya,
const dtReal polyb,
const int  npolyb 
)

Determines if the two convex polygons overlap on the xz-plane.

Parameters
[in]polyaPolygon A vertices. [(x, y, z) * npolya]
[in]npolyaThe number of vertices in polygon A.
[in]polybPolygon B vertices. [(x, y, z) * npolyb]
[in]npolybThe number of vertices in polygon B.
Returns
True if the two polygons overlap.

All vertices are projected onto the xz-plane, so the y-values are ignored.

◆ dtOverlapQuantBounds()

bool dtOverlapQuantBounds ( const unsigned short  amin[3],
const unsigned short  amax[3],
const unsigned short  bmin[3],
const unsigned short  bmax[3] 
)
inline

Determines if two axis-aligned bounding boxes overlap.

Parameters
[in]aminMinimum bounds of box A. [(x, y, z)]
[in]amaxMaximum bounds of box A. [(x, y, z)]
[in]bminMinimum bounds of box B. [(x, y, z)]
[in]bmaxMaximum bounds of box B. [(x, y, z)]
Returns
True if the two AABB's overlap.
See also
dtOverlapBounds

◆ dtPointInPolygon()

bool dtPointInPolygon ( const dtReal pt,
const dtReal verts,
const int  nverts 
)

Determines if the specified point is inside the convex polygon on the xz-plane.

Parameters
[in]ptThe point to check. [(x, y, z)]
[in]vertsThe polygon vertices. [(x, y, z) * nverts]
[in]nvertsThe number of vertices. [Limit: >= 3]
Returns
True if the point is inside the polygon.

All points are projected onto the xz-plane, so the y-values are ignored.

◆ dtRandomPointInConvexPoly()

void dtRandomPointInConvexPoly ( const dtReal pts,
const int  npts,
dtReal areas,
const dtReal  s,
const dtReal  t,
dtReal out 
)

◆ dtRotate90() [1/2]

void dtRotate90 ( dtReal dest,
const dtReal v,
const dtReal center,
const dtRotation  rot 
)

Rotate vector around center position by increments of 90 degrees.

Parameters
[out]destThe result position. [(x, y, z)]
[in]vThe vector to rotate. [(x, y, z)]
[in]centerThe center point. [(x, y, z)]
[in]rotThe rotation enum value.

◆ dtRotate90() [2/2]

void dtRotate90 ( unsigned short dest,
const unsigned short v,
const unsigned short center,
const dtRotation  rot 
)

Rotate vector around center position by increments of 90 degrees.

Parameters
[out]destThe result position. [(x, y, z)]
[in]vThe vector to rotate. [(x, y, z)]
[in]centerThe center point. [(x, y, z)]
[in]rotThe rotation enum value.

◆ dtSelectRotation()

dtRotation dtSelectRotation ( dtReal  rotationDeg)

Select a 90 degree increment value from an input angle in degree.

Parameters
[in]rotationDegThe desired rotation in degree.
Returns
The rotation enum value.

◆ dtSin() [1/2]

double dtSin ( double  x)
inline

◆ dtSin() [2/2]

float dtSin ( float  x)
inline

◆ dtSqr()

template<class T >
T dtSqr ( a)
inline

Returns the square of the value.

Parameters
[in]aThe value.
Returns
The square of the value.

◆ dtSqrt() [1/2]

double dtSqrt ( double  x)
inline

◆ dtSqrt() [2/2]

float dtSqrt ( float  x)
inline

◆ dtSwap()

template<class T >
void dtSwap ( T &  a,
T &  b 
)
inline

Swaps the values of the two parameters.

Parameters
[in,out]aValue A
[in,out]bValue B

◆ dtSwapByte()

void dtSwapByte ( unsigned char a,
unsigned char b 
)
inline

◆ dtSwapEndian() [1/8]

void dtSwapEndian ( double v)
inline

◆ dtSwapEndian() [2/8]

void dtSwapEndian ( float v)
inline

◆ dtSwapEndian() [3/8]

void dtSwapEndian ( int *  v)
inline

◆ dtSwapEndian() [4/8]

void dtSwapEndian ( long long int *  v)
inline

◆ dtSwapEndian() [5/8]

void dtSwapEndian ( short v)
inline

◆ dtSwapEndian() [6/8]

void dtSwapEndian ( unsigned int *  v)
inline

◆ dtSwapEndian() [7/8]

void dtSwapEndian ( unsigned long long int *  v)
inline

◆ dtSwapEndian() [8/8]

void dtSwapEndian ( unsigned short v)
inline

◆ dtTriArea2D()

dtReal dtTriArea2D ( const dtReal a,
const dtReal b,
const dtReal c 
)
inline

Derives the signed xz-plane area of the triangle ABC, or the relationship of line AB to point C.

Parameters
[in]aVertex A. [(x, y, z)]
[in]bVertex B. [(x, y, z)]
[in]cVertex C. [(x, y, z)]
Returns
The signed xz-plane area of the triangle.

The vertices are projected onto the xz-plane, so the y-values are ignored.

This is a low cost function than can be used for various purposes. Its main purpose is for point/line relationship testing.

In all cases: A value of zero indicates that all vertices are collinear or represent the same point. (On the xz-plane.)

When used for point/line relationship tests, AB usually represents a line against which the C point is to be tested. In this case:

A positive value indicates that point C is to the left of line AB, looking from A toward B.
A negative value indicates that point C is to the right of lineAB, looking from A toward B.

When used for evaluating a triangle:

The absolute value of the return value is two times the area of the triangle when it is projected onto the xz-plane.

A positive return value indicates:

  • The vertices are wrapped in the normal Detour wrap direction.
  • The triangle's 3D face normal is in the general up direction.

A negative return value indicates:

  • The vertices are reverse wrapped. (Wrapped opposite the normal Detour wrap direction.)
  • The triangle's 3D face normal is in the general down direction.

◆ dtVadd()

void dtVadd ( dtReal dest,
const dtReal v1,
const dtReal v2 
)
inline

Performs a vector addition. (v1 + v2)

Parameters
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to add to v1. [(x, y, z)]

◆ dtVcopy()

void dtVcopy ( dtReal dest,
const dtReal a 
)
inline

Performs a vector copy.

Parameters
[out]destThe result. [(x, y, z)]
[in]aThe vector to copy. [(x, y, z)]

◆ dtVcross()

void dtVcross ( dtReal dest,
const dtReal v1,
const dtReal v2 
)
inline

Derives the cross product of two vectors. (v1 x v2)

Parameters
[out]destThe cross product. [(x, y, z)]
[in]v1A Vector [(x, y, z)]
[in]v2A vector [(x, y, z)]

◆ dtVdist()

dtReal dtVdist ( const dtReal v1,
const dtReal v2 
)
inline

Returns the distance between two points.

Parameters
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
Returns
The distance between the two points.

◆ dtVdist2D()

dtReal dtVdist2D ( const dtReal v1,
const dtReal v2 
)
inline

Derives the distance between the specified points on the xz-plane.

Parameters
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
Returns
The distance between the point on the xz-plane.

The vectors are projected onto the xz-plane, so the y-values are ignored.

◆ dtVdist2DSqr()

dtReal dtVdist2DSqr ( const dtReal v1,
const dtReal v2 
)
inline

Derives the square of the distance between the specified points on the xz-plane.

Parameters
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
Returns
The square of the distance between the point on the xz-plane.

◆ dtVdistSqr()

dtReal dtVdistSqr ( const dtReal v1,
const dtReal v2 
)
inline

Returns the square of the distance between two points.

Parameters
[in]v1A point. [(x, y, z)]
[in]v2A point. [(x, y, z)]
Returns
The square of the distance between the two points.

◆ dtVdot()

dtReal dtVdot ( const dtReal v1,
const dtReal v2 
)
inline

Derives the dot product of two vectors. (v1 . v2)

Parameters
[in]v1A Vector [(x, y, z)]
[in]v2A vector [(x, y, z)]
Returns
The dot product.

◆ dtVdot2D()

dtReal dtVdot2D ( const dtReal u,
const dtReal v 
)
inline

Derives the dot product of two vectors on the xz-plane. (u . v)

Parameters
[in]uA vector [(x, y, z)]
[in]vA vector [(x, y, z)]
Returns
The dot product on the xz-plane.

The vectors are projected onto the xz-plane, so the y-values are ignored.

◆ dtVequal()

bool dtVequal ( const dtReal p0,
const dtReal p1 
)
inline

Performs a 'sloppy' colocation check of the specified points.

Parameters
[in]p0A point. [(x, y, z)]
[in]p1A point. [(x, y, z)]
Returns
True if the points are considered to be at the same location.

Basically, this function will return true if the specified points are close enough to eachother to be considered colocated.

◆ dtVisEqual()

bool dtVisEqual ( const unsigned short a,
const unsigned short b 
)
inline

Returns true if the vectors are the same.

Parameters
[in]aA vector. [(x, y, z)]
[in]bA vector. [(x, y, z)]

◆ dtVlen()

dtReal dtVlen ( const dtReal v)
inline

Derives the scalar length of the vector.

Parameters
[in]vThe vector. [(x, y, z)]
Returns
The scalar length of the vector.

◆ dtVlenSqr()

dtReal dtVlenSqr ( const dtReal v)
inline

Derives the square of the scalar length of the vector. (len * len)

Parameters
[in]vThe vector. [(x, y, z)]
Returns
The square of the scalar length of the vector.

◆ dtVlerp()

void dtVlerp ( dtReal dest,
const dtReal v1,
const dtReal v2,
const dtReal  t 
)
inline

Performs a linear interpolation between two vectors. (v1 toward v2)

Parameters
[out]destThe result vector. [(x, y, x)]
[in]v1The starting vector.
[in]v2The destination vector.
[in]tThe interpolation factor. [Limits: 0 <= value <= 1.0]

◆ dtVmad()

void dtVmad ( dtReal dest,
const dtReal v1,
const dtReal v2,
const dtReal  s 
)
inline

Performs a scaled vector addition. (v1 + (v2 * s))

Parameters
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to scale and add to v1. [(x, y, z)]
[in]sThe amount to scale v2 by before adding to v1.

◆ dtVmax()

void dtVmax ( dtReal mx,
const dtReal v 
)
inline

Selects the maximum value of each element from the specified vectors.

Parameters
[in,out]mxA vector. (Will be updated with the result.) [(x, y, z)]
[in]vA vector. [(x, y, z)]

◆ dtVmin()

void dtVmin ( dtReal mn,
const dtReal v 
)
inline

Selects the minimum value of each element from the specified vectors.

Parameters
[in,out]mnA vector. (Will be updated with the result.) [(x, y, z)]
[in]vA vector. [(x, y, z)]

◆ dtVnormalize()

void dtVnormalize ( dtReal v)
inline

Normalizes the vector.

Parameters
[in,out]vThe vector to normalize. [(x, y, z)]

◆ dtVperp2D()

dtReal dtVperp2D ( const dtReal u,
const dtReal v 
)
inline

Derives the xz-plane 2D perp product of the two vectors. (uz*vx - ux*vz)

Parameters
[in]uThe LHV vector [(x, y, z)]
[in]vThe RHV vector [(x, y, z)]
Returns
The dot product on the xz-plane.

The vectors are projected onto the xz-plane, so the y-values are ignored.

◆ dtVRot90() [1/2]

void dtVRot90 ( dtReal dest,
const dtReal v,
const dtRotation  rot 
)

Rotate by 90 degree increments.

Parameters
[out]destThe result position. [(x, y, z)]
[in]vThe vector to rotate. [(x, y, z)]
[in]rotThe rotation enum value.

◆ dtVRot90() [2/2]

void dtVRot90 ( unsigned short dest,
const unsigned short v,
const dtRotation  rot 
)

Rotate by 90 degree increments.

Parameters
[out]destThe result position. [(x, y, z)]
[in]vThe vector to rotate. [(x, y, z)]
[in]rotThe rotation enum value.

◆ dtVscale()

void dtVscale ( dtReal dest,
const dtReal v,
const dtReal  t 
)
inline

Scales the vector by the specified value. (v * t)

Parameters
[out]destThe result vector. [(x, y, z)]
[in]vThe vector to scale. [(x, y, z)]
[in]tThe scaling factor.

◆ dtVset()

void dtVset ( dtReal dest,
const dtReal  x,
const dtReal  y,
const dtReal  z 
)
inline

Sets the vector elements to the specified values.

Parameters
[out]destThe result vector. [(x, y, z)]
[in]xThe x-value of the vector.
[in]yThe y-value of the vector.
[in]zThe z-value of the vector.

◆ dtVsub()

void dtVsub ( dtReal dest,
const dtReal v1,
const dtReal v2 
)
inline

Performs a vector subtraction. (v1 - v2)

Parameters
[out]destThe result vector. [(x, y, z)]
[in]v1The base vector. [(x, y, z)]
[in]v2The vector to subtract from v1. [(x, y, z)]