| Flutter Impeller |

matrix_decomposition.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef FLUTTER_IMPELLER_GEOMETRY_MATRIX_DECOMPOSITION_H_
6 #define FLUTTER_IMPELLER_GEOMETRY_MATRIX_DECOMPOSITION_H_
7
8 #include "impeller/geometry/quaternion.h"
9 #include "impeller/geometry/scalar.h"
10 #include "impeller/geometry/shear.h"
11 #include "impeller/geometry/vector.h"
12
13 namespace impeller {
14
15 struct MatrixDecomposition {
16 Vector3 translation;
17 Vector3 scale;
18 Shear shear;
19 Vector4 perspective;
20 Quaternion rotation;
21
22 enum class Component {
23 kTranslation = 1 << 0,
24 kScale = 1 << 1,
25 kShear = 1 << 2,
26 kPerspective = 1 << 3,
27 kRotation = 1 << 4,
28 };
29
30 uint64_t GetComponentsMask() const;
31 };
32
33 } // namespace impeller
34
35 #endif // FLUTTER_IMPELLER_GEOMETRY_MATRIX_DECOMPOSITION_H_
impeller::MatrixDecomposition::Component::kPerspective
@ kPerspective
impeller::Vector4
Definition: vector.h:232
quaternion.h
impeller::MatrixDecomposition::shear
Shear shear
Definition: matrix_decomposition.h:18
impeller::MatrixDecomposition
Definition: matrix_decomposition.h:15
impeller::MatrixDecomposition::Component::kScale
@ kScale
impeller::Quaternion
Definition: quaternion.h:14
impeller::MatrixDecomposition::Component::kTranslation
@ kTranslation
impeller::MatrixDecomposition::perspective
Vector4 perspective
Definition: matrix_decomposition.h:19
impeller::MatrixDecomposition::translation
Vector3 translation
Definition: matrix_decomposition.h:16
impeller::MatrixDecomposition::Component::kShear
@ kShear
impeller::MatrixDecomposition::rotation
Quaternion rotation
Definition: matrix_decomposition.h:20
scalar.h
impeller::MatrixDecomposition::Component
Component
Definition: matrix_decomposition.h:22
impeller::MatrixDecomposition::scale
Vector3 scale
Definition: matrix_decomposition.h:17
impeller::MatrixDecomposition::Component::kRotation
@ kRotation
vector.h
shear.h
impeller::MatrixDecomposition::GetComponentsMask
uint64_t GetComponentsMask() const
Definition: matrix.cc:361
impeller::Shear
Definition: shear.h:12
impeller
Definition: allocation.cc:12
impeller::Vector3
Definition: vector.h:20