com.smartgwt.client.widgets.drawing

## Class DrawSector

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.drawing.DrawItem
        - - com.smartgwt.client.widgets.drawing.DrawSector

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClickHandlers, HasDragMoveHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDrawEndHandlers, HasDrawStartHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMovedHandlers, HasResizedHandlers, HasShowContextMenuHandlers

      public class DrawSector
      extends DrawItem

  DrawItem subclass to render Pie Slices.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

      `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DrawSector()`
    `DrawSector(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, DrawItem defaults)` Changes the defaults for DrawItem AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `Point` | `getArcMidpoint()` Calculates the coordinates of the midpoint of this DrawSector's circular arc.
    `static Point` | `getArcMidpoint(double centerX, double centerY, double startAngle, double endAngle, double radius)` Calculates the midpoint coordinates of the circular arc of the sector defined by the given centerPoint, startAngle, endAngle, and radius.
    `Point` | `getCenter()` Returns the sector's `centerPoint`.
    `Point` | `getCenterPoint()` Center point of the sector
    `float` | `getEndAngle()` Deprecated. `GwtFloatVsDouble`
    `double` | `getEndAngleAsDouble()` End angle of the sector in degrees.
    `KnobType[]` | `getKnobs()` DrawSector only supports the `KnobType.MOVE` knob type.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `static DrawSector` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `int` | `getRadius()` Radius of the sector.
    `double` | `getRadiusAsDouble()` Radius of the sector.
    `float` | `getRotation()` Deprecated. `GwtFloatVsDouble`
    `double` | `getRotationAsDouble()` Rotation in degrees about the `centerPoint` of the DrawSector.
    `boolean` | `getShowTitleLabelBackground()` If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?
    `float` | `getStartAngle()` Deprecated. `GwtFloatVsDouble`
    `double` | `getStartAngleAsDouble()` Start angle of the sector in degrees.
    `void` | `moveBy(int x, int y)` Move the DrawSector by the specified amounts.
    `void` | `setCenterPoint(Point centerPoint)` Center point of the sector If this method is called after the component has been drawn/initialized: Change the center point for this sector.
    `static void` | `setDefaultProperties(DrawSector drawSectorProperties)` Class level method to set the default properties of this class.
    `void` | `setEndAngle(double endAngle)` End angle of the sector in degrees.
    `void` | `setEndAngle(float endAngle)` Deprecated. `GwtFloatVsDouble`
    `void` | `setKnobs(KnobType... knobs)` DrawSector only supports the `KnobType.MOVE` knob type.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.drawing.DrawSectorLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `void` | `setRadius(int radius)` Radius of the sector.
    `void` | `setRotation(double rotation)` Rotation in degrees about the `centerPoint` of the DrawSector.
    `void` | `setRotation(float rotation)` Deprecated. `GwtFloatVsDouble`
    `void` | `setShowTitleLabelBackground(boolean showTitleLabelBackground)` If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?
    `void` | `setStartAngle(double startAngle)` Start angle of the sector in degrees.
    `void` | `setStartAngle(float startAngle)` Deprecated. `GwtFloatVsDouble`

    - ### Methods inherited from class com.smartgwt.client.widgets.drawing.DrawItem

      `addClickHandler, addDragMoveHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDrawEndHandler, addDrawStartHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMovedHandler, addResizedHandler, addShowContextMenuHandler, bringToFront, computeAngle, computeAngleAsDouble, dragResizeMove, draw, erase, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getBoundingBox, getBoundingBoxAsDouble, getById, getByJSObject, getCanDrag, getCanHover, getCanvasAutoChild, getContextMenu, getCornerResizeKnob, getCursor, getDestroyed, getDestroying, getDragStartDistance, getDrawGroup, getDrawItemAutoChild, getDrawPane, getEditProxyConstructor, getEndArrow, getEndKnob, getEventOpaque, getFillColor, getFillGradient, getFillGradientAsString, getFillOpacity, getFormItemAutoChild, getHoverDelay, getHoverHTML, getKeepInParentRect, getLineCap, getLineColor, getLineOpacity, getLinePattern, getLineWidth, getMoveKnob, getMoveKnobOffset, getMoveKnobPoint, getPageLeft, getPageTop, getPaletteDefaults, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRef, getResizeBoundingBox, getResizeBoundingBoxAsDouble, getResizeKnobPoints, getResizeOutline, getResizeViaLocalTransformOnly, getRotateKnob, getScale, getShadow, getShowHover, getShowResizeOutline, getSideResizeKnob, getStartArrow, getStartKnob, getSvgString, getTitle, getTitleAutoFit, getTitleAutoFitMargin, getTitleAutoFitRotationMode, getTitleLabel, getTitleLabelBackground, getTitleLabelPadding, getTitleRotationMode, getTranslate, getUnderlyingGWTCanvas, getUseSimpleTransform, getXShearFactor, getYShearFactor, getZIndex, hide, hideAllKnobs, hideKnobs, hideKnobs, hover, isInBounds, isPointInPath, moveTo, resizeBy, resizeTo, rotateBy, rotateTo, scaleBy, scaleTo, sendToBack, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setCanDrag, setCanHover, setCenterPoint, setContextMenu, setCursor, setDefaultProperties, setDragStartDistance, setDrawGroup, setDrawPane, setEditProxyConstructor, setEndArrow, setEventOpaque, setFillColor, setFillGradient, setFillGradient, setFillOpacity, setHoverDelay, setKeepInParentRect, setKeepInParentRect, setLineCap, setLineColor, setLineOpacity, setLinePattern, setLineWidth, setLogicalStructure, setMoveKnobOffset, setMoveKnobPoint, setPrompt, setPropertyValue, setProportionalResizeModifiers, setProportionalResizing, setResizeKnobPoints, setResizeViaLocalTransformOnly, setScale, setShadow, setShapeData, setShowHover, setShowResizeOutline, setStartArrow, setTitle, setTitleAutoFit, setTitleAutoFitMargin, setTitleAutoFitRotationMode, setTitleLabelPadding, setTitleRotationMode, setTranslate, setUseSimpleTransform, setXShearFactor, setYShearFactor, setZIndex, show, showAllKnobs, showKnobs, showKnobs, supportsEndArrow, supportsStartArrow`

    - ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

      `addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, equals, error, errorIfNotCreated, getAttribute, getAttributeAsDateArray, getAttributeAsFloatArray, getAttributeAsIntArray, getAttributeAsRecord, getAttributeAsStringArray, getClassName, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getScClassName, hasAutoAssignedID, hasDynamicProperty, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, isFactoryCreated, onBind, onDestroy, onDraw, onInit, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDefaultProperties, setDragTracker, setFactoryCreated, setHtmlElement, setID, setJavaScriptObject, setLogicalStructure, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, setVisible, setWidth, sinkBitlessEvent`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### DrawSector

          public DrawSector()

    - #### DrawSector

          public DrawSector(com.google.gwt.core.client.JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static DrawSector getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     DrawItem defaults)

      Changes the defaults for DrawItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - DrawItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### create

          protected com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `DrawItem`

    - #### setCenterPoint

          public void setCenterPoint(Point centerPoint)

      Center point of the sector
      If this method is called after the component has been drawn/initialized: Change the center point for this sector.
      Parameters:
        `centerPoint` - X coordinate of the center point (in the global coordinate system). Default value is [0,0]

    - #### getCenterPoint

          public Point getCenterPoint()

      Center point of the sector
      Returns:
        Current centerPoint value. Default value is [0,0]

    - #### setEndAngle

          public void setEndAngle(float endAngle)
                           throws java.lang.IllegalStateException

      Deprecated. `GwtFloatVsDouble`
      End angle of the sector in degrees. See `startAngle` for further details.
      Parameters:
        `endAngle` - New endAngle value. Default value is 20.0
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getEndAngle

          public float getEndAngle()

      Deprecated. `GwtFloatVsDouble`
      End angle of the sector in degrees. See `startAngle` for further details.
      Returns:
        Current endAngle value. Default value is 20.0

    - #### setEndAngle

          public void setEndAngle(double endAngle)
                           throws java.lang.IllegalStateException

      End angle of the sector in degrees. See `startAngle` for further details.
      Parameters:
        `endAngle` - New endAngle value. Default value is 20.0
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getEndAngleAsDouble

          public double getEndAngleAsDouble()

      End angle of the sector in degrees. See `startAngle` for further details.
      Returns:
        Current endAngle value. Default value is 20.0

    - #### setKnobs

          public void setKnobs(KnobType... knobs)
                        throws java.lang.IllegalStateException

      DrawSector only supports the `KnobType.MOVE` knob type.
      Overrides:
        `setKnobs` in class `DrawItem`
      Parameters:
        `knobs` - New knobs value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `DrawItem.setKnobs(com.smartgwt.client.types.KnobType...)`

    - #### getKnobs

          public KnobType[] getKnobs()

      DrawSector only supports the `KnobType.MOVE` knob type.
      Overrides:
        `getKnobs` in class `DrawItem`
      Returns:
        Current knobs value. Default value is null
      See Also:
        `DrawItem.getKnobs()`

    - #### setRadius

          public void setRadius(int radius)
                         throws java.lang.IllegalStateException

      Radius of the sector.
      Parameters:
        `radius` - New radius value. Default value is 100
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRadius

          public int getRadius()

      Radius of the sector.
      Returns:
        Current radius value. Default value is 100

    - #### getRadiusAsDouble

          public double getRadiusAsDouble()

      Radius of the sector.
      Returns:
        Current radius value. Default value is 100

    - #### setRotation

          public void setRotation(float rotation)
                           throws java.lang.IllegalStateException

      Deprecated. `GwtFloatVsDouble`
      Rotation in degrees about the `centerPoint` of the DrawSector. The positive direction is clockwise.
      Overrides:
        `setRotation` in class `DrawItem`
      Parameters:
        `rotation` - New rotation value. Default value is 0.0
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRotation

          public float getRotation()

      Deprecated. `GwtFloatVsDouble`
      Rotation in degrees about the `centerPoint` of the DrawSector. The positive direction is clockwise.
      Overrides:
        `getRotation` in class `DrawItem`
      Returns:
        Current rotation value. Default value is 0.0

    - #### setRotation

          public void setRotation(double rotation)
                           throws java.lang.IllegalStateException

      Rotation in degrees about the `centerPoint` of the DrawSector. The positive direction is clockwise.
      Overrides:
        `setRotation` in class `DrawItem`
      Parameters:
        `rotation` - New rotation value. Default value is 0.0
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRotationAsDouble

          public double getRotationAsDouble()

      Rotation in degrees about the `centerPoint` of the DrawSector. The positive direction is clockwise.
      Overrides:
        `getRotationAsDouble` in class `DrawItem`
      Returns:
        Current rotation value. Default value is 0.0

    - #### setShowTitleLabelBackground

          public void setShowTitleLabelBackground(boolean showTitleLabelBackground)
                                           throws java.lang.IllegalStateException

      If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?

      This defaults to true for `DrawSector`s and shapes that are not commonly filled (e.g. `DrawLine`s).

      Note : This is an advanced setting

      Overrides:
        `setShowTitleLabelBackground` in class `DrawItem`
      Parameters:
        `showTitleLabelBackground` - New showTitleLabelBackground value. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowTitleLabelBackground

          public boolean getShowTitleLabelBackground()

      If the `titleLabel` is showing, should the `titleLabelBackground` be created and placed behind the `titleLabel`?

      This defaults to true for `DrawSector`s and shapes that are not commonly filled (e.g. `DrawLine`s).

      Overrides:
        `getShowTitleLabelBackground` in class `DrawItem`
      Returns:
        Current showTitleLabelBackground value. Default value is true

    - #### setStartAngle

          public void setStartAngle(float startAngle)
                             throws java.lang.IllegalStateException

      Deprecated. `GwtFloatVsDouble`
      Start angle of the sector in degrees. Default of 0.0 will create a sector that starts with a line from the `centerPoint` and extends horizontally to the right for the indicated `radius`, then sweeps clockwise toward the `endAngle`.

      Note that the startAngle may validly be a greater numeric value than the endAngle. The sector will always be drawn clockwise from startAngle to endAngle, so a sector with startAngle of 350 and endAngle of 10 would draw a 20-degree segment sticking out to the right of the centerPoint.

      Drawing a full circle: A developer may have a drawSector transcribe a full circle by using values of 360 or greater as the end point. For example a drawSector with startAngle set to 350 and endAngle set to 710 would transcribe a full circle which starts and ends on the same line (10 degrees above the horizontal, to the right of the centerPoint).

      Parameters:
        `startAngle` - New startAngle value. Default value is 0.0
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getStartAngle

          public float getStartAngle()

      Deprecated. `GwtFloatVsDouble`
      Start angle of the sector in degrees. Default of 0.0 will create a sector that starts with a line from the `centerPoint` and extends horizontally to the right for the indicated `radius`, then sweeps clockwise toward the `endAngle`.

      Note that the startAngle may validly be a greater numeric value than the endAngle. The sector will always be drawn clockwise from startAngle to endAngle, so a sector with startAngle of 350 and endAngle of 10 would draw a 20-degree segment sticking out to the right of the centerPoint.

      Drawing a full circle: A developer may have a drawSector transcribe a full circle by using values of 360 or greater as the end point. For example a drawSector with startAngle set to 350 and endAngle set to 710 would transcribe a full circle which starts and ends on the same line (10 degrees above the horizontal, to the right of the centerPoint).

      Returns:
        Current startAngle value. Default value is 0.0

    - #### setStartAngle

          public void setStartAngle(double startAngle)
                             throws java.lang.IllegalStateException

      Start angle of the sector in degrees. Default of 0.0 will create a sector that starts with a line from the `centerPoint` and extends horizontally to the right for the indicated `radius`, then sweeps clockwise toward the `endAngle`.

      Note that the startAngle may validly be a greater numeric value than the endAngle. The sector will always be drawn clockwise from startAngle to endAngle, so a sector with startAngle of 350 and endAngle of 10 would draw a 20-degree segment sticking out to the right of the centerPoint.

      Drawing a full circle: A developer may have a drawSector transcribe a full circle by using values of 360 or greater as the end point. For example a drawSector with startAngle set to 350 and endAngle set to 710 would transcribe a full circle which starts and ends on the same line (10 degrees above the horizontal, to the right of the centerPoint).

      Parameters:
        `startAngle` - New startAngle value. Default value is 0.0
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getStartAngleAsDouble

          public double getStartAngleAsDouble()

      Start angle of the sector in degrees. Default of 0.0 will create a sector that starts with a line from the `centerPoint` and extends horizontally to the right for the indicated `radius`, then sweeps clockwise toward the `endAngle`.

      Note that the startAngle may validly be a greater numeric value than the endAngle. The sector will always be drawn clockwise from startAngle to endAngle, so a sector with startAngle of 350 and endAngle of 10 would draw a 20-degree segment sticking out to the right of the centerPoint.

      Drawing a full circle: A developer may have a drawSector transcribe a full circle by using values of 360 or greater as the end point. For example a drawSector with startAngle set to 350 and endAngle set to 710 would transcribe a full circle which starts and ends on the same line (10 degrees above the horizontal, to the right of the centerPoint).

      Returns:
        Current startAngle value. Default value is 0.0

    - #### getArcMidpoint

          public Point getArcMidpoint()

      Calculates the coordinates of the midpoint of this DrawSector's circular arc. The formula for this point is:

      >     var averageAngle = (startAngle + endAngle) / 2; // in degrees
      >      [centerX + radius * cosdeg(averageAngle), centerY + radius * sindeg(averageAngle)]

      Returns:
        the coordinates of the midpoint of the arc.

    - #### getCenter

          public Point getCenter()

      Returns the sector's `centerPoint`.
      Overrides:
        `getCenter` in class `DrawItem`
      Returns:
        the current centerPoint

    - #### moveBy

          public void moveBy(int x,
                             int y)

      Move the DrawSector by the specified amounts.
      Overrides:
        `moveBy` in class `DrawItem`
      Parameters:
        `x` - number of pixels to move by horizontally
        `y` - number of pixels to move by vertically

    - #### getArcMidpoint

          public static Point getArcMidpoint(double centerX,
                                             double centerY,
                                             double startAngle,
                                             double endAngle,
                                             double radius)

      Calculates the midpoint coordinates of the circular arc of the sector defined by the given centerPoint, startAngle, endAngle, and radius. The formula for this point is:

      >     var averageAngle = (startAngle + endAngle) / 2; // in degrees
      >      [centerX + radius * cosdeg(averageAngle), centerY + radius * sindeg(averageAngle)]

      Parameters:
        `centerX` - X coordinate of the center point of the sector.
        `centerY` - Y coordinate of the center point of the sector.
        `startAngle` - start angle of the sector in degrees.
        `endAngle` - end angle of the sector in degrees.
        `radius` - radius of the sector.
      Returns:
        the coordinates of the midpoint of the arc.

    - #### setDefaultProperties

          public static void setDefaultProperties(DrawSector drawSectorProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
        `drawSectorProperties` - properties that should be used as new defaults when instances of this class are created
      See Also:
        `SGWTProperties`

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.drawing.DrawSectorLogicalStructure s)

      Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `DrawItem`