54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
* @brief Initializes an already allocated 4x4 matrix with the specified values.
*
* @param values An array of 16 floats in column-major format
* @return An initialized OFMatrix4x4
*/
- (instancetype)initWithValues: (const float [_Nonnull 16])values;
/**
* @brief Transposes the matrix.
*/
- (void)transpose;
/**
* @brief Mulitplies the receiver with the specified matrix on the left side
* and the receiver on the right side.
*
* @param matrix The matrix to multiply the receiver with
*/
- (void)multiplyWithMatrix: (OFMatrix4x4 *)matrix;
/**
* @brief Translates the matrix with the specified 3D vector.
*
* @param vector The vector to translate the matrix with
*/
- (void)translateWithVector3D: (OFVector3D)vector;
/**
* @brief Scales the matrix with the specified 3D vector.
*
* @param vector The vector to scale the matrix with
*/
- (void)scaleWithVector3D: (OFVector3D)vector;
/**
* @brief Transforms the specified point in 3D space according to the matrix.
*
* @param point The point to transform
* @return The transformed point
*/
- (OFVector3D)transformedPoint3D: (OFVector3D)point;
@end
OF_ASSUME_NONNULL_END
|
<
<
<
<
<
|
|
|
|
|
|
|
|
|
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
* @brief Initializes an already allocated 4x4 matrix with the specified values.
*
* @param values An array of 16 floats in column-major format
* @return An initialized OFMatrix4x4
*/
- (instancetype)initWithValues: (const float [_Nonnull 16])values;
/**
* @brief Mulitplies the receiver with the specified matrix on the left side
* and the receiver on the right side.
*
* @param matrix The matrix to multiply the receiver with
*/
- (void)multiplyWithMatrix: (OFMatrix4x4 *)matrix;
/**
* @brief Translates the matrix with the specified vector.
*
* @param vector The vector to translate the matrix with
*/
- (void)translateWithVector: (OFVector3D)vector;
/**
* @brief Scales the matrix with the specified vector.
*
* @param vector The vector to scale the matrix with
*/
- (void)scaleWithVector: (OFVector3D)vector;
/**
* @brief Transforms the specified vector according to the matrix.
*
* @param vector The vector to transform
* @return The transformed vector
*/
- (OFVector4D)transformedVector: (OFVector4D)vector;
@end
OF_ASSUME_NONNULL_END
|