Overte C++ Documentation
FSTBaker.h
1 //
2 // FSTBaker.h
3 // libraries/baking/src/baking
4 //
5 // Created by Sabrina Shanman on 2019/03/06.
6 // Copyright 2019 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 #ifndef hifi_FSTBaker_h
13 #define hifi_FSTBaker_h
14 
15 #include "../ModelBaker.h"
16 
17 class FSTBaker : public ModelBaker {
18  Q_OBJECT
19 
20 public:
21  FSTBaker(const QUrl& inputMappingURL, const QString& bakedOutputDirectory, const QString& originalOutputDirectory = "", bool hasBeenBaked = false);
22 
23  virtual QUrl getFullOutputMappingURL() const override;
24 
25 signals:
26  void fstLoaded();
27 
28 public slots:
29  virtual void abort() override;
30 
31 protected:
32  std::unique_ptr<ModelBaker> _modelBaker;
33 
34 protected slots:
35  virtual void bakeSourceCopy() override;
36  virtual void bakeProcessedSource(const hfm::Model::Pointer& hfmModel, const std::vector<hifi::ByteArray>& dracoMeshes, const std::vector<std::vector<hifi::ByteArray>>& dracoMaterialLists) override {};
37  void handleModelBakerAborted();
38  void handleModelBakerFinished();
39 
40 private:
41  void handleModelBakerEnded();
42 };
43 
44 #endif // hifi_FSTBaker_h