The functions projection_is_linear(int mode) and projectionAt(const DD::Image::OutputContext&) are now virtual. If you have a base class pointer and are calling these functions, a different version of these functions might be called. If you need to call a particular base class version you will need to do so explicitly.
The Framebuffer class has been removed.
The FramebufferPlugin class has been removed.
The ordering of the RenderMode enum has changed. Any hard coded values for RenderMode may no longer have the same enum value. We recommend using the enum directly rather than hardcoding values.
MemoryHolder objects must now be created using MemoryHolderFacory in order to register them with the memory system. The memory registration functions isRegistered(), registerMemory() and unregisterMemory() have been removed. e.g.:
#include "DDImage/MemoryHolder.h"
class MemoryHolderDerivedClass : public DD::Image::MemoryHolder
{
public:
// From Memory Holder
virtual bool memoryFree(size_t amount) { ... }
virtual void memoryInfo(Memory::MemoryInfoArray& output, const void* restrict_to) const { ... }
virtual int memoryWeight() const { ... }
...
protected:
MemoryHolderDerivedClass(Arg1Type ard1, Arg2Type arg2) {...}
~MemoryHolderDerivedClass() {...}
...
};
To use the memory holder derived class:
#include "DDImage/MemoryHolderFactory.h"
...
MemoryHolderFactory<MemoryHolderDerivedClass, Arg1Type, Arg2Type> factory;
MemoryHolderDerivedClass* memoryHolder = factory.create(Arg1Type, Arg2Type);
// memoryHolder is now ready for use.
The allocate(...) function arguments have changed, this now takes image size parameters rather than a number of floats. Several operator overloads have been removed.
Pure virtual functions for getEnabled(...), setEnabled(...), getColumnVisibility(...) and setColumnVisibility(...) have been added. These will need to be implemented by classes inheriting from Table_KnobI.
The version of startTransformJackProcessing(...) which takes 4 corners (topLeft, topRight, bottomLeft and bottomRight) has been removed. A version of startTransformJackProcessing(...) which takes a Matrix4 transform matrix has been added. See the documentation of Matrix4 for details onhow to use a transform matrix.
The following pure virtual functions now take TransformJack_ClientI* arguments: isActive(), getCenterPoint(), getRotation(), getDeltaRotation(), getDeltaTranslation(), getScaleCenter(), getTransformMatrix(), getBoundingBox(...), transformCornerPinPoint(...), getDeltaScale(), translateCenter(), isVisible(), setVisibility(...). TransformJack_ClientI can be used to receive notifications of transform jack changes.