Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/asset/intern/asset_library_reference.hh
- This file was copied from source/blender/compositor/operations/COM_CalculateStandardDeviationOperation.h.
| /* | /* | ||||
| * This program is free software; you can redistribute it and/or | * This program is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU General Public License | * modify it under the terms of the GNU General Public License | ||||
| * as published by the Free Software Foundation; either version 2 | * as published by the Free Software Foundation; either version 2 | ||||
| * of the License, or (at your option) any later version. | * of the License, or (at your option) any later version. | ||||
| * | * | ||||
| * This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | ||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
| * GNU General Public License for more details. | * GNU General Public License for more details. | ||||
| * | * | ||||
| * You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | ||||
| * along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
| * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
| */ | |||||
| /** \file | |||||
| * \ingroup edasset | |||||
| * | * | ||||
| * Copyright 2011, Blender Foundation. | * Utility to extend #AssetLibraryReference with C++ functionality (operators, hash function, etc). | ||||
| */ | */ | ||||
| #pragma once | #pragma once | ||||
| #include "COM_CalculateMeanOperation.h" | #include <cstdint> | ||||
| #include "COM_NodeOperation.h" | |||||
| #include "DNA_node_types.h" | |||||
| namespace blender::compositor { | #include "DNA_asset_types.h" | ||||
| /** | namespace blender::ed::asset { | ||||
| * \brief base class of CalculateStandardDeviation, | |||||
| * implementing the simple CalculateStandardDeviation. | |||||
| * \ingroup operation | |||||
| */ | |||||
| class CalculateStandardDeviationOperation : public CalculateMeanOperation { | |||||
| protected: | |||||
| float m_standardDeviation; | |||||
| public: | |||||
| /** | /** | ||||
| * The inner loop of this operation. | * Wrapper to add logic to the AssetLibraryReference DNA struct. | ||||
| */ | */ | ||||
| void executePixel(float output[4], int x, int y, void *data) override; | class AssetLibraryReferenceWrapper : public AssetLibraryReference { | ||||
| public: | |||||
| void *initializeTileData(rcti *rect) override; | /* Intentionally not `explicit`, allow implicit conversion for convenience. Might have to be | ||||
| * NOLINT */ | |||||
| AssetLibraryReferenceWrapper(const AssetLibraryReference &reference); | |||||
| ~AssetLibraryReferenceWrapper() = default; | |||||
| friend bool operator==(const AssetLibraryReferenceWrapper &a, | |||||
| const AssetLibraryReferenceWrapper &b); | |||||
| uint64_t hash() const; | |||||
| }; | }; | ||||
| } // namespace blender::compositor | } // namespace blender::ed::asset | ||||