#pragma once #include #include namespace mln { /** * @brief Holds values for Axonometric rendering. All fields are * optional. */ struct ProjectionMode { ProjectionMode& withAxonometric(bool o) { axonometric = o; return *this; } ProjectionMode& withXSkew(double o) { xSkew = o; return *this; } ProjectionMode& withYSkew(double o) { ySkew = o; return *this; } /** * @brief Set to True to enable axonometric rendering, false otherwise. */ std::optional axonometric; /** * @brief The X skew value represents how much to skew on the x-axis. */ std::optional xSkew; /** * @brief The Y skew value represents how much to skew on the y-axis. */ std::optional ySkew; }; } // namespace mln