Blender  V2.93
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
blender::compositor::MathBaseOperation Class Reference

#include <COM_MathBaseOperation.h>

Inherits blender::compositor::NodeOperation.

Inherited by blender::compositor::MathAbsoluteOperation, blender::compositor::MathAddOperation, blender::compositor::MathArcCosineOperation, blender::compositor::MathArcSineOperation, blender::compositor::MathArcTan2Operation, blender::compositor::MathArcTangentOperation, blender::compositor::MathCeilOperation, blender::compositor::MathCompareOperation, blender::compositor::MathCosineOperation, blender::compositor::MathDegreesOperation, blender::compositor::MathDivideOperation, blender::compositor::MathExponentOperation, blender::compositor::MathFloorOperation, blender::compositor::MathFractOperation, blender::compositor::MathGreaterThanOperation, blender::compositor::MathHyperbolicCosineOperation, blender::compositor::MathHyperbolicSineOperation, blender::compositor::MathHyperbolicTangentOperation, blender::compositor::MathInverseSqrtOperation, blender::compositor::MathLessThanOperation, blender::compositor::MathLogarithmOperation, blender::compositor::MathMaximumOperation, blender::compositor::MathMinimumOperation, blender::compositor::MathModuloOperation, blender::compositor::MathMultiplyAddOperation, blender::compositor::MathMultiplyOperation, blender::compositor::MathPingpongOperation, blender::compositor::MathPowerOperation, blender::compositor::MathRadiansOperation, blender::compositor::MathRoundOperation, blender::compositor::MathSignOperation, blender::compositor::MathSineOperation, blender::compositor::MathSmoothMaxOperation, blender::compositor::MathSmoothMinOperation, blender::compositor::MathSnapOperation, blender::compositor::MathSqrtOperation, blender::compositor::MathSubtractOperation, blender::compositor::MathTangentOperation, blender::compositor::MathTruncOperation, and blender::compositor::MathWrapOperation.

Public Member Functions

void initExecution () override
 
void deinitExecution () override
 
void determineResolution (unsigned int resolution[2], unsigned int preferredResolution[2]) override
 
void setUseClamp (bool value)
 
- Public Member Functions inherited from blender::compositor::NodeOperation
virtual ~NodeOperation ()
 
void set_name (const std::string name)
 
const std::string get_name () const
 
void set_id (const int id)
 
const int get_id () const
 
const NodeOperationFlags get_flags () const
 
unsigned int getNumberOfInputSockets () const
 
unsigned int getNumberOfOutputSockets () const
 
NodeOperationOutputgetOutputSocket (unsigned int index=0)
 
NodeOperationInputgetInputSocket (unsigned int index)
 
virtual bool isOutputOperation (bool) const
 isOutputOperation determines whether this operation is an output of the ExecutionSystem during rendering or editing. More...
 
void setbNodeTree (const bNodeTree *tree)
 
virtual void executeRegion (rcti *, unsigned int)
 when a chunk is executed by a CPUDevice, this method is called More...
 
virtual void executeOpenCLRegion (OpenCLDevice *, rcti *, unsigned int, MemoryBuffer **, MemoryBuffer *)
 when a chunk is executed by an OpenCLDevice, this method is called More...
 
virtual void executeOpenCL (OpenCLDevice *, MemoryBuffer *, cl_mem, MemoryBuffer **, std::list< cl_mem > *, std::list< cl_kernel > *)
 custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevice. More...
 
void setResolution (unsigned int resolution[2])
 set the resolution More...
 
virtual bool isActiveViewerOutput () const
 is this operation the active viewer output user can select an ViewerNode to be active (the result of this node will be drawn on the backdrop). More...
 
virtual bool determineDependingAreaOfInterest (rcti *input, ReadBufferOperation *readOperation, rcti *output)
 
void setResolutionInputSocketIndex (unsigned int index)
 set the index of the input socket that will determine the resolution of this operation More...
 
virtual eCompositorPriority getRenderPriority () const
 get the render priority of this node. More...
 
bool isBraked () const
 
void updateDraw ()
 
unsigned int getWidth () const
 
unsigned int getHeight () const
 
void readSampled (float result[4], float x, float y, PixelSampler sampler)
 
void readFiltered (float result[4], float x, float y, float dx[2], float dy[2])
 
void read (float result[4], int x, int y, void *chunkData)
 
virtual void * initializeTileData (rcti *)
 
virtual void deinitializeTileData (rcti *, void *)
 
virtual MemoryBuffergetInputMemoryBuffer (MemoryBuffer **)
 
virtual std::unique_ptr< MetaDatagetMetaData ()
 

Protected Member Functions

 MathBaseOperation ()
 
void clampIfNeeded (float color[4])
 
- Protected Member Functions inherited from blender::compositor::NodeOperation
 NodeOperation ()
 
void addInputSocket (DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
 
void addOutputSocket (DataType datatype)
 
void setWidth (unsigned int width)
 
void setHeight (unsigned int height)
 
SocketReadergetInputSocketReader (unsigned int inputSocketindex)
 
NodeOperationgetInputOperation (unsigned int inputSocketindex)
 
void deinitMutex ()
 
void initMutex ()
 
void lockMutex ()
 
void unlockMutex ()
 
void setComplex (bool complex)
 set whether this operation is complex More...
 
virtual void executePixelSampled (float[4], float, float, PixelSampler)
 calculate a single pixel More...
 
virtual void executePixel (float output[4], int x, int y, void *)
 calculate a single pixel More...
 
virtual void executePixelFiltered (float[4], float, float, float[2], float[2])
 calculate a single pixel using an EWA filter More...
 

Protected Attributes

SocketReaderm_inputValue1Operation
 
SocketReaderm_inputValue2Operation
 
SocketReaderm_inputValue3Operation
 
bool m_useClamp
 
- Protected Attributes inherited from blender::compositor::NodeOperation
unsigned int m_width
 
unsigned int m_height
 
NodeOperationFlags flags
 

Detailed Description

this program converts an input color to an output value. it assumes we are in sRGB color space.

Definition at line 29 of file COM_MathBaseOperation.h.

Constructor & Destructor Documentation

◆ MathBaseOperation()

blender::compositor::MathBaseOperation::MathBaseOperation ( )
protected

Member Function Documentation

◆ clampIfNeeded()

void blender::compositor::MathBaseOperation::clampIfNeeded ( float  color[4])
protected

Definition at line 69 of file COM_MathBaseOperation.cc.

References CLAMP, and m_useClamp.

Referenced by blender::compositor::MathAddOperation::executePixelSampled(), blender::compositor::MathSubtractOperation::executePixelSampled(), blender::compositor::MathMultiplyOperation::executePixelSampled(), blender::compositor::MathDivideOperation::executePixelSampled(), blender::compositor::MathSineOperation::executePixelSampled(), blender::compositor::MathCosineOperation::executePixelSampled(), blender::compositor::MathTangentOperation::executePixelSampled(), blender::compositor::MathHyperbolicSineOperation::executePixelSampled(), blender::compositor::MathHyperbolicCosineOperation::executePixelSampled(), blender::compositor::MathHyperbolicTangentOperation::executePixelSampled(), blender::compositor::MathArcSineOperation::executePixelSampled(), blender::compositor::MathArcCosineOperation::executePixelSampled(), blender::compositor::MathArcTangentOperation::executePixelSampled(), blender::compositor::MathPowerOperation::executePixelSampled(), blender::compositor::MathLogarithmOperation::executePixelSampled(), blender::compositor::MathMinimumOperation::executePixelSampled(), blender::compositor::MathMaximumOperation::executePixelSampled(), blender::compositor::MathRoundOperation::executePixelSampled(), blender::compositor::MathLessThanOperation::executePixelSampled(), blender::compositor::MathGreaterThanOperation::executePixelSampled(), blender::compositor::MathModuloOperation::executePixelSampled(), blender::compositor::MathAbsoluteOperation::executePixelSampled(), blender::compositor::MathRadiansOperation::executePixelSampled(), blender::compositor::MathDegreesOperation::executePixelSampled(), blender::compositor::MathArcTan2Operation::executePixelSampled(), blender::compositor::MathFloorOperation::executePixelSampled(), blender::compositor::MathCeilOperation::executePixelSampled(), blender::compositor::MathFractOperation::executePixelSampled(), blender::compositor::MathSqrtOperation::executePixelSampled(), blender::compositor::MathInverseSqrtOperation::executePixelSampled(), blender::compositor::MathSignOperation::executePixelSampled(), blender::compositor::MathExponentOperation::executePixelSampled(), blender::compositor::MathTruncOperation::executePixelSampled(), blender::compositor::MathSnapOperation::executePixelSampled(), blender::compositor::MathWrapOperation::executePixelSampled(), blender::compositor::MathPingpongOperation::executePixelSampled(), blender::compositor::MathCompareOperation::executePixelSampled(), blender::compositor::MathMultiplyAddOperation::executePixelSampled(), blender::compositor::MathSmoothMinOperation::executePixelSampled(), and blender::compositor::MathSmoothMaxOperation::executePixelSampled().

◆ deinitExecution()

void blender::compositor::MathBaseOperation::deinitExecution ( )
overridevirtual

Deinitialize the execution

Reimplemented from blender::compositor::NodeOperation.

Definition at line 44 of file COM_MathBaseOperation.cc.

References m_inputValue1Operation, m_inputValue2Operation, and m_inputValue3Operation.

◆ determineResolution()

void blender::compositor::MathBaseOperation::determineResolution ( unsigned int  resolution[2],
unsigned int  preferredResolution[2] 
)
overridevirtual

◆ initExecution()

void blender::compositor::MathBaseOperation::initExecution ( )
overridevirtual

◆ setUseClamp()

void blender::compositor::MathBaseOperation::setUseClamp ( bool  value)
inline

Member Data Documentation

◆ m_inputValue1Operation

SocketReader* blender::compositor::MathBaseOperation::m_inputValue1Operation
protected

Prefetched reference to the inputProgram

Definition at line 34 of file COM_MathBaseOperation.h.

Referenced by deinitExecution(), blender::compositor::MathAddOperation::executePixelSampled(), blender::compositor::MathSubtractOperation::executePixelSampled(), blender::compositor::MathMultiplyOperation::executePixelSampled(), blender::compositor::MathDivideOperation::executePixelSampled(), blender::compositor::MathSineOperation::executePixelSampled(), blender::compositor::MathCosineOperation::executePixelSampled(), blender::compositor::MathTangentOperation::executePixelSampled(), blender::compositor::MathHyperbolicSineOperation::executePixelSampled(), blender::compositor::MathHyperbolicCosineOperation::executePixelSampled(), blender::compositor::MathHyperbolicTangentOperation::executePixelSampled(), blender::compositor::MathArcSineOperation::executePixelSampled(), blender::compositor::MathArcCosineOperation::executePixelSampled(), blender::compositor::MathArcTangentOperation::executePixelSampled(), blender::compositor::MathPowerOperation::executePixelSampled(), blender::compositor::MathLogarithmOperation::executePixelSampled(), blender::compositor::MathMinimumOperation::executePixelSampled(), blender::compositor::MathMaximumOperation::executePixelSampled(), blender::compositor::MathRoundOperation::executePixelSampled(), blender::compositor::MathLessThanOperation::executePixelSampled(), blender::compositor::MathGreaterThanOperation::executePixelSampled(), blender::compositor::MathModuloOperation::executePixelSampled(), blender::compositor::MathAbsoluteOperation::executePixelSampled(), blender::compositor::MathRadiansOperation::executePixelSampled(), blender::compositor::MathDegreesOperation::executePixelSampled(), blender::compositor::MathArcTan2Operation::executePixelSampled(), blender::compositor::MathFloorOperation::executePixelSampled(), blender::compositor::MathCeilOperation::executePixelSampled(), blender::compositor::MathFractOperation::executePixelSampled(), blender::compositor::MathSqrtOperation::executePixelSampled(), blender::compositor::MathInverseSqrtOperation::executePixelSampled(), blender::compositor::MathSignOperation::executePixelSampled(), blender::compositor::MathExponentOperation::executePixelSampled(), blender::compositor::MathTruncOperation::executePixelSampled(), blender::compositor::MathSnapOperation::executePixelSampled(), blender::compositor::MathWrapOperation::executePixelSampled(), blender::compositor::MathPingpongOperation::executePixelSampled(), blender::compositor::MathCompareOperation::executePixelSampled(), blender::compositor::MathMultiplyAddOperation::executePixelSampled(), blender::compositor::MathSmoothMinOperation::executePixelSampled(), blender::compositor::MathSmoothMaxOperation::executePixelSampled(), initExecution(), and MathBaseOperation().

◆ m_inputValue2Operation

SocketReader* blender::compositor::MathBaseOperation::m_inputValue2Operation
protected

Definition at line 35 of file COM_MathBaseOperation.h.

Referenced by deinitExecution(), blender::compositor::MathAddOperation::executePixelSampled(), blender::compositor::MathSubtractOperation::executePixelSampled(), blender::compositor::MathMultiplyOperation::executePixelSampled(), blender::compositor::MathDivideOperation::executePixelSampled(), blender::compositor::MathSineOperation::executePixelSampled(), blender::compositor::MathCosineOperation::executePixelSampled(), blender::compositor::MathTangentOperation::executePixelSampled(), blender::compositor::MathHyperbolicSineOperation::executePixelSampled(), blender::compositor::MathHyperbolicCosineOperation::executePixelSampled(), blender::compositor::MathHyperbolicTangentOperation::executePixelSampled(), blender::compositor::MathArcSineOperation::executePixelSampled(), blender::compositor::MathArcCosineOperation::executePixelSampled(), blender::compositor::MathArcTangentOperation::executePixelSampled(), blender::compositor::MathPowerOperation::executePixelSampled(), blender::compositor::MathLogarithmOperation::executePixelSampled(), blender::compositor::MathMinimumOperation::executePixelSampled(), blender::compositor::MathMaximumOperation::executePixelSampled(), blender::compositor::MathRoundOperation::executePixelSampled(), blender::compositor::MathLessThanOperation::executePixelSampled(), blender::compositor::MathGreaterThanOperation::executePixelSampled(), blender::compositor::MathModuloOperation::executePixelSampled(), blender::compositor::MathArcTan2Operation::executePixelSampled(), blender::compositor::MathSnapOperation::executePixelSampled(), blender::compositor::MathWrapOperation::executePixelSampled(), blender::compositor::MathPingpongOperation::executePixelSampled(), blender::compositor::MathCompareOperation::executePixelSampled(), blender::compositor::MathMultiplyAddOperation::executePixelSampled(), blender::compositor::MathSmoothMinOperation::executePixelSampled(), blender::compositor::MathSmoothMaxOperation::executePixelSampled(), initExecution(), and MathBaseOperation().

◆ m_inputValue3Operation

SocketReader* blender::compositor::MathBaseOperation::m_inputValue3Operation
protected

◆ m_useClamp

bool blender::compositor::MathBaseOperation::m_useClamp
protected

Definition at line 38 of file COM_MathBaseOperation.h.

Referenced by clampIfNeeded(), and MathBaseOperation().


The documentation for this class was generated from the following files: