4#include <Eigen/Geometry>
29 using Affine = Eigen::Transform<floatT, 3, Eigen::Affine>;
35 explicit Transform(
const Matrix4& matrix) : xform_(matrix) {}
56 static Transform lookAt(
const Vector3& translation,
const Vector3& forward,
const Vector3& up);
64 xform_.translate(offset);
71 const Vector3 radians = degrees * (std::numbers::pi / 180.0);
73 Eigen::AngleAxis<floatT>(radians.z(), Vector3::UnitZ()) *
74 Eigen::AngleAxis<floatT>(radians.y(), Vector3::UnitY()) *
75 Eigen::AngleAxis<floatT>(radians.x(), Vector3::UnitX())
83 xform_.scale(factors);
90 xform_.scale(uniform);
97 xform_ = xform_ * other.xform_;
105 Vector3
operator*(
const Vector3& point)
const {
return xform_ * point; }
107 const Matrix4& getMatrix()
const {
return xform_.matrix(); }
Basic attribute, parameter, and node types for Enzo.
size_t Offset
enzo::Offset is the internal discontinuous index of an element in a given AttributeOwner.
Definition Types.h:100
Containers for geometry data.