Blender  V3.3
ExtraHandler.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #pragma once
8 
9 #include <algorithm> /* sort() */
10 #include <map>
11 #include <string>
12 #include <vector>
13 
14 #include "COLLADASWInstanceController.h"
15 #include "COLLADASaxFWLFilePartLoader.h"
16 #include "COLLADASaxFWLIExtraDataCallbackHandler.h"
17 
18 #include "AnimationImporter.h"
19 #include "DocumentImporter.h"
20 
24 class ExtraHandler : public COLLADASaxFWL::IExtraDataCallbackHandler {
25  public:
28 
30  bool elementBegin(const char *elementName, const char **attributes);
31 
33  bool elementEnd(const char *elementName);
34 
36  bool textData(const char *text, size_t textLength);
37 
40  bool parseElement(const char *profileName,
41  const unsigned long &elementHash,
42  const COLLADAFW::UniqueId &uniqueId,
43  COLLADAFW::Object *object);
44 
46  bool parseElement(const char *profileName,
47  const unsigned long &elementHash,
48  const COLLADAFW::UniqueId &uniqueId);
49 
50  private:
52  ExtraHandler(const ExtraHandler &pre);
54  const ExtraHandler &operator=(const ExtraHandler &pre);
55 
57  DocumentImporter *dimp;
58  AnimationImporter *aimp;
60  COLLADAFW::UniqueId currentUid;
61  ExtraTags *currentExtraTags;
62  std::string currentElement;
63 };
struct Object Object
static int uniqueId
Definition: btRigidBody.cpp:27
Handler class for <extra> data, through which different profiles can be handled.
Definition: ExtraHandler.h:24
bool textData(const char *text, size_t textLength)
bool parseElement(const char *profileName, const unsigned long &elementHash, const COLLADAFW::UniqueId &uniqueId, COLLADAFW::Object *object)
bool elementBegin(const char *elementName, const char **attributes)
ExtraHandler(DocumentImporter *dimp, AnimationImporter *aimp)
bool elementEnd(const char *elementName)
Class for saving <extra> tags for a specific UniqueId.
Definition: ExtraTags.h:15