jlb
Class JLB_TrapModeCollection

Object
  extended by common:Generic
      extended by common:TrapMode
          extended by common:TrapModeWithThreshold
              extended by mmf:MMF_TrapModeSmoothWithThreshold
                  extended by jlb:JLB_TrapModeCollection

class 
MMF_TrapModeSmoothWithThreshold:JLB_TrapModeCollection



Ultra Fractal Source

Toggle UF Source Code Display

 class JLB_TrapModeCollection(mmf.ulb:MMF_TrapModeSmoothWithThreshold) {
 public:
   import "common.ulb"
   import "Standard.ulb"
   import "mmf.ulb"
   import "dmj5.ulb"
   import "tma.ulb"
 
   func JLB_TrapModeCollection(Generic pparent)
     MMF_TrapModeSmoothWithThreshold.MMF_TrapModeSmoothWithThreshold(pparent)
     if (@p_source == "dmj5")
       if     (@p_DMJ == "Alternating Average")
         m_trapmode = new @p_DMJ_TrapModeAlternatingAverage(pparent)
       elseif (@p_DMJ == "Alternating Average2")
         m_trapmode = new @p_DMJ_TrapModeAlternatingAverage2(pparent)
       elseif (@p_DMJ == "Average")
         m_TrapMode = new @p_DMJ_TrapModeAverage(pparent)
       elseif (@p_DMJ == "Change Average")
         m_TrapMode = new @p_DMJ_TrapModeChangeAverage(pparent)
       elseif (@p_DMJ == "Closest")
         m_trapmode = new @p_DMJ_TrapModeClosest(pparent)
       elseif (@p_DMJ == "Exponential Average")
         m_trapmode = new @p_DMJ_TrapModeExponentialAverage(pparent)
       elseif (@p_DMJ == "Farthest")
         m_trapmode = new @p_DMJ_TrapModeFarthest(pparent)
       elseif (@p_DMJ == "First")
         m_trapmode = new @p_DMJ_TrapModeFirst(pparent)
       elseif (@p_DMJ == "Inverted Sum")
         m_trapmode = new @p_DMJ_TrapModeInvertedSum(pparent)
       elseif (@p_DMJ == "Last")
         m_trapmode = new @p_DMJ_TrapModeLast(pparent)
       elseif (@p_DMJ == "Product")
         m_trapmode = new @p_DMJ_TrapModeProduct(pparent)
       elseif (@p_DMJ == "Second Closest")
         m_TrapMode = new @p_DMJ_TrapModeSecondClosest(pparent)
       elseif (@p_DMJ == "Second Farthest")
         m_TrapMode = new @p_DMJ_TrapModeSecondFarthest(pparent)
       elseif (@p_DMJ == "Sign Average")
         m_TrapMode = new @p_DMJ_TrapModeSignAverage(pparent)
       elseif (@p_DMJ == "Stacked")
         m_TrapMode = new @p_DMJ_TrapModeStacked(pparent)
       elseif (@p_DMJ == "Sum")
         m_TrapMode = new @p_DMJ_TrapModeSum(pparent)
       elseif (@p_DMJ == "Trap Only")
         m_TrapMode = new @p_DMJ_TrapModeTrapOnly(pparent)
       elseif (@p_DMJ == "Two Closest")
         m_TrapMode = new @p_DMJ_TrapModeTwoClosest(pparent)
       elseif (@p_DMJ == "Two Farthest")
         m_TrapMode = new @p_DMJ_TrapModeTwoFarthest(pparent)
       endif
 
     elseif (@p_source == "mmf")
           if (@p_MMF == "Given Iteration")
         m_trapmode = new @p_MMF_TrapModeIteration(pparent)
       elseif (@p_MMF == "Smooth Average")
         m_trapmode = new @p_MMF_TrapModeSmoothAverage(pparent)
       elseif (@p_MMF == "Smooth Average Above")
         m_trapmode = new @p_MMF_TrapModeSmoothAverageAbove(pparent)
       elseif (@p_MMF == "Smooth Average Below")
         m_trapmode = new @p_MMF_TrapModeSmoothAverageBelow(pparent)
       elseif (@p_MMF == "Smooth Average (from Test Distance)")
         m_trapmode = new @p_MMF_TrapModeSmoothAverageDist(pparent)
       elseif (@p_MMF == "Smooth Change Average")
         m_trapmode = new @p_MMF_TrapModeSmoothChangeAverage(pparent)
       elseif (@p_MMF == "Smooth Closest")
         m_trapmode = new @p_MMF_TrapModeSmoothClosest(pparent)
       elseif (@p_MMF == "Smooth Farthest")
         m_trapmode = new @p_MMF_TrapModeSmoothFarthest(pparent)
       elseif (@p_MMF == "Smooth Farthest Above")
         m_trapmode = new @p_MMF_TrapModeSmoothFarthestAbove(pparent)
       elseif (@p_MMF == "Smooth Farthest Below")
         m_trapmode = new @p_MMF_TrapModeSmoothFarthestBelow(pparent)
       elseif (@p_MMF == "Smooth Farthest (from Test Distance)")
         m_trapmode = new @p_MMF_TrapModeSmoothFarthestDist(pparent)
       elseif (@p_MMF == "Smooth First N")
         m_trapmode = new @p_MMF_TrapModeSmoothNth(pparent)
       elseif (@p_MMF == "Smooth Last")
         m_trapmode = new @p_MMF_TrapModeSmoothLast(pparent)
       elseif (@p_MMF == "Smooth Nearest")
         m_trapmode = new @p_MMF_TrapModeSmoothNearest(pparent)
       elseif (@p_MMF == "Smooth Nearest Above")
         m_trapmode = new @p_MMF_TrapModeSmoothNearestAbove(pparent)
       elseif (@p_MMF == "Smooth Nearest Below")
         m_trapmode = new @p_MMF_TrapModeSmoothNearestBelow(pparent)
       elseif (@p_MMF == "Smooth Product")
         m_trapmode = new @p_MMF_TrapModeSmoothProduct(pparent)
       elseif (@p_MMF == "Smooth Product Above")
         m_trapmode = new @p_MMF_TrapModeSmoothProductAbove(pparent)
       elseif (@p_MMF == "Smooth Product Below")
         m_trapmode = new @p_MMF_TrapModeSmoothProductBelow(pparent)
       elseif (@p_MMF == "Smooth Product (from Test Distance)")
         m_trapmode = new @p_MMF_TrapModeSmoothProductDist(pparent)
       elseif (@p_MMF == "Smooth Second Closest")
         m_trapmode = new @p_MMF_TrapModeSmoothSecondClosest(pparent)
       elseif (@p_MMF == "Smooth Second Farthest")
         m_trapmode = new @p_MMF_TrapModeSmoothSecondFarthest(pparent)
       elseif (@p_MMF == "Smooth Sum")
         m_trapmode = new @p_MMF_TrapModeSmoothSum(pparent)
       elseif (@p_MMF == "Smooth Sum Above")
         m_trapmode = new @p_MMF_TrapModeSmoothSumAbove(pparent)
       elseif (@p_MMF == "Smooth Sum Below")
         m_trapmode = new @p_MMF_TrapModeSmoothSumBelow(pparent)
       elseif (@p_MMF == "Smooth Sum (from Test Distance)")
         m_trapmode = new @p_MMF_TrapModeSmoothSumDist(pparent)
       elseif (@p_MMF == "Smooth Turning Points")
         m_trapmode = new @p_MMF_TrapModeSmoothTurningPoints(pparent)
       elseif (@p_MMF == "Smooth Two Closest")
         m_trapmode = new @p_MMF_TrapModeSmoothTwoClosest(pparent)
       elseif (@p_MMF == "Smooth Two Farthest")
         m_trapmode = new @p_MMF_TrapModeSmoothTwoFarthest(pparent)
       endif
 
     elseif (@p_source == "tma")
       if @p_TMA == "Closest (+edge)"
         m_TrapMode = new @p_TMA_TrapModeClosest(pparent)
       endif
 
     elseif (@p_source == "Standard")
           if (@p_STD == "Alternating Average")
         m_TrapMode = new @p_Standard_TrapModeAlternatingAverage(pparent)
       elseif (@p_STD == "Average")
         m_TrapMode = new @p_Standard_TrapModeAverage(pparent)
       elseif (@p_STD == "Closest")
         m_TrapMode = new @p_Standard_TrapModeClosest(pparent)
       elseif (@p_STD == "Exponential Average")
         m_TrapMode = new @p_Standard_TrapModeExponentialAverage(pparent)
       elseif (@p_STD == "Farthest")
         m_TrapMode = new @p_Standard_TrapModeFarthest(pparent)
       elseif (@p_STD == "First")
         m_TrapMode = new @p_Standard_TrapModeFirst(pparent)
       elseif (@p_STD == "Last")
         m_TrapMode = new @p_Standard_TrapModeLast(pparent)
       elseif (@p_STD == "Product")
         m_TrapMode = new @p_Standard_TrapModeProduct(pparent)
       elseif (@p_STD == "Second Closest")
         m_TrapMode = new @p_Standard_TrapModeSecondClosest(pparent)
       elseif (@p_STD == "Second Farthest")
         m_TrapMode = new @p_Standard_TrapModeSecondFarthest(pparent)
       elseif (@p_STD == "Sum")
         m_TrapMode = new @p_Standard_TrapModeSum(pparent)
       elseif (@p_STD == "Trap Only")
         m_TrapMode = new @p_Standard_TrapModeTrapOnly(pparent)
       elseif (@p_STD == "Two Closest")
         m_TrapMode = new @p_Standard_TrapModeTwoClosest(pparent)
       elseif (@p_STD == "Two Farthest")
         m_TrapMode = new @p_Standard_TrapModeTwoFarthest(pparent)
       endif
 
     elseif (@p_source == "common")
       if @p_COM == "First"
         m_TrapMode = new @p_TrapModeFirst(pparent)
       endif
 
     endif
   endfunc
   
   func Init(complex pz)
     m_TrapMode.Init(pz)
   endfunc
   
   func Iterate(complex pz, complex pzt, float pdistance, float ptexture)
     m_TrapMode.Iterate(pz, pzt, pdistance, ptexture)
   endfunc
 
   func IterateSilent()
     m_TrapMode.IterateSilent()
   endfunc
 
   func Result()
     m_TrapMode.Result()
   endfunc
 
   func OldResult()
     if MMF_TrapModeSmooth(m_TrapMode)
       MMF_TrapModeSmooth m_tms = MMF_TrapModeSmooth(m_TrapMode)
       m_tms.OldResult()
     elseif MMF_TrapModeSmoothWithThreshold(m_TrapMode)
       MMF_TrapModeSmoothWithThreshold m_tmswt = MMF_TrapModeSmoothWithThreshold(m_TrapMode)
       m_tmswt.OldResult()
     endif
 ; Note that you should be able to do this but there's a bug in UF5.01
 ;    if MMF_TrapModeSmooth(m_TrapMode)
 ;      MMF_TrapModeSmooth(m_TrapMode).OldResult()
 ;    elseif MMF_TrapModeSmoothWithThreshold(m_TrapMode)
 ;      MMF_TrapModeSmoothWithThreshold(m_TrapMode).OldResult()
 ;    endif
   endfunc
   
   ; call this to determine if the last sequence produced a solid point
   bool func IsSolid()
     return m_TrapMode.IsSolid()
   endfunc
   
   ; get a final untransformed point
   complex func GetUntransformedPoint(int pindex)
     return m_TrapMode.GetUntransformedPoint(pindex)
   endfunc
 
   ; get a final transformed point
   complex func GetTransformedPoint(int pindex)
     return m_TrapMode.GetTransformedPoint(pindex)
   endfunc
 
   ; get a final distance
   float func GetDistance(int pindex)
     return m_TrapMode.GetDistance(pindex)
   endfunc
 
   ; get a final texture
   float func GetTexture(int pindex)
     return m_TrapMode.GetTexture(pindex)
   endfunc
 
   ; get a final iteration
   float func GetIteration(int pindex)
     return m_TrapMode.GetIteration(pindex)
   endfunc
 
   ; get threshold value
   float func GetThreshold()
     return m_TrapMode.GetThreshold() ; Note that plain TrapModes have this
   endfunc
   
   func SetThreshold(float pthreshold)
     m_TrapMode.SetThreshold(pthreshold) ; Note that plain TrapModes have this
   endfunc
   
   ; get whether threshold is even used
   bool func UsesThreshold()
     return m_TrapMode.UsesThreshold() ; Note that plain TrapModes have this
   endfunc
 
 private:
   TrapMode m_TrapMode
 
 default:
   title = "Trap Mode Collection"
   rating = recommended
   int param v_trapmodecollection
     caption = "Version (TrapModeCollection)"
     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_trapmodecollection < 100
   endparam
   param p_source
     caption = "Source"
     enum = "dmj5" \
            "mmf" \
            "tma" \
            "common" \
            "Standard"
     default = 0
   endparam
   param p_DMJ
     caption = "Trap Modes List"
     enum = "Alternating Average" \
            "Alternating Average2" \
            "Average" \
            "Change Average"\
            "Closest" \
            "Exponential Average" \
            "Farthest" \
            "First" \
            "Inverted Sum" \
            "Last" \
            "Product" \
            "Second Closest" \
            "Second Farthest" \
            "Sign Average" \
            "Stacked" \
            "Sum" \
            "Trap Only" \
            "Two Closest" \
            "Two Farthest"
     default = 4
     visible = (@p_source == "dmj5")
   endparam
   param p_MMF
     caption = "Trap Modes List"
     enum =  "Given Iteration" \
             "Smooth Average" \
             "Smooth Average Above" \
             "Smooth Average Below" \
             "Smooth Average (from Test Distance)" \
             "Smooth Change Average" \
             "Smooth Closest" \
             "Smooth Farthest" \
             "Smooth Farthest Above" \
             "Smooth Farthest Below" \
             "Smooth Farthest (from Test Distance)" \
             "Smooth First N" \
             "Smooth Last" \
             "Smooth Nearest" \
             "Smooth Nearest Above" \
             "Smooth Nearest Below" \
             "Smooth Product" \
             "Smooth Product Above" \
             "Smooth Product Below" \
             "Smooth Product (from Test Distance)" \
             "Smooth Second Closest" \
             "Smooth Second Farthest" \
             "Smooth Sum" \
             "Smooth Sum Above" \
             "Smooth Sum Below" \
             "Smooth Sum (from Test Distance)" \
             "Smooth Turning Points" \
             "Smooth Two Closest" \
             "Smooth Two Farthest"
     default = 5
     visible = (@p_source == "mmf")
   endparam
   param p_TMA
     caption = "Trap Modes List"
     enum = "Closest (+edge)"
     default = 0
     visible = (@p_source == "tma")
   endparam
   param p_STD
     caption = "Trap Modes List"
     enum =  "Alternating Average" \
             "Average" \
             "Closest" \
             "Exponential Average" \
             "Farthest" \
             "First" \
             "Last" \
             "Product" \
             "Second Closest" \
             "Second Farthest" \
             "Sum" \
             "Trap Only" \
             "Two Closest" \
             "Two Farthest"
     default = 2
     visible = (@p_source == "Standard")
   endparam
   param p_COM
     caption = "Trap Modes List"
     enum = "First"
     default = 0
     visible = (@p_source == "common")
   endparam
 
   DMJ_TrapModeAlternatingAverage param p_DMJ_TrapModeAlternatingAverage
     caption = "Trap Mode"
     default = DMJ_TrapModeAlternatingAverage
     visible = (@p_source == "dmj5") && (@p_DMJ == "Alternating Average")
   endparam
   DMJ_TrapModeAlternatingAverage2 param p_DMJ_TrapModeAlternatingAverage2
     caption = "Trap Mode"
     default = DMJ_TrapModeAlternatingAverage2
     visible = (@p_source == "dmj5") && (@p_DMJ == "Alternating Average2")
   endparam
   DMJ_TrapModeAverage param p_DMJ_TrapModeAverage
     caption = "Trap Mode"
     default = DMJ_TrapModeAverage
     visible = (@p_source == "dmj5") && (@p_DMJ == "Average")
   endparam
   DMJ_TrapModeChangeAverage param p_DMJ_TrapModeChangeAverage
     caption = "Trap Mode"
     default = DMJ_TrapModeChangeAverage
     visible = (@p_source == "dmj5") && (@p_DMJ == "Change Average")
   endparam
   DMJ_TrapModeClosest param p_DMJ_TrapModeClosest
     caption = "Trap Mode"
     default = DMJ_TrapModeClosest
     visible = (@p_source == "dmj5") && (@p_DMJ == "Closest")
   endparam
   DMJ_TrapModeExponentialAverage param p_DMJ_TrapModeExponentialAverage
     caption = "Trap Mode"
     default = DMJ_TrapModeExponentialAverage
     visible = (@p_source == "dmj5") && (@p_DMJ == "Exponential Average")
   endparam
   DMJ_TrapModeFarthest param p_DMJ_TrapModeFarthest
     caption = "Trap Mode"
     default = DMJ_TrapModeFarthest
     visible = (@p_source == "dmj5") && (@p_DMJ == "Farthest")
   endparam
   DMJ_TrapModeFirst param p_DMJ_TrapModeFirst
     caption = "Trap Mode"
     default = DMJ_TrapModeFirst
     visible = (@p_source == "dmj5") && (@p_DMJ == "First")
   endparam
   DMJ_TrapModeInvertedSum param p_DMJ_TrapModeInvertedSum
     caption = "Trap Mode"
     default = DMJ_TrapModeInvertedSum
     visible = (@p_source == "dmj5") && (@p_DMJ == "Inverted Sum")
   endparam
   DMJ_TrapModeLast param p_DMJ_TrapModeLast
     caption = "Trap Mode"
     default = DMJ_TrapModeLast
     visible = (@p_source == "dmj5") && (@p_DMJ == "Last")
   endparam
   DMJ_TrapModeProduct param p_DMJ_TrapModeProduct
     caption = "Trap Mode"
     default = DMJ_TrapModeProduct
     visible = (@p_source == "dmj5") && (@p_DMJ == "Product")
   endparam
   DMJ_TrapModeSecondClosest param p_DMJ_TrapModeSecondClosest
     caption = "Trap Mode"
     default = DMJ_TrapModeSecondClosest
     visible = (@p_source == "dmj5") && (@p_DMJ == "Second Closest")
   endparam
   DMJ_TrapModeSecondFarthest param p_DMJ_TrapModeSecondFarthest
     caption = "Trap Mode"
     default = DMJ_TrapModeSecondFarthest
     visible = (@p_source == "dmj5") && (@p_DMJ == "Second Farthest")
   endparam
   DMJ_TrapModeSignAverage param p_DMJ_TrapModeSignAverage
     caption = "Trap Mode"
     default = DMJ_TrapModeSignAverage
     visible = (@p_source == "dmj5") && (@p_DMJ == "Sign Average")
   endparam
   DMJ_TrapModeStacked param p_DMJ_TrapModeStacked
     caption = "Trap Mode"
     default = DMJ_TrapModeStacked
     visible = (@p_source == "dmj5") && (@p_DMJ == "Stacked")
   endparam
   DMJ_TrapModeSum param p_DMJ_TrapModeSum
     caption = "Trap Mode"
     default = DMJ_TrapModeSum
     visible = (@p_source == "dmj5") && (@p_DMJ == "Sum")
   endparam
   DMJ_TrapModeTrapOnly param p_DMJ_TrapModeTrapOnly
     caption = "Trap Mode"
     default = DMJ_TrapModeTrapOnly
     visible = (@p_source == "dmj5") && (@p_DMJ == "Trap Only")
   endparam
   DMJ_TrapModeTwoClosest param p_DMJ_TrapModeTwoClosest
     caption = "Trap Mode"
     default = DMJ_TrapModeTwoClosest
     visible = (@p_source == "dmj5") && (@p_DMJ == "Two Closest")
   endparam
   DMJ_TrapModeTwoFarthest param p_DMJ_TrapModeTwoFarthest
     caption = "Trap Mode"
     default = DMJ_TrapModeTwoFarthest
     visible = (@p_source == "dmj5") && (@p_DMJ == "Two Farthest")
   endparam
 
   MMF_TrapModeIteration param p_MMF_TrapModeIteration
     caption = "Trap mode"
     default = MMF_TrapModeIteration
     visible = (@p_source == "mmf")  && (@p_MMF == "Given Iteration")
   endparam
   MMF_TrapModeSmoothAverage param p_MMF_TrapModeSmoothAverage
     caption = "Trap mode"
     default = MMF_TrapModeSmoothAverage
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Average")
   endparam
   MMF_TrapModeSmoothAverageAbove param p_MMF_TrapModeSmoothAverageAbove
     caption = "Trap mode"
     default = MMF_TrapModeSmoothAverageAbove
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Average Above")
   endparam
   MMF_TrapModeSmoothAverageBelow param p_MMF_TrapModeSmoothAverageBelow
     caption = "Trap mode"
     default = MMF_TrapModeSmoothAverageBelow
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Average Below")
   endparam
   MMF_TrapModeSmoothAverageDist param p_MMF_TrapModeSmoothAverageDist
     caption = "Trap mode"
     default = MMF_TrapModeSmoothAverageDist
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Average (from Test Distance)")
   endparam
   MMF_TrapModeSmoothChangeAverage param p_MMF_TrapModeSmoothChangeAverage
     caption = "Trap mode"
     default = MMF_TrapModeSmoothChangeAverage
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Change Average")
   endparam
   MMF_TrapModeSmoothClosest param p_MMF_TrapModeSmoothClosest
     caption = "Trap mode"
     default = MMF_TrapModeSmoothClosest
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Closest")
   endparam
   MMF_TrapModeSmoothFarthest param p_MMF_TrapModeSmoothFarthest
     caption = "Trap mode"
     default = MMF_TrapModeSmoothFarthest
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Farthest")
   endparam
   MMF_TrapModeSmoothFarthestAbove param p_MMF_TrapModeSmoothFarthestAbove
     caption = "Trap mode"
     default = MMF_TrapModeSmoothFarthestAbove
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Farthest Above")
   endparam
   MMF_TrapModeSmoothFarthestBelow param p_MMF_TrapModeSmoothFarthestBelow
     caption = "Trap mode"
     default = MMF_TrapModeSmoothFarthestBelow
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Farthest Below")
   endparam
   MMF_TrapModeSmoothFarthestDist param p_MMF_TrapModeSmoothFarthestDist
     caption = "Trap mode"
     default = MMF_TrapModeSmoothFarthestDist
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Farthest (from Test Distance)")
   endparam
   MMF_TrapModeSmoothNth param p_MMF_TrapModeSmoothNth
     caption = "Trap mode"
     default = MMF_TrapModeSmoothNth
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth First N")
   endparam
   MMF_TrapModeSmoothLast param p_MMF_TrapModeSmoothLast
     caption = "Trap mode"
     default = MMF_TrapModeSmoothLast
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Last")
   endparam
   MMF_TrapModeSmoothNearest param p_MMF_TrapModeSmoothNearest
     caption = "Trap mode"
     default = MMF_TrapModeSmoothNearest
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Nearest")
   endparam
   MMF_TrapModeSmoothNearestAbove param p_MMF_TrapModeSmoothNearestAbove
     caption = "Trap mode"
     default = MMF_TrapModeSmoothNearestAbove
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Nearest Above")
   endparam
   MMF_TrapModeSmoothNearestBelow param p_MMF_TrapModeSmoothNearestBelow
     caption = "Trap mode"
     default = MMF_TrapModeSmoothNearestBelow
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Nearest Below")
   endparam
   MMF_TrapModeSmoothProduct param p_MMF_TrapModeSmoothProduct
     caption = "Trap mode"
     default = MMF_TrapModeSmoothProduct
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Product")
   endparam
   MMF_TrapModeSmoothProductAbove param p_MMF_TrapModeSmoothProductAbove
     caption = "Trap mode"
     default = MMF_TrapModeSmoothProductAbove
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Product Above")
   endparam
   MMF_TrapModeSmoothProductBelow param p_MMF_TrapModeSmoothProductBelow
     caption = "Trap mode"
     default = MMF_TrapModeSmoothProductBelow
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Product Below")
   endparam
   MMF_TrapModeSmoothProductDist param p_MMF_TrapModeSmoothProductDist
     caption = "Trap mode"
     default = MMF_TrapModeSmoothProductDist
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Product (from Test Distance)")
   endparam
   MMF_TrapModeSmoothSecondClosest param p_MMF_TrapModeSmoothSecondClosest
     caption = "Trap mode"
     default = MMF_TrapModeSmoothSecondClosest
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Second Closest")
   endparam
   MMF_TrapModeSmoothSecondFarthest param p_MMF_TrapModeSmoothSecondFarthest
     caption = "Trap mode"
     default = MMF_TrapModeSmoothSecondFarthest
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Second Farthest")
   endparam
   MMF_TrapModeSmoothSum param p_MMF_TrapModeSmoothSum
     caption = "Trap mode"
     default = MMF_TrapModeSmoothSum
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Sum")
   endparam
   MMF_TrapModeSmoothSumAbove param p_MMF_TrapModeSmoothSumAbove
     caption = "Trap mode"
     default = MMF_TrapModeSmoothSumAbove
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Sum Above")
   endparam
   MMF_TrapModeSmoothSumBelow param p_MMF_TrapModeSmoothSumBelow
     caption = "Trap mode"
     default = MMF_TrapModeSmoothSumBelow
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Sum Below")
   endparam
   MMF_TrapModeSmoothSumDist param p_MMF_TrapModeSmoothSumDist
     caption = "Trap mode"
     default = MMF_TrapModeSmoothSumDist
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Sum (from Test Distance)")
   endparam
   MMF_TrapModeSmoothTurningPoints param p_MMF_TrapModeSmoothTurningPoints
     caption = "Trap mode"
     default = MMF_TrapModeSmoothTurningPoints
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Turning Points")
   endparam
   MMF_TrapModeSmoothTwoClosest param p_MMF_TrapModeSmoothTwoClosest
     caption = "Trap mode"
     default = MMF_TrapModeSmoothTwoClosest
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Two Closest")
   endparam
   MMF_TrapModeSmoothTwoFarthest param p_MMF_TrapModeSmoothTwoFarthest
     caption = "Trap mode"
     default = MMF_TrapModeSmoothTwoFarthest
     visible = (@p_source == "mmf")  && (@p_MMF == "Smooth Two Farthest")
   endparam
 
   TMA_TrapModeClosest param p_TMA_TrapModeClosest
     caption = "Trap Mode"
     default = TMA_TrapModeClosest
     visible = (@p_source == "tma") && (@p_TMA == "Closest (+edge)")
   endparam
 
   Standard_TrapModeAlternatingAverage param p_Standard_TrapModeAlternatingAverage
     caption = "Trap mode"
     default = Standard_TrapModeAlternatingAverage
     visible = (@p_source == "Standard") && (@p_STD == "Alternating Average")
   endparam
   Standard_TrapModeAverage param p_Standard_TrapModeAverage
     caption = "Trap mode"
     default = Standard_TrapModeAverage
     visible = (@p_source == "Standard") && (@p_STD == "Average")
   endparam
   Standard_TrapModeClosest param p_Standard_TrapModeClosest
     caption = "Trap mode"
     default = Standard_TrapModeClosest
     visible = (@p_source == "Standard") && (@p_STD == "Closest")
   endparam
   Standard_TrapModeExponentialAverage param p_Standard_TrapModeExponentialAverage
     caption = "Trap mode"
     default = Standard_TrapModeExponentialAverage
     visible = (@p_source == "Standard") && (@p_STD == "Exponential Average")
   endparam
   Standard_TrapModeFarthest param p_Standard_TrapModeFarthest
     caption = "Trap mode"
     default = Standard_TrapModeFarthest
     visible = (@p_source == "Standard") && (@p_STD == "Farthest")
   endparam
   Standard_TrapModeFirst param p_Standard_TrapModeFirst
     caption = "Trap mode"
     default = Standard_TrapModeFirst
     visible = (@p_source == "Standard") && (@p_STD == "First")
   endparam
   Standard_TrapModeLast param p_Standard_TrapModeLast
     caption = "Trap mode"
     default = Standard_TrapModeLast
     visible = (@p_source == "Standard") && (@p_STD == "Last")
   endparam
   Standard_TrapModeProduct param p_Standard_TrapModeProduct
     caption = "Trap mode"
     default = Standard_TrapModeProduct
     visible = (@p_source == "Standard") && (@p_STD == "Product")
   endparam
   Standard_TrapModeSecondClosest param p_Standard_TrapModeSecondClosest
     caption = "Trap mode"
     default = Standard_TrapModeSecondClosest
     visible = (@p_source == "Standard") && (@p_STD == "Second Closest")
   endparam
   Standard_TrapModeSecondFarthest param p_Standard_TrapModeSecondFarthest
     caption = "Trap mode"
     default = Standard_TrapModeSecondFarthest
     visible = (@p_source == "Standard") && (@p_STD == "Second Farthest")
   endparam
   Standard_TrapModeSum param p_Standard_TrapModeSum
     caption = "Trap mode"
     default = Standard_TrapModeSum
     visible = (@p_source == "Standard") && (@p_STD == "Sum")
   endparam
   Standard_TrapModeTrapOnly param p_Standard_TrapModeTrapOnly
     caption = "Trap mode"
     default = Standard_TrapModeTrapOnly
     visible = (@p_source == "Standard") && (@p_STD == "Trap Only")
   endparam
   Standard_TrapModeTwoClosest param p_Standard_TrapModeTwoClosest
     caption = "Trap mode"
     default = Standard_TrapModeTwoClosest
     visible = (@p_source == "Standard") && (@p_STD == "Two Closest")
   endparam
   Standard_TrapModeTwoFarthest param p_Standard_TrapModeTwoFarthest
     caption = "Trap mode"
     default = Standard_TrapModeTwoFarthest
     visible = (@p_source == "Standard") && (@p_STD == "Two Farthest")
   endparam
 
   TrapModeFirst param p_TrapModeFirst
     caption = "Trap Mode"
     default = TrapModeFirst
     visible = (@p_source == "common") && (@p_COM == "First")
   endparam
 }
 


Constructor Summary
JLB_TrapModeCollection()
           
JLB_TrapModeCollection(Generic pparent)
           
 
Method Summary
 float GetDistance(int pindex)
          get a final distance
 float GetIteration(int pindex)
          get a final iteration
 float GetTexture(int pindex)
          get a final texture
 float GetThreshold()
          get threshold value
 complex GetTransformedPoint(int pindex)
          get a final transformed point
 complex GetUntransformedPoint(int pindex)
          get a final untransformed point
 void Init(complex pz)
          call this at the beginning of each sequence
 boolean IsSolid()
          call this to determine if the last sequence produced a solid point
 void Iterate(complex pz, complex pzt, float pdistance, float ptexture)
          call this for each point
 void IterateSilent()
          call this for each point that is ignored (for smooth orbit traps)
if the last point was trapped then copy the current values into the "old" ones
 void OldResult()
          call this to compute penultimate results
 void Result()
          call this to compute final results
 void SetThreshold(float pthreshold)
           
 boolean UsesThreshold()
          get whether threshold is even used
 
Methods inherited from class common:Generic
GetParent
 
Methods inherited from class Object
 

Constructor Detail

JLB_TrapModeCollection

public JLB_TrapModeCollection(Generic pparent)

JLB_TrapModeCollection

public JLB_TrapModeCollection()
Method Detail

Init

public void Init(complex pz)
Description copied from class: MMF_TrapModeSmoothWithThreshold
call this at the beginning of each sequence

Overrides:
Init in class MMF_TrapModeSmoothWithThreshold
Parameters:
pz - the initial z value

Iterate

public void Iterate(complex pz,
                    complex pzt,
                    float pdistance,
                    float ptexture)
Description copied from class: MMF_TrapModeSmoothWithThreshold
call this for each point

Note that derived functions should always copy all used parameters to the "old" versions when they are changed as here.

m_wastrapped should be set to true in the derived function when the main (current) values get changed

Overrides:
Iterate in class MMF_TrapModeSmoothWithThreshold
Parameters:
pz - the z value
pzt - the transformed z value
pdistance - the trap distance
ptexture - tyhe texture value

IterateSilent

public void IterateSilent()
Description copied from class: MMF_TrapModeSmoothWithThreshold
call this for each point that is ignored (for smooth orbit traps)
if the last point was trapped then copy the current values into the "old" ones

Overrides:
IterateSilent in class MMF_TrapModeSmoothWithThreshold

Result

public void Result()
Description copied from class: TrapMode
call this to compute final results

Overrides:
Result in class TrapMode

OldResult

public void OldResult()
Description copied from class: MMF_TrapModeSmoothWithThreshold
call this to compute penultimate results

This should only be called after previously calling Result() and getting the actual result value using the Trap Color Mode since the original result values are destroyed by this call.

Overrides:
OldResult in class MMF_TrapModeSmoothWithThreshold

IsSolid

public boolean IsSolid()
call this to determine if the last sequence produced a solid point

Overrides:
IsSolid in class TrapMode

GetUntransformedPoint

public complex GetUntransformedPoint(int pindex)
get a final untransformed point

Overrides:
GetUntransformedPoint in class TrapMode

GetTransformedPoint

public complex GetTransformedPoint(int pindex)
get a final transformed point

Overrides:
GetTransformedPoint in class TrapMode

GetDistance

public float GetDistance(int pindex)
get a final distance

Overrides:
GetDistance in class TrapMode

GetTexture

public float GetTexture(int pindex)
get a final texture

Overrides:
GetTexture in class TrapMode

GetIteration

public float GetIteration(int pindex)
get a final iteration

Overrides:
GetIteration in class TrapMode

GetThreshold

public float GetThreshold()
get threshold value

Overrides:
GetThreshold in class TrapModeWithThreshold

SetThreshold

public void SetThreshold(float pthreshold)
Overrides:
SetThreshold in class TrapModeWithThreshold

UsesThreshold

public boolean UsesThreshold()
get whether threshold is even used

Overrides:
UsesThreshold in class TrapModeWithThreshold