AGSCompositeSymbol Class Reference


Description

Instances of this class represent composite symbols. Composite symbols are simply a combination of two or more symbols. Each symbol can represent the same or a different aspect of a graphic.

For example, consider a composite symbol of an AGSSimpleMarkerSymbol and an AGSSimpleFillSymbol. A polygon displayed with this composite symbol would display the marker at each vertex along the polygon, and fill the interior space of each ring in the polygon.

Defined in:
AGSCompositeSymbol.h ( ArcGIS library)
Since:
1.0
Inheritance diagram for AGSCompositeSymbol:
AGSSymbol <AGSCoding>

List of all members.

Public Member Functions

(void) - decodeWithJSON:
(void) - drawGraphic:inContext:forEnvelope:atResolution:
(NSDictionary *) - encodeToJSON
(BOOL) - hitTestGraphic:withEnvelope:atResolution:
(id) - initWithJSON:
(BOOL) - shouldDrawGraphic:forEnvelope:atResolution:
(UIImage *) - swatchForGeometryType:size:

Static Public Member Functions

(id) + compositeSymbol
(CGPoint) + toScreenPointWithX:y:envelope:resolution:

Properties

UIColor * color
BOOL readyToDraw
NSMutableArray * symbols

Member Function Documentation

+ (id) compositeSymbol  

A method to get an initialized and autoreleased composite symbol.

Returns:
A new, autoreleased, composite symbol object.
Since:
1.0
- (void) decodeWithJSON: (NSDictionary *)  json   [optional, inherited]

Decode object from JSON representation.

Parameters:
json The JSON representation of the object to be decoded.
Since:
1.0
- (void) drawGraphic: (AGSGraphic *)  graphic
inContext: (CGContextRef)  context
forEnvelope: (AGSEnvelope *)  env
atResolution: (double)  resolution 

Method called by AGSGraphicsLayer to draw geometry onto context.

Since:
1.8
- (NSDictionary *) encodeToJSON   [optional, inherited]

Encode and return JSON representation for object.

Returns:
JSON representation of object.
Since:
1.0
- (BOOL) hitTestGraphic: (AGSGraphic *)  graphic
withEnvelope: (AGSEnvelope *)  envelope
atResolution: (double)  resolution 

Called to see if the geometry passes a hit test for this symbol.

Since:
1.8
- (id) initWithJSON: (NSDictionary *)  json   [optional, inherited]

Initialize and return object from JSON representation.

Parameters:
json The JSON representation of the object to be created.
Returns:
Object decoded from JSON representation.
Since:
1.0

Reimplemented in AGSWebMapFeatureCollection.

- (BOOL) shouldDrawGraphic: (AGSGraphic *)  graphic
forEnvelope: (AGSEnvelope *)  envelope
atResolution: (double)  resolution 

Called to see if the symbol should draw for a specific envelope.

Since:
1.8
- (UIImage *) swatchForGeometryType: (AGSGeometryType geometryType
size: (CGSize)  size 

Returns an image that represents a swatch for a particular geometry type.

Parameters:
geometryType The type of the geometry determines what kind of swatch is drawn.
size Size of the output swatch.
Returns:
UIImage of the drawn swatch.
+ (CGPoint) toScreenPointWithX: (double)  x
y: (double)  y
envelope: (AGSEnvelope *)  env
resolution: (double)  res 

A method that derived classes can call to help during drawing.

Since:
2.2

Property Documentation

- (UIColor*) color [read, write, retain, inherited]

Symbol color.

Since:
1.0
- (BOOL) readyToDraw [read, write, assign, inherited]

Property called by the framework. Most symbols should have this set to YES as soon as the symbol is init'ed. If a symbol needs to access a resource asynchronously before it's ready to draw then it should be set to NO initially then YES once it is ready. This is not as efficient as if a symbol is readyToDraw to begin with, however, so custom symbols should only set this to NO initially if absolutely necessary.

- (NSMutableArray*) symbols [read, write, retain]

The individual symbols which make up this composite symbol. The symbols are drawn in the order they are stored in the array. The 0th symbol is drawn first, then the next symbol is drawn on top of it, and so on.

Since:
1.0