<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="jit.rubix" module="jit" category="Jitter Spatial">
	<digest>
		Reorder grid of rectangles
	</digest>
	<description>
		<o>jit.rubix</o> segments a matrix into a grid of rectangular cells whose cells can be reordered, flipped both horizontally and vertically, frozen, and filled with a single color value derived from a cell in the grid area (monochromatic).
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter Spatial
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="matrix">
			<digest>
				in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="matrix">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="matrix">
			<digest>
				out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="matrix">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--MOP-->
	<mop matrixinputcount="1" matrixoutputcount="1">
		<matrixoutput name="out" planelink="1" typelink="1" dimlink="1" minplanecount="4" maxplanecount="4" mindimcount="1" maxdimcount="32">
			<types>
				char
			</types>
		</matrixoutput>
	</mop>
	<!--MESSAGES-->
	<methodlist>
		<method name="colrot">
			<arglist>
				<arg name="column" type="int" />
				<arg name="number-of-cells" type="int" />
			</arglist>
			<digest>
				Rotate a column by a number of cells
			</digest>
			<description>
				Rotates the column specified by <i>column</i> the number of cells specified by <i>rotate-cells</i>.
			</description>
		</method>
		<method name="freeze">
			<arglist>
				<arg name="column" type="int" />
				<arg name="row" type="int" />
				<arg name="0/1" type="int" />
			</arglist>
			<digest>
				Freeze a cell's contents
			</digest>
			<description>
				Toggles the freeze flag for the cell specified by <i>column row</i>. If set, the cell's contents will be frozen.
			</description>
		</method>
		<method name="hflip">
			<arglist>
				<arg name="column" type="int" />
				<arg name="row" type="int" />
				<arg name="0/1" type="int" />
			</arglist>
			<digest>
				Flip a cell horizontally
			</digest>
			<description>
				Toggles the horizontal flip flag for the cell specified by <i>column row</i>. If set, the cell's contents will be flipped horizontally.
			</description>
		</method>
		<method name="mono">
			<arglist>
				<arg name="column" type="int" />
				<arg name="row" type="int" />
				<arg name="0/1" type="int" />
			</arglist>
			<digest>
				Fill the cell with the upper left corner cell's color
			</digest>
			<description>
				Toggles the mono flag for the cell specified by <i>column row</i>. If set, the cell's contents will be all the same value as the upper left most value in cell.
			</description>
		</method>
		<method name="nomono">
			<arglist>
				<arg name="column" type="int" />
				<arg name="row" type="int" />
				<arg name="0/1" type="int" />
			</arglist>
			<digest>
				Disable mono mode for a cell
			</digest>
			<description>
				Toggles the nomono flag for the cell specified by <i>column row</i>. If set, the cell's contents will not be monochromatic even if probmono has a non-zero value.
			</description>
		</method>
		<method name="reset">
			<arglist />
			<digest>
				Replace and reorient all cells
			</digest>
			<description>
				Places all cells in their original position and orientation.
			</description>
		</method>
		<method name="rowrot">
			<arglist>
				<arg name="row" type="int" />
				<arg name="number-of-cells" type="int" />
			</arglist>
			<digest>
				Rotate a row by a number of cells
			</digest>
			<description>
				Rotates the row specified by <i>row</i> the number of cells specified by <i>number-of-cells</i>.
			</description>
		</method>
		<method name="setcell">
			<arglist>
				<arg name="output-column" type="int" />
				<arg name="output-row" type="int" />
				<arg name="input-column" type="int" />
				<arg name="input-row" type="int" />
			</arglist>
			<digest>
				Map an input cell to another location
			</digest>
			<description>
				Maps the input cell specified by <i>input-column input-row</i> to the output cell specified by <i>output-column</i> and <i>output-row</i>.
			</description>
		</method>
		<method name="vflip">
			<arglist>
				<arg name="column" type="int" />
				<arg name="row" type="int" />
				<arg name="0/1" type="int" />
			</arglist>
			<digest>
				Vertically flip a cell's contents
			</digest>
			<description>
				Toggles the vertical flip flag for the cell specified by <i>column row</i>. If set, the cell's contents will be flipped vertically.
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="bang" />
		<jittermethod name="clear" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="importattrs" />
		<jittermethod name="outputmatrix" />
		<jittermethod name="summary" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="cols" get="1" set="1" type="int" size="1">
			<digest>
				Number of columns
			</digest>
			<description>
				The number of columns (default = 1)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Cols" />
			</attributelist>
		</attribute>
		<attribute name="dots" get="1" set="1" type="int" size="1">
			<digest>
				Dot render flag
			</digest>
			<description>
				Dot render flag (default = 0) When the flag is set, dot rendering is used.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Dots" />
			</attributelist>
		</attribute>
		<attribute name="prob" get="1" set="1" type="float" size="1">
			<digest>
				Probability that a rectangular section will update with new data
			</digest>
			<description>
				The probability that a rectangular section will update with new data (default = 1.)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Prob" />
			</attributelist>
		</attribute>
		<attribute name="probmono" get="1" set="1" type="float" size="1">
			<digest>
				Probability that a rectangular section will be monochromatic
			</digest>
			<description>
				The probability that a rectangular section will be monochromatic (default = 0.)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Prob Mono" />
			</attributelist>
		</attribute>
		<attribute name="rows" get="1" set="1" type="int" size="1">
			<digest>
				Number of rows
			</digest>
			<description>
				The number of rows (default = 1)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Rows" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="outputmode" />
		<jitterattribute name="adapt" />
		<jitterattribute name="out_name" />
		<jitterattribute name="type" />
		<jitterattribute name="dim" />
		<jitterattribute name="planecount" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.rubix.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.glue" />
		<seealso name="jit.resamp">
			Resample spatially
		</seealso>
		<seealso name="jit.scissors" />
		<seealso name="jit.tiffany">
			Arbitrary rectangular resampling
		</seealso>
	</seealsolist>
</c74object>
