66 const Axis axis =
static_cast<Value>(axis_char -
'X');
74 const Axis axis =
static_cast<Value>(axis_int);
80 constexpr operator Value()
const
91 explicit operator bool()
const =
delete;
93 friend std::ostream &
operator<<(std::ostream &stream,
const Axis axis);
180 explicit operator bool()
const =
delete;
318 return a.next_after();
326 vec[axis.as_int()] = 1;
335 vec[
abs(axis).as_int()] = axis.is_negative() ? -1 : 1;
409 return {
cross(forward, up), forward, up};
437 if (
sign(a_forward) !=
sign(b_forward)) {
464 if (basis.
x().
axis() == axis) {
467 if (basis.
y().
axis() == axis) {
473 result.
x() = search_axis(basis,
Axis::X);
474 result.y() = search_axis(basis,
Axis::Y);
475 result.z() = search_axis(basis,
Axis::Z);
#define BLI_assert_msg(a, msg)
ATTR_WARN_UNUSED_RESULT const BMVert * v
constexpr int as_int() const
static constexpr Value Z_POS
static constexpr Value Y_NEG
constexpr int sign() const
static constexpr Value Z_NEG
AxisSigned next_after() const
constexpr AxisSigned(Axis axis)
constexpr AxisSigned(Value axis)
static constexpr AxisSigned from_int(int axis_int)
static constexpr Value X_NEG
static constexpr Value Y_POS
AxisSigned operator-() const
constexpr bool is_negative() const
friend std::ostream & operator<<(std::ostream &stream, const AxisSigned axis)
static constexpr Value X_POS
constexpr Axis axis() const
constexpr int as_int() const
friend std::ostream & operator<<(std::ostream &stream, const Axis axis)
static constexpr Axis from_char(char axis_char)
constexpr Axis(const Value axis)
static constexpr Axis from_int(const int axis_int)
local_group_size(16, 16) .push_constant(Type b
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
T to_vector(const Axis axis)
CartesianBasis rotation_between(const CartesianBasis &a, const CartesianBasis &b)
CartesianBasis invert(const CartesianBasis &basis)
AxisSigned cross(const AxisSigned a, const AxisSigned b)
constexpr bool operator<=(const Axis::Value a, const Axis::Value b)
CartesianBasis from_orthonormal_axes(const AxisSigned forward, const AxisSigned up)
VecBase< T, 3 > transform_point(const CartesianBasis &basis, const VecBase< T, 3 > &v)
CartesianBasis(const AxisSigned x, const AxisSigned y, const AxisSigned z)
const AxisSigned & x() const
friend std::ostream & operator<<(std::ostream &stream, const CartesianBasis &rot)
VecBase< AxisSigned, 3 > axes
const AxisSigned & z() const
const AxisSigned & y() const