text: // automatically generated by the FlatBuffers compiler, do not modify
  
  
  #ifndef FLATBUFFERS_GENERATED_POINTERINPUT_STARDUSTXR_H_
  #define FLATBUFFERS_GENERATED_POINTERINPUT_STARDUSTXR_H_
  
  #include "flatbuffers/flatbuffers.h"
  
  #include "common.hpp"
  
  namespace StardustXR {
  
  struct Pointer;
  struct PointerBuilder;
  
  struct Pointer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    typedef PointerBuilder Builder;
    static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
      return "StardustXR.Pointer";
    }
    enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
      VT_ORIGIN = 4,
      VT_DIRECTION = 6,
      VT_TILT = 8,
      VT_DEEPEST_POINT = 10
    };
    const StardustXR::vec3 *origin() const {
      return GetStruct<const StardustXR::vec3 *>(VT_ORIGIN);
    }
    StardustXR::vec3 *mutable_origin() {
      return GetStruct<StardustXR::vec3 *>(VT_ORIGIN);
    }
    const StardustXR::vec3 *direction() const {
      return GetStruct<const StardustXR::vec3 *>(VT_DIRECTION);
    }
    StardustXR::vec3 *mutable_direction() {
      return GetStruct<StardustXR::vec3 *>(VT_DIRECTION);
    }
    float tilt() const {
      return GetField<float>(VT_TILT, 0.0f);
    }
    bool mutate_tilt(float _tilt = 0.0f) {
      return SetField<float>(VT_TILT, _tilt, 0.0f);
    }
    const StardustXR::vec3 *deepest_point() const {
      return GetStruct<const StardustXR::vec3 *>(VT_DEEPEST_POINT);
    }
    StardustXR::vec3 *mutable_deepest_point() {
      return GetStruct<StardustXR::vec3 *>(VT_DEEPEST_POINT);
    }
    bool Verify(flatbuffers::Verifier &verifier) const {
      return VerifyTableStart(verifier) &&
             VerifyFieldRequired<StardustXR::vec3>(verifier, VT_ORIGIN, 4) &&
             VerifyFieldRequired<StardustXR::vec3>(verifier, VT_DIRECTION, 4) &&
             VerifyField<float>(verifier, VT_TILT, 4) &&
             VerifyFieldRequired<StardustXR::vec3>(verifier, VT_DEEPEST_POINT, 4) &&
             verifier.EndTable();
    }
  };
  
  struct PointerBuilder {
    typedef Pointer Table;
    flatbuffers::FlatBufferBuilder &fbb_;
    flatbuffers::uoffset_t start_;
    void add_origin(const StardustXR::vec3 *origin) {
      fbb_.AddStruct(Pointer::VT_ORIGIN, origin);
    }
    void add_direction(const StardustXR::vec3 *direction) {
      fbb_.AddStruct(Pointer::VT_DIRECTION, direction);
    }
    void add_tilt(float tilt) {
      fbb_.AddElement<float>(Pointer::VT_TILT, tilt, 0.0f);
    }
    void add_deepest_point(const StardustXR::vec3 *deepest_point) {
      fbb_.AddStruct(Pointer::VT_DEEPEST_POINT, deepest_point);
    }
    explicit PointerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
          : fbb_(_fbb) {
      start_ = fbb_.StartTable();
    }
    flatbuffers::Offset<Pointer> Finish() {
      const auto end = fbb_.EndTable(start_);
      auto o = flatbuffers::Offset<Pointer>(end);
      fbb_.Required(o, Pointer::VT_ORIGIN);
      fbb_.Required(o, Pointer::VT_DIRECTION);
      fbb_.Required(o, Pointer::VT_DEEPEST_POINT);
      return o;
    }
  };
  
  inline flatbuffers::Offset<Pointer> CreatePointer(
      flatbuffers::FlatBufferBuilder &_fbb,
      const StardustXR::vec3 *origin = nullptr,
      const StardustXR::vec3 *direction = nullptr,
      float tilt = 0.0f,
      const StardustXR::vec3 *deepest_point = nullptr) {
    PointerBuilder builder_(_fbb);
    builder_.add_deepest_point(deepest_point);
    builder_.add_tilt(tilt);
    builder_.add_direction(direction);
    builder_.add_origin(origin);
    return builder_.Finish();
  }
  
  }  // namespace StardustXR
  
  #endif  // FLATBUFFERS_GENERATED_POINTERINPUT_STARDUSTXR_H_
  