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 = 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, 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 = 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, 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
UGen
s during expansion.Abstract method which must be implemented by creating the actual
UGen
s 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