|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Objectcommon:Generic
common:TrapShape
kcc5:KCC_PlaneCurveTrapBase
kcc5:KCC_KepplersFoliumTrap
class
The Keppler's Folium trap.
For an example of what this trap looks like,
click here.
class KCC_KepplersFoliumTrap( KCC_PlaneCurveTrapBase ) {
; The Keppler's Folium trap.
; <p>
; For an example of what this trap looks like,
; <a href="../additional/kcc5/images/Keppler's Folium Trap.jpg">click here</a>.
;
public:
import "common.ulb"
; constructor
func KCC_KepplersFoliumTrap( Generic pparent )
KCC_PlaneCurveTrapBase( pparent )
endfunc
; call this before each sequence of values to be trapped
func Init( complex pz )
KCC_PlaneCurveTrapBase.Init( pz )
endfunc
; call this for each iteration being trapped
float func Iterate( complex pz )
pz = ApplyRatioAndSize( pz )
x = real( pz )
y = imag( pz )
; Compute the Keppler's Folium Curve.
pz = @fn1(((@fn2(x^@shapeAdjust3)-@shapeAdjust2)^2+ \
@fn3(y^2+(1-@shapeAdjust4)))*(@fn4(x+(1-@shapeAdjust5))* \
(@fn5(x-(@shapeAdjust6-1))-@shapeAdjust2)+@fn6 \
(y^(1+@shapeAdjust7)))-4*@shapeAdjust1* \
(abs(@fn7(x+(@shapeAdjust8-1)))-@shapeAdjust2)* \
@fn8(y^(2*@shapeAdjust9)))-@distort
; Check to see if the point is trapped.
return KCC_PlaneCurveTrapBase.Iterate( pz )
endfunc
float func GetTextureValue()
return m_Texture
endfunc
protected:
float x
float y
default:
title = "Keppler's Folium Trap"
int param v_KCC_KepplersFoliumTrap
caption = "Version (KCC_KepplersFoliumTrap)"
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_KCC_KepplersFoliumTrap < 100
endparam
float param distort
caption = "Fission"
hint = "Generally stretches and splits the elements"
default = 0
visible = @adv
endparam
float param shapeAdjust1
caption = "Shape Adj. I"
default = 1.0
hint = "Shape adjustment parameter I."
endparam
float param shapeAdjust2
caption = "Shape Adj. II"
default = 1.0
hint = "Shape adjustment parameter II."
endparam
float param shapeAdjust3
caption = "Shape Adj. III"
default = 1.0
hint = "Shape adjustment parameter III."
visible = @adv
endparam
float param shapeAdjust4
caption = "Shape Adj. IV"
default = 1.0
hint = "Shape adjustment parameter IV."
visible = @adv
endparam
float param shapeAdjust5
caption = "Shape Adj. V"
default = 1.0
hint = "Shape adjustment parameter V."
visible = @adv
endparam
float param shapeAdjust6
caption = "Shape Adj. VI"
default = 1.0
hint = "Shape adjustment parameter VI."
visible = @adv
endparam
float param shapeAdjust7
caption = "Shape Adj. VII"
default = 1.0
hint = "Shape adjustment parameter VII."
visible = @adv
endparam
float param shapeAdjust8
caption = "Shape Adj. VIII"
default = 1.0
hint = "Shape adjustment parameter VIII."
visible = @adv
endparam
float param shapeAdjust9
caption = "Shape Adj. IX"
default = 1.0
hint = "Shape adjustment parameter IX."
visible = @adv
endparam
;--------------------------------------------------------------------
; Adjustment Functions applied to the formulas.
;--------------------------------------------------------------------
func fn1
default = abs ()
hint = "Changes the shapes of the elements and their relations to each other"
visible = @adv
endfunc
func fn2
default = ident ()
hint = "Changes the shapes of the elements and their relations to each other"
visible = @adv
endfunc
func fn3
default = ident ()
hint = "Changes the shapes of the elements and their relations to each other"
visible = @adv
endfunc
func fn4
default = ident ()
hint = "Changes the shapes of the elements and their relations to each other"
visible = @adv
endfunc
func fn5
caption = "Function 5"
default = ident ()
hint = "Changes the shapes of the elements and their relations to each other"
visible = @adv
endfunc
func fn6
caption = "Function 6"
default = ident ()
hint = "Changes the shapes of the elements and their relations to each other"
visible = @adv
endfunc
func fn7
caption = "Function 7"
default = ident ()
hint = "Changes the shapes of the elements and their relations to each other"
visible = @adv
endfunc
func fn8
caption = "Function 8"
default = ident ()
hint = "Changes the shapes of the elements and their relations to each other"
visible = @adv
endfunc
}
| Constructor Summary | |
|---|---|
KCC_KepplersFoliumTrap()
|
|
KCC_KepplersFoliumTrap(Generic pparent)
constructor |
|
| Method Summary | |
|---|---|
float |
GetTextureValue()
Get texture value. |
void |
Init(complex pz)
call this before each sequence of values to be trapped |
float |
Iterate(complex pz)
call this for each iteration being trapped |
| Methods inherited from class kcc5:KCC_PlaneCurveTrapBase |
|---|
ApplyRatioAndSize |
| Methods inherited from class common:TrapShape |
|---|
GetColorChannel, GetTransformedPoint, IterateSilent, SetThreshold |
| Methods inherited from class common:Generic |
|---|
GetParent |
| Methods inherited from class Object |
|---|
|
| Constructor Detail |
|---|
public KCC_KepplersFoliumTrap(Generic pparent)
public KCC_KepplersFoliumTrap()
| Method Detail |
|---|
public void Init(complex pz)
Init in class KCC_PlaneCurveTrapBasepublic float Iterate(complex pz)
Iterate in class KCC_PlaneCurveTrapBasepublic float GetTextureValue()
TrapShapeOrdinarily, a trap shape does not have a native texture (it is flat). Some formulas may pair trap shapes with trap textures, and may need more information about trap textures when trap shapes are nested via TrapShapeMerge. This function provides support for accessing texture information.
GetTextureValue in class KCC_PlaneCurveTrapBase
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||