base class to define color modifications
The basic idea is to have instances of color modifiers where each of these can be asked to get a modified version of a color. This can be as easy as to return a fixed color, but may also do any other computation based on the given source color and the local algorithm to apply.
This base implementation defines the abstract base class. Every derivation offers another color blending effect, when needed with parameters for that blending defined as members.
As long as aw080 is not applied, an operator== is needed to implement the operator== of the primitive based on this instances.
For the exact definitions of the color blending applied refer to the implementation of the method getModifiedColor
BColorModifier is not copyable (no copy constructor, no assignment operator); local values cannot be changed after construction. The instances are cheap and the idea is to create them on demand. To be able to reuse these as much as possible, a define for a std::shared_ptr named BColorModifierSharedPtr exists below. All usages should handle instances of BColorModifier encapsulated into these shared pointers.
Definition at line 59 of file bcolormodifier.hxx.