| 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 #pragma once
6
7 #include "impeller/geometry/quaternion.h"
8 #include "impeller/geometry/scalar.h"
9 #include "impeller/geometry/shear.h"
10 #include "impeller/geometry/vector.h"
11
12 namespace impeller {
13
14 struct MatrixDecomposition {
15 Vector3 translation;
16 Vector3 scale;
17 Shear shear;
18 Vector4 perspective;
19 Quaternion rotation;
20
21 enum class Component {
22 kTranslation = 1 << 0,
23 kScale = 1 << 1,
24 kShear = 1 << 2,
25 kPerspective = 1 << 3,
26 kRotation = 1 << 4,
27 };
28
29 uint64_t GetComponentsMask() const;
30 };
31
32 } // namespace impeller
impeller::MatrixDecomposition::Component::kPerspective
@ kPerspective
impeller::Vector4
Definition: vector.h:229
quaternion.h
impeller::MatrixDecomposition::shear
Shear shear
Definition: matrix_decomposition.h:17
impeller::MatrixDecomposition
Definition: matrix_decomposition.h:14
impeller::MatrixDecomposition::Component::kScale
@ kScale
impeller::Quaternion
Definition: quaternion.h:13
impeller::MatrixDecomposition::Component::kTranslation
@ kTranslation
impeller::MatrixDecomposition::perspective
Vector4 perspective
Definition: matrix_decomposition.h:18
impeller::MatrixDecomposition::translation
Vector3 translation
Definition: matrix_decomposition.h:15
impeller::MatrixDecomposition::Component::kShear
@ kShear
impeller::MatrixDecomposition::rotation
Quaternion rotation
Definition: matrix_decomposition.h:19
scalar.h
impeller::MatrixDecomposition::Component
Component
Definition: matrix_decomposition.h:21
impeller::MatrixDecomposition::scale
Vector3 scale
Definition: matrix_decomposition.h:16
impeller::MatrixDecomposition::Component::kRotation
@ kRotation
vector.h
shear.h
impeller::MatrixDecomposition::GetComponentsMask
uint64_t GetComponentsMask() const
Definition: matrix.cc:378
impeller::Shear
Definition: shear.h:11
impeller
Definition: aiks_context.cc:10
impeller::Vector3
Definition: vector.h:17