final case class AffineTransform2D(in: D, widthIn: I, heightIn: I, widthOut: I = 0, heightOut: I = 0, m00: D, m10: D, m01: D, m11: D, m02: D, m12: D, wrap: I = 1, rollOff: D = 0.86, kaiserBeta: D = 7.5, zeroCrossings: I = 15) extends SingleOut[Double] with Product with Serializable
An affine transformation UGen for image rotation, scaling, translation, shearing.
It uses either a sinc-based band-limited resampling algorithm, or
bicubic interpolation, depending on the zeroCrossings parameter.
All window defining parameters (widthIn, heightIn, widthOut, heightOut)
are polled once per matrix. All matrix and filter parameters are polled one per
output pixel.
- in
the signal to resample
- widthIn
the width (number of columns) of the input matrix
- heightIn
the height (number of rows) of the input matrix
- widthOut
the width (number of columns) of the output matrix. the special value zero (default) means it is the same as
widthIn.- heightOut
the height (number of rows) of the output matrix. the special value zero (default) means it is the same as
heightIn.- m00
coefficient of the first column of the first row (scale-x)
- m10
coefficient of the first column of the second row (shear-y)
- m01
coefficient of the second column of the first row (shear-x)
- m11
coefficient of the second column of the second row (scale-y)
- m02
coefficient of the third column of the first row (translate-x)
- m12
coefficient of the third column of the second row (translate-y)
- wrap
if non-zero, wraps coordinates around the input images boundaries. TODO: currently
wrap = 0is 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, algorithm uses bicubic interpolation instead.
- See also
- Alphabetic
- By Inheritance
- AffineTransform2D
- Serializable
- SingleOut
- SomeOut
- Lazy
- GE
- UGenSource
- Expander
- Lazy
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new AffineTransform2D(in: D, widthIn: I, heightIn: I, widthOut: I = 0, heightOut: I = 0, m00: D, m10: D, m01: D, m11: D, m02: D, m12: D, wrap: I = 1, rollOff: D = 0.86, kaiserBeta: D = 7.5, zeroCrossings: I = 15)
- in
the signal to resample
- widthIn
the width (number of columns) of the input matrix
- heightIn
the height (number of rows) of the input matrix
- widthOut
the width (number of columns) of the output matrix. the special value zero (default) means it is the same as
widthIn.- heightOut
the height (number of rows) of the output matrix. the special value zero (default) means it is the same as
heightIn.- m00
coefficient of the first column of the first row (scale-x)
- m10
coefficient of the first column of the second row (shear-y)
- m01
coefficient of the second column of the first row (shear-x)
- m11
coefficient of the second column of the second row (scale-y)
- m02
coefficient of the third column of the first row (translate-x)
- m12
coefficient of the third column of the second row (translate-y)
- wrap
if non-zero, wraps coordinates around the input images boundaries. TODO: currently
wrap = 0is 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, algorithm uses bicubic interpolation instead.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val heightIn: I
- val heightOut: I
- val in: D
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val kaiserBeta: D
- val m00: D
- val m01: D
- val m02: D
- val m10: D
- val m11: D
- val m12: D
- def makeUGen(args: IndexedSeq[UGenIn[_]])(implicit b: Builder): UGenInLike[Double]
- Attributes
- protected
- Definition Classes
- AffineTransform2D → UGenSource
- 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
- AffineTransform2D → Expander
- final def name: String
- Definition Classes
- UGenSource
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val rollOff: D
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- val widthIn: I
- val widthOut: I
- val wrap: I
- val zeroCrossings: I
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
- Deprecated