\HeaderA{gpolygon-methods}{Drawing filter regions}{gpolygon.Rdash.methods}
\aliasA{gpolygon}{gpolygon-methods}{gpolygon}
\aliasA{gpolygon,curv1Filter,ANY-method}{gpolygon-methods}{gpolygon,curv1Filter,ANY.Rdash.method}
\aliasA{gpolygon,curv1Filter,flowFrame-method}{gpolygon-methods}{gpolygon,curv1Filter,flowFrame.Rdash.method}
\aliasA{gpolygon,curv1Filter,missing-method}{gpolygon-methods}{gpolygon,curv1Filter,missing.Rdash.method}
\aliasA{gpolygon,curv1Filter,multipleFilterResult-method}{gpolygon-methods}{gpolygon,curv1Filter,multipleFilterResult.Rdash.method}
\aliasA{gpolygon,curv2Filter,ANY-method}{gpolygon-methods}{gpolygon,curv2Filter,ANY.Rdash.method}
\aliasA{gpolygon,curv2Filter,flowFrame-method}{gpolygon-methods}{gpolygon,curv2Filter,flowFrame.Rdash.method}
\aliasA{gpolygon,curv2Filter,multipleFilterResult-method}{gpolygon-methods}{gpolygon,curv2Filter,multipleFilterResult.Rdash.method}
\aliasA{gpolygon,ellipsoidGate,character-method}{gpolygon-methods}{gpolygon,ellipsoidGate,character.Rdash.method}
\aliasA{gpolygon,ellipsoidGate,filterResult-method}{gpolygon-methods}{gpolygon,ellipsoidGate,filterResult.Rdash.method}
\aliasA{gpolygon,ellipsoidGate,flowFrame-method}{gpolygon-methods}{gpolygon,ellipsoidGate,flowFrame.Rdash.method}
\aliasA{gpolygon,filter,missing-method}{gpolygon-methods}{gpolygon,filter,missing.Rdash.method}
\aliasA{gpolygon,filterResult,ANY-method}{gpolygon-methods}{gpolygon,filterResult,ANY.Rdash.method}
\aliasA{gpolygon,filterResult,flowFrame-method}{gpolygon-methods}{gpolygon,filterResult,flowFrame.Rdash.method}
\aliasA{gpolygon,kmeansFilter,ANY-method}{gpolygon-methods}{gpolygon,kmeansFilter,ANY.Rdash.method}
\aliasA{gpolygon,norm2Filter,ANY-method}{gpolygon-methods}{gpolygon,norm2Filter,ANY.Rdash.method}
\aliasA{gpolygon,norm2Filter,flowFrame-method}{gpolygon-methods}{gpolygon,norm2Filter,flowFrame.Rdash.method}
\aliasA{gpolygon,norm2Filter,logicalFilterResult-method}{gpolygon-methods}{gpolygon,norm2Filter,logicalFilterResult.Rdash.method}
\aliasA{gpolygon,polygonGate,character-method}{gpolygon-methods}{gpolygon,polygonGate,character.Rdash.method}
\aliasA{gpolygon,polygonGate,filterResult-method}{gpolygon-methods}{gpolygon,polygonGate,filterResult.Rdash.method}
\aliasA{gpolygon,polygonGate,flowFrame-method}{gpolygon-methods}{gpolygon,polygonGate,flowFrame.Rdash.method}
\aliasA{gpolygon,quadGate,character-method}{gpolygon-methods}{gpolygon,quadGate,character.Rdash.method}
\aliasA{gpolygon,quadGate,filterResult-method}{gpolygon-methods}{gpolygon,quadGate,filterResult.Rdash.method}
\aliasA{gpolygon,quadGate,flowFrame-method}{gpolygon-methods}{gpolygon,quadGate,flowFrame.Rdash.method}
\aliasA{gpolygon,rectangleGate,character-method}{gpolygon-methods}{gpolygon,rectangleGate,character.Rdash.method}
\aliasA{gpolygon,rectangleGate,filterResult-method}{gpolygon-methods}{gpolygon,rectangleGate,filterResult.Rdash.method}
\aliasA{gpolygon,rectangleGate,flowFrame-method}{gpolygon-methods}{gpolygon,rectangleGate,flowFrame.Rdash.method}
\keyword{methods}{gpolygon-methods}
\begin{Description}\relax
These methods extend the basic graphics
\code{\LinkA{polygon}{polygon}} methods for drawing of
\code{\LinkA{filter}{filter}} regions. They allow for
multiple dispatch, since not all
\code{\LinkA{filter}{filter}} types need to be evaluated
for plotting, but this decision should be made internally.
\end{Description}
\begin{Details}\relax
When plotting
code{\LinkA{flowFrame}{flowFrame}}s using the
\code{plot} method provided by \code{flowViz}, the plotted parameters
are recorded, which makes it possible to correctly overlay the
outlines of \code{\LinkA{filter}{filter}}s assuming that
they are defined for the repective parameters. Warnings and error will
be cast for the cases where the parameters are non-distinct or
ambigious.

The flow parameters plotted can be passed on to any of the methods
through the optional \code{channels} argument, which always gets
precedence over automatically detected parameters.

The methods support all plotting parameters that are available for the
code{base} \code{polygon} functions.
\end{Details}
\begin{Section}{Methods}
\describe{

\item[x = "filter", data = "missing"] General method for all
objects inheriting from
\code{\LinkA{filter}{filter}}. This is used as the
default when no more explicit method is found. It tries to find the
plotted parameters from the internal \code{flowViz.state}
environment. This only works if the flow data has been plotted
using the \code{plot} methods provided by this \code{flowViz}
package. 

\item[x = "filterResult", data = "ANY"] General method for all
\code{\LinkA{filterResult}{filterResult}}
object. This basically extracts the
\code{\LinkA{filter}{filter}} from the
\code{\LinkA{filterResult}{filterResult}} and
dispatches on that. 

\item[x = "filterResult", data = "flowFrame"] For some
\code{\LinkA{filter}{filter}} types we need the raw
data to re-evaluate the filter. 

\item[x = "curv1Filter", data = "ANY"] We either need a
\code{\LinkA{filterResult}{filterResult}} or the raw
data as a \code{\LinkA{flowFrame}{flowFrame}} for
\code{\LinkA{curv1Filter}{curv1Filter}}s. 

\item[x = "curv1Filter", data = "flowFrame"] see above 

\item[x = "curv1Filter", data = "missing"] see above 

\item[x = "curv1Filter", data = "multipleFilterResult"] see above 

\item[x = "curv2Filter", data = "ANY"] We either need a
\code{\LinkA{filterResult}{filterResult}} or the raw
data as a \code{\LinkA{flowFrame}{flowFrame}} for
\code{\LinkA{curv2Filter}{curv2Filter}}s.

\item[x = "curv2Filter", data = "flowFrame"] see above 

\item[x = "curv2Filter", data = "multipleFilterResult"] see above 

\item[x = "kmeansFilter", data = "ANY"] We don't know how to plot
regions of a
\code{\LinkA{kmeansFilter}{kmeansFilter}}, hence we
warn. 

\item[x = "norm2Filter", data = "ANY"] We either need a
\code{\LinkA{filterResult}{filterResult}} or the raw
data as a \code{\LinkA{flowFrame}{flowFrame}} for
\code{\LinkA{norm2Filter}{norm2Filter}}s.

\item[x = "norm2Filter", data = "flowFrame"] see above 

\item[x = "norm2Filter", data = "logicalFilterResult"] see above 

\item[x = "polygonGate", data = "character"] We can plot a
\code{\LinkA{polygonGate}{polygonGate}} directly from the gate definition. 

\item[x = "polygonGate", data = "filterResult"] see above 

\item[x = "polygonGate", data = "flowFrame"] see above 

\item[x = "quadGate", data = "character"] We can plot a
\code{\LinkA{quadGate}{quadGate}} directly from the gate definition. 

\item[x = "quadGate", data = "filterResult"] see above 

\item[x = "quadGate", data = "flowFrame"] see above 

\item[x = "rectangleGate", data = "character"] We can plot a
\code{\LinkA{rectangleGate}{rectangleGate}} directly from the gate
definition. 

\item[x = "rectangleGate", data = "filterResult"] see above 

\item[x = "rectangleGate", data = "flowFrame"] see above 

\item[x = "ellipsoidGate", data = "character"] We can plot a
\code{\LinkA{ellipsoidGate}{ellipsoidGate}} directly from the gate
definition. 

\item[x = "ellipsoidGate", data = "filterResult"] see above 

\item[x = "ellipsoidGate", data = "flowFrame"] see above 

}
\end{Section}
\begin{Author}\relax
F. Hahne
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{filter}{filter}},
\code{\LinkA{flowFrame}{flowFrame}}, \code{\LinkA{glines}{glines}},
\code{\LinkA{gpoints}{gpoints}}
\end{SeeAlso}

