#include "view_coordinates.hpp"

// Uncomment for better auto-complete while editing the extension.
// #define EDIT_EXTENSION

namespace rerun {
    namespace archetypes {

#ifdef EDIT_EXTENSION
        struct ViewCoordinatesExt {
            uint8_t coordinates[3];
#define ViewCoordinates ViewCoordinatesExt

            // [CODEGEN COPY TO HEADER START]

            /// Construct Vec3D from x/y/z values.
            constexpr ViewCoordinates(uint8_t axis0, uint8_t axis1, uint8_t axis2)
                : xyz(rerun::components::ViewCoordinates(axis0, axis1, axis2)) {}

            // <BEGIN_GENERATED:declarations>
            // This section is generated by running `scripts/generate_view_coordinate_defs.py --cpp`
            static const rerun::archetypes::ViewCoordinates ULF;
            static const rerun::archetypes::ViewCoordinates UFL;
            static const rerun::archetypes::ViewCoordinates LUF;
            static const rerun::archetypes::ViewCoordinates LFU;
            static const rerun::archetypes::ViewCoordinates FUL;
            static const rerun::archetypes::ViewCoordinates FLU;
            static const rerun::archetypes::ViewCoordinates ULB;
            static const rerun::archetypes::ViewCoordinates UBL;
            static const rerun::archetypes::ViewCoordinates LUB;
            static const rerun::archetypes::ViewCoordinates LBU;
            static const rerun::archetypes::ViewCoordinates BUL;
            static const rerun::archetypes::ViewCoordinates BLU;
            static const rerun::archetypes::ViewCoordinates URF;
            static const rerun::archetypes::ViewCoordinates UFR;
            static const rerun::archetypes::ViewCoordinates RUF;
            static const rerun::archetypes::ViewCoordinates RFU;
            static const rerun::archetypes::ViewCoordinates FUR;
            static const rerun::archetypes::ViewCoordinates FRU;
            static const rerun::archetypes::ViewCoordinates URB;
            static const rerun::archetypes::ViewCoordinates UBR;
            static const rerun::archetypes::ViewCoordinates RUB;
            static const rerun::archetypes::ViewCoordinates RBU;
            static const rerun::archetypes::ViewCoordinates BUR;
            static const rerun::archetypes::ViewCoordinates BRU;
            static const rerun::archetypes::ViewCoordinates DLF;
            static const rerun::archetypes::ViewCoordinates DFL;
            static const rerun::archetypes::ViewCoordinates LDF;
            static const rerun::archetypes::ViewCoordinates LFD;
            static const rerun::archetypes::ViewCoordinates FDL;
            static const rerun::archetypes::ViewCoordinates FLD;
            static const rerun::archetypes::ViewCoordinates DLB;
            static const rerun::archetypes::ViewCoordinates DBL;
            static const rerun::archetypes::ViewCoordinates LDB;
            static const rerun::archetypes::ViewCoordinates LBD;
            static const rerun::archetypes::ViewCoordinates BDL;
            static const rerun::archetypes::ViewCoordinates BLD;
            static const rerun::archetypes::ViewCoordinates DRF;
            static const rerun::archetypes::ViewCoordinates DFR;
            static const rerun::archetypes::ViewCoordinates RDF;
            static const rerun::archetypes::ViewCoordinates RFD;
            static const rerun::archetypes::ViewCoordinates FDR;
            static const rerun::archetypes::ViewCoordinates FRD;
            static const rerun::archetypes::ViewCoordinates DRB;
            static const rerun::archetypes::ViewCoordinates DBR;
            static const rerun::archetypes::ViewCoordinates RDB;
            static const rerun::archetypes::ViewCoordinates RBD;
            static const rerun::archetypes::ViewCoordinates BDR;
            static const rerun::archetypes::ViewCoordinates BRD;
            static const rerun::archetypes::ViewCoordinates RIGHT_HAND_X_UP;
            static const rerun::archetypes::ViewCoordinates RIGHT_HAND_X_DOWN;
            static const rerun::archetypes::ViewCoordinates RIGHT_HAND_Y_UP;
            static const rerun::archetypes::ViewCoordinates RIGHT_HAND_Y_DOWN;
            static const rerun::archetypes::ViewCoordinates RIGHT_HAND_Z_UP;
            static const rerun::archetypes::ViewCoordinates RIGHT_HAND_Z_DOWN;
            static const rerun::archetypes::ViewCoordinates LEFT_HAND_X_UP;
            static const rerun::archetypes::ViewCoordinates LEFT_HAND_X_DOWN;
            static const rerun::archetypes::ViewCoordinates LEFT_HAND_Y_UP;
            static const rerun::archetypes::ViewCoordinates LEFT_HAND_Y_DOWN;
            static const rerun::archetypes::ViewCoordinates LEFT_HAND_Z_UP;
            static const rerun::archetypes::ViewCoordinates LEFT_HAND_Z_DOWN;
            // <END_GENERATED:declarations>

            // [CODEGEN COPY TO HEADER END]
        };
#endif

        // <BEGIN_GENERATED:definitions>
        // This section is generated by running `scripts/generate_view_coordinate_defs.py --cpp`
        const ViewCoordinates ViewCoordinates::ULF =
            ViewCoordinates(rerun::components::ViewCoordinates::ULF);
        const ViewCoordinates ViewCoordinates::UFL =
            ViewCoordinates(rerun::components::ViewCoordinates::UFL);
        const ViewCoordinates ViewCoordinates::LUF =
            ViewCoordinates(rerun::components::ViewCoordinates::LUF);
        const ViewCoordinates ViewCoordinates::LFU =
            ViewCoordinates(rerun::components::ViewCoordinates::LFU);
        const ViewCoordinates ViewCoordinates::FUL =
            ViewCoordinates(rerun::components::ViewCoordinates::FUL);
        const ViewCoordinates ViewCoordinates::FLU =
            ViewCoordinates(rerun::components::ViewCoordinates::FLU);
        const ViewCoordinates ViewCoordinates::ULB =
            ViewCoordinates(rerun::components::ViewCoordinates::ULB);
        const ViewCoordinates ViewCoordinates::UBL =
            ViewCoordinates(rerun::components::ViewCoordinates::UBL);
        const ViewCoordinates ViewCoordinates::LUB =
            ViewCoordinates(rerun::components::ViewCoordinates::LUB);
        const ViewCoordinates ViewCoordinates::LBU =
            ViewCoordinates(rerun::components::ViewCoordinates::LBU);
        const ViewCoordinates ViewCoordinates::BUL =
            ViewCoordinates(rerun::components::ViewCoordinates::BUL);
        const ViewCoordinates ViewCoordinates::BLU =
            ViewCoordinates(rerun::components::ViewCoordinates::BLU);
        const ViewCoordinates ViewCoordinates::URF =
            ViewCoordinates(rerun::components::ViewCoordinates::URF);
        const ViewCoordinates ViewCoordinates::UFR =
            ViewCoordinates(rerun::components::ViewCoordinates::UFR);
        const ViewCoordinates ViewCoordinates::RUF =
            ViewCoordinates(rerun::components::ViewCoordinates::RUF);
        const ViewCoordinates ViewCoordinates::RFU =
            ViewCoordinates(rerun::components::ViewCoordinates::RFU);
        const ViewCoordinates ViewCoordinates::FUR =
            ViewCoordinates(rerun::components::ViewCoordinates::FUR);
        const ViewCoordinates ViewCoordinates::FRU =
            ViewCoordinates(rerun::components::ViewCoordinates::FRU);
        const ViewCoordinates ViewCoordinates::URB =
            ViewCoordinates(rerun::components::ViewCoordinates::URB);
        const ViewCoordinates ViewCoordinates::UBR =
            ViewCoordinates(rerun::components::ViewCoordinates::UBR);
        const ViewCoordinates ViewCoordinates::RUB =
            ViewCoordinates(rerun::components::ViewCoordinates::RUB);
        const ViewCoordinates ViewCoordinates::RBU =
            ViewCoordinates(rerun::components::ViewCoordinates::RBU);
        const ViewCoordinates ViewCoordinates::BUR =
            ViewCoordinates(rerun::components::ViewCoordinates::BUR);
        const ViewCoordinates ViewCoordinates::BRU =
            ViewCoordinates(rerun::components::ViewCoordinates::BRU);
        const ViewCoordinates ViewCoordinates::DLF =
            ViewCoordinates(rerun::components::ViewCoordinates::DLF);
        const ViewCoordinates ViewCoordinates::DFL =
            ViewCoordinates(rerun::components::ViewCoordinates::DFL);
        const ViewCoordinates ViewCoordinates::LDF =
            ViewCoordinates(rerun::components::ViewCoordinates::LDF);
        const ViewCoordinates ViewCoordinates::LFD =
            ViewCoordinates(rerun::components::ViewCoordinates::LFD);
        const ViewCoordinates ViewCoordinates::FDL =
            ViewCoordinates(rerun::components::ViewCoordinates::FDL);
        const ViewCoordinates ViewCoordinates::FLD =
            ViewCoordinates(rerun::components::ViewCoordinates::FLD);
        const ViewCoordinates ViewCoordinates::DLB =
            ViewCoordinates(rerun::components::ViewCoordinates::DLB);
        const ViewCoordinates ViewCoordinates::DBL =
            ViewCoordinates(rerun::components::ViewCoordinates::DBL);
        const ViewCoordinates ViewCoordinates::LDB =
            ViewCoordinates(rerun::components::ViewCoordinates::LDB);
        const ViewCoordinates ViewCoordinates::LBD =
            ViewCoordinates(rerun::components::ViewCoordinates::LBD);
        const ViewCoordinates ViewCoordinates::BDL =
            ViewCoordinates(rerun::components::ViewCoordinates::BDL);
        const ViewCoordinates ViewCoordinates::BLD =
            ViewCoordinates(rerun::components::ViewCoordinates::BLD);
        const ViewCoordinates ViewCoordinates::DRF =
            ViewCoordinates(rerun::components::ViewCoordinates::DRF);
        const ViewCoordinates ViewCoordinates::DFR =
            ViewCoordinates(rerun::components::ViewCoordinates::DFR);
        const ViewCoordinates ViewCoordinates::RDF =
            ViewCoordinates(rerun::components::ViewCoordinates::RDF);
        const ViewCoordinates ViewCoordinates::RFD =
            ViewCoordinates(rerun::components::ViewCoordinates::RFD);
        const ViewCoordinates ViewCoordinates::FDR =
            ViewCoordinates(rerun::components::ViewCoordinates::FDR);
        const ViewCoordinates ViewCoordinates::FRD =
            ViewCoordinates(rerun::components::ViewCoordinates::FRD);
        const ViewCoordinates ViewCoordinates::DRB =
            ViewCoordinates(rerun::components::ViewCoordinates::DRB);
        const ViewCoordinates ViewCoordinates::DBR =
            ViewCoordinates(rerun::components::ViewCoordinates::DBR);
        const ViewCoordinates ViewCoordinates::RDB =
            ViewCoordinates(rerun::components::ViewCoordinates::RDB);
        const ViewCoordinates ViewCoordinates::RBD =
            ViewCoordinates(rerun::components::ViewCoordinates::RBD);
        const ViewCoordinates ViewCoordinates::BDR =
            ViewCoordinates(rerun::components::ViewCoordinates::BDR);
        const ViewCoordinates ViewCoordinates::BRD =
            ViewCoordinates(rerun::components::ViewCoordinates::BRD);
        const ViewCoordinates ViewCoordinates::RIGHT_HAND_X_UP =
            ViewCoordinates(rerun::components::ViewCoordinates::RIGHT_HAND_X_UP);
        const ViewCoordinates ViewCoordinates::RIGHT_HAND_X_DOWN =
            ViewCoordinates(rerun::components::ViewCoordinates::RIGHT_HAND_X_DOWN);
        const ViewCoordinates ViewCoordinates::RIGHT_HAND_Y_UP =
            ViewCoordinates(rerun::components::ViewCoordinates::RIGHT_HAND_Y_UP);
        const ViewCoordinates ViewCoordinates::RIGHT_HAND_Y_DOWN =
            ViewCoordinates(rerun::components::ViewCoordinates::RIGHT_HAND_Y_DOWN);
        const ViewCoordinates ViewCoordinates::RIGHT_HAND_Z_UP =
            ViewCoordinates(rerun::components::ViewCoordinates::RIGHT_HAND_Z_UP);
        const ViewCoordinates ViewCoordinates::RIGHT_HAND_Z_DOWN =
            ViewCoordinates(rerun::components::ViewCoordinates::RIGHT_HAND_Z_DOWN);
        const ViewCoordinates ViewCoordinates::LEFT_HAND_X_UP =
            ViewCoordinates(rerun::components::ViewCoordinates::LEFT_HAND_X_UP);
        const ViewCoordinates ViewCoordinates::LEFT_HAND_X_DOWN =
            ViewCoordinates(rerun::components::ViewCoordinates::LEFT_HAND_X_DOWN);
        const ViewCoordinates ViewCoordinates::LEFT_HAND_Y_UP =
            ViewCoordinates(rerun::components::ViewCoordinates::LEFT_HAND_Y_UP);
        const ViewCoordinates ViewCoordinates::LEFT_HAND_Y_DOWN =
            ViewCoordinates(rerun::components::ViewCoordinates::LEFT_HAND_Y_DOWN);
        const ViewCoordinates ViewCoordinates::LEFT_HAND_Z_UP =
            ViewCoordinates(rerun::components::ViewCoordinates::LEFT_HAND_Z_UP);
        const ViewCoordinates ViewCoordinates::LEFT_HAND_Z_DOWN =
            ViewCoordinates(rerun::components::ViewCoordinates::LEFT_HAND_Z_DOWN);
        // <END_GENERATED:definitions>

    } // namespace archetypes
} // namespace rerun
