diff options
author | Jeroen Bakker <jeroen@blender.org> | 2021-03-08 15:41:52 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2021-03-08 15:41:52 +0300 |
commit | 1775ea74c152ba7cf27a8bc1f071b40992c89013 (patch) | |
tree | 310fbe4e107734a16b3164adb1a65bd918935855 /source/blender/compositor/intern/COM_NodeOperation.cpp | |
parent | b9cd2f4531ca670c196b0b14b1359d0f375103c2 (diff) |
Cleanup: Change extension .cpp to .cc
Diffstat (limited to 'source/blender/compositor/intern/COM_NodeOperation.cpp')
-rw-r--r-- | source/blender/compositor/intern/COM_NodeOperation.cpp | 244 |
1 files changed, 0 insertions, 244 deletions
diff --git a/source/blender/compositor/intern/COM_NodeOperation.cpp b/source/blender/compositor/intern/COM_NodeOperation.cpp deleted file mode 100644 index ce7d3a6389e..00000000000 --- a/source/blender/compositor/intern/COM_NodeOperation.cpp +++ /dev/null @@ -1,244 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * Copyright 2011, Blender Foundation. - */ - -#include <cstdio> -#include <typeinfo> - -#include "COM_ExecutionSystem.h" -#include "COM_defines.h" - -#include "COM_NodeOperation.h" /* own include */ - -/******************* - **** NodeOperation **** - *******************/ - -NodeOperation::NodeOperation() -{ - this->m_resolutionInputSocketIndex = 0; - this->m_complex = false; - this->m_width = 0; - this->m_height = 0; - this->m_isResolutionSet = false; - this->m_openCL = false; - this->m_btree = nullptr; -} - -NodeOperation::~NodeOperation() -{ - while (!this->m_outputs.empty()) { - delete (this->m_outputs.back()); - this->m_outputs.pop_back(); - } - while (!this->m_inputs.empty()) { - delete (this->m_inputs.back()); - this->m_inputs.pop_back(); - } -} - -NodeOperationOutput *NodeOperation::getOutputSocket(unsigned int index) const -{ - BLI_assert(index < m_outputs.size()); - return m_outputs[index]; -} - -NodeOperationInput *NodeOperation::getInputSocket(unsigned int index) const -{ - BLI_assert(index < m_inputs.size()); - return m_inputs[index]; -} - -void NodeOperation::addInputSocket(DataType datatype, InputResizeMode resize_mode) -{ - NodeOperationInput *socket = new NodeOperationInput(this, datatype, resize_mode); - m_inputs.push_back(socket); -} - -void NodeOperation::addOutputSocket(DataType datatype) -{ - NodeOperationOutput *socket = new NodeOperationOutput(this, datatype); - m_outputs.push_back(socket); -} - -void NodeOperation::determineResolution(unsigned int resolution[2], - unsigned int preferredResolution[2]) -{ - unsigned int temp[2]; - unsigned int temp2[2]; - - for (unsigned int index = 0; index < m_inputs.size(); index++) { - NodeOperationInput *input = m_inputs[index]; - if (input->isConnected()) { - if (index == this->m_resolutionInputSocketIndex) { - input->determineResolution(resolution, preferredResolution); - temp2[0] = resolution[0]; - temp2[1] = resolution[1]; - break; - } - } - } - for (unsigned int index = 0; index < m_inputs.size(); index++) { - NodeOperationInput *input = m_inputs[index]; - if (input->isConnected()) { - if (index != this->m_resolutionInputSocketIndex) { - input->determineResolution(temp, temp2); - } - } - } -} -void NodeOperation::setResolutionInputSocketIndex(unsigned int index) -{ - this->m_resolutionInputSocketIndex = index; -} -void NodeOperation::initExecution() -{ - /* pass */ -} - -void NodeOperation::initMutex() -{ - BLI_mutex_init(&this->m_mutex); -} - -void NodeOperation::lockMutex() -{ - BLI_mutex_lock(&this->m_mutex); -} - -void NodeOperation::unlockMutex() -{ - BLI_mutex_unlock(&this->m_mutex); -} - -void NodeOperation::deinitMutex() -{ - BLI_mutex_end(&this->m_mutex); -} - -void NodeOperation::deinitExecution() -{ - /* pass */ -} -SocketReader *NodeOperation::getInputSocketReader(unsigned int inputSocketIndex) -{ - return this->getInputSocket(inputSocketIndex)->getReader(); -} - -NodeOperation *NodeOperation::getInputOperation(unsigned int inputSocketIndex) -{ - NodeOperationInput *input = getInputSocket(inputSocketIndex); - if (input && input->isConnected()) { - return &input->getLink()->getOperation(); - } - - return nullptr; -} - -void NodeOperation::getConnectedInputSockets(Inputs *sockets) -{ - for (Inputs::const_iterator it = m_inputs.begin(); it != m_inputs.end(); ++it) { - NodeOperationInput *input = *it; - if (input->isConnected()) { - sockets->push_back(input); - } - } -} - -bool NodeOperation::determineDependingAreaOfInterest(rcti *input, - ReadBufferOperation *readOperation, - rcti *output) -{ - if (isInputOperation()) { - BLI_rcti_init(output, input->xmin, input->xmax, input->ymin, input->ymax); - return false; - } - - rcti tempOutput; - bool first = true; - for (int i = 0; i < getNumberOfInputSockets(); i++) { - NodeOperation *inputOperation = this->getInputOperation(i); - if (inputOperation && - inputOperation->determineDependingAreaOfInterest(input, readOperation, &tempOutput)) { - if (first) { - output->xmin = tempOutput.xmin; - output->ymin = tempOutput.ymin; - output->xmax = tempOutput.xmax; - output->ymax = tempOutput.ymax; - first = false; - } - else { - output->xmin = MIN2(output->xmin, tempOutput.xmin); - output->ymin = MIN2(output->ymin, tempOutput.ymin); - output->xmax = MAX2(output->xmax, tempOutput.xmax); - output->ymax = MAX2(output->ymax, tempOutput.ymax); - } - } - } - return !first; -} - -/***************** - **** OpInput **** - *****************/ - -NodeOperationInput::NodeOperationInput(NodeOperation *op, - DataType datatype, - InputResizeMode resizeMode) - : m_operation(op), m_datatype(datatype), m_resizeMode(resizeMode), m_link(nullptr) -{ -} - -SocketReader *NodeOperationInput::getReader() -{ - if (isConnected()) { - return &m_link->getOperation(); - } - - return nullptr; -} - -void NodeOperationInput::determineResolution(unsigned int resolution[2], - unsigned int preferredResolution[2]) -{ - if (m_link) { - m_link->determineResolution(resolution, preferredResolution); - } -} - -/****************** - **** OpOutput **** - ******************/ - -NodeOperationOutput::NodeOperationOutput(NodeOperation *op, DataType datatype) - : m_operation(op), m_datatype(datatype) -{ -} - -void NodeOperationOutput::determineResolution(unsigned int resolution[2], - unsigned int preferredResolution[2]) -{ - NodeOperation &operation = getOperation(); - if (operation.isResolutionSet()) { - resolution[0] = operation.getWidth(); - resolution[1] = operation.getHeight(); - } - else { - operation.determineResolution(resolution, preferredResolution); - operation.setResolution(resolution); - } -} |