Packages

final case class PenImage(src: D = 1.0, alpha: D = 1.0, dst: D = 0.0, width: I, height: I, x: D = 0, y: D = 0, next: B = false, rule: I = PenImage.SrcOver, op: I = BinaryOp.Plus.id, wrap: I = 0, rollOff: D = 0.86, kaiserBeta: D = 7.5, zeroCrossings: I = 0) extends SingleOut[Double] with Product with Serializable

A UGen that writes the pixels of an image using an x and y input signal. It uses either a sinc-based band-limited resampling algorithm, or bicubic interpolation, depending on the zeroCrossings parameter.

All window defining parameters (width, height) are polled once per matrix. All writing and filter parameters are polled one per output pixel.

src

the source signal's amplitude or "pen color"

alpha

the alpha component of the source signal (0.0 transparent to 1.0 opaque).

dst

the "background" image to draw on. A DC(0.0) can be used, for example, to have a "black" background.

width

the width (number of columns) of the input and output matrix

height

the height (number of rows) of the input and output matrix

x

horizontal position of the dynamic pen signal

y

vertical position of the dynamic pen signal

next

a trigger that causes the UGen to emit the current image and begin a new one. An image of size width * height will be output, and new background data will be read from in.

rule

quasi-Porter-Duff rule id for composition between background (in) and pen foreground. It is assumed that Ar = Ad = 1, and instead of addition we use a custom binary operation op. Where the constrain leads to otherwise identical rules, we flip the operand order (e.g. SrcOver versus SrcAtop).

op

BinaryOp.Op identifier for the operand in the application of the Porter-Duff composition (+ in the standard definition).

wrap

if non-zero, wraps coordinates around the input images boundaries. TODO: currently wrap = 0 is broken if using sinc interpolation!

rollOff

the FIR anti-aliasing roll-off width. Between zero and one.

kaiserBeta

the FIR windowing function's parameter

zeroCrossings

the number of zero-crossings in the truncated and windowed sinc FIR. If zero (default), algorithm uses bicubic interpolation instead.

See also

ScanImage

Linear Supertypes
Serializable, SingleOut[Double], SomeOut[Double, StreamOut], GE.Lazy[Double], GE[Double], UGenSource[UGenInLike[Double], StreamOut], Expander[UGenInLike[Double]], Lazy, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PenImage
  2. Serializable
  3. SingleOut
  4. SomeOut
  5. Lazy
  6. GE
  7. UGenSource
  8. Expander
  9. Lazy
  10. Product
  11. Equals
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PenImage(src: D = 1.0, alpha: D = 1.0, dst: D = 0.0, width: I, height: I, x: D = 0, y: D = 0, next: B = false, rule: I = PenImage.SrcOver, op: I = BinaryOp.Plus.id, wrap: I = 0, rollOff: D = 0.86, kaiserBeta: D = 7.5, zeroCrossings: I = 0)

    src

    the source signal's amplitude or "pen color"

    alpha

    the alpha component of the source signal (0.0 transparent to 1.0 opaque).

    dst

    the "background" image to draw on. A DC(0.0) can be used, for example, to have a "black" background.

    width

    the width (number of columns) of the input and output matrix

    height

    the height (number of rows) of the input and output matrix

    x

    horizontal position of the dynamic pen signal

    y

    vertical position of the dynamic pen signal

    next

    a trigger that causes the UGen to emit the current image and begin a new one. An image of size width * height will be output, and new background data will be read from in.

    rule

    quasi-Porter-Duff rule id for composition between background (in) and pen foreground. It is assumed that Ar = Ad = 1, and instead of addition we use a custom binary operation op. Where the constrain leads to otherwise identical rules, we flip the operand order (e.g. SrcOver versus SrcAtop).

    op

    BinaryOp.Op identifier for the operand in the application of the Porter-Duff composition (+ in the standard definition).

    wrap

    if non-zero, wraps coordinates around the input images boundaries. TODO: currently wrap = 0 is broken if using sinc interpolation!

    rollOff

    the FIR anti-aliasing roll-off width. Between zero and one.

    kaiserBeta

    the FIR windowing function's parameter

    zeroCrossings

    the number of zero-crossings in the truncated and windowed sinc FIR. If zero (default), algorithm uses bicubic interpolation instead.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val alpha: D
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. val dst: D
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. val height: I
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. val kaiserBeta: D
  13. def makeUGen(args: IndexedSeq[UGenIn[_]])(implicit b: Builder): UGenInLike[Double]
    Attributes
    protected
    Definition Classes
    PenImageUGenSource
  14. def makeUGens(implicit b: Builder): UGenInLike[Double]

    Abstract method which must be implemented by creating the actual UGens during expansion.

    Abstract method which must be implemented by creating the actual UGens during expansion. This method is at most called once during graph expansion

    returns

    the expanded object (depending on the type parameter U)

    Attributes
    protected
    Definition Classes
    PenImageExpander
  15. final def name: String
    Definition Classes
    UGenSource
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. val next: B
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. val op: I
  21. def productElementNames: Iterator[String]
    Definition Classes
    Product
  22. val rollOff: D
  23. val rule: I
  24. val src: D
  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. val width: I
  30. val wrap: I
  31. val x: D
  32. val y: D
  33. val zeroCrossings: I

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from SingleOut[Double]

Inherited from SomeOut[Double, StreamOut]

Inherited from GE.Lazy[Double]

Inherited from GE[Double]

Inherited from UGenSource[UGenInLike[Double], StreamOut]

Inherited from Expander[UGenInLike[Double]]

Inherited from Lazy

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped