|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Object common:Generic common:TrapColoring mmf:MMF_TrapColoring
class
Some extensions to the standard trap colouring.
class MMF_TrapColoring(common.ulb:TrapColoring) { ; Some extensions to the standard trap colouring.<br> public: import "common.ulb" ; <p> ; @param pparent the parent, generally "this" for the parent, or zero<br> func MMF_TrapColoring(Generic pparent) TrapColoring.TrapColoring(pparent) m_ColorTransfer = new @f_colortransfer(this) m_TextureTransfer = new @f_texturetransfer(this) m_ColorTransfer.Init(0) m_TextureTransfer.Init(0) m_TextureFlag = true if @colourby>7 m_Image = new @f_image(this) endif if @colourby=="Image All" m_Merge = new @f_merge(this) if @adjustlayer m_Adjust = new @f_adjust(this) endif endif endfunc ; <p> ; @return the colouring value for the trap<br> float func Result(TrapMode ptrapmode) complex v = (0,0) float f = 0.0 if @colourby=="Distance" f = ptrapmode.GetDistance(0) elseif @colourby=="Iteration" f = 0.05*ptrapmode.GetIteration(0) else if @usetrap=="Original Z value" v = ptrapmode.GetUntransformedPoint(0) elseif @usetrap=="Trapped Z value" v = ptrapmode.GetTransformedPoint(0) endif if @colourby=="Angle" || @colourby=="Sine" if (f = atan2(v))<0.0 f = 2.0*#pi + f endif if @colourby=="Angle" f = f/(2.0*#pi) else f = abs(1.0 + sin(f)) endif elseif @colourby=="Magnitude" f = cabs(v) elseif @colourby=="Real" f = real(v) elseif @colourby=="Imaginary" f = imag(v) elseif @colourby!="Texture Only" color clr = m_Image.GetColor(v) if @colourby=="Image All" f = 0.299*red(clr) + 0.587*green(clr) + 0.114*blue(clr) elseif @colourby=="Image Red" f = red(clr) elseif @colourby=="Image Green" f = green(clr) elseif @colourby=="Image Blue" f = blue(clr) elseif @colourby=="Image Alpha" f = alpha(clr) elseif @colourby=="Image Hue" f = hue(clr)/6.0 elseif @colourby=="Image Saturation" f = sat(clr) elseif @colourby=="Image Luminance" f = lum(clr) endif endif endif if @colourby!="Texture Only" && m_TextureFlag return m_ColorTransfer.Iterate(f) \ + m_TextureTransfer.Iterate(ptrapmode.GetTexture(0)) elseif m_TextureFlag return m_TextureTransfer.Iterate(ptrapmode.GetTexture(0)) else return m_ColorTransfer.Iterate(f) endif endfunc ; <p> ; @return flag for using "image all"<br> bool func UseColor() if @colourby=="Image All" return true endif return false endfunc ; <p> ; @param ptrapmode the trapmode<br> ; @return texture value<br> float func ResultTexture(TrapMode ptrapmode) return m_TextureTransfer.Iterate(ptrapmode.GetTexture(0)) endfunc ; <p> ; @param ptrapmode the trapmode<br> ; @return the colour<br> color func ResultColor(TrapMode ptrapmode) complex v if @usetrap=="Original Z value" v = ptrapmode.GetUntransformedPoint(0) else;if @usetrap=="Trapped Z value" v = ptrapmode.GetTransformedPoint(0) endif return m_Image.GetColor(v) endfunc ; <p> ; @param clr image colour<br> ; @param tex texture index<br> ; @return merged colour<br> color func MergeResult(color clr, float tex) if @adjustlayer if m_TextureFlag clr = m_Merge.GradientMerge(clr, tex) endif color c = @f_adjustcolour if @adjusttype==0 c = RGB(@adjred, @adjgreen, @adjblue) endif c = compose(clr, m_Adjust.Merge(clr, c), @f_opacity) return RGBA(red(c), green(c), blue(c), alpha(clr)) endif if m_TextureFlag return m_Merge.GradientMerge(clr, tex) endif return clr endfunc ; @param flag indicates whether texturing is used or not<br> func SetTextureFlag(bool flag) m_TextureFlag = flag endfunc protected: Transfer m_ColorTransfer Transfer m_TextureTransfer ImageWrapper m_Image GradientLayer m_Merge ColorMerge m_Adjust BOOL m_TextureFlag default: title = "MMF Colour Selector" int param v_mmf_trapcoloring caption = "Version (MMF_TrapColoring)" default = 100 hint = "This version parameter is used to detect when a change \ has been made to the formula that is incompatible with \ the previous version. When that happens, this field will \ reflect the old version number to alert you to the fact \ that an alternate rendering is being used." visible = @v_mmf_trapcoloring < 100 endparam int param colourby caption = "Colour By" enum = "Distance" "Iteration" "Angle" "Magnitude" "Real" "Imaginary" \ "Sine" "Texture Only" "Image All""Image Red" "Image Green" \ "Image Blue" "Image Alpha" "Image Hue" "Image Saturation" \ "Image Luminance" default = 0 hint = "Note that 'Texture Only' will only produce colouring if \ you're using a texture other than dmj5->Flat Texture. \ 'Image All' maps the image brightness (Yiq) to UF's gradient \ if the colouring is being used as a gradient colouring or uses \ the image colours if the colouring is being used as a direct \ colouring. 'Image Red' maps the image red to a gradient, \ 'Image Green' the green, 'Image Blue' the blue, 'Image Hue' \ the hue, 'Image Saturation' the saturation and 'Image Luminance' \ the luminance." endparam ImageWrapper param f_image caption = "Image Object" default = MMF_ImageImport hint = "This is the image object to use for your trap colouring." visible = @colourby>7 endparam int param usetrap caption = "Z value" enum = "Original Z value" "Trapped Z value" default = 0 hint = "When using 'Angle' as the value to colour by 'Original \ Z value' gives 'Angle' or 'Angle of Z' and 'Trapped \ Z value' gives 'Angle to Trap'." visible = @colourby>1 endparam Transfer param f_colortransfer caption = "Colour Transfer" default = NullTransfer hint = "Allows you to manipulate the colour value from the trap \ before combining with any texture. Does not apply to 'Image All' \ if the main colouring is in direct mode." visible = @colourby!=7 endparam Transfer param f_texturetransfer caption = "Texture Transfer" default = NullTransfer hint = "Allows you to manipulate any texture value before \ combining with the colour value from the trap." endparam GradientLayer param f_merge caption = "Texture/Iteration Merge" default = MMF_GradientLayer hint = "Only used if the main colouring is being used in direct colouring \ mode and texturing and/or adding the smooth iteration count \ is/are in use. Use to merge the texture/iteration value with the \ image. Note that the gradient you choose controls the colour of \ the texture/iteration layer which is normally treated as the top \ layer." visible = @colourby=="Image All" expanded = false endparam bool param adjustlayer caption = "Add Adjust layer" default = false hint = "Allows you to add an adjustment layer in a given colour to merge \ on top of the image/texture. Only active if the main colouring \ is in direct mode." visible = @colourby=="Image All" endparam int param adjusttype caption = "Colour or RGB" enum = "RGB values" "Colour Parameter" default = 1 hint = "This option is specifically added so that if you choose \ 'RGB values' you can 'explore' them and see changes to the image \ as you change the RGB. The option may become redundant in a \ future version of UF." visible = @colourby=="Image All" && @adjustlayer endparam float param adjred caption = "Red Value" default = 1.0 hint = "The red part of the adjust colour (0 to 1)." visible = @colourby=="Image All" && @adjustlayer && @adjusttype==0 endparam float param adjgreen caption = "Green Value" default = 1.0 hint = "The green part of the adjust colour (0 to 1)." visible = @colourby=="Image All" && @adjustlayer && @adjusttype==0 endparam float param adjblue caption = "Blue Value" default = 1.0 hint = "The blue part of the adjust colour (0 to 1)." visible = @colourby=="Image All" && @adjustlayer && @adjusttype==0 endparam color param f_adjustcolour caption = "Adjust Layer Colour" default = RGB(1,1,1) hint = "Allows you to apply overall adjustments to your colouring." visible = @colourby=="Image All" && @adjustlayer && @adjusttype==1 endparam ColorMerge param f_adjust caption = "Adjustment Layer Merge" default = MMF_ExtendedColorMerge visible = @colourby=="Image All" && @adjustlayer endparam float param f_opacity caption = "Adjustment Opacity" default = 1.0 hint = "Use to modify the adjustment opacity, the normal range is from \ 0 to 1." visible = @colourby=="Image All" && @adjustlayer endparam }
Constructor Summary | |
---|---|
MMF_TrapColoring()
|
|
MMF_TrapColoring(Generic pparent)
|
Method Summary | |
---|---|
color |
MergeResult(color clr,
float tex)
|
float |
Result(TrapMode ptrapmode)
|
color |
ResultColor(TrapMode ptrapmode)
|
float |
ResultTexture(TrapMode ptrapmode)
|
void |
SetTextureFlag(boolean flag)
|
boolean |
UseColor()
|
Methods inherited from class common:Generic |
---|
GetParent |
Methods inherited from class Object |
---|
|
Constructor Detail |
---|
public MMF_TrapColoring(Generic pparent)
pparent
- the parent, generally "this" for the parent, or zeropublic MMF_TrapColoring()
Method Detail |
---|
public float Result(TrapMode ptrapmode)
Result
in class TrapColoring
public boolean UseColor()
public float ResultTexture(TrapMode ptrapmode)
ptrapmode
- the trapmodepublic color ResultColor(TrapMode ptrapmode)
ptrapmode
- the trapmodepublic color MergeResult(color clr, float tex)
clr
- image colourtex
- texture indexpublic void SetTextureFlag(boolean flag)
flag
- indicates whether texturing is used or not
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |