A lot of files were missing copyright field in the header and
the Blender Foundation contributed to them in a sense of bug
fixing and general maintenance.
This change makes it explicit that those files are at least
partially copyrighted by the Blender Foundation.
Note that this does not make it so the Blender Foundation is
the only holder of the copyright in those files, and developers
who do not have a signed contract with the foundation still
hold the copyright as well.
Another aspect of this change is using SPDX format for the
header. We already used it for the license specification,
and now we state it for the copyright as well, following the
FAQ:
https://reuse.software/faq/
66 lines
2.0 KiB
C++
66 lines
2.0 KiB
C++
/* SPDX-FileCopyrightText: 2023 Blender Foundation
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/** \file
|
|
* \ingroup collada
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <algorithm> /* sort() */
|
|
#include <map>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "COLLADASWInstanceController.h"
|
|
#include "COLLADASaxFWLFilePartLoader.h"
|
|
#include "COLLADASaxFWLIExtraDataCallbackHandler.h"
|
|
|
|
#include "AnimationImporter.h"
|
|
#include "DocumentImporter.h"
|
|
|
|
/** \brief Handler class for \<extra\> data, through which different
|
|
* profiles can be handled
|
|
*/
|
|
class ExtraHandler : public COLLADASaxFWL::IExtraDataCallbackHandler {
|
|
public:
|
|
/** Constructor. */
|
|
ExtraHandler(DocumentImporter *dimp, AnimationImporter *aimp);
|
|
|
|
/** Handle the beginning of an element. */
|
|
bool elementBegin(const char *elementName, const char **attributes);
|
|
|
|
/** Handle the end of an element. */
|
|
bool elementEnd(const char *elementName);
|
|
|
|
/** Receive the data in text format. */
|
|
bool textData(const char *text, size_t textLength);
|
|
|
|
/** Method to ask, if the current callback handler want to read the data of the given extra
|
|
* element. */
|
|
bool parseElement(const char *profileName,
|
|
const unsigned long &elementHash,
|
|
const COLLADAFW::UniqueId &uniqueId,
|
|
COLLADAFW::Object *object);
|
|
|
|
/** For backwards compatibility with older OpenCollada, new version added object parameter */
|
|
bool parseElement(const char *profileName,
|
|
const unsigned long &elementHash,
|
|
const COLLADAFW::UniqueId &uniqueId);
|
|
|
|
private:
|
|
/** Disable default copy constructor. */
|
|
ExtraHandler(const ExtraHandler &pre);
|
|
/** Disable default assignment operator. */
|
|
const ExtraHandler &operator=(const ExtraHandler &pre);
|
|
|
|
/** Handle to DocumentImporter for interface to extra element data saving. */
|
|
DocumentImporter *dimp;
|
|
AnimationImporter *aimp;
|
|
/** Holds Id of element for which <extra> XML elements are handled. */
|
|
COLLADAFW::UniqueId currentUid;
|
|
ExtraTags *currentExtraTags;
|
|
std::string currentElement;
|
|
};
|