NASA World Wind

gov.nasa.worldwind.symbology
Interface TacticalGraphicAttributes

All Known Implementing Classes:
BasicTacticalGraphicAttributes

public interface TacticalGraphicAttributes

Holds attributes for a TacticalGraphic. Changes made to the attributes are applied to the graphic when the WorldWindow renders the next frame. Instances of TacticalGraphicAttributes may be shared by many graphics, thereby reducing the memory normally required to store attributes for each graphic.

TacticalGraphicAttributes is used to override default attributes determined by a graphic's symbol set. Any non-null attributes will override the corresponding default attributes. Here's an example of overriding only the outline material of a graphic without affecting other styling specified by the symbol set:

 TacticalGraphic graphic = ...
 TacticalGraphicAttributes attrs = new BasicTacticalGraphicAttributes();

 // Set the outline to red. Leave all other fields null to retain the default values.
 attrs.setOutlineMaterial(Material.RED);

 // Apply the overrides to the graphic
 graphic.setAttributes(attrs);
 


Method Summary
 TacticalGraphicAttributes copy()
          Returns a new TacticalGraphicAttributes instance of the same type as this TacticalGraphicAttributes who's properties are configured exactly as this TacticalGraphicAttributes.
 void copy(TacticalGraphicAttributes attributes)
          Copies the specified TacticalGraphicAttributes' properties into this object's properties.
 Material getInteriorMaterial()
          Indicates the material properties of the graphic's interior.
 Double getInteriorOpacity()
          Indicates the opacity of the graphic's interior as a floating-point value in the range 0.0 to 1.0.
 Material getOutlineMaterial()
          Indicates the material properties of the graphic's outline.
 Double getOutlineOpacity()
          Indicates the opacity of the graphic's outline as a floating-point value in the range 0.0 to 1.0.
 Double getOutlineWidth()
          Indicates the line width (in pixels) used when rendering the graphic's outline.
 Double getScale()
          Indicates the graphic scale as a ratio of the graphics's original size.
 Font getTextModifierFont()
          Indicates the font used to render text modifiers.
 Material getTextModifierMaterial()
          Indicates the material used to render text modifiers.
 void setInteriorMaterial(Material material)
          Specifies the material properties of the graphic's interior.
 void setInteriorOpacity(Double opacity)
          Specifies the opacity of the graphic's interior as a floating-point value in the range 0.0 to 1.0.
 void setOutlineMaterial(Material material)
          Specifies the material properties of the graphic's outline.
 void setOutlineOpacity(Double opacity)
          Specifies the opacity of the graphic's outline as a floating-point value in the range 0.0 to 1.0.
 void setOutlineWidth(Double width)
          Specifies the line width (in pixels) to use when rendering the graphic's outline.
 void setScale(Double scale)
          Specifies the graphic scale as a ratio of the graphics's original size.
 void setTextModifierFont(Font font)
          Specifies the font used to render text modifiers.
 void setTextModifierMaterial(Material material)
          Specifies the material used to render text modifiers.
 

Method Detail

copy

TacticalGraphicAttributes copy()
Returns a new TacticalGraphicAttributes instance of the same type as this TacticalGraphicAttributes who's properties are configured exactly as this TacticalGraphicAttributes.

Returns:
a copy of this TacticalGraphicAttributes.

copy

void copy(TacticalGraphicAttributes attributes)
Copies the specified TacticalGraphicAttributes' properties into this object's properties. This does nothing if the specified attributes is null.

Parameters:
attributes - the attributes to copy.

getInteriorMaterial

Material getInteriorMaterial()
Indicates the material properties of the graphic's interior. See setInteriorMaterial for more information on how this material is interpreted.

Returns:
the material applied to the graphic's interior.
See Also:
setInteriorMaterial(Material)

getInteriorOpacity

Double getInteriorOpacity()
Indicates the opacity of the graphic's interior as a floating-point value in the range 0.0 to 1.0.

Returns:
the interior opacity as a floating-point value from 0.0 to 1.0.
See Also:
setInteriorOpacity(Double)

getOutlineMaterial

Material getOutlineMaterial()
Indicates the material properties of the graphic's outline. See setOutlineMaterial for more information on how this material is interpreted.

Returns:
the material applied to the graphic's outline.
See Also:
setOutlineMaterial(Material)

getOutlineOpacity

Double getOutlineOpacity()
Indicates the opacity of the graphic's outline as a floating-point value in the range 0.0 to 1.0.

Returns:
the outline opacity as a floating-point value from 0.0 to 1.0.
See Also:
setOutlineOpacity(Double)

getOutlineWidth

Double getOutlineWidth()
Indicates the line width (in pixels) used when rendering the graphic's outline. The returned value is either zero or a positive floating-point value.

Returns:
the line width in pixels.
See Also:
setOutlineWidth(Double)

getScale

Double getScale()
Indicates the graphic scale as a ratio of the graphics's original size. See setScale(Double) for a description of how scale is used.

Scale directly affects the size of point graphics. Line and area graphics do not change size based on the scale, but if a line or area graphic includes a tactical symbol as part of a composite shape, the scale may be applied to the symbol.

Returns:
the graphics's scale. May be null, indicating that the default scale is used.

getTextModifierFont

Font getTextModifierFont()
Indicates the font used to render text modifiers.

Returns:
The font used to render text modifiers.

getTextModifierMaterial

Material getTextModifierMaterial()
Indicates the material used to render text modifiers. See setTextModifierMaterial for a description of how the material is used.

Returns:
The material used to render text modifiers.

setInteriorMaterial

void setInteriorMaterial(Material material)
Specifies the material properties of the graphic's interior. If lighting is applied to the graphic, this indicates the interior's ambient, diffuse, and specular colors, its shininess, and the color of any emitted light. Otherwise, the material's diffuse color indicates the graphic's constant interior color.

Parameters:
material - the material to apply to the graphic's interior.
See Also:
getInteriorMaterial()

setInteriorOpacity

void setInteriorOpacity(Double opacity)
Specifies the opacity of the graphic's interior as a floating-point value in the range 0.0 to 1.0. A value of 1.0 specifies a completely opaque interior, and 0.0 specifies a completely transparent interior. Values in between specify a partially transparent interior.

Parameters:
opacity - the interior opacity as a floating-point value from 0.0 to 1.0.
Throws:
IllegalArgumentException - if opacity is less than 0.0 or greater than 1.0.
See Also:
getInteriorOpacity()

setOutlineMaterial

void setOutlineMaterial(Material material)
Specifies the material properties of the graphic's outline. If lighting is applied to the graphic, this indicates the outline's ambient, diffuse, and specular colors, its shininess, and the color of any emitted light. Otherwise, the material's diffuse color indicates the graphic's constant outline color.

Parameters:
material - the material to apply to the graphic's outline.
See Also:
getOutlineMaterial()

setOutlineOpacity

void setOutlineOpacity(Double opacity)
Specifies the opacity of the graphic's outline as a floating-point value in the range 0.0 to 1.0. A value of 1.0 specifies a completely opaque outline, and 0.0 specifies a completely transparent outline. Values in between specify a partially transparent outline.

Parameters:
opacity - the outline opacity as a floating-point value from 0.0 to 1.0.
Throws:
IllegalArgumentException - if opacity is less than 0.0 or greater than 1.0.
See Also:
getOutlineOpacity()

setOutlineWidth

void setOutlineWidth(Double width)
Specifies the line width (in pixels) to use when rendering the graphic's outline. The specified width must be zero or a positive floating-point value. Specifying a line width of zero disables the graphic's outline. The width may be limited by an implementation-defined maximum during rendering. The maximum width is typically 10 pixels.

Parameters:
width - the line width in pixels.
Throws:
IllegalArgumentException - if width is less than zero.
See Also:
getOutlineWidth()

setScale

void setScale(Double scale)
Specifies the graphic scale as a ratio of the graphics's original size. The specified scale is a floating point number greater than 0.0: values less than 1.0 make the graphic smaller, while values greater than 1.0 make the symbol larger. The scale applies to both the graphic and the graphic modifiers. The specified scale must be either null or greater than or equal to 0.0.

Scale directly affects the size of point graphics. Line and area graphics do not change size based on the scale, but if a line or area graphic includes a tactical symbol as part of a composite shape, the scale may be applied to the symbol.

Parameters:
scale - the graphic's scale. May be null, indicating that the default scale should be used.
Throws:
IllegalArgumentException - if the scale is less than 0.0.

setTextModifierFont

void setTextModifierFont(Font font)
Specifies the font used to render text modifiers.

Parameters:
font - New font.

setTextModifierMaterial

void setTextModifierMaterial(Material material)
Specifies the material used to render text modifiers. How the material is used depends on the graphic implementation. For example, graphics may draw 3D text that uses all of the specified material components, or draw 2D text that uses only the diffuse component. MIL-STD-2525 tactical graphics use the diffuse component to specify the color of 2D text.

Parameters:
material - The new material.

NASA World Wind