HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GLTF_Codec.h
Go to the documentation of this file.
1 #ifndef __GLTF_Codec_h__
2 #define __GLTF_Codec_h__
3 
4 #include "GLTFZ_API.h"
5 #include "GLTF_ExportOptions.h"
6 #include "GLTF_ImportOptions.h"
7 #include "GLTF_Types.h"
8 
9 #include <GA/GA_Types.h>
10 
11 class GLTF_ErrorManager;
12 class GLTF_Reader;
13 class GLTF_Writer;
14 class GU_Detail;
15 class OP_Node;
16 
18 {
19 public:
20  explicit GLTF_Codec(const GLTF_ImportOptions& options)
21  : myImportOptions(options)
22  {
23 
24  }
25  explicit GLTF_Codec(const GLTF_ExportOptions& options)
26  : myExportOptions(options)
27  {
28 
29  }
30  GLTF_Codec(const GLTF_ImportOptions& import_options,
31  const GLTF_ExportOptions& export_options)
32  : myImportOptions(import_options)
33  , myExportOptions(export_options)
34  {
35 
36  }
37  virtual ~GLTF_Codec() {}
38 
39  virtual bool importMeshPrimitive(
40  GU_Detail& gdp,
41  const GLTF_Index mesh_idx,
42  const GLTF_Index prim_idx,
43  const GLTF_MeshInfo& mesh_info,
44  GLTF_Reader& reader,
45  GLTF_ErrorManager& errors) = 0;
46 
47  virtual bool importMaterial(
48  GU_Detail& gdp,
49  const GLTF_Index mat_idx,
50  GLTF_Reader& reader,
51  GLTF_ErrorManager& errors,
52  GA_AttributeOwner mat_attribs_owner=GA_ATTRIB_PRIMITIVE) = 0;
53 
54  virtual bool exportMeshPrimitive(
55  const GU_Detail& gdp,
56  const GLTF_Index mesh_idx,
57  const GLTF_Index prim_idx,
58  GLTF_Writer& writer,
59  GLTF_ErrorManager& errors)
60  {
61  return false;
62  }
63 
64  virtual bool exportMaterial(
65  const OP_Node* mat_node,
66  const GLTF_Index mat_id,
67  fpreal time,
68  const GLTF_MaterialInfo& mat_info,
69  GLTF_Writer& writer,
70  GLTF_ErrorManager& errors)
71  {
72  return false;
73  }
74 
75 protected:
76 
79 };
80 
81 #endif // __GLTF_Codec_h__
virtual ~GLTF_Codec()
Definition: GLTF_Codec.h:37
virtual bool exportMeshPrimitive(const GU_Detail &gdp, const GLTF_Index mesh_idx, const GLTF_Index prim_idx, GLTF_Writer &writer, GLTF_ErrorManager &errors)
Definition: GLTF_Codec.h:54
GT_API const UT_StringHolder time
GLTF_Codec(const GLTF_ImportOptions &options)
Definition: GLTF_Codec.h:20
GLTF_Codec(const GLTF_ExportOptions &options)
Definition: GLTF_Codec.h:25
GLTF_ImportOptions myImportOptions
Definition: GLTF_Codec.h:77
virtual bool exportMaterial(const OP_Node *mat_node, const GLTF_Index mat_id, fpreal time, const GLTF_MaterialInfo &mat_info, GLTF_Writer &writer, GLTF_ErrorManager &errors)
Definition: GLTF_Codec.h:64
GLTF_Codec(const GLTF_ImportOptions &import_options, const GLTF_ExportOptions &export_options)
Definition: GLTF_Codec.h:30
std::size_t GLTF_Index
Definition: GLTF_Types.h:13
GA_AttributeOwner
Definition: GA_Types.h:35
fpreal64 fpreal
Definition: SYS_Types.h:283
#define GLTFZ_API
Definition: GLTFZ_API.h:37
GLTF_ExportOptions myExportOptions
Definition: GLTF_Codec.h:78