Defined in: uf_vec.h

Overview
Performs a two dimensional vector addition and returns the vector
sum in vec_sum.

Return
void

Environment
Internal and External

gateway

(
const double vec1 [ 2 ] ,
const double vec2 [ 2 ] ,
double vec_sum [ 2 ]
)
 const double vec1 [ 2 ] Input Vector #1 const double vec2 [ 2 ] Input Vector #2 double vec_sum [ 2 ] Output The vector sum of vectors one and two vec_sum = vec1 + vec2

UF_VEC2_affine_comb (view source)

Defined in: uf_vec.h

Overview
Performs a vector affine combination which consists of adding an
unscaled vector to a scaled vector. The first vector you input is vec,
which is unscaled. The second vector you input is the vec_to_scale,
which is scaled by the input argument scale. The resultant vector is
output to vec_comb.

Return
Void.

Environment
Internal and External

gateway

void UF_VEC2_affine_comb
(
const double vec [ 2 ] ,
double scale,
const double vec_to_scale [ 2 ] ,
double vec_comb [ 2 ]
)
 const double vec [ 2 ] Input Unscaled vector double scale Input Scale to apply to vec_to_scale const double vec_to_scale [ 2 ] Input The second two dimensional vector which is scaled. double vec_comb [ 2 ] Output Vector sum of unscaled vector and scaled vector where vec_comb = vec + (scale vec_to_scale)

Defined in: uf_vec.h

Overview
Returns a 2D vector that is perpendicular to the input vector

Return
void.

Environment
Internal and External

gateway

(
const double vec1 [ 2 ] ,
double vec_perp [ 2 ]
)
 const double vec1 [ 2 ] Input 2D vector double vec_perp [ 2 ] Output 2D vector

UF_VEC2_components (view source)

Defined in: uf_vec.h

Overview
Calculates the scale factors of a linear combination of two vectors that
form a third vector. The vector combination is equal to the sum of the
two scaled vectors ( i.e., vec_comb = scale1 vec1 + scale2 + vec2).

Return
0 = Scale factors can be calculated
1 = Input vectors are parallel

Environment
Internal and External

gateway

int UF_VEC2_components
(
const double vec1 [ 2 ] ,
const double vec2 [ 2 ] ,
const double vec_comb [ 2 ] ,
double tolerance,
double * scale1,
double * scale2
)
 const double vec1 [ 2 ] Input First vector of linear combination const double vec2 [ 2 ] Input Second vector of linear combination const double vec_comb [ 2 ] Input Linear combination of vec1 and vec2 double tolerance Input Tolerance value to use for checking whether vec1 and vec2 are parallel double * scale1 Output Scale factor of vec1 in linear combination double * scale2 Output Scale factor of vec2 in linear combination

UF_VEC2_convex_comb (view source)

Defined in: uf_vec.h

Overview
Calculates the position of a point between the two end points of a line
segment. The point on the line segment is defined by:
pnt_on_seg = (parameter pnt1) + ((1.0 - parameter) pnt2).

Environment
Internal and External

Return
Void.

gateway

void UF_VEC2_convex_comb
(
double parameter,
const double pnt1 [ 2 ] ,
const double pnt2 [ 2 ] ,
double pnt_on_seg [ 2 ]
)
 double parameter Input Parameter of point to calculate const double pnt1 [ 2 ] Input First end point of line segment const double pnt2 [ 2 ] Input Second end point of line segment double pnt_on_seg [ 2 ] Output Point on line segment

UF_VEC2_copy (view source)

Defined in: uf_vec.h

Overview
Copies the vector coordinates from a source vector to a destination
vector (vec_dst = vec_src).

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_copy
(
const double vec_src [ 2 ] ,
double vec_dst [ 2 ]
)
 const double vec_src [ 2 ] Input Source vector double vec_dst [ 2 ] Output Destination vector

UF_VEC2_cross (view source)

Defined in: uf_vec.h

Overview
Calculates the cross product of two vectors.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_cross
(
const double vec1 [ 2 ] ,
const double vec2 [ 2 ] ,
double * cross_product
)
 const double vec1 [ 2 ] Input Vector 1 const double vec2 [ 2 ] Input Vector 2 double * cross_product Output The cross product of vec1 and vec2 cross_product = vec1 x vec2

UF_VEC2_distance (view source)

Defined in: uf_vec.h

Overview
Calculates the distance between two points.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_distance
(
const double pnt1 [ 2 ] ,
const double pnt2 [ 2 ] ,
double * distance
)
 const double pnt1 [ 2 ] Input Point 1 const double pnt2 [ 2 ] Input Point 2 double * distance Output The distance between pnt1 and pnt2 (distance = ||pnt1 - pnt2||)

UF_VEC2_dot (view source)

Defined in: uf_vec.h

Overview
Calculates the dot product of vec1 and vec2.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_dot
(
const double vec1 [ 2 ] ,
const double vec2 [ 2 ] ,
double * dot_product
)
 const double vec1 [ 2 ] Input Vector 1 const double vec2 [ 2 ] Input Vector 2 double * dot_product Output The dot product of vec1 and vec2 dot_product = vec1 (dot) vec2

UF_VEC2_is_equal (view source)

Defined in: uf_vec.h

Overview
Determines if two vectors are equal within the specified tolerance.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_is_equal
(
const double vec1 [ 2 ] ,
const double vec2 [ 2 ] ,
double tolerance,
int * is_equal
)
 const double vec1 [ 2 ] Input Vector 1 const double vec2 [ 2 ] Input Vector 2 double tolerance Input Tolerance value to use for checking int * is_equal Output 0 = Vectors are not equal 1 = Vectors are equal

UF_VEC2_is_parallel (view source)

Defined in: uf_vec.h

Overview
Determine if vectors are parallel within an input tolerance. If the sine of
the angle between vec1 and vec2 is 0 then TRUE is returned. Otherwise FALSE
is returned.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_is_parallel
(
const double vec1 [ 2 ] ,
const double vec2 [ 2 ] ,
double tolerance,
int * is_parallel
)
 const double vec1 [ 2 ] Input 2D vector const double vec2 [ 2 ] Input 2D vector double tolerance Input tolerance int * is_parallel Output = 0 Vectors are not parallel = 1 Vectors are parallel

UF_VEC2_is_perpendicular (view source)

Defined in: uf_vec.h

Overview
Determine if vectors are perpendicular within an input tolerance. If the cosine
of the angle between vec1 and vec2 is 0 then TRUE is returned. Otherwise FALSE
is returned.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_is_perpendicular
(
const double vec1 [ 2 ] ,
const double vec2 [ 2 ] ,
double tolerance,
int * is_perp
)
 const double vec1 [ 2 ] Input 2D vector const double vec2 [ 2 ] Input 2D vector double tolerance Input tolerance int * is_perp Output = 0 Vectors are not perpendicular = 1 Vectors are perpendicular

UF_VEC2_is_zero (view source)

Defined in: uf_vec.h

Overview
Determines if a vector is zero within the specified tolerance.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_is_zero
(
const double vec [ 2 ] ,
double tolerance,
int * is_zero
)
 const double vec [ 2 ] Input Vector to test double tolerance Input Tolerance value to use for checking int * is_zero Output 0 = Vectors is not zero 1 = Vectors is zero

UF_VEC2_linear_comb (view source)

Defined in: uf_vec.h

Overview
Calculates the vector linear combination of two vectors with the
specified scale values.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_linear_comb
(
double scale1,
const double vec1 [ 2 ] ,
double scale2,
const double vec2 [ 2 ] ,
double vec_comb [ 2 ]
)
 double scale1 Input Scale value for vector 1 const double vec1 [ 2 ] Input Vector 1 double scale2 Input scale for vector 2 const double vec2 [ 2 ] Input Vector 2 double vec_comb [ 2 ] Output Vector linear combination vec_comb = (scale vec1) + (scale2 vec2)

UF_VEC2_mag (view source)

Defined in: uf_vec.h

Overview
Calculates the magnitude of a vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_mag
(
const double vec [ 2 ] ,
double * magnitude
)
 const double vec [ 2 ] Input Vector whose magnitude is required double * magnitude Output Magnitude of vector magnitude = ||vec||

UF_VEC2_midpt (view source)

Defined in: uf_vec.h

Overview
Calculates the coordinates of the mid-point on a line segment.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_midpt
(
const double pnt1 [ 2 ] ,
const double pnt2 [ 2 ] ,
double mid_pnt [ 2 ]
)
 const double pnt1 [ 2 ] Input End Point #1 of line segment const double pnt2 [ 2 ] Input End Point #2 of line segment double mid_pnt [ 2 ] Output Mid-point of line segment mid_pnt = (0.5 pnt1) + (0.5 pnt2)

UF_VEC2_negate (view source)

Defined in: uf_vec.h

Overview
Calculates the negative of a vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_negate
(
const double vec [ 2 ] ,
double negated_vec [ 2 ]
)
 const double vec [ 2 ] Input Vector to negate double negated_vec [ 2 ] Output Negated vector negated_vec = (-1.0) x vec

UF_VEC2_rotate (view source)

Defined in: uf_vec.h

Overview
Rotates a 2D vector about a line perpendicular to the plane of the
vector through the vector origin.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_rotate
(
const double vec [ 2 ] ,
double angle,
double rotated_vec [ 2 ]
)
 const double vec [ 2 ] Input Vector to rotate double angle Input Angle to rotate through (in radians) double rotated_vec [ 2 ] Output Rotated vector

UF_VEC2_scale (view source)

Defined in: uf_vec.h

Overview
Scales the coordinates of a vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_scale
(
double scale,
const double vec [ 2 ] ,
double scaled_vec [ 2 ]
)
 double scale Input Scale factor const double vec [ 2 ] Input Vector to scale double scaled_vec [ 2 ] Output scaled vector scaled_vec = (scale x vec)

UF_VEC2_sub (view source)

Defined in: uf_vec.h

Overview
Subtracts one 2D vector from another.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_sub
(
const double vec1 [ 2 ] ,
const double vec2 [ 2 ] ,
double vec_diff [ 2 ]
)
 const double vec1 [ 2 ] Input Vector to subtract from const double vec2 [ 2 ] Input Vector to subtract double vec_diff [ 2 ] Output Vector difference vec_diff = vec1 - vec2

UF_VEC2_unitize (view source)

Defined in: uf_vec.h

Overview
Unitizes a 2D vector.

Return
0 = Success (unit vector can be calculated)
1 = input vector is zero

Environment
Internal and External

gateway

int UF_VEC2_unitize
(
const double vec [ 2 ] ,
double tolerance,
double * magnitude,
double unit_vec [ 2 ]
)
 const double vec [ 2 ] Input Vector to unitize double tolerance Input Tolerance value to use for checking double * magnitude Output Vector magnitude = |vec| double unit_vec [ 2 ] Output Unitized vector = vec/|vec|

UF_VEC2_vec3 (view source)

Defined in: uf_vec.h

Overview
Converts a 2D vector to a 3D vector. Sets the Z-coordinate to zero.

Return
void.

Environment
Internal and External

gateway

void UF_VEC2_vec3
(
const double vec_2D [ 2 ] ,
double vec_3D [ 3 ]
)
 const double vec_2D [ 2 ] Input 2D vector to convert to 3D double vec_3D [ 3 ] Output 3D vector

Defined in: uf_vec.h

Overview
Performs a three dimensional vector addition and returns the vector
sum in vec_sum.

Return
void.

Environment
Internal and External

gateway

(
const double vec1 [ 3 ] ,
const double vec2 [ 3 ] ,
double vec_sum [ 3 ]
)
 const double vec1 [ 3 ] Input The first three dimensional vector const double vec2 [ 3 ] Input The second three dimensional vector double vec_sum [ 3 ] Output The vector sum of vectors one and two vec_sum = vec1 + vec2

UF_VEC3_affine_comb (view source)

Defined in: uf_vec.h

Overview
Performs a vector affine combination which consists of adding an
unscaled vector to a scaled vector. The first vector you input is vec,
which is unscaled. The second vector you input is the vec_to_scale
which is scaled by the input argument scale. The resultant vector is
output to vec_comb.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_affine_comb
(
const double vec [ 3 ] ,
double scale,
const double vec_to_scale [ 3 ] ,
double vec_comb [ 3 ]
)
 const double vec [ 3 ] Input Unscaled vector double scale Input Scale to apply to vec_to_scale const double vec_to_scale [ 3 ] Input The second three dimensional vector which is scaled. double vec_comb [ 3 ] Output Vector sum of unscaled vector and scaled vector where vec_comb = vec + (scale vec_to_scale)

UF_VEC3_angle_between (view source)

Defined in: uf_vec.h

Overview
Calculates the angle between two vectors using a third vector to
determine the direction. The third vector is one that is perpendicular
to both the vec_from and vec_to vectors. For example, if the two
vectors lie in the x-y plane, then the third vector would be parallel to
the z-axis.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_angle_between
(
const double vec_from [ 3 ] ,
const double vec_to [ 3 ] ,
const double vec_ccw [ 3 ] ,
double * angle
)
 const double vec_from [ 3 ] Input Vector to calculate angle from const double vec_to [ 3 ] Input Vector to calculate angle to const double vec_ccw [ 3 ] Input Vector to define counter-clockwise orientation double * angle Output Angle between vec_from and vec_to using vec_ccw to determine positive orientation. The angle is in radians and 0.0 <= (angle) < 2 PI.

Defined in: uf_vec.h

Overview
Returns a 3D vector that is perpendicular to the input vector

Return
void.

Environment
Internal and External

gateway

(
const double vec1 [ 3 ] ,
double vec_perp [ 3 ]
)
 const double vec1 [ 3 ] Input 3D vector double vec_perp [ 3 ] Output 3D vector perpendicular to the first vector.

UF_VEC3_convex_comb (view source)

Defined in: uf_vec.h

Overview
Calculates the position of a point between the two end points of a line
segment. The point on the line segment is defined by:
pnt_on_seg = (parameter pnt1) + ((1.0 - parameter) pnt2).

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_convex_comb
(
double parameter,
const double pnt1 [ 3 ] ,
const double pnt2 [ 3 ] ,
double pnt_on_seg [ 3 ]
)
 double parameter Input Parameter of point to calculate const double pnt1 [ 3 ] Input First end point of line segment const double pnt2 [ 3 ] Input Second end point of line segment double pnt_on_seg [ 3 ] Output Point on line segment

UF_VEC3_copy (view source)

Defined in: uf_vec.h

Overview
Copies the vector coordinates from a source vector to a destination
vector (vec_dst = vec_src).

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_copy
(
const double vec_src [ 3 ] ,
double vec_dst [ 3 ]
)
 const double vec_src [ 3 ] Input Source vector double vec_dst [ 3 ] Output Destination vector

UF_VEC3_cross (view source)

Defined in: uf_vec.h

Overview
Calculates the cross product of two vectors.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_cross
(
const double vec1 [ 3 ] ,
const double vec2 [ 3 ] ,
double cross_product [ 3 ]
)
 const double vec1 [ 3 ] Input Vector 1 const double vec2 [ 3 ] Input Vector 2 double cross_product [ 3 ] Output The cross product of vec1 and vec2 cross_product = vec1 vec2

UF_VEC3_distance (view source)

Defined in: uf_vec.h

Overview
Calculates the distance between two points.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_distance
(
const double pnt1 [ 3 ] ,
const double pnt2 [ 3 ] ,
double * distance
)
 const double pnt1 [ 3 ] Input Point 1 const double pnt2 [ 3 ] Input Point 2 double * distance Output The distance between pnt1 and pnt2 (distance = ||pnt1 - pnt2||)

UF_VEC3_distance_to_plane (view source)

Defined in: uf_vec.h

Overview
Calculates the normal distance from a point to a plane.

Return
0 = Success (distance can be calculated)
1 = The plane normal is zero

Environment
Internal and External

gateway

int UF_VEC3_distance_to_plane
(
const double pnt1 [ 3 ] ,
const double pnt_on_plane [ 3 ] ,
const double plane_normal [ 3 ] ,
double tolerance,
double * distance
)
 const double pnt1 [ 3 ] Input Point to calculate distance from const double pnt_on_plane [ 3 ] Input Point located on the plane const double plane_normal [ 3 ] Input Plane normal double tolerance Input Tolerance value to use for checking double * distance Output The normal distance from the point to the plane

UF_VEC3_dot (view source)

Defined in: uf_vec.h

Overview
Calculates the dot product of vec1 and vec2.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_dot
(
const double vec1 [ 3 ] ,
const double vec2 [ 3 ] ,
double * dot_product
)
 const double vec1 [ 3 ] Input Vector 1 const double vec2 [ 3 ] Input Vector 2 double * dot_product Output The dot product of vec1 and vec2 dot_product = vec1 (dot) vec2

UF_VEC3_is_equal (view source)

Defined in: uf_vec.h

Overview
Determines if two vectors are equal within the specified tolerance.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_is_equal
(
const double vec1 [ 3 ] ,
const double vec2 [ 3 ] ,
double tolerance,
int * is_equal
)
 const double vec1 [ 3 ] Input Vector 1 const double vec2 [ 3 ] Input Vector 2 double tolerance Input Tolerance value to use for checking int * is_equal Output 0 = Vectors are not equal 1 = Vectors are equal

UF_VEC3_is_parallel (view source)

Defined in: uf_vec.h

Overview
Determine if vectors are parallel within an input tolerance. If the sine of
the angle between the vec1 and vec2 is less than tolerance then
TRUE is returned. Otherwise a FALSE will be returned. To get an angle
tolerance of x degrees the expected tolerance would be sin(xDEGRA).

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_is_parallel
(
const double vec1 [ 3 ] ,
const double vec2 [ 3 ] ,
double tolerance,
int * is_parallel
)
 const double vec1 [ 3 ] Input 3D vector const double vec2 [ 3 ] Input 3D vector double tolerance Input tolerance int * is_parallel Output = 0 Vectors are not parallel = 1 Vectors are parallel

UF_VEC3_is_perpendicular (view source)

Defined in: uf_vec.h

Overview
Determine if vectors are perpendicular an input tolerance. If the cosine of the
angle between vec1 and vec2 is less than the tolerance, then a TRUE is returned.
Otherwise FALSE is returned. To check perpendicularity with x degrees from 90,
the expected tolerance would be cos( (90-x)DEGRA).

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_is_perpendicular
(
const double vec1 [ 3 ] ,
const double vec2 [ 3 ] ,
double tolerance,
int * is_perp
)
 const double vec1 [ 3 ] Input 3D vector const double vec2 [ 3 ] Input 3D vector double tolerance Input tolerance int * is_perp Output = 0 Vectors are not perpendicular = 1 Vectors are perpendicular

UF_VEC3_is_zero (view source)

Defined in: uf_vec.h

Overview
Determines if a vector is zero within the specified tolerance.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_is_zero
(
const double vec [ 3 ] ,
double tolerance,
int * is_zero
)
 const double vec [ 3 ] Input Vector to test double tolerance Input Tolerance value to use for checking int * is_zero Output 0 = Vectors is not zero 1 = Vectors is zero

UF_VEC3_linear_comb (view source)

Defined in: uf_vec.h

Overview
Calculates the vector linear combination of two vectors with the
specified scale values.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_linear_comb
(
double scale1,
const double vec1 [ 3 ] ,
double scale2,
const double vec2 [ 3 ] ,
double vec_comb [ 3 ]
)
 double scale1 Input Scale value for vector 1 const double vec1 [ 3 ] Input Vector 1 double scale2 Input scale for vector 2 const double vec2 [ 3 ] Input Vector 2 double vec_comb [ 3 ] Output Vector linear combination vec_comb = (scale vec1) + (scale2 vec2)

UF_VEC3_mag (view source)

Defined in: uf_vec.h

Overview
Calculates the magnitude of a vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_mag
(
const double vec [ 3 ] ,
double * magnitude
)
 const double vec [ 3 ] Input Vector whose magnitude is required double * magnitude Output Magnitude of vector magnitude = ||vec||

UF_VEC3_midpt (view source)

Defined in: uf_vec.h

Overview
Calculates the coordinates of the mid-point on a line segment.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_midpt
(
const double pnt1 [ 3 ] ,
const double pnt2 [ 3 ] ,
double mid_pnt [ 3 ]
)
 const double pnt1 [ 3 ] Input End Point #1 of line segment const double pnt2 [ 3 ] Input End Point #2 of line segment double mid_pnt [ 3 ] Output Mid-point of line segment mid_pnt = (0.5 pnt1) + (0.5 pnt2)

UF_VEC3_negate (view source)

Defined in: uf_vec.h

Overview
Calculates the negative of a vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_negate
(
const double vec [ 3 ] ,
double negated_vec [ 3 ]
)
 const double vec [ 3 ] Input Vector to negate double negated_vec [ 3 ] Output Negated vector negated_vec = (-1.0) vec

UF_VEC3_scale (view source)

Defined in: uf_vec.h

Overview
Scales the coordinates of a vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_scale
(
double scale,
const double vec [ 3 ] ,
double scaled_vec [ 3 ]
)
 double scale Input Scale factor const double vec [ 3 ] Input Vector to scale double scaled_vec [ 3 ] Output scaled vector scaled_vec = (scale x vec)

UF_VEC3_sub (view source)

Defined in: uf_vec.h

Overview
Subtracts one vector from another.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_sub
(
const double vec1 [ 3 ] ,
const double vec2 [ 3 ] ,
double vec_diff [ 3 ]
)
 const double vec1 [ 3 ] Input Vector to subtract from const double vec2 [ 3 ] Input Vector to subtract double vec_diff [ 3 ] Output Vector difference vec_diff = vec1 - vec2

UF_VEC3_triple (view source)

Defined in: uf_vec.h

Overview
Calculates the triple scalar product of three vectors.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_triple
(
const double vec1 [ 3 ] ,
const double vec2 [ 3 ] ,
const double vec3 [ 3 ] ,
double * triple_product
)
 const double vec1 [ 3 ] Input Vector #1 const double vec2 [ 3 ] Input Vector #2 const double vec3 [ 3 ] Input Vector #3 double * triple_product Output The triple scalar product triple_product = vec1 (dot) (vec2 x vec3)

UF_VEC3_unitize (view source)

Defined in: uf_vec.h

Overview
Unitizes a vector.

Return
0 = Success (unit vector can be calculated)
1 = input vector is zero

Environment
Internal and External

gateway

int UF_VEC3_unitize
(
const double vec [ 3 ] ,
double tolerance,
double * magnitude,
double unit_vec [ 3 ]
)
 const double vec [ 3 ] Input Vector to unitize double tolerance Input Tolerance value to use for checking double * magnitude Output Vector magnitude = ||vec|| double unit_vec [ 3 ] Output Unitized vector = vec/||vec||

UF_VEC3_vec2 (view source)

Defined in: uf_vec.h

Overview
Converts a 3D vector to a 2D vector. Strips the Z-coordinate of the
3D vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_vec2
(
const double vec_3D [ 3 ] ,
double vec_2D [ 2 ]
)
 const double vec_3D [ 3 ] Input 3D vector to convert to 2D double vec_2D [ 2 ] Output 2D vector

UF_VEC3_vec4 (view source)

Defined in: uf_vec.h

Overview
Converts a 3D vector to a 4D homogeneous vector with a weight of
1.0.

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_vec4
(
const double vec_3D [ 3 ] ,
double vec_4D [ 4 ]
)
 const double vec_3D [ 3 ] Input 3D vector to convert to 4D double vec_4D [ 4 ] Output 4D vector

UF_VEC3_vec4_homogen (view source)

Defined in: uf_vec.h

Overview
Converts a 3D vector to a 4D homogeneous vector with the given
weight. The 3D coordinates are multiplied by the specified weight. If
the 3D coordinates are (x,y,z) and the weight = h, then the 4D
coordinates would be (hx,hy,hz,h).

Return
void.

Environment
Internal and External

gateway

void UF_VEC3_vec4_homogen
(
const double vec_3D [ 3 ] ,
double weight,
double vec_4D [ 4 ]
)
 const double vec_3D [ 3 ] Input 3D vector to convert double weight Input Weight to be used double vec_4D [ 4 ] Output 4D homogeneous vector

UF_VEC4_copy (view source)

Defined in: uf_vec.h

Overview
Copies the vector coordinates from a source vector to a destination
vector (vec_dst = vec_src).

Return
void.

Environment
Internal and External

gateway

void UF_VEC4_copy
(
const double vec_src [ 4 ] ,
double vec_dst [ 4 ]
)
 const double vec_src [ 4 ] Input Source vector double vec_dst [ 4 ] Output Destination vector

UF_VEC4_is_equal (view source)

Defined in: uf_vec.h

Overview
Determines if two vectors are equal within the specified tolerance.

Return
void.

Environment
Internal and External

gateway

void UF_VEC4_is_equal
(
const double vec1 [ 4 ] ,
const double vec2 [ 4 ] ,
double tolerance,
int * is_equal
)
 const double vec1 [ 4 ] Input Vector #1 const double vec2 [ 4 ] Input Vector #2 double tolerance Input Tolerance value to use for checking int * is_equal Output 0 = Vectors are not equal 1 = Vectors are equal

UF_VEC4_is_zero (view source)

Defined in: uf_vec.h

Overview
Determines if a vector is zero within the specified tolerance.

Return
void.

Environment
Internal and External

gateway

void UF_VEC4_is_zero
(
const double vec [ 4 ] ,
double tolerance,
int * is_zero
)
 const double vec [ 4 ] Input Vector to test double tolerance Input Tolerance value to use for checking int * is_zero Output 0 = Vector is not zero 1 = Vector is zero

UF_VEC4_scale (view source)

Defined in: uf_vec.h

Overview
Scales the coordinates of a vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC4_scale
(
double scale,
const double vec [ 4 ] ,
double scaled_vec [ 4 ]
)
 double scale Input Scale factor const double vec [ 4 ] Input Vector to scale double scaled_vec [ 4 ] Output scaled vector scaled_vec = (scale x vec)

UF_VEC4_vec3 (view source)

Defined in: uf_vec.h

Overview
Converts a 4D vector to a 3D vector by stripping the weight of the 4D
vector.

Return
void.

Environment
Internal and External

gateway

void UF_VEC4_vec3
(
const double vec_4D [ 4 ] ,
double vec_3D [ 3 ]
)
 const double vec_4D [ 4 ] Input 4D vector to convert to 3D double vec_3D [ 3 ] Output 3D vector

UF_VEC4_vec3_homogen (view source)

Defined in: uf_vec.h

Overview
Converts a 4D homogeneous vector to a 3D vector by dividing the 4D
coordinates by the weight.

Return
void.

Environment
Internal and External

gateway

void UF_VEC4_vec3_homogen
(
const double vec_4D [ 4 ] ,
double vec_3D [ 3 ]
)
 const double vec_4D [ 4 ] Input 4D vector to convert double vec_3D [ 3 ] Output 3D vector