PTK_Vector_d PTK_Point_d
Definition of a double precision Point.
Definition: point.h:208
float y
Definition: point.h:142
float x
Definition: point.h:219
double PTK_Vector_d_dot2(const PTK_Vector_d *p1, const PTK_Vector_d *p2)
Compute the dot product of the two given vectors in 2D, given by r = ax*bx + ay*by.
void PTK_Vector_subtract(PTK_Vector *dst, const PTK_Vector *src1, const PTK_Vector *src2)
Perform component-wise subtraction, subtracting src2 from src1 and writing the result to dst...
float z
Definition: point.h:145
PTK_Vector_Meta meta
Definition: point.h:148
void PTK_Vector_d_scale(PTK_Vector_d *dst, PTK_Vector_d *src, double scale)
Perform component-wise scaling of the given PTK Vector and store the result at dst.
double PTK_Vector_d_dot4(const PTK_Vector_d *p1, const PTK_Vector_d *p2)
Compute the dot product of the two given vectors in 3D, given by r = ax*bx + ay*by + az*bz + aw*bw...
double x
Definition: point.h:190
PTK_2D_Vector PTK_2D_Point
Definition: point.h:226
void PTK_Point_d_transform(PTK_Point_d *dst, PTK_Point_d *src, const PTK_RigidTransform_d *M)
Perform a rigid transformation on the given point, d = (Mr*s) + Mt.
float PTK_Vector_computeNorm(const PTK_Vector *v)
Computes the L2 norm of the given vector, given by v = sqrt(vx*vx + vy*vy + vz*vz).
Definition of a double precision Vector.
Definition: point.h:187
void PTK_Point_tag(PTK_Point *pt, uint32_t tag)
This sets tag bits for the given point.
uint32_t PTK_Point_isTagged(PTK_Point *pt, uint32_t tag)
This checks if all of the bits set in tag are also set in the tag for the given PTK_Point. Additional bits may be set, but none may be missing from the given mask.
uint32_t PTK_Point_d_isTagged(PTK_Point_d *pt, uint32_t tag)
This checks if all of the bits set in tag are also set in the tag for the given PTK_Point. Additional bits may be set, but none may be missing from the given mask.
double y
Definition: point.h:193
void PTK_Point_d_set(PTK_Point_d *dst, double x, double y, double z)
Updates all three components stored within the given PTK_Point to match those given as arguments...
float PTK_Vector_normalize(PTK_Vector *__restrict dst, const PTK_Vector *__restrict in)
Normalizes the given input vector and writes to an output vector.
void PTK_Point_untag(PTK_Point *pt, uint32_t tag)
This removes tag bits for the given point.
Definition of a point.
Definition: point.h:136
double PTK_Vector_d_dot3(const PTK_Vector_d *p1, const PTK_Vector_d *p2)
Compute the dot product of the two given vectors in 3D, given by r = ax*bx + ay*by + az*bz...
void PTK_Point_transform(PTK_Point *dst, const PTK_Point *src, const PTK_RigidTransform *M)
Perform a rigid transformation on the given point, d = (Mr*s) + Mt.
PTK_Vector_d_Meta meta
Definition: point.h:199
void PTK_Vector_computeCrossProduct(PTK_Vector *__restrict dst, const PTK_Vector *__restrict a, const PTK_Vector *__restrict b)
Computes the cross product of the two given vectors in 3D, given by rx = ay*bz - az*by ry = az*bx - a...
float x
Definition: point.h:139
void PTK_Vector_scale(PTK_Vector *dst, const PTK_Vector *src, float scale)
Perform component-wise scaling of the given PTK Vector and store the result at dst.
void PTK_Vector_d_subtract(PTK_Vector_d *dst, PTK_Vector_d *src1, PTK_Vector_d *src2)
Perform component-wise subtraction, subtracting src2 from src1 and writing the result to dst...
float y
Definition: point.h:222
void PTK_Point_d_tag(PTK_Point_d *pt, uint32_t tag)
This sets tag bits for the given point.
float PTK_Vector_dot3(const PTK_Vector *p1, const PTK_Vector *p2)
Compute the dot product of the two given vectors in 3D, given by r = ax*bx + ay*by + az*bz...
float PTK_Vector_dot2(const PTK_Vector *p1, const PTK_Vector *p2)
Compute the dot product of the two given vectors in 2D, given by r = ax*bx + ay*by.
PTK_Vector PTK_Point
Definition of a point.
Definition: point.h:157
float PTK_Vector_dot4(const PTK_Vector *p1, const PTK_Vector *p2)
Compute the dot product of the two given vectors in 3D, given by r = ax*bx + ay*by + az*bz + aw*bw...
void PTK_Point_set(PTK_Point *dst, float x, float y, float z)
Updates all three components stored within the given PTK_Point to match those given as arguments...
double z
Definition: point.h:196
void PTK_Vector_add(PTK_Vector *dst, const PTK_Vector *src1, const PTK_Vector *src2)
Perform component-wise addition of the vectors stored in src1 and src2, writing the result to dst...
void PTK_Vector_d_add(PTK_Vector_d *dst, PTK_Vector_d *src1, PTK_Vector_d *src2)
Perform component-wise addition of the vectors stored in src1 and src2, writing the result to dst...
void PTK_Point_d_untag(PTK_Point_d *pt, uint32_t tag)
This removes tag bits for the given point.
Definition of a 2D point.
Definition: point.h:216