Package gov.nasa.worldwind.render
Interface ShapeAttributes
-
- All Superinterfaces:
Exportable
- All Known Subinterfaces:
AirspaceAttributes,BalloonAttributes
- All Known Implementing Classes:
BasicAirspaceAttributes,BasicBalloonAttributes,BasicShapeAttributes
public interface ShapeAttributes extends Exportable
Holds common attributes for WorldWind shapes such asPath,Polygon, andSurfaceShape. Changes made to the attributes are applied to the shape when theWorldWindowrenders the next frame. Instances ofShapeAttributesmay be shared by many shapes, thereby reducing the memory normally required to store attributes for each shape.
-
-
Field Summary
-
Fields inherited from interface gov.nasa.worldwind.Exportable
FORMAT_NOT_SUPPORTED, FORMAT_PARTIALLY_SUPPORTED, FORMAT_SUPPORTED
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ShapeAttributescopy()Returns a new ShapeAttributes instance of the same type as this ShapeAttributes who's properties are configured exactly as this ShapeAttributes.voidcopy(ShapeAttributes attributes)Copies the specified ShapeAttributes' properties into this object's properties.doublegetImageScale()Indicates the amount the shape's texture is scaled by as a floating-point value.java.lang.ObjectgetImageSource()Indicates the image source that is applied as a texture to the shape's interior.MaterialgetInteriorMaterial()Indicates the material properties of the shape's interior.doublegetInteriorOpacity()Indicates the opacity of the shape's interior as a floating-point value in the range 0.0 to 1.0.MaterialgetOutlineMaterial()Indicates the material properties of the shape's outline.doublegetOutlineOpacity()Indicates the opacity of the shape's outline as a floating-point value in the range 0.0 to 1.0.intgetOutlineStippleFactor()Indicates the number of times each bit in the outline stipple pattern is repeated before the next bit is used.shortgetOutlineStipplePattern()Indicates the 16-bit integer that defines which pixels are rendered in the shape's outline.doublegetOutlineWidth()Indicates the line width (in pixels) used when rendering the shape's outline.voidgetRestorableState(RestorableSupport rs, RestorableSupport.StateObject so)Saves the attributes' current state in the specifiedRestorableSupport.booleanisDrawInterior()Indicates whether the shape's interior geometry is drawn.booleanisDrawOutline()Indicates whether the shape's outline geometry is drawn.booleanisEnableAntialiasing()Indicates whether the shape is rendered with smooth lines and edges.booleanisEnableLighting()Indicates whether lighting is applied to the shape.booleanisUnresolved()Indicates whether some of the shape's attributes are unresolved.voidrestoreState(RestorableSupport rs, RestorableSupport.StateObject so)Restores the state of any attributes contained in the specifiedRestorableSupport.voidsetDrawInterior(boolean draw)Specifies whether to draw the shape's interior geometry.voidsetDrawOutline(boolean draw)Specifies whether to draw the shape's outline geometry.voidsetEnableAntialiasing(boolean enable)Specifies whether the shape should be rendered with smooth lines and edges.voidsetEnableLighting(boolean enableLighting)Specifies whether to apply lighting to the shape.voidsetImageScale(double scale)Specifies the amount to scale the shape's texture as a floating-point value.voidsetImageSource(java.lang.Object imageSource)Specifies the image source to apply as a texture to the shape's interior, ornullto specify that the shape should not have a texture.voidsetInteriorMaterial(Material material)Specifies the material properties of the shape's interior.voidsetInteriorOpacity(double opacity)Specifies the opacity of the shape's interior as a floating-point value in the range 0.0 to 1.0.voidsetOutlineMaterial(Material material)Specifies the material properties of the shape's outline.voidsetOutlineOpacity(double opacity)Specifies the opacity of the shape's outline as a floating-point value in the range 0.0 to 1.0.voidsetOutlineStippleFactor(int factor)Specifies the number of times each bit in the outline stipple pattern should be repeated before the next bit is used.voidsetOutlineStipplePattern(short pattern)Specifies a 16-bit integer that defines which pixels are rendered in the shape's outline.voidsetOutlineWidth(double width)Specifies the line width (in pixels) to use when rendering the shape's outline.voidsetUnresolved(boolean unresolved)Specifies whether some of the shape's attributes are unresolved.-
Methods inherited from interface gov.nasa.worldwind.Exportable
export, isExportFormatSupported
-
-
-
-
Method Detail
-
copy
ShapeAttributes copy()
Returns a new ShapeAttributes instance of the same type as this ShapeAttributes who's properties are configured exactly as this ShapeAttributes.- Returns:
- a copy of this ShapeAttributes.
-
copy
void copy(ShapeAttributes attributes)
Copies the specified ShapeAttributes' properties into this object's properties. This does nothing if the specified attributes isnull.- Parameters:
attributes- the attributes to copy.
-
isUnresolved
boolean isUnresolved()
Indicates whether some of the shape's attributes are unresolved.- Returns:
trueto indicate that one or more attributes are unresolved, otherwisefalse.- See Also:
setUnresolved(boolean)
-
setUnresolved
void setUnresolved(boolean unresolved)
Specifies whether some of the shape's attributes are unresolved. This can be used to denote that a shape's attributes are being retrieved from a non-local resource. During retrieval, the controlling code sets unresolved totrue, then sets it tofalseonce the retrieval is complete. Code that interprets the attributes knows that the attributes are complete when unresolved isfalse.- Parameters:
unresolved-trueto specify that one or more attributes are unresolved, otherwisefalse.- See Also:
isUnresolved()
-
isDrawInterior
boolean isDrawInterior()
Indicates whether the shape's interior geometry is drawn.- Returns:
trueif the shape's interior is drawn, otherwisefalse.- See Also:
setDrawInterior(boolean)
-
setDrawInterior
void setDrawInterior(boolean draw)
Specifies whether to draw the shape's interior geometry.- Parameters:
draw-trueto draw the shape's interior, otherwisefalse.- See Also:
isDrawInterior()
-
isDrawOutline
boolean isDrawOutline()
Indicates whether the shape's outline geometry is drawn.- Returns:
trueif the shape's outline is drawn, otherwisefalse.- See Also:
setDrawOutline(boolean)
-
setDrawOutline
void setDrawOutline(boolean draw)
Specifies whether to draw the shape's outline geometry.- Parameters:
draw-trueto draw the shape's outline, otherwisefalse.- See Also:
isDrawOutline()
-
isEnableAntialiasing
boolean isEnableAntialiasing()
Indicates whether the shape is rendered with smooth lines and edges.- Returns:
trueif the shape is drawn with smooth lines and edges, otherwisefalse.- See Also:
setEnableAntialiasing(boolean)
-
setEnableAntialiasing
void setEnableAntialiasing(boolean enable)
Specifies whether the shape should be rendered with smooth lines and edges.- Parameters:
enable-trueto draw the shape with smooth lines and edges, otherwisefalse.- See Also:
isEnableAntialiasing()
-
isEnableLighting
boolean isEnableLighting()
Indicates whether lighting is applied to the shape.- Returns:
trueto apply lighting, otherwisefalse.- See Also:
setEnableLighting(boolean)
-
setEnableLighting
void setEnableLighting(boolean enableLighting)
Specifies whether to apply lighting to the shape. By default, the shape is lit using theDrawContext's standard lighting by callingDrawContext.beginStandardLighting()andDrawContext.endStandardLighting()before and after the shape is rendered, respectively.- Parameters:
enableLighting-trueto apply lighting, otherwisefalse.- See Also:
isEnableLighting()
-
getInteriorMaterial
Material getInteriorMaterial()
Indicates the material properties of the shape's interior. If lighting is applied to the shape, 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 shape's constant interior color.- Returns:
- the material applied to the shape's interior.
- See Also:
setInteriorMaterial(Material)
-
setInteriorMaterial
void setInteriorMaterial(Material material)
Specifies the material properties of the shape's interior. If lighting is applied to the shape, this specifies the interior's ambient, diffuse, and specular colors, its shininess, and the color of any emitted light. Otherwise, the material's diffuse color specifies the shape's constant interior color.- Parameters:
material- the material to apply to the shape's interior.- Throws:
java.lang.IllegalArgumentException- ifmaterialisnull.- See Also:
getInteriorMaterial()
-
getOutlineMaterial
Material getOutlineMaterial()
Indicates the material properties of the shape's outline. If lighting is applied to the shape, 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 shape's constant outline color.- Returns:
- the material applied to the shape's outline.
- See Also:
setOutlineMaterial(Material)
-
setOutlineMaterial
void setOutlineMaterial(Material material)
Specifies the material properties of the shape's outline. If lighting is applied to the shape, this specifies the outline's ambient, diffuse, and specular colors, its shininess, and the color of any emitted light. Otherwise, the material's diffuse color specifies as the shape's constant outline color.- Parameters:
material- the material to apply to the shape's outline.- Throws:
java.lang.IllegalArgumentException- ifmaterialisnull.- See Also:
getOutlineMaterial()
-
getInteriorOpacity
double getInteriorOpacity()
Indicates the opacity of the shape'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)
-
setInteriorOpacity
void setInteriorOpacity(double opacity)
Specifies the opacity of the shape'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:
java.lang.IllegalArgumentException- ifopacityis less than 0.0 or greater than 1.0.- See Also:
getInteriorOpacity()
-
getOutlineOpacity
double getOutlineOpacity()
Indicates the opacity of the shape'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)
-
setOutlineOpacity
void setOutlineOpacity(double opacity)
Specifies the opacity of the shape'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:
java.lang.IllegalArgumentException- ifopacityis less than 0.0 or greater than 1.0.- See Also:
getOutlineOpacity()
-
getOutlineWidth
double getOutlineWidth()
Indicates the line width (in pixels) used when rendering the shape's outline. The returned value is either zero or a positive floating-point value.- Returns:
- the line width in pixels.
- See Also:
setOutlineWidth(double)
-
setOutlineWidth
void setOutlineWidth(double width)
Specifies the line width (in pixels) to use when rendering the shape's outline. The specifiedwidthmust be zero or a positive floating-point value. Specifying a line width of zero disables the shape's outline. Thewidthmay be limited by an implementation-defined maximum during rendering. The maximum width is typically 10 pixels.- Parameters:
width- the line width in pixels.- Throws:
java.lang.IllegalArgumentException- ifwidthis less than zero.- See Also:
getOutlineWidth()
-
getOutlineStippleFactor
int getOutlineStippleFactor()
Indicates the number of times each bit in the outline stipple pattern is repeated before the next bit is used.- Returns:
- the number of times each bit in the outline stipple pattern is repeated.
- See Also:
setOutlineStippleFactor(int)
-
setOutlineStippleFactor
void setOutlineStippleFactor(int factor)
Specifies the number of times each bit in the outline stipple pattern should be repeated before the next bit is used. For example, iffactoris 3, each bit is repeated 3 times before using the next bit. The specifiedfactormust be either zero or an integer greater than zero. Thefactormay be limited by an implementation-defined maximum during rendering. The maximum stipple factor is typically 256.To disable outline stippling, either specify a stipple factor of 0, or specify a stipple pattern of all 1 bits:
0xFFFF.- Parameters:
factor- the number of times each bit in the outline stipple pattern should be repeated.- Throws:
java.lang.IllegalArgumentException- iffactoris less than zero.- See Also:
getOutlineStippleFactor(),setOutlineStipplePattern(short)
-
getOutlineStipplePattern
short getOutlineStipplePattern()
Indicates the 16-bit integer that defines which pixels are rendered in the shape's outline.- Returns:
- a 16-bit integer whose bit pattern defines which pixels are rendered in the shape's outline.
- See Also:
setOutlineStipplePattern(short)
-
setOutlineStipplePattern
void setOutlineStipplePattern(short pattern)
Specifies a 16-bit integer that defines which pixels are rendered in the shape's outline. Starting at the least significant bit and moving to the most significant bit, the 16 bits define a repeating a pattern of which pixels in the outline are rendered and which are suppressed. Each bit corresponds to a pixel in the shape's outline, and the bit pattern repeats after reaching n*16 pixels, where n is the stipple factor. Each bit is repeated n-times according to the outline stipple factor. For example, if the outline stipple factor is 3, each bit is repeated 3 times before using the next bit.To disable outline stippling, either specify a stipple factor of 0, or specify a stipple pattern of all 1 bits:
0xFFFF.- Parameters:
pattern- a 16-bit integer whose bit pattern defines which pixels are rendered in the shape's outline.- See Also:
getOutlineStipplePattern(),setOutlineStippleFactor(int)
-
getImageSource
java.lang.Object getImageSource()
Indicates the image source that is applied as a texture to the shape's interior.- Returns:
- the source of the shape's texture, either a
Stringpath, aURL, aBufferedImage, ornull. - See Also:
setImageSource(Object)
-
setImageSource
void setImageSource(java.lang.Object imageSource)
Specifies the image source to apply as a texture to the shape's interior, ornullto specify that the shape should not have a texture. When notnull, the texture replaces the shape's interior material. The source type may be one of the following:Stringcontaining a path to a local file, or a resource on the classpath.URLBufferedImagenull
URL, it is read only when the shape is rendered.- Parameters:
imageSource- the source of the shape's texture, either aStringpath, aURL, aBufferedImage, ornull.- See Also:
getImageSource()
-
getImageScale
double getImageScale()
Indicates the amount the shape's texture is scaled by as a floating-point value.- Returns:
- the amount the shape's texture is scaled by as a floating-point value. This value is always greater than zero.
- See Also:
setImageScale(double)
-
setImageScale
void setImageScale(double scale)
Specifies the amount to scale the shape's texture as a floating-point value. A value of 1.0 specifies that the texture should be applied without any scaling, a value greater than 1.0 specifies that the texture should be magnified, and a value less than 1.0 specifies that the texture should be minified. For example, a scale of 2.0 magnifies the texture by a factor of 2x.- Parameters:
scale- the amount to scale the shape's texture as a floating-point value.- Throws:
java.lang.IllegalArgumentException- ifscaleis less than or equal to zero.- See Also:
getImageScale(),setImageSource(Object)
-
getRestorableState
void getRestorableState(RestorableSupport rs, RestorableSupport.StateObject so)
Saves the attributes' current state in the specifiedRestorableSupport. If theStateObjectis notnullthe state is appended to it. Otherwise the state is added to theRestorableSupportroot. This state can be restored later by callingrestoreState(gov.nasa.worldwind.util.RestorableSupport, gov.nasa.worldwind.util.RestorableSupport.StateObject).- Parameters:
rs- theRestorableSupportthat receives the attributes' state.so- theStateObjectthe state is appended to, if notnull.- Throws:
java.lang.IllegalArgumentException- ifrsisnull.
-
restoreState
void restoreState(RestorableSupport rs, RestorableSupport.StateObject so)
Restores the state of any attributes contained in the specifiedRestorableSupport. If theStateObjectis notnullit's searched for attribute state values, otherwise theRestorableSupportroot is searched.- Parameters:
rs- theRestorableSupportthat contains the attributes' state.so- theStateObjectto search for state values, if notnull.- Throws:
java.lang.IllegalArgumentException- ifrsisnull.
-
-