-
首页
-
C4D R23.110 C++ SDK
#include <vector2d.h>
详细描述
template<typename V>
struct maxon::Mat2< V >
General 2d Matrix template. The matrix has a dimension of 3×3 and consists of three rows and three columns. The first row is always "1, 0, 0" and not stored in the class, which means that there are 6 actual numbers used. These numbers are grouped into three vectors, one for the remaining numbers in each column. The three vectors are called off, v1 and v2, together these three vectors can be used to represent the coordinate system. A coordinate system consists of two axes, one for each coordinate (X and Y). The system also has a base position, from which the two axes originate. This base position is stored in off, and the two axis vectors are stored in v1 and v2 respectively
Member Typedef Documentation
◆
ValueType
◆
ValueTypeParam
◆
BoolType
The type returned by comparisons. If the template argument for V is a vector of SIMD components, this will be a SIMD type, too, which contains the per-element results.
构造函数 & 析构函数文档编制
◆
Mat2()
[1/6]
Default constructor, creates an identity matrix.
◆
Mat2()
[2/6]
constexpr
Mat2
|
(
|
const V &
|
off_in
,
|
|
|
const V &
|
v1_in
,
|
|
|
const V &
|
v2_in
|
|
)
|
|
|
|
constexpr
|
Initializes matrix from individual components.
◆
Mat2()
[3/6]
constexpr
Mat2
|
(
|
const V &
|
off_in
,
|
|
|
const
SqrMat2
< V > &
|
mat_in
|
|
)
|
|
|
|
constexpr
|
Initializes matrix from individual components.
◆
Mat2()
[4/6]
Initializes matrix from square matrix. The translation part is initialized to zero.
◆
Mat2()
[5/6]
constexpr
Mat2
|
(
|
const
Mat2
< V2 > &
|
m
|
)
|
|
|
explicit
constexpr
|
Initializes matrix from another matrix.
◆
Mat2()
[6/6]
Skips initialization of matrix (for better speed)
成员函数文档编制
◆
SetIdentity()
constexpr void SetIdentity
|
(
|
|
)
|
|
|
constexpr
|
Sets this matrix to an identity matrix.
◆
operator*()
[1/4]
Multiplies two matrices. The rule is m1 AFTER m2 If you transform a point with the result matrix this is identical to first transforming with m2 and then with m1
◆
operator*()
[2/4]
Multiplies two matrices. The rule is m1 AFTER m2 If you transform a point with the result matrix this is identical to first transforming with m2 and then with m1
◆
operator*()
[3/4]
Transforms a point by a matrix.
◆
operator*()
[4/4]
Scales all matrix components by a scalar value.
◆
operator/()
Divides all matrix components by a scalar value. If s is 0.0 an identity matrix will be returned.
◆
operator==()
constexpr
BoolType
operator==
|
(
|
const
Mat2
< V > &
|
other
|
)
|
const
|
|
constexpr
|
Equality operator.
-
参数
-
[in]
|
other
|
Comparison matrix.
|
-
返回
-
True if this and other are equal, otherwise false.
◆
operator!=()
constexpr
BoolType
operator!=
|
(
|
const
Mat2
< V > &
|
other
|
)
|
const
|
|
constexpr
|
Inequality operator.
-
参数
-
[in]
|
other
|
Comparison matrix.
|
-
返回
-
False if this and other are equal, otherwise true.
◆
operator~()
constexpr
Mat2
operator~
|
(
|
|
)
|
const
|
|
constexpr
|
Calculates the inverse matrix If no inverse can be calculated the result is the Identity matrix
◆
GetNormalized()
constexpr
Mat2
GetNormalized
|
(
|
|
)
|
const
|
|
constexpr
|
Returns this matrix with all axis vectors normalized.
◆
ToString()
Returns a readable string of the content.
-
参数
-
-
返回
-
The converted result.
◆
GetHashCode()
constexpr
HashInt
GetHashCode
|
(
|
|
)
|
const
|
|
constexpr
|
Returns the hash code of the matrix (used for hash maps and comparisons).
-
返回
-
The matrix' hash code.
◆
NullValue()
static constexpr const
Mat2
& NullValue
|
(
|
|
)
|
|
|
static
constexpr
|
Returns a null value of the matrix (see
nullvalue.h
for more details).
-
返回
-
A null value of the matrix.
Friends And Related Function Documentation
◆
operator*
Scales all matrix components by a scalar value.
Member Data Documentation
◆
off
The translation vector.
◆
sqmat
The 2×2 matrix for rotation, scale and shear.