49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
// This file was generated by generate-gltf-classes.
|
|
// DO NOT EDIT THIS FILE!
|
|
#pragma once
|
|
|
|
#include "CesiumGltf/AnimationSampler.h"
|
|
#include "CesiumGltf/ReaderContext.h"
|
|
#include "CesiumJsonReader/IntegerJsonHandler.h"
|
|
#include "ExtensibleObjectJsonHandler.h"
|
|
|
|
namespace CesiumGltf {
|
|
struct ReaderContext;
|
|
struct AnimationSampler;
|
|
|
|
class AnimationSamplerJsonHandler : public ExtensibleObjectJsonHandler {
|
|
public:
|
|
using ValueType = AnimationSampler;
|
|
|
|
AnimationSamplerJsonHandler(const ReaderContext& context) noexcept;
|
|
void reset(IJsonHandler* pParentHandler, AnimationSampler* pObject);
|
|
|
|
virtual IJsonHandler* readObjectKey(const std::string_view& str) override;
|
|
|
|
protected:
|
|
IJsonHandler* readObjectKeyAnimationSampler(
|
|
const std::string& objectType,
|
|
const std::string_view& str,
|
|
AnimationSampler& o);
|
|
|
|
private:
|
|
class InterpolationJsonHandler : public CesiumJsonReader::JsonHandler {
|
|
public:
|
|
InterpolationJsonHandler() noexcept : CesiumJsonReader::JsonHandler() {}
|
|
void reset(
|
|
CesiumJsonReader::IJsonHandler* pParent,
|
|
AnimationSampler::Interpolation* pEnum);
|
|
virtual CesiumJsonReader::IJsonHandler*
|
|
readString(const std::string_view& str) override;
|
|
|
|
private:
|
|
AnimationSampler::Interpolation* _pEnum = nullptr;
|
|
};
|
|
|
|
AnimationSampler* _pObject = nullptr;
|
|
CesiumJsonReader::IntegerJsonHandler<int32_t> _input;
|
|
InterpolationJsonHandler _interpolation;
|
|
CesiumJsonReader::IntegerJsonHandler<int32_t> _output;
|
|
};
|
|
} // namespace CesiumGltf
|