{ "type": "class",
  "qname": "mx.charts.chartClasses.PolarDataCanvas",
  "baseClassname": "mx.charts.chartClasses.ChartElement"
  ,
    "description": "PolarDataCanvas class enables user to use graphics API with respect to data coordinates instead of screen coordinates.  <p>The drawing region for canvas is determined by <code>radialAxis</code> and <code>angularAxis</code> if they are specified. Otherwise, default axes of chart will be considered to compute canvas drawing region.</p>",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.charts.chartClasses.PolarDataCanvas",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.charts.chartClasses.IAxis",
        "qname": "angularAxis",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Defines the labels, tick marks, and data position for items on the x-axis. Use either the LinearAxis class or the CategoryAxis class to set the properties of the angularAxis as a child tag in MXML or create a LinearAxis or CategoryAxis object in ActionScript.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "dataChildren",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "includeInRanges",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>true</code>, the computed range of the chart is affected by this canvas.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.charts.chartClasses.IAxis",
        "qname": "radialAxis",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Defines the labels, tick marks, and data position for items on the y-axis. Use either the LinearAxis class or the CategoryAxis class to set the properties of the angular axis as a child tag in MXML or to create a LinearAxis or CategoryAxis object in ActionScript.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "totalValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "method",
        "qname": "addChild",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.core.IUIComponent",
          "params": [{ "name": "child", "type": "mx.core.IUIComponent"}]}
      ,
      { "type": "method",
        "qname": "addChildAt",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.core.IUIComponent",
          "params": [{ "name": "child", "type": "mx.core.IUIComponent"},
        { "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "removeChild",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.core.IUIComponent",
          "params": [{ "name": "child", "type": "mx.core.IUIComponent"}]}
      ,
      { "type": "method",
        "qname": "removeChildAt",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.core.IUIComponent",
          "params": [{ "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "updateDisplayList",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "unscaledWidth", "type": "Number"},
        { "name": "unscaledHeight", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "invalidateDisplayList",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.charts.chartClasses.DataTransform",
        "qname": "dataTransform",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "describeData",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Array",
          "params": [{ "name": "dimension", "type": "String"},
        { "name": "requiredFields", "type": "uint"}]}
      ,
      { "type": "method",
        "qname": "mappingChanged",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "dataChildChangeHandler",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "addDataChild",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "This adds any <code>DisplayObject</code> as child to current canvas",
        "tags": [
        {  "tagName": "param",
               "values": ["child         A DisplayObject instance that is to be added as child to the current canvas.", "angleLeft     Left angular coordinate of the child, in data coordinates.", "radialTop     Top radial coordinate of the child, in data coordinates.", "angleRight    Right angular coordinate of the child, in data coordinates.", "radialBottom  Bottom radial coordinate of the child, in data coordinates.", "angleCenter   Middle angular coordinate of the child, in data coordinates.", "radialCenter  Middle radial coordinate of the child, in data coordinates."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "child", "type": "mx.core.IUIComponent"},
        { "name": "angleLeft", "type": "*"},
        { "name": "radialTop", "type": "*"},
        { "name": "angleRight", "type": "*"},
        { "name": "radialBottom", "type": "*"},
        { "name": "angleCenter", "type": "*"},
        { "name": "radialCenter", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "removeAllChildren",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes all data children (DisplayObject instances) of the canvas.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "updateDataChild",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Updates the position of any child to the current canvas.   <p>For example: <pre>\\n var lbl:Label = new Label();\\n lbl.text = &quot;Last Month&quot;;\\n canvas.addChild(lbl);\\n canvas.updateDataChild(lbl,200,20);\\n </pre> </p>",
        "tags": [
        {  "tagName": "param",
               "values": ["child         A DisplayObject instance that is to be added as a child of the current canvas.", "angleLeft     Left angular coordinate of the child, in data coordinates.", "radialTop     Top radial coordinate of the child, in data coordinates.", "angleRight    Right angular coordinate of the child, in data coordinates.", "radialBottom  Bottom radial coordinate of the child, in data coordinates.", "angleCenter   Middle angular coordinate of the child, in data coordinates.", "radialCenter  Middle radial coordinate of the child, in data coordinates."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "child", "type": "mx.core.IUIComponent"},
        { "name": "angleLeft", "type": "*"},
        { "name": "radialTop", "type": "*"},
        { "name": "angleRight", "type": "*"},
        { "name": "radialBottom", "type": "*"},
        { "name": "angleCenter", "type": "*"},
        { "name": "radialCenter", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "clear",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Clears the canvas.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "beginFill",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["flash.display.Graphics#beginFill()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "color", "type": "uint"},
        { "name": "alpha", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "curveTo",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a curve using the current line style from the current drawing position to (anchorX, anchorY) and using the control point that (controlX, controlY) specifies. The coordinates that you pass to this method are in terms of chart data rather than screen coordinates.  <p>The usage and parameters of this method are identical to the <code>curveTo()</code> method of the flash.display.Graphics class.</p>  control point.  the control point.  anchor point.  the anchor point.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#curveTo()"]},
            {  "tagName": "param",
               "values": ["controlAngle The angle that specifies the position of the", "controlRadial The distance, in pixels, from the center of the chart to", "anchorAngle The angle that specifies the position of the", "anchorRadial The distance, in pixels, from the center of the chart to"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "controlAngle", "type": "*"},
        { "name": "controlRadial", "type": "*"},
        { "name": "anchorAngle", "type": "*"},
        { "name": "anchorRadial", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "drawCircle",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a circle. Set the line style, fill, or both before you call the <code>drawCircle()</code> method, by calling the <code>linestyle()</code>, <code>lineGradientStyle()</code>, <code>beginFill()</code>, <code>beginGradientFill()</code>, or <code>beginBitmapFill()</code> method. Coordinates are in terms of data rather than screen coordinates.   the center of the circle.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#drawCircle()"]},
            {  "tagName": "param",
               "values": ["angle The angle that specifies the position of the center of the circle.", "radial The distance, in pixels, from the center of the chart to", "radius The radius of the circle (in pixels)."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "angle", "type": "*"},
        { "name": "radial", "type": "*"},
        { "name": "radius", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "drawEllipse",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws an ellipse. Set the line style, fill, or both before you call the <code>drawEllipse()</code> method, by calling the <code>linestyle()</code>, <code>lineGradientStyle()</code>, <code>beginFill()</code>, <code>beginGradientFill()</code>, or <code>beginBitmapFill()</code> method. Coordinates are in terms of data rather than screen coordinates.   top-left corner of the bounding-box of the ellipse.   bottom-right corner of the bounding-box of the ellipse.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#drawEllipse()"]},
            {  "tagName": "param",
               "values": ["angleLeft The angle specifying the location of the top-left corner of the bounding-box of the ellipse.", "radialTop The distance, in pixels, from the center of the chart to the location of the", "angleRight The angle specifying the location of the bottom-right corner of the bounding-box of the ellipse.", "radialBottom The distance, in pixels, from the center of the chart to the location of the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "angleLeft", "type": "*"},
        { "name": "radialTop", "type": "*"},
        { "name": "angleRight", "type": "*"},
        { "name": "radialBottom", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "drawRect",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a rectangle. Set the line style, fill, or both before you call the <code>drawRect()</code> method, by calling the <code>linestyle()</code>, <code>lineGradientStyle()</code>, <code>beginFill()</code>, <code>beginGradientFill()</code>, or <code>beginBitmapFill()</code> method. Coordinates are in terms of data rather than screen coordinates.   top-left corner of the rectangle.   bottom-right corner of the rectangle.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#drawRect()"]},
            {  "tagName": "param",
               "values": ["angleLeft The angle specifying the location of the top-left corner of the rectangle.", "radialTop The distance, in pixels, from the center of the chart to the location of the", "angleRight The angle specifying the location of the bottom-right corner of the rectangle.", "radialBottom The distance, in pixels, from the center of the chart to the location of the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "angleLeft", "type": "*"},
        { "name": "radialTop", "type": "*"},
        { "name": "angleRight", "type": "*"},
        { "name": "radialBottom", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "drawRoundedRect",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a rounded rectangle. Set the line style, fill, or both before you call the <code>drawRoundRect()</code> method, by calling the <code>linestyle()</code>, <code>lineGradientStyle()</code>, <code>beginFill()</code>, <code>beginGradientFill()</code>, or <code>beginBitmapFill()</code> method. Coordinates are in terms of data rather than screen coordinates.   top-left corner of the rectangle.   bottom-right corner of the rectangle.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#drawRoundedRect()"]},
            {  "tagName": "param",
               "values": ["angleLeft The angle specifying the location of the top-left corner of the rectangle.", "radialTop The distance, in pixels, from the center of the chart to the location of the", "angleRight The angle specifying the location of the bottom-right corner of the rectangle.", "radialBottom The distance, in pixels, from the center of the chart to the location of the", "cornerRadius The radius of the corners, in pixels."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "angleLeft", "type": "*"},
        { "name": "radialTop", "type": "*"},
        { "name": "angleRight", "type": "*"},
        { "name": "radialBottom", "type": "*"},
        { "name": "cornerRadius", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "endFill",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["flash.display.Graphics#endFill()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "lineStyle",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a line style that Flash uses for subsequent calls to other Graphics methods (such as <code>lineTo()</code> or <code>drawCircle()</code>) for the object.  <p>The usage and parameters of this method are identical to the <code>lineStyle()</code> method of the flash.display.Graphics class.</p>  If a number is not specified, or if the parameter is undefined, a line is not drawn. If a value of less than 0 is passed, the default is 0. The value 0 indicates hairline thickness; the maximum thickness is 255. If a value greater than 255 is passed, the default is 255.  If a value is not indicated, the default is 0x000000 (black).  If a value is not indicated, the default is 1 (solid). If the value is less than 0, the default is 0. If the value is greater than 1, the default is 1.  This affects both the position of anchors of a curve and the line stroke size itself. With <code>pixelHinting</code> set to true, line widths are adjusted to full pixel widths. With <code>pixelHinting</code> set to false, disjoints can appear for curves and straight lines.   <ul> <li><code>LineScaleMode.NORMAL</code>: Always scale the line thickness when the object is scaled (the default).</li> <li><code>LineScaleMode.NONE</code>: Never scale the line thickness.</li> <li><code>LineScaleMode.VERTICAL</code>: Do not scale the line thickness if the object is scaled vertically only. </li> <li><code>LineScaleMode.HORIZONTAL</code>: Do not scale the line thickness if the object is scaled horizontally only. </li> </ul>  caps at the end of lines. Valid values are: <code>CapsStyle.NONE</code>, <code>CapsStyle.ROUND</code>, and <code>CapsStyle.SQUARE</code>. If a value is not indicated, use round caps.  joint appearance used at angles. Valid values are: <code>JointStyle.BEVEL</code>, <code>JointStyle.MITER</code>, and <code>JointStyle.ROUND</code>. If a value is not indicated, use round joints.  Valid values range from 1 to 255 (and values outside that range are rounded to 1 or 255). This value is only used if the jointStyle is set to &quot;miter&quot;. The <code>miterLimit</code> value represents the length that a miter can extend beyond the point at which the lines meet to form a joint. The value expresses a factor of the line thickness. For example, with a <code>miterLimit</code> factor of 2.5 and a thickness of 10 pixels, the miter is cut off at 25 pixels.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#lineStyle()"]},
            {  "tagName": "param",
               "values": ["thickness An integer that indicates the thickness of the line in points; valid values are 0-255.", "color A hexadecimal color value of the line; for example, red is 0xFF0000, blue is 0x0000FF, and so on.", "alpha A number that indicates the alpha value of the color of the line; valid values are 0 to 1.", "pixelHinting A Boolean value that specifies whether to hint strokes to full pixels.", "scaleMode A value from the flash.display.LineScaleMode class that specifies which scale mode to use:", "caps A value from the flash.display.CapsStyle class that specifies the type of", "joints A value from the flash.display.JointStyle class that specifies the type of", "miterLimit A number that indicates the limit at which a miter is cut off."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "thickness", "type": "Number"},
        { "name": "color", "type": "uint"},
        { "name": "alpha", "type": "Number"},
        { "name": "pixelHinting", "type": "Boolean"},
        { "name": "scaleMode", "type": "String"},
        { "name": "caps", "type": "String"},
        { "name": "joints", "type": "String"},
        { "name": "miterLimit", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "lineTo",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a line using the current line style from the current drawing position to (angle, radial); the current drawing position is then set to (angle, radial). If the display object in which you are drawing contains content that was created with the Flash drawing tools, calls to the <code>lineTo()</code> method are drawn underneath the content. If you call <code>lineTo()</code> before any calls to the moveTo() method, the default position for the current drawing is (0, 0). If any of the parameters are missing, this method fails and the current drawing position is not changed. Coordinates are in terms of data rather than screen coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#lineTo()"]},
            {  "tagName": "param",
               "values": ["angle The angle of the drawing position.", "radial The distance, in pixels, from the center of the chart to the drawing position."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "angle", "type": "*"},
        { "name": "radial", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "moveTo",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Moves the current drawing position to (angle, radial). If any of the parameters are missing, this method fails and the current drawing position is not changed. Coordinates are in terms of data rather than screen coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#moveTo()"]},
            {  "tagName": "param",
               "values": ["angle The angle of the drawing position.", "radial The distance, in pixels, from the center of the chart to the drawing position."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "angle", "type": "*"},
        { "name": "radial", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "validateTransform",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Calls the <code>updateTransform()</code> method of the canvas, if necessary. This method is called automatically by the canvas during the <code>commitProperties()</code> method, as necessary, but a derived canvas might call it explicitly if the generated values are needed at an explicit time. Filtering and transforming of data relies on specific values being calculated by the axes, which can in turn depend on the data that is displayed in the chart. Calling this function at the wrong time might result in extra work being done, if those values are updated.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the underlying data of the data provider has changed; otherwise, <code>false</code>."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": []}
      ,
      { "type": "method",
        "qname": "validateData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Calls the <code>updateMapping()</code> and <code>updateFilter()</code> methods of the canvas, if necessary. This method is called automatically by the canvas from the <code>commitProperties()</code> method, as necessary, but a derived canvas might call it explicitly if the generated values are needed at an explicit time.  <p>Loading and mapping data against the axes is designed to be acceptable by the axes at any time. It is safe to call this method explicitly at any point.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "updateFilter",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called when the underlying data the canvas represents needs to be filtered against the ranges represented by the axes of the associated data transform. This can happen either because the underlying data has changed or because the range of the associated axes has changed.  <p>If you implement a custom canvas type, you should override this method and filter out any outlying data using the <code>filterCache()</code> method of the axes managed by its associated data transform. The <code>filterCache()</code> method converts any values that are out of range to <code>NaN</code>. You must be sure to call the <code>super.updateFilter()</code> method in your subclass.</p>  <p>You should not generally call this method directly. Instead, if you need to guarantee that your data has been filtered at a given point, call the <code>validateTransform()</code> method of the PolarDataCanvas class.</p>  <p>You can generally assume that your <code>updateData()</code> and <code>updateMapping()</code> methods have been called prior to this method, if necessary.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "stripNaNs",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes any item from the provided cache whose <code>field</code> property is <code>NaN</code>. Derived classes can call this method from their <code>updateFilter()</code> implementation to remove any ChartItem objects that were filtered out by the axes.",
        "tags": [
        {  "tagName": "param",
               "values": ["cache The data cache for the PolarDataCanvas object.", "field The value of the item's <code>field</code> property."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "field", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "invalidateData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Informs the canvas that the underlying data in the dataProvider has changed. This function triggers calls to the <code>updateMapping()</code> and <code>updateTransform()</code> methods on the next call to the <code>commitProperties()</code> method.",
        "tags": [
        {  "tagName": "param",
               "values": ["invalid <code>true</code> if the data has changed."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "invalid", "type": "Boolean"}]}
      ]
  }









