Blender V4.3
ExtraHandler.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include <algorithm> /* sort() */
12#include <map>
13#include <string>
14#include <vector>
15
16#include "COLLADASWInstanceController.h"
17#include "COLLADASaxFWLFilePartLoader.h"
18#include "COLLADASaxFWLIExtraDataCallbackHandler.h"
19
20#include "AnimationImporter.h"
21#include "DocumentImporter.h"
22
26class ExtraHandler : public COLLADASaxFWL::IExtraDataCallbackHandler {
27 public:
30
32 bool elementBegin(const char *elementName, const char **attributes);
33
35 bool elementEnd(const char *elementName);
36
38 bool textData(const char *text, size_t textLength);
39
42 bool parseElement(const char *profileName,
43 const unsigned long &elementHash,
44 const COLLADAFW::UniqueId &uniqueId,
45 COLLADAFW::Object *object);
46
48 bool parseElement(const char *profileName,
49 const unsigned long &elementHash,
50 const COLLADAFW::UniqueId &uniqueId);
51
52 private:
54 ExtraHandler(const ExtraHandler &pre);
56 const ExtraHandler &operator=(const ExtraHandler &pre);
57
59 DocumentImporter *dimp;
62 COLLADAFW::UniqueId currentUid;
63 ExtraTags *currentExtraTags;
64 std::string currentElement;
65};
static int uniqueId
Handler class for <extra> data, through which different profiles can be handled.
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:17