diff --git a/CHANGELOG.md b/CHANGELOG.md index e3cf790..dd2e7ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.3.0 (October, 28, 2016) +- Increased Indoor Light navigation mode position granularity, resulting in better accuracy. +- Indoor Light is now more stable when the user is not moving. +- Added information about orientation to Indoor Light. +- Added SpriteKit based EILIndoorLocationScene with built in zoom in/out, rotate and pan gestures handling. + ## 2.2.1 (May, 2, 2016) - Fixed a bug resulting in EILIndoorLocationManager sometimes not providing updates after start. diff --git a/Documentation/Blocks/EILRequestAddLocationBlock.html b/Documentation/Blocks/EILRequestAddLocationBlock.html index da576b8..0b7cefe 100644 --- a/Documentation/Blocks/EILRequestAddLocationBlock.html +++ b/Documentation/Blocks/EILRequestAddLocationBlock.html @@ -1,220 +1,96 @@ - + - - - EILRequestAddLocationBlock Block Reference - - - - - - -
-
-

Estimote Indoor Location SDK

- Estimote -
+ + + + EILRequestAddLocationBlock Block Reference + + + + + + +
+
- - -
- -
-
- - - -
+ + + + +
+ + +
+
+
+
+

EILRequestAddLocationBlock Block Reference

+
- - + +
Declared inEILRequestAddLocation.hDeclared inEILRequestAddLocation.h
- - - - - - - - - - - -

Block Definition

-

EILRequestAddLocationBlock

- - -
-

A block object to be executed when the request finishes.

-
- - - -typedef void (^EILRequestAddLocationBlock) (EILLocation *location, NSError *error) + - - - - - - - - - -
-

Declared In

- EILRequestAddLocation.h
-
- + +
-
- - +
-
- - +
+
+ + + \ No newline at end of file diff --git a/Documentation/Blocks/EILRequestFetchLocationBlock.html b/Documentation/Blocks/EILRequestFetchLocationBlock.html index f58aadc..f9ff6a8 100644 --- a/Documentation/Blocks/EILRequestFetchLocationBlock.html +++ b/Documentation/Blocks/EILRequestFetchLocationBlock.html @@ -1,220 +1,96 @@ - + - - - EILRequestFetchLocationBlock Block Reference - - - - - - -
- + + + + EILRequestFetchLocationBlock Block Reference + + + + + + +
+
- - -
- -
-
- - - -
+ + + + +
+ + +
+
+
+
+

EILRequestFetchLocationBlock Block Reference

+
- - + +
Declared inEILRequestFetchLocation.hDeclared inEILRequestFetchLocation.h
- - - - - - - - - - - -

Block Definition

-

EILRequestFetchLocationBlock

- - -
-

A block object to be executed when the request finishes.

-
- - - -typedef void (^EILRequestFetchLocationBlock) (EILLocation *location, NSError *error) + - - - - - - - - - -
-

Declared In

- EILRequestFetchLocation.h
-
- + +
-
- - +
-
- - +
+
+ + + \ No newline at end of file diff --git a/Documentation/Blocks/EILRequestFetchLocationsBlock.html b/Documentation/Blocks/EILRequestFetchLocationsBlock.html index 26302a5..ad88600 100644 --- a/Documentation/Blocks/EILRequestFetchLocationsBlock.html +++ b/Documentation/Blocks/EILRequestFetchLocationsBlock.html @@ -1,220 +1,96 @@ - + - - - EILRequestFetchLocationsBlock Block Reference - - - - - - -
- + + + + EILRequestFetchLocationsBlock Block Reference + + + + + + +
+
- - -
- -
-
- - - -
+ + + + +
+ + +
+
+
+
+

EILRequestFetchLocationsBlock Block Reference

+
- - + +
Declared inEILRequestFetchLocations.hDeclared inEILRequestFetchLocations.h
- - - - - - - - - - - -

Block Definition

-

EILRequestFetchLocationsBlock

- - -
-

A block object to be executed when the request finishes. Returns an array of EILIndoorLocation objects.

-
- - - -typedef void (^EILRequestFetchLocationsBlock) (NSArray<EILLocation *> *locations, NSError *error) + - - - - - - - - - -
-

Declared In

- EILRequestFetchLocations.h
-
- + +
-
- - +
-
- - +
+
+ + + \ No newline at end of file diff --git a/Documentation/Blocks/EILRequestFetchPublicLocationsBlock.html b/Documentation/Blocks/EILRequestFetchPublicLocationsBlock.html index e7c4225..25064f7 100644 --- a/Documentation/Blocks/EILRequestFetchPublicLocationsBlock.html +++ b/Documentation/Blocks/EILRequestFetchPublicLocationsBlock.html @@ -1,220 +1,96 @@ - + - - - EILRequestFetchPublicLocationsBlock Block Reference - - - - - - -
- + + + + EILRequestFetchPublicLocationsBlock Block Reference + + + + + + +
+
- - -
- -
-
- - - -
+ + + + +
+ + +
+
+
+
+

EILRequestFetchPublicLocationsBlock Block Reference

+
- - + +
Declared inEILRequestFetchPublicLocations.hDeclared inEILRequestFetchPublicLocations.h
- - - - - - - - - - - -

Block Definition

-

EILRequestFetchPublicLocationsBlock

- - -
-

A block object to be executed when the request finishes.

-
- - - -typedef void (^EILRequestFetchPublicLocationsBlock) (NSArray<EILLocation *> *locations, NSError *error) + - - - - - - - - - -
-

Declared In

- EILRequestFetchPublicLocations.h
-
- + +
-
- - +
-
- - +
+
+ + + \ No newline at end of file diff --git a/Documentation/Blocks/EILRequestModifyLocationBlock.html b/Documentation/Blocks/EILRequestModifyLocationBlock.html index 4754a59..92fabbc 100644 --- a/Documentation/Blocks/EILRequestModifyLocationBlock.html +++ b/Documentation/Blocks/EILRequestModifyLocationBlock.html @@ -1,220 +1,96 @@ - + - - - EILRequestModifyLocationBlock Block Reference - - - - - - -
- + + + + EILRequestModifyLocationBlock Block Reference + + + + + + +
+
- - -
- -
-
- - - -
+ + + + +
+ + +
+
+
+
+

EILRequestModifyLocationBlock Block Reference

+
- - + +
Declared inEILRequestModifyLocation.hDeclared inEILRequestModifyLocation.h
- - - - - - - - - - - -

Block Definition

-

EILRequestModifyLocationBlock

- - -
-

A block object to be executed when the request finishes.

-
- - - -typedef void (^EILRequestModifyLocationBlock) (EILLocation *location, NSError *error) + - - - - - - - - - -
-

Declared In

- EILRequestModifyLocation.h
-
- + +
-
- - +
-
- - +
+
+ + + \ No newline at end of file diff --git a/Documentation/Blocks/EILRequestRemoveLocationBlock.html b/Documentation/Blocks/EILRequestRemoveLocationBlock.html index 72b7f6d..1ee0dfe 100644 --- a/Documentation/Blocks/EILRequestRemoveLocationBlock.html +++ b/Documentation/Blocks/EILRequestRemoveLocationBlock.html @@ -1,220 +1,96 @@ - + - - - EILRequestRemoveLocationBlock Block Reference - - - - - - -
- + + + + EILRequestRemoveLocationBlock Block Reference + + + + + + +
+
- - -
- -
-
- - - -
+ + + + +
+ + +
+
+
+
+

EILRequestRemoveLocationBlock Block Reference

+
- - + +
Declared inEILRequestRemoveLocation.hDeclared inEILRequestRemoveLocation.h
- - - - - - - - - - - -

Block Definition

-

EILRequestRemoveLocationBlock

- - -
-

A block object to be executed when the request finishes.

-
- - - -typedef void (^EILRequestRemoveLocationBlock) (EILLocation *location, NSError *error) + - - - - - - - - - -
-

Declared In

- EILRequestRemoveLocation.h
-
- + +
-
- - +
-
- - +
+
+ + + \ No newline at end of file diff --git a/Documentation/Classes/EILIndoorLocationManager.html b/Documentation/Classes/EILIndoorLocationManager.html index b65a188..489d60c 100644 --- a/Documentation/Classes/EILIndoorLocationManager.html +++ b/Documentation/Classes/EILIndoorLocationManager.html @@ -1,1035 +1,912 @@ - + - - - EILIndoorLocationManager Class Reference - - - - - - -
- + + + + EILIndoorLocationManager Class Reference + + + + + + +
+
- - -
- -
-
- - - -
+ + + + + +
+ + +
+
+
+
+

EILIndoorLocationManager Class Reference

+
- - + + - - + +
Inherits fromNSObjectInherits fromNSObject
Declared inEILIndoorLocationManager.h
EILIndoorLocationManager.m
Declared inEILIndoorLocationManager.h
EILIndoorLocationManager.m
+ - - +
-

Tasks

- - -

Other Methods

- - - - - -

Indoor Location Monitoring

- - - - -

Indoor Location Position Updates

- - - -
- - - - - -
- -

Properties

-
+

Other Methods

+ +
+
-

delegate

- - - -
-

The delegate object to receive position update events.

-
- - +

  delegate +

-
@property (nonatomic, weak, nullable) id<EILIndoorLocationManagerDelegate> delegate
+
+
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- -

isRunning

- - - -
-

Informs whether Indoor Location Manager is currently running.

-
- - +
+ + +
+

The delegate object to receive position update events.

+
+ + -
@property (nonatomic, assign, readonly) BOOL isRunning
+
@property (nonatomic, weak, nullable) id<EILIndoorLocationManagerDelegate> delegate
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- -

mode

- - - -
-

Mode of EILIndoorLocationManager position updates delivery.

-
- - + + -
@property (nonatomic, assign) EILIndoorLocationManagerMode mode
+ - - - - - - - - -
-

Discussion

-

Default mode of EILIndoorLocationManager is EILIndoorLocationManagerModeNormal.

+ -

Switching mode while delivery of position updates is in progress will effectively restart position updates with new mode.

-
- - - - - -
-

See Also

- +
- - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- -

monitoredLocations

- - - -
-

The set of all monitored Indoor Locations.

-
- - +
+ +

– start +

-
@property (nonatomic, strong, readonly) NSSet<EILLocation*> *monitoredLocations
+
+
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- - - -
- -

Class Methods

- -
- -

supportedModes

- - - -
-

Supported modes (EILIndoorLocationManagerMode) for the device.

-
- - +
+ + +
+

Starts Indoor Location Manager.

+
+ + -
+ (NSArray<NSNumber*> *)supportedModes
+
- (void)start
- - - - -
-

Return Value

-

An array of supported modes (EILIndoorLocationManagerMode) encoded as NSNumber * objects.

-
- - - - - - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - + + + + + + + + +
+

Discussion

+

Starting Indoor Location Manager early allows it to warm-up and later on deliver without delay Indoor Location status change and position updates.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ +

– stop +

+ +
+
+ +
+ + +
+

Completely stops Indoor Location Manager.

+
+ + + +
- (void)stop
+ + + + + + + + + +
+

Discussion

+

Invoking this method will stop all Indoor Location monitoring and position updates.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ +

  isRunning +

+ +
+
+ +
+ + +
+

Informs whether Indoor Location Manager is currently running.

+
+ + + +
@property (nonatomic, assign, readonly) BOOL isRunning
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
-
+ + +

Indoor Location Monitoring

+ +
+
+ +

– startMonitoringForLocation: +

+ +
+
+ +
+ + +
+

Starts monitoring the specified Indoor Location allowing you determine if you are inside or outside monitored location.

+
+ + + +
- (void)startMonitoringForLocation:(EILLocation *)location
+ + + +
+

Parameters

+ + + + + + + +
location

The Indoor Location object that defines the boundary to monitor. This parameter must not be nil.

+
+ + + + + + + +
+

Discussion

+

The current state, i.e., inside/outside, is available on-demand, by calling the stateForLocation: method.

+ +

If the Indoor Location Manager is not started this method will start it.

+ +

Starting monitoring for Indoor Location early allows position updates to be delivered without delay later on.

+ +

Starting monitoring for a location already monitored will do nothing.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ +

– stopMonitoringForLocation: +

+ +
+
+ +
+ + +
+

Stops monitoring the specified Indoor Location.

+
+ + + +
- (void)stopMonitoringForLocation:(EILLocation *)location
+ + + +
+

Parameters

+ + + + + + + +
location

The Indoor Location object currently being monitored. This parameter must not be nil. The object you specify need not be the exact same object that you registered, but its identifier or name should be the same.

+
+ + + + + + + + + + + +
+

See Also

+ +
+ -
- (void)start
+ +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ +

  monitoredLocations +

- - - - - - - - -
-

Discussion

-

Starting Indoor Location Manager early allows it to warm-up and later on deliver without delay Indoor Location status change and position updates.

+
+
+ +
+ + +
+

The set of all monitored Indoor Locations.

+
+ + + +
@property (nonatomic, strong, readonly) NSSet<EILLocation*> *monitoredLocations
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ +

– stateForLocation: +

+ +
+
+ +
+ + +
+

Determines state for the monitored location.

+
+ + + +
- (EILLocationState)stateForLocation:(EILLocation *)location
+ + + +
+

Parameters

+ + + + + + + +
location

An EILLocation object for which state should be determined.

+
+ + + +
+

Return Value

+

State in which the monitored location is.

+
+ + + + + +
+

Discussion

+

If the location is not monitored EILLocationStateUnknown will be returned.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ +

– stateForLocationWithIdentifier: +

+ +
+
+ +
+ + +
+

Determines state for the monitored location identified by its identifier.

+
+ + + +
- (EILLocationState)stateForLocationWithIdentifier:(NSString *)locationIdentifier
+ + + +
+

Parameters

+ + + + + + + +
locationIdentifier

An identifier of the location for which state should be determined.

+
+ + + +
+

Return Value

+

State in which the monitored location is.

+
+ + + + + +
+

Discussion

+

Each location saved in Estimote Cloud is given a unique string identifier that corresponds to the identifier property of EILLocation. You can find it on cloud.estimote.com, on the “Locations” screen, and use it with the Indoor SDK to, among other things, fetch your stored location from Estimote Cloud.

+ +

If the location is not monitored EILLocationStateUnknown will be returned.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
- - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- -
+
-
- -

startMonitoringForLocation:

- - - -
-

Starts monitoring the specified Indoor Location allowing you determine if you are inside or outside monitored location.

-
- - -
- (void)startMonitoringForLocation:(EILLocation *)location
+ +

Indoor Location Position Updates

+ +
+
+ +

  mode +

+ +
+
+ +
+ + +
+

Mode of EILIndoorLocationManager position updates delivery.

+
+ + + +
@property (nonatomic, assign) EILIndoorLocationManagerMode mode
+ + + + + + + + + +
+

Discussion

+

Default mode of EILIndoorLocationManager is EILIndoorLocationManagerModeNormal.

+ +

Switching mode while delivery of position updates is in progress will effectively restart position updates with new mode.

+
+ + + + + +
+

See Also

+ +
+ + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ +

  provideOrientationForLightMode +

+ +
+
+ +
+ + +
+

Enables orientation when position updates.

+
+ + + +
@property (nonatomic, assign) BOOL provideOrientationForLightMode
+ + + + + + + + + +
+

Discussion

+

Default mode of EILIndoorLocationManager is enabled.

+ +

Switching mode while delivery of position updates is in progress will effectively restart position updates with new mode.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ +

+ supportedModes +

+ +
+
+ +
+ + +
+

Supported modes (EILIndoorLocationManagerMode) for the device.

+
+ + + +
+ (NSArray<NSNumber*> *)supportedModes
- - -
-

Parameters

- -
-
location
-

The Indoor Location object that defines the boundary to monitor. This parameter must not be nil.

-
- -
- - - - - - - -
-

Discussion

-

The current state, i.e., inside/outside, is available on-demand, by calling the stateForLocation: method.

+ + -

If the Indoor Location Manager is not started this method will start it.

+ +
+

Return Value

+

An array of supported modes (EILIndoorLocationManagerMode) encoded as NSNumber * objects.

+
+ -

Starting monitoring for Indoor Location early allows position updates to be delivered without delay later on.

+ -

Starting monitoring for a location already monitored will do nothing.

-
- - - - - -
-

See Also

- +
- - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
+
-

startPositionUpdatesForLocation:

- - - -
-

Starts the delivery of position updates for the specified location.

-
- - +

– startPositionUpdatesForLocation: +

-
- (void)startPositionUpdatesForLocation:(EILLocation *)location
+
+
- - -
-

Parameters

- -
-
location
-

The location.

-
- -
- - - - - - - -
-

Discussion

-

If the Indoor Location Manager is not started invoking this method will start it.

+
+ + +
+

Starts the delivery of position updates for the specified location.

+
+ + + +
- (void)startPositionUpdatesForLocation:(EILLocation *)location
+ + + +
+

Parameters

+ + + + + + + +
location

The location.

+
+ + + + + + + +
+

Discussion

+

If the Indoor Location Manager is not started invoking this method will start it.

Only one location is supported at the same time. Calling this method without previously stopping position updates will have no effect.

Calling this method without calling start startMonitoringForLocation: will result in approximately 6 s delay before first position updates are provided. Starting monitoring earlier will reduce this time by the amount of time monitoring was running.

-
- - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- -

stateForLocation:

- - - -
-

Determines state for the monitored location.

-
- - +
+ -
- (EILLocationState)stateForLocation:(EILLocation *)location
+ - - -
-

Parameters

- -
-
location
-

An EILLocation object for which state should be determined.

-
- -
- - - -
-

Return Value

-

State in which the monitored location is.

-
- - - - - -
-

Discussion

-

If the location is not monitored EILLocationStateUnknown will be returned.

+ + + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
- - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- -

stateForLocationWithIdentifier:

- - - -
-

Determines state for the monitored location identified by its identifier.

-
- - +
+ +

– stopPositionUpdates +

-
- (EILLocationState)stateForLocationWithIdentifier:(NSString *)locationIdentifier
+
+
- - -
-

Parameters

- -
-
locationIdentifier
-

An identifier of the location for which state should be determined.

-
- -
- - - -
-

Return Value

-

State in which the monitored location is.

-
- - - - - -
-

Discussion

-

Each location saved in Estimote Cloud is given a unique string identifier that corresponds to the identifier property of EILLocation. You can find it on cloud.estimote.com, on the “Locations” screen, and use it with the Indoor SDK to, among other things, fetch your stored location from Estimote Cloud.

+
+ + +
+

Stops the delivery of position updates.

+
+ + -

If the location is not monitored EILLocationStateUnknown will be returned.

-
- - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- -

stop

- - - -
-

Completely stops Indoor Location Manager.

-
- - +
- (void)stopPositionUpdates
-
- (void)stop
+ + - - - - - - - - -
-

Discussion

-

Invoking this method will stop all Indoor Location monitoring and position updates.

-
- - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- -

stopMonitoringForLocation:

- - - -
-

Stops monitoring the specified Indoor Location.

-
- - + -
- (void)stopMonitoringForLocation:(EILLocation *)location
+ - - -
-

Parameters

- -
-
location
-

The Indoor Location object currently being monitored. This parameter must not be nil. The object you specify need not be the exact same object that you registered, but its identifier or name should be the same.

-
- -
- - - - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - -
- -
- -

stopPositionUpdates

- - - -
-

Stops the delivery of position updates.

-
- - -
- (void)stopPositionUpdates
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationManager.h
-
- - + +
+

Declared In

+

EILIndoorLocationManager.h

+
+ + +
+
+
+ - - - +
-
- - +
-
- - +
+
+ + + \ No newline at end of file diff --git a/Documentation/Classes/EILIndoorLocationScene.html b/Documentation/Classes/EILIndoorLocationScene.html new file mode 100644 index 0000000..f167005 --- /dev/null +++ b/Documentation/Classes/EILIndoorLocationScene.html @@ -0,0 +1,1290 @@ + + + + + + EILIndoorLocationScene Class Reference + + + + + + +
+ +
+ + + +
+
+
+
+

EILIndoorLocationScene Class Reference

+ + +
+ + + + + + + +
Inherits fromSKScene
Declared inEILIndoorLocationScene.h
EILIndoorLocationScene.m
+ + + + +
+ +

Overview

+

A subclass of SKScene designed to draw EILLocation and user position inside it. +Provides a build in mechanism for handling zoom in/out, rotation and pan gestures.

+
+ + + + + +
+ + + + +

Properties

+ +
+
+ +

  location +

+ +
+
+ +
+ + +
+

Currently presented EILLocation object.

+
+ + + +
@property (nonatomic, strong, readonly, nullable) EILLocation *location
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  showBeacons +

+ +
+
+ +
+ + +
+

If YES, then a beacons will be displayed. +Default: YES.

+
+ + + +
@property (nonatomic, assign) BOOL showBeacons
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  showTrace +

+ +
+
+ +
+ + +
+

If YES, then a trace will be displayed. +Default: NO.

+
+ + + +
@property (nonatomic, assign) BOOL showTrace
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  rotateLocationOnPositionUpdate +

+ +
+
+ +
+ + +
+

If YES, then the location will be rotated with position updates making the position indicator always point up. +If NO, then the position indicator will rotate together with position updates leaving the location unrotated. +Changes after touching compass button. +Default: NO.

+
+ + + +
@property (nonatomic, assign) BOOL rotateLocationOnPositionUpdate
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  locationScale +

+ +
+
+ +
+ + +
+

Value calculated after calling drawLocation:. +Factor by which every location coordinate is multiplied before drawing. +Value doesn’t change while zooming in/out.

+
+ + + +
@property (nonatomic, assign, readonly) CGFloat locationScale
+ + + + + + + + + +
+

Discussion

+

Use it to transform scene coordinates to real coordinates. +sceneCoordinate = realCoordinate * locationScale +realCoordinate = sceneCoordinate / locationScale

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  touchHandler +

+ +
+
+ +
+ + +
+

Block of code that will be invoked every time a node on EILIndoorLocationScene is touched.

+
+ + + +
@property (nonatomic, copy, nullable) void ( ^ ) ( NSString *nodeName ) touchHandler
+ + + +
+

Parameters

+ + + + + + + +
nodeName

Name of node that was touched.

+
+ + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+
+ + + +

Styling properties

+ +
+
+ +

  avatarImageName +

+ +
+
+ +
+ + +
+

Name of the image asset that should be used as an avatar. +Avatar node will be recreated after each change of this property.

+
+ + + +
@property (nonatomic, strong, nullable) NSString *avatarImageName
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  backgroundImageName +

+ +
+
+ +
+ + +
+

Name of the image asset that should be used as a background. +It will be resized to fit location size. +If background image represents a floorplan it shouldn’t contain any margins to fit properly. +Background node will be recreated after each change of this property.

+
+ + + +
@property (nonatomic, strong, nullable) NSString *backgroundImageName
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  centerUserButtonImageName +

+ +
+
+ +
+ + +
+

Name of the image asset that should be used as a center user button. +Center user button node will be recreated after each change of this property.

+
+ + + +
@property (nonatomic, strong, nullable) NSString *centerUserButtonImageName
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  compassButtonImageName +

+ +
+
+ +
+ + +
+

Name of the image asset that should be used as a compass button. +Compass button node will be recreated after each change of this property.

+
+ + + +
@property (nonatomic, strong, nullable) NSString *compassButtonImageName
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  locationBorderColor +

+ +
+
+ +
+ + +
+

strokeColor property value of the shape node that represents location border. +Default: Black.

+
+ + + +
@property (nonatomic, strong) UIColor *locationBorderColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  locationBorderThickness +

+ +
+
+ +
+ + +
+

lindeWidth property value of the shape node that represents location border.

+
+ + + +
@property (nonatomic, assign) CGFloat locationBorderThickness
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  windowColor +

+ +
+
+ +
+ + +
+

strokeColor property value of the shape nodes that represent linear objects of type EILLocationLinearObjectTypeWindow. +Default: Blue.

+
+ + + +
@property (nonatomic, strong) UIColor *windowColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  windowThickness +

+ +
+
+ +
+ + +
+

lindeWidth property value of the shape nodes that represent linear objects of type EILLocationLinearObjectTypeWindow.

+
+ + + +
@property (nonatomic, assign) CGFloat windowThickness
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  doorColor +

+ +
+
+ +
+ + +
+

strokeColor property value of the shape nodes that represent linear objects of type EILLocationLinearObjectTypeDoor. +Default: White.

+
+ + + +
@property (nonatomic, strong) UIColor *doorColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  doorThickness +

+ +
+
+ +
+ + +
+

lindeWidth property value of the shape nodes that represent linear objects of type EILLocationLinearObjectTypeDoor.

+
+ + + +
@property (nonatomic, assign) CGFloat doorThickness
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  traceColor +

+ +
+
+ +
+ + +
+

strokeColor property value of the shape node that represesnts trace. +Default: Yellow.

+
+ + + +
@property (nonatomic, strong) UIColor *traceColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  traceThickness +

+ +
+
+ +
+ + +
+

lineWidth property value of the shape node that represents trace.

+
+ + + +
@property (nonatomic, assign) CGFloat traceThickness
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

  beaconSize +

+ +
+
+ +
+ + +
+

size property value of the sprite nodes that represent beacons. +If this value is supposed to be different than default, set it before calling drawLocation:.

+
+ + + +
@property (nonatomic, assign) CGSize beaconSize
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+
+ + + +

Drawing location

+ +
+
+ +

– drawLocation: +

+ +
+
+ +
+ + +
+

Draws a graphical representation of EILLocation object.

+
+ + + +
- (void)drawLocation:(EILLocation *)location
+ + + +
+

Parameters

+ + + + + + + +
location

Object representing current location.

+
+ + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+
+ + + +

Handling position updates

+ +
+
+ +

– updateUserPosition:withAccuracy: +

+ +
+
+ +
+ + +
+

Updates avatar position to the given position. +If position is nil, avatar node is removed from scene. +Sets showAccuracy to YES on EILPositionNode class object that represents avatar.

+
+ + + +
- (void)updateUserPosition:(nullable EILOrientedPoint *)position withAccuracy:(CGFloat)accuracy
+ + + +
+

Parameters

+ + + + + + + + + + + + +
position

Object representing current position in the location.

accuracy

Value describing accuracy of position estimation. Calls updateAccuracy: on EILPositionNode class object that represents avatar.

+
+ + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

– updateUserPosition: +

+ +
+
+ +
+ + +
+

Updates avatar position to the given position. +If position is nil, avatar node is removed from scene. +Sets showAccuracy to NO on EILPositionNode class object that represents avatar.

+
+ + + +
- (void)updateUserPosition:(nullable EILOrientedPoint *)position
+ + + +
+

Parameters

+ + + + + + + +
position

Object representing current position in the location.

+
+ + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+ +

– centerOnUser +

+ +
+
+ +
+ + +
+

Sets camera property position to current position of avatar node in an animated way. +Called after touching center user button.

+
+ + + +
- (void)centerOnUser
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+
+ + + +

Drawing trace

+ +
+
+ +

– clearTrace +

+ +
+
+ +
+ + +
+

Clears the trace by removing trace node.

+
+ + + +
- (void)clearTrace
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationScene.h

+
+ + +
+
+
+
+ +
+ + + + +
+ + +
+
+
+ + + + \ No newline at end of file diff --git a/Documentation/Classes/EILIndoorLocationView.html b/Documentation/Classes/EILIndoorLocationView.html index 1ddf594..7150a10 100644 --- a/Documentation/Classes/EILIndoorLocationView.html +++ b/Documentation/Classes/EILIndoorLocationView.html @@ -1,269 +1,168 @@ - + - - - EILIndoorLocationView Class Reference - - - - - - -
- - - - -
- -
-
- - - -
+ + + + + +
+ + +
+
+
+
+

EILIndoorLocationView Class Reference

+
- - + + - - + +
Inherits fromUIViewInherits fromUIView
Declared inEILIndoorLocationView.h
EILIndoorLocationView.m
Declared inEILIndoorLocationView.h
EILIndoorLocationView.m
- +
@@ -273,1928 +172,1805 @@

Overview

- +
-

Tasks

- + -

Properties

- - - - - -

Styling properties

- - - - - -

Drawing location

+

Properties

- - - - -

Handling position updates

+
+
+ +

  delegate +

- - - - -

Drawing trace

+
+
- - - - -

Drawing user objects

+
+ + +
+

The delegate object to receive identifier of selected object in location view.

+
+ + - - - - -

Real to image coordinate calculations

+
@property (nonatomic, weak, nullable) id<EILIndoorLocationViewDelegate> delegate
- - -
- - - - - -
- -

Properties

- -
- -

delegate

- - - -
-

The delegate object to receive identifier of selected object in location view.

-
- - + + -
@property (nonatomic, weak, nullable) id<EILIndoorLocationViewDelegate> delegate
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

doorColor

- - - -
-

Color of the location door.

-
- - + -
@property (nonatomic, strong) IBInspectable UIColor *doorColor
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

doorThickness

- - - -
-

Thickness of the location door.

-
- - + -
@property (nonatomic, assign) IBInspectable NSInteger doorThickness
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
+ +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
-

location

- - - -
-

EILLocation object to be drawn.

-
- - +

  location +

-
@property (nonatomic, strong, readonly, nullable) EILLocation *location
+
+
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

locationBorderColor

- - - -
-

Color of the location boundary.

-
- - +
+ + +
+

EILLocation object to be drawn.

+
+ + -
@property (nonatomic, strong) IBInspectable UIColor *locationBorderColor
+
@property (nonatomic, strong, readonly, nullable) EILLocation *location
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

locationBorderThickness

- - - -
-

Thickness of the location boundary.

-
- - + + -
@property (nonatomic, assign) IBInspectable NSInteger locationBorderThickness
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

locationDrawn

- - - -
-

Determines if location was drawn successfully.

-
- - + -
@property (nonatomic, assign, readonly) BOOL locationDrawn
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

positionImage

- - - -
-

Image used as current position indicator.

-
- - + -
@property (nonatomic, strong, nullable) IBInspectable UIImage *positionImage
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

positionView

- - - -
-

View representing current position indicator.

-
- - + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  showTrace +

-
@property (nonatomic, strong, nullable) UIView *positionView
+
+
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

rotateOnPositionUpdate

- - - -
-

If YES, then the view will be rotated so the position indicator will always be pointing up.

-
- - +
+ + +
+

If YES, then a trace will be displayed.

+
+ + -
@property (nonatomic, assign) BOOL rotateOnPositionUpdate
+
@property (nonatomic, assign) BOOL showTrace
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

showBeacons

- - - -
-

If YES, then beacons will be displayed.

-
- - + + -
@property (nonatomic, assign) IBInspectable BOOL showBeacons
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

showTrace

- - - -
-

If YES, then a trace will be displayed.

-
- - + -
@property (nonatomic, assign) BOOL showTrace
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

showWallLengthLabels

- - - -
-

If YES, then wall length labels will be displayed.

-
- - + -
@property (nonatomic, assign) IBInspectable BOOL showWallLengthLabels
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

traceColor

- - - -
-

Color of the location trace.

-
- - + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  rotateOnPositionUpdate +

-
@property (nonatomic, strong) IBInspectable UIColor *traceColor
+
+
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

traceThickness

- - - -
-

Thickness of the trace.

-
- - +
+ + +
+

If YES, then the view will be rotated so the position indicator will always be pointing up.

+
+ + -
@property (nonatomic, assign) IBInspectable NSInteger traceThickness
+
@property (nonatomic, assign) BOOL rotateOnPositionUpdate
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

wallLengthLabelFontSize

- - - -
-

Font size for wall length labels.

-
- - + + -
@property (nonatomic, assign) IBInspectable NSInteger wallLengthLabelFontSize
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

wallLengthLabelsColor

- - - -
-

Color of the wall length labels.

-
- - + -
@property (nonatomic, strong) IBInspectable UIColor *wallLengthLabelsColor
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

windowBackgroundColor

- - - -
-

Color of the location window background.

-
- - + -
@property (nonatomic, strong) IBInspectable UIColor *windowBackgroundColor
+ - - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

windowColor

- - - -
-

Color of the location window.

-
- - + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  locationDrawn +

-
@property (nonatomic, strong) IBInspectable UIColor *windowColor
+
+
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

windowThickness

- - - -
-

Thickness of the location window.

-
- - +
+ + +
+

Determines if location was drawn successfully.

+
+ + -
@property (nonatomic, assign) IBInspectable NSInteger windowThickness
+
@property (nonatomic, assign, readonly) BOOL locationDrawn
- - - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
-
- - - - - -
- -

Instance Methods

- -
- -

calculatePictureCoordinateForRealX:

- - - -
-

Calculates X in view coordinate system from X in physical coordinate system.

-
- - -
- (CGFloat)calculatePictureCoordinateForRealX:(double)realX
+ +

Styling properties

- - -
-

Parameters

- -
-
realX
-

X coordinate in physical coordinate system (in meters).

-
- -
- - - -
-

Return Value

-

X coordinate in view coordinate system (in pixels).

-
- - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - +
+
+ +

  positionView +

+ +
+
+ +
+ + +
+

View representing current position indicator.

+
+ + + +
@property (nonatomic, strong, nullable) UIView *positionView
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  positionImage +

+ +
+
+ +
+ + +
+

Image used as current position indicator.

+
+ + + +
@property (nonatomic, strong, nullable) IBInspectable UIImage *positionImage
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  locationBorderColor +

+ +
+
+ +
+ + +
+

Color of the location boundary.

+
+ + + +
@property (nonatomic, strong) IBInspectable UIColor *locationBorderColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  locationBorderThickness +

+ +
+
+ +
+ + +
+

Thickness of the location boundary.

+
+ + + +
@property (nonatomic, assign) IBInspectable NSInteger locationBorderThickness
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  doorColor +

+ +
+
+ +
+ + +
+

Color of the location door.

+
+ + + +
@property (nonatomic, strong) IBInspectable UIColor *doorColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  doorThickness +

+ +
+
+ +
+ + +
+

Thickness of the location door.

+
+ + + +
@property (nonatomic, assign) IBInspectable NSInteger doorThickness
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  windowColor +

+ +
+
+ +
+ + +
+

Color of the location window.

+
+ + + +
@property (nonatomic, strong) IBInspectable UIColor *windowColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  windowBackgroundColor +

+ +
+
+ +
+ + +
+

Color of the location window background.

+
+ + + +
@property (nonatomic, strong) IBInspectable UIColor *windowBackgroundColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  windowThickness +

+ +
+
+ +
+ + +
+

Thickness of the location window.

+
+ + + +
@property (nonatomic, assign) IBInspectable NSInteger windowThickness
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  traceColor +

+ +
+
+ +
+ + +
+

Color of the location trace.

+
+ + + +
@property (nonatomic, strong) IBInspectable UIColor *traceColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  traceThickness +

+ +
+
+ +
+ + +
+

Thickness of the trace.

+
+ + + +
@property (nonatomic, assign) IBInspectable NSInteger traceThickness
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  wallLengthLabelsColor +

+ +
+
+ +
+ + +
+

Color of the wall length labels.

+
+ + + +
@property (nonatomic, strong) IBInspectable UIColor *wallLengthLabelsColor
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  showWallLengthLabels +

+ +
+
+ +
+ + +
+

If YES, then wall length labels will be displayed.

+
+ + + +
@property (nonatomic, assign) IBInspectable BOOL showWallLengthLabels
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  wallLengthLabelFontSize +

+ +
+
+ +
+ + +
+

Font size for wall length labels.

+
+ + + +
@property (nonatomic, assign) IBInspectable NSInteger wallLengthLabelFontSize
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

  showBeacons +

+ +
+
+ +
+ + +
+

If YES, then beacons will be displayed.

+
+ + + +
@property (nonatomic, assign) IBInspectable BOOL showBeacons
+ + + + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+
+ + + +

Drawing location

+ +
+
+ +

– drawLocation: +

+ +
+
+ +
+ + +
+

Draws a graphical representation of EILLocation object.

+
+ + + +
- (void)drawLocation:(EILLocation *)location
+ + + +
+

Parameters

+ + + + + + + +
location

Object representing current location.

+
+ + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

– drawLocation:inRegionOfInterest: +

+ +
+
+ +
+ + +
+

Draws a graphical representation of EILLocation object +cropped to only include things explicitly inside the chosen +region (defined by bounding box).

+
+ + + +
- (void)drawLocation:(EILLocation *)location inRegionOfInterest:(CGRect)regionOfInterest
+ + + +
+

Parameters

+ + + + + + + + + + + + +
location

Object representing current location.

regionOfInterest

Region of interest to be drawn.

+
+ + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+
+ + + +

Handling position updates

+ +
+
+ +

– updatePosition: +

+ +
+
+ +
+ + +
+

Updates current position indicator to the given position. If position is nil, indicator is hidden. +Will throw an exception if called without first calling drawLocation:.

+
+ + + +
- (void)updatePosition:(nullable EILOrientedPoint *)position
+ + + +
+

Parameters

+ + + + + + + +
position

Object representing current position in the location.

+
+ + + + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+
+ + + +

Drawing trace

+ +
+
+ +

– clearTrace +

+ +
+
+ +
+ + +
+

Clears the trace.

+
+ + + +
- (void)clearTrace
+ + + + + + + + + +
+

Discussion

+

Will throw an exception if called without first calling drawLocation:.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+
+ + + +

Drawing user objects

+ +
+
+ +

– drawObjectInBackground:withPosition:identifier: +

+ +
+
+ +
+ + +
+

Draws a view that represents a real object at given position in background.

+
+ + + +
- (void)drawObjectInBackground:(UIView *)object withPosition:(EILOrientedPoint *)position identifier:(NSString *)identifier
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
object

View representing a real object. Cannot be nil.

position

Object representing position in the location. Cannot be nil.

identifier

Unique identifier by which view will be identified. Cannot be nil.

+
+ + + + + + + +
+

Discussion

+

Background objects are drawn in order of addition below all other views. +Object will be rotated with regard to location to match orientation of the position. +Will throw an exception if called without first calling drawLocation:. +Chosen identifier cannot be same as any beacon identifier or kPositionViewIdentifier (“com.estimote.position.view”).

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

– drawObjectInForeground:withPosition:identifier: +

+ +
+
+ +
+ + +
+

Draws a view that represents a real object at given position in foreground.

+
+ + + +
- (void)drawObjectInForeground:(UIView *)object withPosition:(EILOrientedPoint *)position identifier:(NSString *)identifier
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
object

View representing a real object. Cannot be nil.

position

Object representing position in the location. Cannot be nil.

identifier

Unique identifier by which view will be identified. Cannot be nil.

+
+ + + + + + + +
+

Discussion

+

Foreground objects are drawn in order of addition on top of background objects, +location and trace, but below position view. Object will be rotated with +regard to location to match orientation of the position. +Will throw an exception if called without first calling drawLocation:. +Chosen identifier cannot be same as any beacon MAC address or kPositionViewIdentifier (“com.estimote.position.view”).

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

– objectWithidentifier: +

+ +
+
+ +
+ + +
+

Returns view for object that was previously added to location view.

+
+ + + +
- (nullable UIView *)objectWithidentifier:(NSString *)identifier
+ + + +
+

Parameters

+ + + + + + + +
identifier

Unique identifier by which view is identified. Cannot be nil.

+
+ + + +
+

Return Value

+

view for object with provided identifier.

+
+ + + + + +
+

Discussion

+

For tapped beacon its identifier will be returned. +For tapped position view kPositionViewIdentifier (“com.estimote.position.view”) will be returned.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

– moveObjectWithIdentifier:toPosition:animated: +

+ +
+
+ +
+ + +
+

Moves an object identified by identifier to a given position.

+
+ + + +
- (void)moveObjectWithIdentifier:(NSString *)identifier toPosition:(EILOrientedPoint *)position animated:(BOOL)animated
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
identifier

Unique identifier by which view will be identified. Cannot be nil.

position

Object representing position in the location. Cannot be nil.

animated

Whether transition should be animated.

+
+ + + + + + + +
+

Discussion

+

Object will be be rotated with regard to location to match orientation of the position. +If animated is set to true, the transition will be animated with 0.1 s duration. +Will throw an exception, if there is no view with corresponding identifier.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
+ +

– removeObjectWithIdentifier: +

+ +
+
+ +
+ + +
+

Removes an object identified by identifier from the view.

+
+ + + +
- (void)removeObjectWithIdentifier:(NSString *)identifier
+ + + +
+

Parameters

+ + + + + + + +
identifier

Unique identifier by which view will be identified. Cannot be nil.

+
+ + + + + + + +
+

Discussion

+

Will throw an exception, if there is no view with corresponding identifier.

+
+ + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
-
+ + +

Real to image coordinate calculations

+ +
+
+ +

– calculatePictureCoordinateForRealX: +

+ +
+
+ +
+ + +
+

Calculates X in view coordinate system from X in physical coordinate system.

+
+ + + +
- (CGFloat)calculatePictureCoordinateForRealX:(double)realX
+ + + +
+

Parameters

+ + + + + + + +
realX

X coordinate in physical coordinate system (in meters).

+
+ + + +
+

Return Value

+

X coordinate in view coordinate system (in pixels).

+
+ + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
+
+
-

calculatePictureCoordinateForRealY:

- - - -
-

Calculates Y in view coordinate system from Y in physical coordinate system.

-
- - +

– calculatePictureCoordinateForRealY: +

+ +
+
+ +
+ + +
+

Calculates Y in view coordinate system from Y in physical coordinate system.

+
+ + + +
- (CGFloat)calculatePictureCoordinateForRealY:(double)realY
+ + + +
+

Parameters

+ + + + + + + +
realY

Y coordinate in physical coordinate system (in meters).

+
+ + + +
+

Return Value

+

Y coordinate in view coordinate system (in pixels).

+
+ + + -
- (CGFloat)calculatePictureCoordinateForRealY:(double)realY
+ - - -
-

Parameters

- -
-
realY
-

Y coordinate in physical coordinate system (in meters).

-
- -
- - - -
-

Return Value

-

Y coordinate in view coordinate system (in pixels).

+ + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
- - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
+
-

calculatePicturePointFromRealPoint:

- - - -
-

Calculates point in view coordinate system from point in physical coordinate system.

-
- - +

– calculatePicturePointFromRealPoint: +

-
- (CGPoint)calculatePicturePointFromRealPoint:(EILPoint *)realPoint
+
+
- - -
-

Parameters

- -
-
realPoint
-

Point with coordinates in physical coordinate system (in meters).

-
- -
- - - -
-

Return Value

-

Point with coordinates in view coordinate system (in pixels).

+
+ + +
+

Calculates point in view coordinate system from point in physical coordinate system.

+
+ + + +
- (CGPoint)calculatePicturePointFromRealPoint:(EILPoint *)realPoint
+ + + +
+

Parameters

+ + + + + + + +
realPoint

Point with coordinates in physical coordinate system (in meters).

+
+ + + +
+

Return Value

+

Point with coordinates in view coordinate system (in pixels).

+
+ + + + + + + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
- - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
+
-

calculateRealCoordinateForPictureX:

- - - -
-

Calculates X in physical coordinate system from X in view coordinate system.

-
- - +

– calculateRealCoordinateForPictureX: +

-
- (double)calculateRealCoordinateForPictureX:(CGFloat)pictureX
+
+
- - -
-

Parameters

- -
-
realX
-

X coordinate in view coordinate system (in pixels).

-
- -
- - - -
-

Return Value

-

X coordinate in physical coordinate system (in meters).

-
- - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

calculateRealCoordinateForPictureY:

- - - -
-

Calculates Y in physical coordinate system from T in view coordinate system.

-
- - +
+ + +
+

Calculates X in physical coordinate system from X in view coordinate system.

+
+ + -
- (double)calculateRealCoordinateForPictureY:(CGFloat)pictureY
+
- (double)calculateRealCoordinateForPictureX:(CGFloat)pictureX
- - -
-

Parameters

- -
-
realY
-

Y coordinate in view coordinate system (in pixels).

-
- -
- - - -
-

Return Value

-

Y coordinate in physical coordinate system (in meters).

-
- - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

calculateRealPointFromPicturePoint:

- - - -
-

Calculates point in physical coordinate system from point in view coordinate system.

-
- - + + +
+

Parameters

+ + + + + + + +
realX

X coordinate in view coordinate system (in pixels).

+
+ -
- (EILPoint *)calculateRealPointFromPicturePoint:(CGPoint)picturePoint
+ +
+

Return Value

+

X coordinate in physical coordinate system (in meters).

+
+ - - -
-

Parameters

- -
-
realPoint
-

Point with coordinates in view coordinate system (in pixels).

-
- -
- - - -
-

Return Value

-

Point with coordinates in physical coordinate system (in meters).

-
- - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

clearTrace

- - - -
-

Clears the trace.

-
- - + -
- (void)clearTrace
+ - - - - - - - - -
-

Discussion

-

Will throw an exception if called without first calling drawLocation:.

-
- - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

drawLocation:

- - - -
-

Draws a graphical representation of EILLocation object.

-
- - + -
- (void)drawLocation:(EILLocation *)location
+ - - -
-

Parameters

- -
-
location
-

Object representing current location.

-
- + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
- - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

drawLocation:inRegionOfInterest:

- - - -
-

Draws a graphical representation of EILLocation object -cropped to only include things explicitly inside the chosen -region (defined by bounding box).

-
- - +
+ +

– calculateRealCoordinateForPictureY: +

+ +
+
+ +
+ + +
+

Calculates Y in physical coordinate system from T in view coordinate system.

+
+ + + +
- (double)calculateRealCoordinateForPictureY:(CGFloat)pictureY
+ + + +
+

Parameters

+ + + + + + + +
realY

Y coordinate in view coordinate system (in pixels).

+
+ -
- (void)drawLocation:(EILLocation *)location inRegionOfInterest:(CGRect)regionOfInterest
+ +
+

Return Value

+

Y coordinate in physical coordinate system (in meters).

+
+ - - -
-

Parameters

- -
-
location
-

Object representing current location.

-
- -
-
regionOfInterest
-

Region of interest to be drawn.

-
- -
- - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

drawObjectInBackground:withPosition:identifier:

- - - -
-

Draws a view that represents a real object at given position in background.

-
- - + -
- (void)drawObjectInBackground:(UIView *)object withPosition:(EILOrientedPoint *)position identifier:(NSString *)identifier
+ - - -
-

Parameters

- -
-
object
-

View representing a real object. Cannot be nil.

-
- -
-
position
-

Object representing position in the location. Cannot be nil.

-
- -
-
identifier
-

Unique identifier by which view will be identified. Cannot be nil.

-
- -
- - - - - - - -
-

Discussion

-

Background objects are drawn in order of addition below all other views. -Object will be rotated with regard to location to match orientation of the position. -Will throw an exception if called without first calling drawLocation:. -Chosen identifier cannot be same as any beacon identifier or kPositionViewIdentifier (“com.estimote.position.view”).

-
- - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

drawObjectInForeground:withPosition:identifier:

- - - -
-

Draws a view that represents a real object at given position in foreground.

-
- - + -
- (void)drawObjectInForeground:(UIView *)object withPosition:(EILOrientedPoint *)position identifier:(NSString *)identifier
+ - - -
-

Parameters

- -
-
object
-

View representing a real object. Cannot be nil.

-
- -
-
position
-

Object representing position in the location. Cannot be nil.

-
- -
-
identifier
-

Unique identifier by which view will be identified. Cannot be nil.

-
- -
- - - - - - - -
-

Discussion

-

Foreground objects are drawn in order of addition on top of background objects, -location and trace, but below position view. Object will be rotated with -regard to location to match orientation of the position. -Will throw an exception if called without first calling drawLocation:. -Chosen identifier cannot be same as any beacon MAC address or kPositionViewIdentifier (“com.estimote.position.view”).

+ +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
- - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

moveObjectWithIdentifier:toPosition:animated:

- - - -
-

Moves an object identified by identifier to a given position.

-
- - +
+ +

– calculateRealPointFromPicturePoint: +

-
- (void)moveObjectWithIdentifier:(NSString *)identifier toPosition:(EILOrientedPoint *)position animated:(BOOL)animated
+
+
- - -
-

Parameters

- -
-
identifier
-

Unique identifier by which view will be identified. Cannot be nil.

-
- -
-
position
-

Object representing position in the location. Cannot be nil.

-
- -
-
animated
-

Whether transition should be animated.

-
- -
- - - - - - - -
-

Discussion

-

Object will be be rotated with regard to location to match orientation of the position. -If animated is set to true, the transition will be animated with 0.1 s duration. -Will throw an exception, if there is no view with corresponding identifier.

-
- - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

objectWithidentifier:

- - - -
-

Returns view for object that was previously added to location view.

-
- - +
+ + +
+

Calculates point in physical coordinate system from point in view coordinate system.

+
+ + -
- (nullable UIView *)objectWithidentifier:(NSString *)identifier
+
- (EILPoint *)calculateRealPointFromPicturePoint:(CGPoint)picturePoint
- - -
-

Parameters

- -
-
identifier
-

Unique identifier by which view is identified. Cannot be nil.

-
- -
- - - -
-

Return Value

-

view for object with provided identifier.

-
- - - - - -
-

Discussion

-

For tapped beacon its identifier will be returned. -For tapped position view kPositionViewIdentifier (“com.estimote.position.view”) will be returned.

-
- - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

removeObjectWithIdentifier:

- - - -
-

Removes an object identified by identifier from the view.

-
- - + + +
+

Parameters

+ + + + + + + +
realPoint

Point with coordinates in view coordinate system (in pixels).

+
+ -
- (void)removeObjectWithIdentifier:(NSString *)identifier
+ +
+

Return Value

+

Point with coordinates in physical coordinate system (in meters).

+
+ - - -
-

Parameters

- -
-
identifier
-

Unique identifier by which view will be identified. Cannot be nil.

-
- -
- - - - - - - -
-

Discussion

-

Will throw an exception, if there is no view with corresponding identifier.

-
- - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- - -
- -
- -

updatePosition:

- - - -
-

Updates current position indicator to the given position. If position is nil, indicator is hidden. -Will throw an exception if called without first calling drawLocation:.

-
- - + -
- (void)updatePosition:(nullable EILOrientedPoint *)position
+ - - -
-

Parameters

- -
-
position
-

Object representing current position in the location.

-
- + + + + + +
+

Declared In

+

EILIndoorLocationView.h

+
+ + +
- - - - - - - - - - - - - -
-

Declared In

- EILIndoorLocationView.h
-
- -
+
+ - - - +
-
- - -
-
- - + +
+ +
+ + + \ No newline at end of file diff --git a/Documentation/Classes/EILLocation.html b/Documentation/Classes/EILLocation.html index 4be6268..d111f0a 100644 --- a/Documentation/Classes/EILLocation.html +++ b/Documentation/Classes/EILLocation.html @@ -1,250 +1,167 @@ - + - - - EILLocation Class Reference - - - - - - -
- - - - -
- + + + +
+
+
+
+

EILLocation Class Reference

-
  • Instance Methods
  • - - - - -
    -
    - - - -
    - - + + + + + - - + +
    Inherits fromNSObjectInherits fromNSObject
    Conforms toNSCoding
    Declared inEILLocation.h
    EILLocation.m
    Declared inEILLocation.h
    EILLocation.m
    - +
    @@ -256,1569 +173,1551 @@

    Overview

    - +
    -

    Tasks

    - + -

    Properties

    - - - - - -

    Creating and Initializing

    +

    Properties

    - - - - -

    Serialization

    +
    +
    + +

      identifier +

    - - - - -

    Utility methods

    +
    +
    - - - - -

    Identifying and Comparing Objects

    +
    + + +
    +

    Globally unique identifier of the location. Identifier is being set by server once location is persisted.

    +
    + + - - - - -

    Describing Objects

    +
    @property (nonatomic, strong, readonly, nullable) NSString *identifier
    - - -
    - - - - - -
    - -

    Properties

    - -
    - -

    area

    - - - -
    -

    Area of the location in square meters.

    -
    - - + + -
    @property (nonatomic, assign, readonly) double area
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    beacons

    - - - -
    -

    Beacons located in the location.

    -
    - - + -
    @property (nonatomic, strong, readonly) NSArray<EILPositionedBeacon*> *beacons
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    boundarySegments

    - - - -
    -

    Boundary of the location.

    -
    - - + -
    @property (nonatomic, strong, readonly) NSArray<EILOrientedLineSegment*> *boundarySegments
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    boundingBox

    - - - -
    -

    Bounding box of the location.

    -
    - - + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      name +

    -
    @property (nonatomic, assign, readonly) CGRect boundingBox
    +
    +
    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    creationDate

    - - - -
    -

    Creation date.

    -
    - - +
    + + +
    +

    Name of the location.

    +
    + + -
    @property (nonatomic, strong, readonly) NSDate *creationDate
    +
    @property (nonatomic, strong, readonly) NSString *name
    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    geographicalLocation

    - - - -
    -

    Geographical location of the location.

    -
    - - + + -
    @property (nonatomic, strong, readonly, nullable) NSDictionary *geographicalLocation
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    identifier

    - - - -
    -

    Globally unique identifier of the location. Identifier is being set by server once location is persisted.

    -
    - - + -
    @property (nonatomic, strong, readonly, nullable) NSString *identifier
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    isPublic

    - - - -
    -

    Visibility of the location (private/public).

    -
    - - + -
    @property (nonatomic, assign, readonly) BOOL isPublic
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    latitude

    - - - -
    -

    Latitude of geographical location of the location

    -
    - - + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      geographicalLocation +

    -
    @property (nonatomic, strong, readonly, nullable) NSNumber *latitude
    +
    +
    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    linearObjects

    - - - -
    -

    Linear objects inside the location.

    -
    - - +
    + + +
    +

    Geographical location of the location.

    +
    + + -
    @property (nonatomic, strong, readonly) NSArray<EILLocationLinearObject*> *linearObjects
    +
    @property (nonatomic, strong, readonly, nullable) NSDictionary *geographicalLocation
    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    longitude

    - - - -
    -

    Longitude of geographical location of the location

    -
    - - + + -
    @property (nonatomic, strong, readonly, nullable) NSNumber *longitude
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    name

    - - - -
    -

    Name of the location.

    -
    - - + -
    @property (nonatomic, strong, readonly) NSString *name
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    orientation

    - - - -
    -

    Orientation to magnetic north, counted clockwise. Value is in degrees.

    -
    - - + -
    @property (nonatomic, assign, readonly) double orientation
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      latitude +

    + +
    +
    + +
    + + +
    +

    Latitude of geographical location of the location

    +
    + + + +
    @property (nonatomic, strong, readonly, nullable) NSNumber *latitude
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      longitude +

    + +
    +
    + +
    + + +
    +

    Longitude of geographical location of the location

    +
    + + + +
    @property (nonatomic, strong, readonly, nullable) NSNumber *longitude
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    -

    owner

    - - - -
    -

    Email address of the owner of the location.

    -
    - - +

      owner +

    -
    @property (nonatomic, strong, readonly, nullable) NSString *owner
    +
    +
    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - +
    + + +
    +

    Email address of the owner of the location.

    +
    + + + +
    @property (nonatomic, strong, readonly, nullable) NSString *owner
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      isPublic +

    + +
    +
    + +
    + + +
    +

    Visibility of the location (private/public).

    +
    + + + +
    @property (nonatomic, assign, readonly) BOOL isPublic
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      boundarySegments +

    + +
    +
    + +
    + + +
    +

    Boundary of the location.

    +
    + + + +
    @property (nonatomic, strong, readonly) NSArray<EILOrientedLineSegment*> *boundarySegments
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      shape +

    + +
    +
    + +
    + + +
    +

    Bezier path of the boundary of the location.

    +
    + + + +
    @property (nonatomic, strong, readonly) UIBezierPath *shape
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      polygon +

    + +
    +
    + +
    + + +
    +

    Polygon of shape of the location. Points are sorted clockwise.

    +
    + + + +
    @property (nonatomic, strong, readonly, nullable) NSArray<EILPoint*> *polygon
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      area +

    + +
    +
    + +
    + + +
    +

    Area of the location in square meters.

    +
    + + + +
    @property (nonatomic, assign, readonly) double area
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      boundingBox +

    + +
    +
    + +
    + + +
    +

    Bounding box of the location.

    +
    + + + +
    @property (nonatomic, assign, readonly) CGRect boundingBox
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      linearObjects +

    + +
    +
    + +
    + + +
    +

    Linear objects inside the location.

    +
    + + + +
    @property (nonatomic, strong, readonly) NSArray<EILLocationLinearObject*> *linearObjects
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      beacons +

    + +
    +
    + +
    + + +
    +

    Beacons located in the location.

    +
    + + + +
    @property (nonatomic, strong, readonly) NSArray<EILPositionedBeacon*> *beacons
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      orientation +

    + +
    +
    + +
    + + +
    +

    Orientation to magnetic north, counted clockwise. Value is in degrees.

    +
    + + + +
    @property (nonatomic, assign, readonly) double orientation
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

      creationDate +

    + +
    +
    + +
    + + +
    +

    Creation date.

    +
    + + + +
    @property (nonatomic, strong, readonly) NSDate *creationDate
    + + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    -
    - -

    polygon

    - - - -
    -

    Polygon of shape of the location. Points are sorted clockwise.

    -
    - - -
    @property (nonatomic, strong, readonly, nullable) NSArray<EILPoint*> *polygon
    + +

    Creating and Initializing

    + +
    +
    + +

    – initWithLocation: +

    + +
    +
    + +
    + + +
    +

    Copy constructor.

    +
    + + + +
    - (instancetype)initWithLocation:(EILLocation *)location
    + + + +
    +

    Parameters

    + + + + + + + +
    location

    The location.

    +
    + + + +
    +

    Return Value

    +

    A new location based on a given location.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

    + locationFromLocation: +

    + +
    +
    + +
    + + +
    +

    Returns a new location based on a given location.

    +
    + + + +
    + (EILLocation *)locationFromLocation:(EILLocation *)location
    + + + +
    +

    Parameters

    + + + + + + + +
    location

    The location.

    +
    + + + +
    +

    Return Value

    +

    A new location based on a given location.

    +
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    -
    - -

    shape

    - - - -
    -

    Bezier path of the boundary of the location.

    -
    - - -
    @property (nonatomic, strong, readonly) UIBezierPath *shape
    + +

    Serialization

    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - +
    +
    + +

    + locationFromDictionary: +

    + +
    +
    + +
    + + +
    +

    Deserializes a location from NSDictionary.

    +
    + + + +
    + (nullable EILLocation *)locationFromDictionary:(NSDictionary *)dict
    + + + +
    +

    Parameters

    + + + + + + + +
    dict

    NSDictionary to deserialize from.

    +
    + + + +
    +

    Return Value

    +

    A location created from NSDictionary.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

    – toDictionary +

    + +
    +
    + +
    + + +
    +

    Serializes the point to NSDictionary.

    +
    + + + +
    - (NSDictionary *)toDictionary
    + + + + + +
    +

    Return Value

    +

    A location representation in NSDictionary.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    -
    - + + +

    Utility methods

    + +
    +
    + +

    – locationTranslatedByDX:dY: +

    + +
    +
    + +
    + + +
    +

    Translates the location by a given vector (dX, dY) and returns a new location.

    +
    + + + +
    - (EILLocation *)locationTranslatedByDX:(double)x dY:(double)y
    + + + +
    +

    Parameters

    + + + + + + + + + + + + +
    x

    Value of the translation on X axis.

    y

    Value of the translation on Y axis.

    +
    + + + +
    +

    Return Value

    +

    A new location translated by (dX, dY).

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

    – containsPointWithX:y: +

    + +
    +
    + +
    + + +
    +

    Checks if a given point is inside the location.

    +
    + + + +
    - (BOOL)containsPointWithX:(double)x y:(double)y
    + + + +
    +

    Parameters

    + + + + + + + + + + + + +
    x

    X coordinate.

    y

    Y coordinate.

    +
    + + + +
    +

    Return Value

    +

    YES if given point is inside the location.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

    – containsPoint: +

    + +
    +
    + +
    + + + + + + +
    - (BOOL)containsPoint:(EILPoint *)point
    + + + + + + + + + + + + + +
    +

    See Also

    +
      +
    • - containsPointWithX:y:

    • -
      - -

      Class Methods

      - -
      - -

      locationFromDictionary:

      - - - -
      -

      Deserializes a location from NSDictionary.

      -
      - - +
    +
    + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

    – randomPointInside +

    + +
    +
    + +
    + + +
    +

    Returns an equally distributed random point inside the location.

    +
    + + + +
    - (EILPoint *)randomPointInside
    + + + + + +
    +

    Return Value

    +

    A random point inside the location.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    +
    +
    + +

    – linearObjectsWithType: +

    + +
    +
    + +
    + + +
    +

    Filters this location linear objects and returns only those for given type.

    +
    + + + +
    - (NSArray<EILLocationLinearObject*> *)linearObjectsWithType:(EILLocationLinearObjectType)type
    + + + +
    +

    Parameters

    + + + + + + + +
    type

    Type of linear object to filter this location linear objects.

    +
    + -
    + (nullable EILLocation *)locationFromDictionary:(NSDictionary *)dict
    + +
    +

    Return Value

    +

    Linear objects with given type.

    +
    + - - -
    -

    Parameters

    - -
    -
    dict
    -

    NSDictionary to deserialize from.

    -
    - -
    - - - -
    -

    Return Value

    -

    A location created from NSDictionary.

    -
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    locationFromLocation:

    - - - -
    -

    Returns a new location based on a given location.

    -
    - - + -
    + (EILLocation *)locationFromLocation:(EILLocation *)location
    + - - -
    -

    Parameters

    - -
    -
    location
    -

    The location.

    -
    - -
    - - - -
    -

    Return Value

    -

    A new location based on a given location.

    -
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - - - -
    - -

    Instance Methods

    - -
    - -

    containsPoint:

    - - - - - - + -
    - (BOOL)containsPoint:(EILPoint *)point
    + - - - - - - - - - - - - -
    -

    See Also

    - +
    - - - -
    -

    Declared In

    - EILLocation.h
    -
    - -
    +
    -
    - -

    containsPointWithX:y:

    - - - -
    -

    Checks if a given point is inside the location.

    -
    - - -
    - (BOOL)containsPointWithX:(double)x y:(double)y
    + +

    Identifying and Comparing Objects

    - - -
    -

    Parameters

    - -
    -
    x
    -

    X coordinate.

    -
    - -
    -
    y
    -

    Y coordinate.

    -
    - -
    - - - -
    -

    Return Value

    -

    YES if given point is inside the location.

    -
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    description

    - - - -
    -

    Returns a string representation of the location.

    -
    - - +
    +
    + +

    – isEqual: +

    -
    - (NSString *)description
    +
    +
    - - - - -
    -

    Return Value

    -

    A string representation of the location.

    -
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    hash

    - - - -
    -

    Returns an integer that can be used as a table address in a hash table structure.

    -
    - - +
    + + +
    +

    Returns a Boolean value that indicates whether a given location is equal to this location.

    +
    + + -
    - (NSUInteger)hash
    +
    - (BOOL)isEqual:(id)other
    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    initWithLocation:

    - - - -
    -

    Copy constructor.

    -
    - - + + +
    +

    Parameters

    + + + + + + + +
    other

    The object to be compared to this location. May be nil.

    +
    + + + +
    +

    Return Value

    +

    YES if locations are equal, otherwise NO.

    +
    + -
    - (instancetype)initWithLocation:(EILLocation *)location
    + - - -
    -

    Parameters

    - -
    -
    location
    -

    The location.

    -
    - + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    - - - -
    -

    Return Value

    -

    A new location based on a given location.

    +
    + +

    – isEqualToLocation: +

    + +
    +
    + +
    + + +
    +

    isEqual:

    +
    + + + +
    - (BOOL)isEqualToLocation:(EILLocation *)location
    + + + + + + + + + + + + + +
    +

    See Also

    + +
    + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    isEqual:

    - - - -
    -

    Returns a Boolean value that indicates whether a given location is equal to this location.

    -
    - - +
    + +

    – hash +

    + +
    +
    + +
    + + +
    +

    Returns an integer that can be used as a table address in a hash table structure.

    +
    + + -
    - (BOOL)isEqual:(id)other
    +
    - (NSUInteger)hash
    - - -
    -

    Parameters

    - -
    -
    other
    -

    The object to be compared to this location. May be nil.

    -
    - -
    - - - -
    -

    Return Value

    -

    YES if locations are equal, otherwise NO.

    -
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    isEqualToLocation:

    - - - -
    -

    isEqual:

    -
    - - + + -
    - (BOOL)isEqualToLocation:(EILLocation *)location
    + - - - - - - - - - - - - -
    -

    See Also

    - -
    - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    linearObjectsWithType:

    - - - -
    -

    Filters this location linear objects and returns only those for given type.

    -
    - - -
    - (NSArray<EILLocationLinearObject*> *)linearObjectsWithType:(EILLocationLinearObjectType)type
    + - - -
    -

    Parameters

    - -
    -
    type
    -

    Type of linear object to filter this location linear objects.

    -
    - -
    - - - -
    -

    Return Value

    -

    Linear objects with given type.

    + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - -
    +
    -
    - -

    locationTranslatedByDX:dY:

    - - - -
    -

    Translates the location by a given vector (dX, dY) and returns a new location.

    -
    - - -
    - (EILLocation *)locationTranslatedByDX:(double)x dY:(double)y
    + +

    Describing Objects

    - - -
    -

    Parameters

    - -
    -
    x
    -

    Value of the translation on X axis.

    -
    - -
    -
    y
    -

    Value of the translation on Y axis.

    -
    - -
    - - - -
    -

    Return Value

    -

    A new location translated by (dX, dY).

    +
    +
    + +

    – description +

    + +
    +
    + +
    + + +
    +

    Returns a string representation of the location.

    +
    + + + +
    - (NSString *)description
    + + + + + +
    +

    Return Value

    +

    A string representation of the location.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - -
    +
    -
    - -

    randomPointInside

    - - - -
    -

    Returns an equally distributed random point inside the location.

    -
    - - -
    - (EILPoint *)randomPointInside
    + +

    Encoding and Decoding

    - - - - -
    -

    Return Value

    -

    A random point inside the location.

    +
    +
    + +

    – initWithCoder: +

    + +
    +
    + +
    + + +
    +

    Returns a location initialized from data in a given unarchiver.

    +
    + + + +
    - (nullable instancetype)initWithCoder:(NSCoder *)decoder
    + + + +
    +

    Parameters

    + + + + + + + +
    decoder

    An unarchiver object.

    +
    + + + +
    +

    Return Value

    +

    A new location initialized using the data in decoder.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - - -
    - -
    - -

    toDictionary

    - - - -
    -

    Serializes the point to NSDictionary.

    -
    - - +
    + +

    – encodeWithCoder: +

    -
    - (NSDictionary *)toDictionary
    +
    +
    - - - - -
    -

    Return Value

    -

    A location representation in NSDictionary.

    +
    + + +
    +

    Encodes the location using a given archiver.

    +
    + + + +
    - (void)encodeWithCoder:(NSCoder *)coder
    + + + +
    +

    Parameters

    + + + + + + + +
    An

    archiver object.

    +
    + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocation.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocation.h
    -
    - -
    +
    + - - - +
    -
    - - -
    -
    - - + + + + + + + \ No newline at end of file diff --git a/Documentation/Classes/EILLocationBuilder.html b/Documentation/Classes/EILLocationBuilder.html index 8383076..8775349 100644 --- a/Documentation/Classes/EILLocationBuilder.html +++ b/Documentation/Classes/EILLocationBuilder.html @@ -1,177 +1,126 @@ - + - - - EILLocationBuilder Class Reference - - - - - - -
    - - - - -
    - -
    -
    - - - -
    - - + + + + + - - + +
    Inherits fromNSObjectInherits fromNSObject
    Conforms toNSCoding
    Declared inEILLocationLinearObject.h
    EILLocationLinearObject.m
    Declared inEILLocationLinearObject.h
    EILLocationLinearObject.m
    - +
    @@ -184,770 +137,766 @@

    Overview

    - +
    -

    Tasks

    - + -

    Properties

    - - - - - -

    Creating and Initializing Linear Objects

    +

    Properties

    - - - - -

    Operations on linear object

    +
    +
    + +

      type +

    - - - - -

    Serialization

    +
    +
    - - - - -

    Identifying and Comparing Objects

    +
    + + +
    +

    Type of the object.

    +
    + + - - - - -

    Describing Objects

    +
    @property (nonatomic, assign, readonly) EILLocationLinearObjectType type
    - - -
    - - - - - -
    - -

    Properties

    - -
    + + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    +
    +
    -

    position

    - - - -
    -

    Coordinates of the object in form of an oriented line segment. +

      position +

    + +
    +
    + +
    + + +
    +

    Coordinates of the object in form of an oriented line segment. Orientation typically represent direction toward center of the location, perpendicular to the line segment.

    -
    - - +
    + + -
    @property (nonatomic, strong, readonly) EILOrientedLineSegment *position
    +
    @property (nonatomic, strong, readonly) EILOrientedLineSegment *position
    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - - -
    - -
    - -

    type

    - - - -
    -

    Type of the object.

    -
    - - + + -
    @property (nonatomic, assign, readonly) EILLocationLinearObjectType type
    + - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - - -
    - -
    - - - -
    - -

    Class Methods

    - -
    - -

    linearObjectFromDictionary:

    - - - -
    -

    Deserializes a linear object from NSDictionary.

    -
    - - + + + -
    + (nullable EILLocationLinearObject *)linearObjectFromDictionary:(NSDictionary *)dict
    + - - -
    -

    Parameters

    - -
    -
    dict
    -

    NSDictionary to deserialize from.

    -
    - -
    - - - -
    -

    Return Value

    -

    A linear object created from NSDictionary.

    + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - -
    +
    -
    - -

    linearObjectWithLinearObject:

    - - - -
    -

    Returns a new linear object based on the given linear object.

    -
    - - -
    + (instancetype)linearObjectWithLinearObject:(EILLocationLinearObject *)linearObject
    + +

    Creating and Initializing Linear Objects

    - - -
    -

    Parameters

    - -
    -
    point
    -

    A linear object.

    -
    - -
    - - - -
    -

    Return Value

    -

    An linear object initialized with linearObject.type and linearObject.position

    -
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - - +
    +
    + +

    – initWithType:position: +

    + +
    +
    + +
    + + +
    +

    Returns a new linear object.

    +
    + + + +
    - (instancetype)initWithType:(EILLocationLinearObjectType)type position:(EILOrientedLineSegment *)position
    + + + +
    +

    Parameters

    + + + + + + + + + + + + +
    type

    A type of the linear object.

    position

    Coordinates of the object in form of an oriented line segment

    +
    + + + +
    +

    Return Value

    +

    A linear object initialized with position and type.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    +
    +
    + +

    + linearObjectWithLinearObject: +

    + +
    +
    + +
    + + +
    +

    Returns a new linear object based on the given linear object.

    +
    + + + +
    + (instancetype)linearObjectWithLinearObject:(EILLocationLinearObject *)linearObject
    + + + +
    +

    Parameters

    + + + + + + + +
    point

    A linear object.

    +
    + + + +
    +

    Return Value

    +

    An linear object initialized with linearObject.type and linearObject.position

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    +
    +
    -
    - - - -
    - -

    Instance Methods

    + + +

    Operations on linear object

    + +
    +
    + +

    – linearObjectTranslatedByDX:dY: +

    + +
    +
    + +
    + + +
    +

    Translates the linear object by a given vector (dX, dY) and returns a new linear object.

    +
    + + + +
    - (instancetype)linearObjectTranslatedByDX:(double)dX dY:(double)dY
    + + + +
    +

    Parameters

    + + + + + + + + + + + + +
    dX

    Value of translation on X axis.

    dY

    Value of translation on Y axis.

    +
    + + + +
    +

    Return Value

    +

    A new linear object translated by (dX, dY).

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    +
    +
    +
    -
    - -

    description

    - - - -
    -

    Returns a string representation of the location linear object.

    -
    - - -
    - (NSString *)description
    + +

    Serialization

    - - - - -
    -

    Return Value

    -

    A string representation of the location linear object.

    +
    +
    + +

    + linearObjectFromDictionary: +

    + +
    +
    + +
    + + +
    +

    Deserializes a linear object from NSDictionary.

    +
    + + + +
    + (nullable EILLocationLinearObject *)linearObjectFromDictionary:(NSDictionary *)dict
    + + + +
    +

    Parameters

    + + + + + + + +
    dict

    NSDictionary to deserialize from.

    +
    + + + +
    +

    Return Value

    +

    A linear object created from NSDictionary.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    +
    +
    + +

    – toDictionary +

    + +
    +
    + +
    + + +
    +

    Serializes the linear object to NSDictionary.

    +
    + + + +
    - (NSDictionary *)toDictionary
    + + + + + +
    +

    Return Value

    +

    A linear object representation in NSDictionary.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - -
    +
    -
    + + +

    Identifying and Comparing Objects

    + +
    +
    + +

    – isEqual: +

    + +
    +
    + +
    + + +
    +

    Returns a boolean value that indicates whether given linear object is equal to this one.

    +
    + + + +
    - (BOOL)isEqual:(id)other
    + + + +
    +

    Parameters

    + + + + + + + +
    other

    The object to be compared to this linear object. May be nil.

    +
    + + + +
    +

    Return Value

    +

    YES if linear objects are equal, otherwise NO.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    +
    +
    + +

    – isEqualToLinearObject: +

    + +
    +
    + +
    + + +
    +

    isEqual:

    +
    + + + +
    - (BOOL)isEqualToLinearObject:(EILLocationLinearObject *)object
    + + + + + + + + + + + + + +
    +

    See Also

    + +
    + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    +
    +
    -

    hash

    - - - -
    -

    Returns an integer that can be used as a table address in a hash table structure.

    -
    - - +

    – hash +

    + +
    +
    + +
    + + +
    +

    Returns an integer that can be used as a table address in a hash table structure.

    +
    + + -
    - (NSUInteger)hash
    +
    - (NSUInteger)hash
    - - - - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - - -
    - -
    - -

    initWithType:position:

    - - - -
    -

    Returns a new linear object.

    -
    - - + + -
    - (instancetype)initWithType:(EILLocationLinearObjectType)type position:(EILOrientedLineSegment *)position
    + - - -
    -

    Parameters

    - -
    -
    type
    -

    A type of the linear object.

    -
    - -
    -
    position
    -

    Coordinates of the object in form of an oriented line segment

    -
    - -
    - - - -
    -

    Return Value

    -

    A linear object initialized with position and type.

    -
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - - -
    - -
    - -

    isEqual:

    - - - -
    -

    Returns a boolean value that indicates whether given linear object is equal to this one.

    -
    - - + -
    - (BOOL)isEqual:(id)other
    + - - -
    -

    Parameters

    - -
    -
    other
    -

    The object to be compared to this linear object. May be nil.

    -
    - -
    - - - -
    -

    Return Value

    -

    YES if linear objects are equal, otherwise NO.

    + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - -
    +
    -
    - -

    isEqualToLinearObject:

    - - - -
    -

    isEqual:

    -
    - - -
    - (BOOL)isEqualToLinearObject:(EILLocationLinearObject *)object
    + +

    Describing Objects

    - - - - - - - - - - - - -
    -

    See Also

    -
      +
      +
      + +

      – description +

      + +
      +
      + +
      + + +
      +

      Returns a string representation of the location linear object.

      +
      + + + +
      - (NSString *)description
      + + + + + +
      +

      Return Value

      +

      A string representation of the location linear object.

      +
      + + + + + + + + + + + +
      +

      Declared In

      +

      EILLocationLinearObject.h

      +
      -
    • - isEqual:

    • -
    +
    - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - -
    +
    -
    - -

    linearObjectTranslatedByDX:dY:

    - - - -
    -

    Translates the linear object by a given vector (dX, dY) and returns a new linear object.

    -
    - - -
    - (instancetype)linearObjectTranslatedByDX:(double)dX dY:(double)dY
    + +

    Encoding and Decoding

    - - -
    -

    Parameters

    - -
    -
    dX
    -

    Value of translation on X axis.

    -
    - -
    -
    dY
    -

    Value of translation on Y axis.

    -
    - -
    - - - -
    -

    Return Value

    -

    A new linear object translated by (dX, dY).

    +
    +
    + +

    – initWithCoder: +

    + +
    +
    + +
    + + +
    +

    Returns a location linear object initialized from data in a given unarchiver.

    +
    + + + +
    - (nullable instancetype)initWithCoder:(NSCoder *)decoder
    + + + +
    +

    Parameters

    + + + + + + + +
    decoder

    An unarchiver object.

    +
    + + + +
    +

    Return Value

    +

    A new location linear object initialized using the data in decoder.

    +
    + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - - -
    - -
    - -

    toDictionary

    - - - -
    -

    Serializes the linear object to NSDictionary.

    -
    - - +
    + +

    – encodeWithCoder: +

    -
    - (NSDictionary *)toDictionary
    +
    +
    - - - - -
    -

    Return Value

    -

    A linear object representation in NSDictionary.

    +
    + + +
    +

    Encodes the location linear object using a given archiver.

    +
    + + + +
    - (void)encodeWithCoder:(NSCoder *)coder
    + + + +
    +

    Parameters

    + + + + + + + +
    An

    archiver object.

    +
    + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILLocationLinearObject.h

    +
    + + +
    - - - - - - - - - - - -
    -

    Declared In

    - EILLocationLinearObject.h
    -
    - -
    +
    + - - - + -
    - - -
    -
    - - + + + + + + + \ No newline at end of file diff --git a/Documentation/Classes/EILOrientedLineSegment.html b/Documentation/Classes/EILOrientedLineSegment.html index df4cebe..e20e71f 100644 --- a/Documentation/Classes/EILOrientedLineSegment.html +++ b/Documentation/Classes/EILOrientedLineSegment.html @@ -1,204 +1,145 @@ - + - - - EILOrientedLineSegment Class Reference - - - - - - -
    - - - - -
    - + + + +
    +
    +
    +
    +

    EILIndoorErrorCode Constants Reference

    +
    - - + +
    Declared inEILIndoorLocationManager.hDeclared inEILIndoorLocationManager.h
    + - - - - + - +

    EILIndoorErrorCode

    @@ -86,19 +87,19 @@

    EILIndoorErrorCode

    Definition

    - typedef NS_ENUM(NSInteger, EILIndoorErrorCode ) {
    + typedef NS_ENUM(NSInteger, EILIndoorErrorCode ) {
    -    EILIndoorGenericError,
    +    EILIndoorGenericError,
    -    EILIndoorPositionOutsideLocationError,
    +    EILIndoorPositionOutsideLocationError,
    -    EILIndoorMagnetometerInitializationError,
    +    EILIndoorMagnetometerInitializationError,
    -    EILBluetoothOffError,
    +    EILBluetoothOffError,
    -    EILUnauthorizedToUseBluetoothError,
    +    EILUnauthorizedToUseBluetoothError,
    -    EILBluetoothNotSupportedError,
    +    EILBluetoothNotSupportedError,
    };
    @@ -213,131 +214,36 @@

    Constants

    - + - +

    Declared In

    - EILIndoorLocationManager.h
    -
    - - +

    EILIndoorLocationManager.h

    +
    + - - - + -
    - - + + + + + \ No newline at end of file diff --git a/Documentation/Constants/EILIndoorLocationManagerMode.html b/Documentation/Constants/EILIndoorLocationManagerMode.html index 57f1985..da23f6f 100644 --- a/Documentation/Constants/EILIndoorLocationManagerMode.html +++ b/Documentation/Constants/EILIndoorLocationManagerMode.html @@ -1,78 +1,79 @@ - + - - - EILIndoorLocationManagerMode Constants Reference - - - - - - -
    - + + + + EILIndoorLocationManagerMode Constants Reference + + + + + + +
    +
    - - -
    - -
    -
    - - - -
    + + + + +
    + + +
    +
    +
    +
    +

    EILIndoorLocationManagerMode Constants Reference

    +
    - - + +
    Declared inEILIndoorLocationManager.hDeclared inEILIndoorLocationManager.h
    + - - - - + - +

    EILIndoorLocationManagerMode

    @@ -88,11 +89,11 @@

    EILIndoorLocationManagerMode

    Definition

    - typedef NS_ENUM(NSInteger, EILIndoorLocationManagerMode ) {
    + typedef NS_ENUM(NSInteger, EILIndoorLocationManagerMode ) {
    -    EILIndoorLocationManagerModeNormal,
    +    EILIndoorLocationManagerModeNormal,
    -    EILIndoorLocationManagerModeLight,
    +    EILIndoorLocationManagerModeLight,
    };
    @@ -139,131 +140,36 @@

    Constants

    - + - +

    Declared In

    - EILIndoorLocationManager.h
    -
    - - +

    EILIndoorLocationManager.h

    +
    + -
    - - + -
    - - + + + + + \ No newline at end of file diff --git a/Documentation/Constants/EILLocationBuilderSide.html b/Documentation/Constants/EILLocationBuilderSide.html index 93eff9c..15d9a36 100644 --- a/Documentation/Constants/EILLocationBuilderSide.html +++ b/Documentation/Constants/EILLocationBuilderSide.html @@ -1,78 +1,79 @@ - + - - - EILLocationBuilderSide Constants Reference - - - - - - -
    - + + + + EILLocationBuilderSide Constants Reference + + + + + + +
    +
    - - -
    - -
    -
    - - - -
    + + + + +
    + + +
    +
    +
    +
    +

    EILLocationBuilderSide Constants Reference

    +
    - - + +
    Declared inEILLocationBuilder.hDeclared inEILLocationBuilder.h
    + - - - - + - +

    EILLocationBuilderSide

    @@ -86,11 +87,11 @@

    EILLocationBuilderSide

    Definition

    - typedef NS_ENUM(int, EILLocationBuilderSide ) {
    + typedef NS_ENUM(int, EILLocationBuilderSide ) {
    -    EILLocationBuilderLeftSide,
    +    EILLocationBuilderLeftSide,
    -    EILLocationBuilderRightSide,
    +    EILLocationBuilderRightSide,
    };
    @@ -137,131 +138,36 @@

    Constants

    - + - +

    Declared In

    - EILLocationBuilder.h
    -
    - - +

    EILLocationBuilder.h

    +
    + -
    - - + -
    - - + + + + + \ No newline at end of file diff --git a/Documentation/Constants/EILLocationState.html b/Documentation/Constants/EILLocationState.html index 5472804..2f612b3 100644 --- a/Documentation/Constants/EILLocationState.html +++ b/Documentation/Constants/EILLocationState.html @@ -1,78 +1,79 @@ - + - - - EILLocationState Constants Reference - - - - - - -
    - + + + + EILLocationState Constants Reference + + + + + + +
    +
    - - -
    - -
    -
    - - - -
    + + + + +
    + + +
    +
    +
    +
    +

    EILLocationState Constants Reference

    +
    - - + +
    Declared inEILIndoorLocationManager.hDeclared inEILIndoorLocationManager.h
    + - - - - + - +

    EILLocationState

    @@ -86,13 +87,13 @@

    EILLocationState

    Definition

    - typedef NS_ENUM(NSInteger, EILLocationState ) {
    + typedef NS_ENUM(NSInteger, EILLocationState ) {
    -    EILLocationStateUnknown,
    +    EILLocationStateUnknown,
    -    EILLocationStateInside,
    +    EILLocationStateInside,
    -    EILLocationStateOutside,
    +    EILLocationStateOutside,
    };
    @@ -156,131 +157,36 @@

    Constants

    - + - +

    Declared In

    - EILIndoorLocationManager.h
    -
    - - +

    EILIndoorLocationManager.h

    +
    + -
    - - + -
    - - + + + + + \ No newline at end of file diff --git a/Documentation/Constants/EILPositionAccuracy.html b/Documentation/Constants/EILPositionAccuracy.html index 1518a37..374671e 100644 --- a/Documentation/Constants/EILPositionAccuracy.html +++ b/Documentation/Constants/EILPositionAccuracy.html @@ -1,78 +1,79 @@ - + - - - EILPositionAccuracy Constants Reference - - - - - - -
    - + + + + EILPositionAccuracy Constants Reference + + + + + + +
    +
    - - -
    - -
    -
    - - - -
    + + + + +
    + + +
    +
    +
    +
    +

    EILPositionAccuracy Constants Reference

    +
    - - + +
    Declared inEILIndoorLocationManager.hDeclared inEILIndoorLocationManager.h
    + - - - - + - +

    EILPositionAccuracy

    @@ -88,19 +89,19 @@

    EILPositionAccuracy

    Definition

    - typedef NS_ENUM(NSInteger, EILPositionAccuracy ) {
    + typedef NS_ENUM(NSInteger, EILPositionAccuracy ) {
    -    EILPositionAccuracyVeryHigh = 0,
    +    EILPositionAccuracyVeryHigh = 0,
    -    EILPositionAccuracyHigh = 1,
    +    EILPositionAccuracyHigh = 1,
    -    EILPositionAccuracyMedium = 2,
    +    EILPositionAccuracyMedium = 2,
    -    EILPositionAccuracyLow = 3,
    +    EILPositionAccuracyLow = 3,
    -    EILPositionAccuracyVeryLow = 4,
    +    EILPositionAccuracyVeryLow = 4,
    -    EILPositionAccuracyUnknown = 5,
    +    EILPositionAccuracyUnknown = 5,
    };
    @@ -221,131 +222,36 @@

    Constants

    - + - +

    Declared In

    - EILIndoorLocationManager.h
    -
    - - +

    EILIndoorLocationManager.h

    +
    + -
    - - + -
    - - + + + + + \ No newline at end of file diff --git a/Documentation/Protocols/EILIndoorLocationManagerDelegate.html b/Documentation/Protocols/EILIndoorLocationManagerDelegate.html index d0ba01b..872ebb7 100644 --- a/Documentation/Protocols/EILIndoorLocationManagerDelegate.html +++ b/Documentation/Protocols/EILIndoorLocationManagerDelegate.html @@ -1,116 +1,98 @@ - + - - - EILIndoorLocationManagerDelegate Protocol Reference - - - - - - -
    - + + + + EILIndoorLocationManagerDelegate Protocol Reference + + + + + + +
    +
    - - -
    - + + +
    +
    +
    +
    +

    EILIndoorLocationManagerDelegate Protocol Reference

    - - -
  • Tasks
      - -
  • - - - - - - - - - -
  • Instance Methods
  • - - - - -
    -
    - - - -
    - - + + - - + +
    Conforms toNSObjectConforms toNSObject
    Declared inEILIndoorLocationManager.hDeclared inEILIndoorLocationManager.h
    - +
    @@ -120,275 +102,167 @@

    Overview

    - + - - - - - - - - - -
    - -

    Instance Methods

    -
    - -

    indoorLocationManager:didFailToUpdatePositionWithError:

    - - - -
    -

    Tells the delegate that position update could not be determined.

    -
    - - -
    - (void)indoorLocationManager:(EILIndoorLocationManager *)manager didFailToUpdatePositionWithError:(NSError *)error
    +
    +
    + +

    – indoorLocationManager:didUpdatePosition:withAccuracy:inLocation: +

    - - -
    -

    Parameters

    - -
    -
    manager
    -

    The manager object that generated the event.

    -
    - -
    -
    error
    -

    The error object containing information why position could not be determined.

    -
    - +
    +
    + +
    + + +
    +

    Tells the delegate that new position update is available.

    +
    + + + +
    - (void)indoorLocationManager:(EILIndoorLocationManager *)manager didUpdatePosition:(EILOrientedPoint *)position withAccuracy:(EILPositionAccuracy)positionAccuracy inLocation:(EILLocation *)location
    + + + +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + + + + +
    manager

    The manager object that generated the event.

    position

    The position inside the location.

    positionAccuracy

    The accuracy of the determined position.

    location

    The location for which the position was updated.

    +
    + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILIndoorLocationManager.h

    +
    + + +
    - - - - - - - - - - - - - -
    -

    Declared In

    - EILIndoorLocationManager.h
    -
    - - -
    - -
    - -

    indoorLocationManager:didUpdatePosition:withAccuracy:inLocation:

    - - - -
    -

    Tells the delegate that new position update is available.

    -
    - - +
    + +

    – indoorLocationManager:didFailToUpdatePositionWithError: +

    -
    - (void)indoorLocationManager:(EILIndoorLocationManager *)manager didUpdatePosition:(EILOrientedPoint *)position withAccuracy:(EILPositionAccuracy)positionAccuracy inLocation:(EILLocation *)location
    +
    +
    - - -
    -

    Parameters

    - -
    -
    manager
    -

    The manager object that generated the event.

    -
    - -
    -
    position
    -

    The position inside the location.

    -
    - -
    -
    positionAccuracy
    -

    The accuracy of the determined position.

    -
    - -
    -
    location
    -

    The location for which the position was updated.

    -
    - +
    + + +
    +

    Tells the delegate that position update could not be determined.

    +
    + + + +
    - (void)indoorLocationManager:(EILIndoorLocationManager *)manager didFailToUpdatePositionWithError:(NSError *)error
    + + + +
    +

    Parameters

    + + + + + + + + + + + + +
    manager

    The manager object that generated the event.

    error

    The error object containing information why position could not be determined.

    +
    + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILIndoorLocationManager.h

    +
    + + +
    - - - - - - - - - - - - - -
    -

    Declared In

    - EILIndoorLocationManager.h
    -
    - -
    +
    + - - - +
    -
    - - +
    -
    - - + + + + + \ No newline at end of file diff --git a/Documentation/Protocols/EILIndoorLocationViewDelegate.html b/Documentation/Protocols/EILIndoorLocationViewDelegate.html index 08f5e32..f8051de 100644 --- a/Documentation/Protocols/EILIndoorLocationViewDelegate.html +++ b/Documentation/Protocols/EILIndoorLocationViewDelegate.html @@ -1,112 +1,96 @@ - + - - - EILIndoorLocationViewDelegate Protocol Reference - - - - - - -
    - + + + + EILIndoorLocationViewDelegate Protocol Reference + + + + + + +
    +
    - - -
    - + + +
    +
    +
    +
    +

    EILIndoorLocationViewDelegate Protocol Reference

    - - -
    -
    - - - -
    - - + + - - + +
    Conforms toNSObjectConforms toNSObject
    Declared inEILIndoorLocationView.hDeclared inEILIndoorLocationView.h
    - +
    @@ -116,208 +100,99 @@

    Overview

    - +
    -

    Tasks

    - - - - -
    - - - - - - - - - -
    - -

    Instance Methods

    -
    + +
    +
    -

    indoorLocationView:didSelectObjectWithIdentifier:

    - - - -
    -

    Tells the delegate that an object in the location view was selected.

    -
    - - +

    – indoorLocationView:didSelectObjectWithIdentifier: +

    -
    - (void)indoorLocationView:(EILIndoorLocationView *)indoorLocationView didSelectObjectWithIdentifier:(NSString *)identifier
    +
    +
    - - -
    -

    Parameters

    - -
    -
    indoorLocationView
    -

    Location view on which the object was selected.

    -
    - -
    -
    identifier
    -

    Identifier of the selected object.

    -
    - +
    + + +
    +

    Tells the delegate that an object in the location view was selected.

    +
    + + + +
    - (void)indoorLocationView:(EILIndoorLocationView *)indoorLocationView didSelectObjectWithIdentifier:(NSString *)identifier
    + + + +
    +

    Parameters

    + + + + + + + + + + + + +
    indoorLocationView

    Location view on which the object was selected.

    identifier

    Identifier of the selected object.

    +
    + + + + + + + + + + + + + +
    +

    Declared In

    +

    EILIndoorLocationView.h

    +
    + + +
    - - - - - - - - - - - - - -
    -

    Declared In

    - EILIndoorLocationView.h
    -
    - -
    +
    + - - - +
    -
    - - +
    -
    - - + + + + + \ No newline at end of file diff --git a/Documentation/css/scss/_index.scss b/Documentation/css/scss/_index.scss new file mode 100644 index 0000000..7e98029 --- /dev/null +++ b/Documentation/css/scss/_index.scss @@ -0,0 +1,13 @@ +.index-container { + display: flex; + flex-direction: row; + flex-wrap: wrap; + + @media (max-width: $mobile-max-width) { + flex-direction: column; + } + + .index-column { + flex: 1 1 33%; + } +} diff --git a/Documentation/css/scss/_layout.scss b/Documentation/css/scss/_layout.scss new file mode 100644 index 0000000..40bd6d4 --- /dev/null +++ b/Documentation/css/scss/_layout.scss @@ -0,0 +1,303 @@ +* { + box-sizing: border-box; +} + +.clear { + clear: both; +} + +.clearfix { + &:before, &:after { + clear: both; + display: table; + content: ""; + } +} + +.xcode .hide-in-xcode { + display: none; +} + +body { + font: 62.5% $body-font; + background: $body-background; +} + +h1, h2, h3 { + font-weight: 300; + color: #808080; +} + +h1 { + font-size: 2em; + color: #000; +} + +h4 { + font-size: 13px; + line-height: 1.5; + margin: 21px 0 0 0; +} + +a { + color: $tint-color; + text-decoration: none; +} + +pre, code { + font-family: $code-font; + word-wrap: break-word; +} + +pre > code, .method-declaration code { + display: inline-block; + font-size: .85em; + padding: 4px 0 4px 10px; + border-left: 5px solid rgba(0, 155, 51, .2); + + &:before { + content: "Objective-C"; + display: block; + + font: 9px/1 $body-font; + color: #009b33; + text-transform: uppercase; + letter-spacing: 2px; + padding-bottom: 6px; + } +} + +pre > code { + font-size: inherit; +} + +table, th, td { + border: 1px solid #e9e9e9; +} + +table { + width: 100%; +} + +th, td { + padding: 7px; + + > :first-child { + margin-top: 0; + } + + > :last-child { + margin-bottom: 0; + } +} + +.container { + @extend .clearfix; + + max-width: 980px; + padding: 0 10px; + margin: 0 auto; + + @media (max-width: $mobile-max-width) { + padding: 0; + } +} + +header { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 2; + + background: #414141; + color: #fff; + font-size: 1.1em; + line-height: 25px; + letter-spacing: .05em; + + #library-title { + float: left; + } + + #developer-home { + float: right; + } + + h1 { + font-size: inherit; + font-weight: inherit; + margin: 0; + } + + p { + margin: 0; + } + + h1, a { + color: inherit; + } + + @media (max-width: $mobile-max-width) { + position: absolute; + + .container { + padding: 0 10px; + } + } +} + +aside { + position: fixed; + top: 25px; + left: 0; + width: 100%; + height: 25px; + z-index: 2; + + font-size: 1.1em; + + @media (max-width: $mobile-max-width) { + position: absolute; + } + + #header-buttons { + background: rgba(255, 255, 255, .8); + margin: 0 1px; + padding: 0; + list-style: none; + text-align: right; + line-height: 32px; + + li { + display: inline-block; + cursor: pointer; + padding: 0 10px; + } + + label, select { + cursor: inherit; + } + + #on-this-page { + position: relative; + + .chevron { + display: inline-block; + width: 14px; + height: 4px; + position: relative; + + .chevy { + background: #878787; + height: 2px; + position: absolute; + width: 10px; + + &.chevron-left { + left: 0; + transform: rotateZ(45deg) scale(0.6); + } + + &.chevron-right { + right: 0; + transform: rotateZ(-45deg) scale(0.6); + } + } + } + + #jump-to { + opacity: 0; + font-size: 16px; + + position: absolute; + top: 5px; + left: 0; + width: 100%; + height: 100%; + } + } + } +} + +article { + margin-top: 25px; + + #content { + @extend .clearfix; + + background: $content-background; + border: 1px solid $content-border; + padding: 15px 25px 30px 25px; + + font-size: 1.4em; + line-height: 1.45; + + position: relative; + + @media (max-width: $mobile-max-width) { + padding: 15px 10px 20px 10px; + } + + .navigation-top { + position: absolute; + top: 15px; + right: 25px; + } + + .title { + margin: 21px 0 0 0; + padding: 15px 0; + } + + p { + color: #414141; + margin: 0 0 15px 0; + } + + th, td { + p:last-child { + margin-bottom: 0; + } + } + + main { + ul { + list-style: none; + margin-left: 24px; + margin-bottom: 12px; + padding: 0; + + li { + position: relative; + padding-left: 1.3em; + + &:before { + content: "\02022"; + + color: #414141; + font-size: 1.08em; + line-height: 1; + + position: absolute; + left: 0; + padding-top: 2px; + } + } + } + } + + footer { + @extend .clearfix; + + .footer-copyright { + margin: 70px 25px 10px 0; + } + + p { + font-size: .71em; + color: #a0a0a0; + } + } + } +} diff --git a/Documentation/css/scss/_normalize.scss b/Documentation/css/scss/_normalize.scss new file mode 100644 index 0000000..9b8848a --- /dev/null +++ b/Documentation/css/scss/_normalize.scss @@ -0,0 +1,581 @@ +/* ========================================================================== + Normalize.scss settings + ========================================================================== */ +/** + * Includes legacy browser support IE6/7 + * + * Set to false if you want to drop support for IE6 and IE7 + */ + +$legacy_browser_support: false !default; + +/* Base + ========================================================================== */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using + * `em` units. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ + @if $legacy_browser_support { + *font-size: 100%; /* 3 */ + } +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ + @if $legacy_browser_support { + *display: inline; + *zoom: 1; + } +} + +/** + * Prevents modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a { + &:active, &:hover { + outline: 0; + }; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +@if $legacy_browser_support { + blockquote { + margin: 1em 40px; + } +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +@if $legacy_browser_support { + h2 { + font-size: 1.5em; + margin: 0.83em 0; + } + + h3 { + font-size: 1.17em; + margin: 1em 0; + } + + h4 { + font-size: 1em; + margin: 1.33em 0; + } + + h5 { + font-size: 0.83em; + margin: 1.67em 0; + } + + h6 { + font-size: 0.67em; + margin: 2.33em 0; + } +} + +/** + * Addresses styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +@if $legacy_browser_support { + + /** + * Addresses margins set differently in IE 6/7. + */ + + p, + pre { + *margin: 1em 0; + } + + /* + * Addresses CSS quotes not supported in IE 6/7. + */ + + q { + *quotes: none; + } + + /* + * Addresses `quotes` property not supported in Safari 4. + */ + + q:before, + q:after { + content: ''; + content: none; + } +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +@if $legacy_browser_support { + + /* ========================================================================== + Lists + ========================================================================== */ + + /* + * Addresses margins set differently in IE 6/7. + */ + + dl, + menu, + ol, + ul { + *margin: 1em 0; + } + + dd { + *margin: 0 0 0 40px; + } + + /* + * Addresses paddings set differently in IE 6/7. + */ + + menu, + ol, + ul { + *padding: 0 0 0 40px; + } + + /* + * Corrects list images handled incorrectly in IE 7. + */ + + nav ul, + nav ol { + *list-style: none; + *list-style-image: none; + } + +} + +/* Embedded content + ========================================================================== */ + +/** + * 1. Remove border when inside `a` element in IE 8/9/10. + * 2. Improves image quality when scaled in IE 7. + */ + +img { + border: 0; + @if $legacy_browser_support { + *-ms-interpolation-mode: bicubic; /* 2 */ + } +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + @if $legacy_browser_support { + _font-family: 'courier new', monospace; + } + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + * 4. Improves appearance and consistency in all browsers. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ + @if $legacy_browser_support { + vertical-align: baseline; /* 3 */ + *vertical-align: middle; /* 3 */ + } +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + * 4. Removes inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + @if $legacy_browser_support { + *overflow: visible; /* 4 */ + } +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + * Known issue: excess padding remains in IE 6. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + @if $legacy_browser_support { + *height: 13px; /* 3 */ + *width: 13px; /* 3 */ + } +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + * 3. Corrects text not wrapping in Firefox 3. + * 4. Corrects alignment displayed oddly in IE 6/7. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ + @if $legacy_browser_support { + white-space: normal; /* 3 */ + *margin-left: -7px; /* 4 */ + } +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/Documentation/css/scss/_object.scss b/Documentation/css/scss/_object.scss new file mode 100644 index 0000000..22eebd8 --- /dev/null +++ b/Documentation/css/scss/_object.scss @@ -0,0 +1,89 @@ +.section-specification { + table { + width: auto; + + th { + text-align: left; + } + } +} + +.method-title { + margin-left: -15px; + margin-bottom: 8px; + transition: margin-left .3s ease-out; + + .section-method.hide & { + margin-left: 0; + } + + code { + font-weight: 400; + font-size: .85em; + } +} + +.method-info { + background: $object-background; + border-bottom: 1px solid $object-border; + margin: 0 -25px; + padding: 20px 25px 0 25px; + transition: height .3s ease-out; + + position: relative; + + .pointy-thing { + background: $content-background; + height: 10px; + border-bottom: 1px solid $object-border; + margin: -20px -25px 16px -25px; + + &:before { + display: inline-block; + content: ""; + + background: $object-background; + border: 1px solid $object-border; + border-bottom: 0; + border-right: 0; + + position: absolute; + left: 21px; + top: 3px; + width: 12px; + height: 12px; + transform: rotate(45deg); + } + } + + .method-subsection { + margin-bottom: 15px; + + .argument-name { + width: 1px; + text-align: right; + + code { + color: #808080; + font-style: italic; + font-weight: 400; + } + } + } +} + +.section-method { + &.hide .method-info { + height: 0 !important; + overflow: hidden; + display: none; + } + + &.hide.animating .method-info { + display: block; + } + + &.animating .method-info { + overflow: hidden; + } +} diff --git a/Documentation/css/scss/_print.scss b/Documentation/css/scss/_print.scss new file mode 100644 index 0000000..61bdf99 --- /dev/null +++ b/Documentation/css/scss/_print.scss @@ -0,0 +1,42 @@ +@media print { + body { + background: #fff; + padding: 8px; + } + + header { + position: static; + background: #fff; + color: #000; + } + + aside { + display: none; + } + + .container { + max-width: none; + padding: 0; + } + + article { + margin-top: 0; + + #content { + border: 0; + background: #fff; + padding: 15px 0 0 0; + + .title { + margin-top: 0; + padding-top: 0; + } + } + } + + .method-info { + &, & .pointy-thing { + background: #fff; + } + } +} diff --git a/Documentation/css/scss/_variables.scss b/Documentation/css/scss/_variables.scss new file mode 100644 index 0000000..cbaff3c --- /dev/null +++ b/Documentation/css/scss/_variables.scss @@ -0,0 +1,11 @@ +$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; +$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; + +$body-background: #f2f2f2; +$content-background: #fff; +$content-border: #e9e9e9; +$tint-color: #08c; +$object-background: #f9f9f9; +$object-border: #e9e9e9; + +$mobile-max-width: 650px; diff --git a/Documentation/css/scss/_xcode.scss b/Documentation/css/scss/_xcode.scss new file mode 100644 index 0000000..340b1f6 --- /dev/null +++ b/Documentation/css/scss/_xcode.scss @@ -0,0 +1,29 @@ +.xcode { + header, aside { + display: none; + } + + .container { + padding: 0; + } + + article { + margin-top: 0; + + #content { + border: 0; + margin: 0; + } + } + + .method-info { + &, .section-method.hide & { + max-height: auto; + overflow: visible; + + &.hiding { + display: block; + } + } + } +} diff --git a/Documentation/css/scss/style.scss b/Documentation/css/scss/style.scss new file mode 100644 index 0000000..648a608 --- /dev/null +++ b/Documentation/css/scss/style.scss @@ -0,0 +1 @@ +@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Documentation/css/style.css b/Documentation/css/style.css new file mode 100644 index 0000000..2e0648e --- /dev/null +++ b/Documentation/css/style.css @@ -0,0 +1,2 @@ +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}.clear{clear:both}.clearfix:before,.container:before,article #content:before,article #content footer:before,.clearfix:after,.container:after,article #content:after,article #content footer:after{clear:both;display:table;content:""}.xcode .hide-in-xcode{display:none}body{font:62.5% -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;background:#f2f2f2}h1,h2,h3{font-weight:300;color:gray}h1{font-size:2em;color:#000}h4{font-size:13px;line-height:1.5;margin:21px 0 0}a{color:#08c;text-decoration:none}pre,code{font-family:Source Code Pro,Monaco,Menlo,Consolas,monospace;word-wrap:break-word}pre>code,.method-declaration code{display:inline-block;font-size:.85em;padding:4px 0 4px 10px;border-left:5px solid rgba(0,155,51,.2)}pre>code:before,.method-declaration code:before{content:"Objective-C";display:block;font:9px/1 -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;color:#009b33;text-transform:uppercase;letter-spacing:2px;padding-bottom:6px}pre>code{font-size:inherit}table,th,td{border:1px solid #e9e9e9}table{width:100%}th,td{padding:7px}th>:first-child,td>:first-child{margin-top:0}th>:last-child,td>:last-child{margin-bottom:0}.container{max-width:980px;padding:0 10px;margin:0 auto}@media(max-width:650px){.container{padding:0}}header{position:fixed;top:0;left:0;width:100%;z-index:2;background:#414141;color:#fff;font-size:1.1em;line-height:25px;letter-spacing:.05em}header #library-title{float:left}header #developer-home{float:right}header h1{font-size:inherit;font-weight:inherit;margin:0}header p{margin:0}header h1,header a{color:inherit}@media(max-width:650px){header{position:absolute}header .container{padding:0 10px}}aside{position:fixed;top:25px;left:0;width:100%;height:25px;z-index:2;font-size:1.1em}aside #header-buttons{background:rgba(255,255,255,.8);margin:0 1px;padding:0;list-style:none;text-align:right;line-height:32px}aside #header-buttons li{display:inline-block;cursor:pointer;padding:0 10px}aside #header-buttons label,aside #header-buttons select{cursor:inherit}aside #header-buttons #on-this-page{position:relative}aside #header-buttons #on-this-page .chevron{display:inline-block;width:14px;height:4px;position:relative}aside #header-buttons #on-this-page .chevron .chevy{background:#878787;height:2px;position:absolute;width:10px}aside #header-buttons #on-this-page .chevron .chevy.chevron-left{left:0;-webkit-transform:rotateZ(45deg) scale(.6);transform:rotateZ(45deg) scale(.6)}aside #header-buttons #on-this-page .chevron .chevy.chevron-right{right:0;-webkit-transform:rotateZ(-45deg) scale(.6);transform:rotateZ(-45deg) scale(.6)}aside #header-buttons #on-this-page #jump-to{opacity:0;filter:alpha(opacity=0);font-size:16px;position:absolute;top:5px;left:0;width:100%;height:100%}article{margin-top:25px}article #content{background:#fff;border:1px solid #e9e9e9;padding:15px 25px 30px;font-size:1.4em;line-height:1.45;position:relative}@media(max-width:650px){article #content{padding:15px 10px 20px}}article #content .navigation-top{position:absolute;top:15px;right:25px}article #content .title{margin:21px 0 0;padding:15px 0}article #content p{color:#414141;margin:0 0 15px}article #content th p:last-child,article #content td p:last-child{margin-bottom:0}article #content main ul{list-style:none;margin-left:24px;margin-bottom:12px;padding:0}article #content main ul li{position:relative;padding-left:1.3em}article #content main ul li:before{content:"\02022";color:#414141;font-size:1.08em;line-height:1;position:absolute;left:0;padding-top:2px}article #content footer .footer-copyright{margin:70px 25px 10px 0}article #content footer p{font-size:.71em;color:#a0a0a0}.index-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media(max-width:650px){.index-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}.index-container .index-column{-webkit-box-flex:1;-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%}.section-specification table{width:auto}.section-specification table th{text-align:left}.method-title{margin-left:-15px;margin-bottom:8px;-webkit-transition:margin-left .3s ease-out;transition:margin-left .3s ease-out}.section-method.hide .method-title{margin-left:0}.method-title code{font-weight:400;font-size:.85em}.method-info{background:#f9f9f9;border-bottom:1px solid #e9e9e9;margin:0 -25px;padding:20px 25px 0;-webkit-transition:height .3s ease-out;transition:height .3s ease-out;position:relative}.method-info .pointy-thing{background:#fff;height:10px;border-bottom:1px solid #e9e9e9;margin:-20px -25px 16px}.method-info .pointy-thing:before{display:inline-block;content:"";background:#f9f9f9;border:1px solid #e9e9e9;border-bottom:0;border-right:0;position:absolute;left:21px;top:3px;width:12px;height:12px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.method-info .method-subsection{margin-bottom:15px}.method-info .method-subsection .argument-name{width:1px;text-align:right}.method-info .method-subsection .argument-name code{color:gray;font-style:italic;font-weight:400}.section-method.hide .method-info{height:0!important;overflow:hidden;display:none}.section-method.hide.animating .method-info{display:block}.section-method.animating .method-info{overflow:hidden}@media print{body{background:#fff;padding:8px}header{position:static;background:#fff;color:#000}aside{display:none}.container{max-width:none;padding:0}article{margin-top:0}article #content{border:0;background:#fff;padding:15px 0 0}article #content .title{margin-top:0;padding-top:0}.method-info,.method-info .pointy-thing{background:#fff}}.xcode header,.xcode aside{display:none}.xcode .container{padding:0}.xcode article{margin-top:0}.xcode article #content{border:0;margin:0}.xcode .section-method.hide .method-info,.xcode .section-method.hide.animating .method-info,.xcode .section-method.animating .method-info{height:auto!important;overflow:visible;display:block}.xcode .section-method.hide .method-title{margin-left:-15px} +/*# sourceMappingURL=to.css.map */ \ No newline at end of file diff --git a/Documentation/css/stylesPrint.css b/Documentation/css/stylesPrint.css deleted file mode 100644 index dc54cd2..0000000 --- a/Documentation/css/stylesPrint.css +++ /dev/null @@ -1,22 +0,0 @@ - -header { - display: none; -} - -div.main-navigation, div.navigation-top { - display: none; -} - -div#overview_contents, div#contents.isShowingTOC, div#contents { - overflow: visible; - position: relative; - top: 0px; - border: none; - left: 0; -} -#tocContainer.isShowingTOC { - display: none; -} -nav { - display: none; -} \ No newline at end of file diff --git a/Documentation/hierarchy.html b/Documentation/hierarchy.html index 1badf55..216d0e1 100644 --- a/Documentation/hierarchy.html +++ b/Documentation/hierarchy.html @@ -1,119 +1,115 @@ - + - - - Estimote Indoor Location SDK Hierarchy - - - - - -
    - + + + + Estimote Indoor Location SDK Hierarchy + + + + + + +
    +
    - - -
    -
    + + + +
    +
    +
    +
    +

    Estimote Indoor Location SDK Hierarchy

    +

    Class Hierarchy

    -
    + - -
    - - + + +
    -
    - + + + + + \ No newline at end of file diff --git a/Documentation/index.html b/Documentation/index.html index 810c881..ef222be 100644 --- a/Documentation/index.html +++ b/Documentation/index.html @@ -1,144 +1,133 @@ - + - - - Estimote Indoor Location SDK Reference - - - - - -
    - + + + + Estimote Indoor Location SDK Reference + + + + + + +
    +
    - - -
    -
    -
    + + + +
    +
    +
    +
    +

    Estimote Indoor Location SDK Reference

    + + + - - + + +
    -
    - + + + + + \ No newline at end of file diff --git a/Documentation/js/script.js b/Documentation/js/script.js new file mode 100644 index 0000000..ca915ee --- /dev/null +++ b/Documentation/js/script.js @@ -0,0 +1,58 @@ +function $() { + return document.querySelector.apply(document, arguments); +} + +if (navigator.userAgent.indexOf("Xcode") != -1) { + document.documentElement.classList.add("xcode"); +} + +var jumpTo = $("#jump-to"); + +if (jumpTo) { + jumpTo.addEventListener("change", function(e) { + location.hash = this.options[this.selectedIndex].value; + }); +} + +function hashChanged() { + if (/^#\/\/api\//.test(location.hash)) { + var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); + + if (!element) { + return; + } + + element = element.parentNode; + + element.classList.remove("hide"); + fixScrollPosition(element); + } +} + +function fixScrollPosition(element) { + var scrollTop = element.offsetTop - 150; + document.documentElement.scrollTop = scrollTop; + document.body.scrollTop = scrollTop; +} + +[].forEach.call(document.querySelectorAll(".section-method"), function(element) { + element.classList.add("hide"); + + element.querySelector(".method-title a").addEventListener("click", function(e) { + var info = element.querySelector(".method-info"), + infoContainer = element.querySelector(".method-info-container"); + + element.classList.add("animating"); + info.style.height = (infoContainer.clientHeight + 40) + "px"; + fixScrollPosition(element); + element.classList.toggle("hide"); + + setTimeout(function() { + element.classList.remove("animating"); + info.style.height = "auto"; + }, 300); + }); +}); + +window.addEventListener("hashchange", hashChanged); +hashChanged(); diff --git a/EstimoteIndoorLocationSDK/Headers/EILIndoorLocationManager.h b/EstimoteIndoorLocationSDK/Headers/EILIndoorLocationManager.h index 9809312..f3e2622 100644 --- a/EstimoteIndoorLocationSDK/Headers/EILIndoorLocationManager.h +++ b/EstimoteIndoorLocationSDK/Headers/EILIndoorLocationManager.h @@ -233,6 +233,15 @@ didFailToUpdatePositionWithError:(NSError *)error; */ @property (nonatomic, assign) EILIndoorLocationManagerMode mode; +/** + * Enables orientation when position updates. + * + * Default mode of `EILIndoorLocationManager` is enabled. + * + * Switching mode while delivery of position updates is in progress will effectively restart position updates with new mode. + */ +@property (nonatomic, assign) BOOL provideOrientationForLightMode; + /** * Supported modes (`EILIndoorLocationManagerMode`) for the device. * diff --git a/EstimoteIndoorLocationSDK/Headers/EILIndoorLocationScene.h b/EstimoteIndoorLocationSDK/Headers/EILIndoorLocationScene.h new file mode 100644 index 0000000..6490c0e --- /dev/null +++ b/EstimoteIndoorLocationSDK/Headers/EILIndoorLocationScene.h @@ -0,0 +1,308 @@ +// Copyright © 2016 Estimote. All rights reserved. + +#import + +@class EILLocation; +@class EILOrientedPoint; + +NS_ASSUME_NONNULL_BEGIN + +/** + * Name of the node that represents user position. + * User position is represented using `EILPositionNode`. + */ +static NSString * const EILIndoorLocationSceneUserNodeName = @"USER"; + +/** + * Name of the node that represesnts trace. + * Trace is represented by a dashed line that is updated after each position update. + * Trace makes it easy to see the path that user took while moving inside location. + * @see showTrace + */ +static NSString * const EILIndoorLocationSceneTraceNodeName = @"TRACE"; + +/** + * Name of the node that represents location shape. + */ +static NSString * const EILIndoorLocationSceneShapeNodeName = @"SHAPE"; + +/** + * Name of the node that represesnts background image. + */ +static NSString * const EILIndoorLocationSceneBackgroundImageNodeName = @"BACKGROUND_IMAGE"; + +/** + * Name of the node that represents the center button which centers the camera on user node. + * @see centerOnUser + */ +static NSString * const EILIndoorLocationSceneCenterUserButtonNodeName = @"CENTER_USER"; + +/** + * Name of the node that represents the compass button that changes the property that makes the location or avatar rotate on position update. + * @see rotateLocationOnPositionUpdate + */ +static NSString * const EILIndoorLocationSceneCompassButtonNodeName = @"COMPASS"; + +/** + * Default lindeWidth value of shape node that represents location border. + * @see locationBorderThickness + * @see EILIndoorLocationSceneShapeNodeName + */ +static const CGFloat EILIndoorLocationSceneDefaultLocationBorderThickness = 0.5; + +/** + * Default lineWidth property value of shape nodes that represent linear objects of type EILLocationLinearObjectTypeWindow. + * @see windowThickness + */ +static const CGFloat EILIndoorLocationSceneDefaultWindowThickness = 0.7; + +/** + * Default lineWidth property value of shape nodes that represent linear objects of type EILLocationLinearObjectTypeDoor. + * @see doorThickness + */ +static const CGFloat EILIndoorLocationSceneDefaultDoorThickness = 0.7; + +/** + * Default lineWidth property value of shape node that represents trace. + * @see traceThickness + * @see EILIndoorLocationSceneTraceNodeName + */ +static const CGFloat EILIndoorLocationSceneDefaultTraceThickness = 0.6; + +/** + * Default size property value of node that represents user location. + * @see EILIndoorLocationSceneUserNodeName + */ +static const CGSize EILIndoorLocationSceneDefaultAvatarSize = {32,32}; + +/** + * Default size property value of sprite nodes that represent beacons. + * @see beaconSize + */ +static const CGSize EILIndoorLocationSceneDefaultBeaconSize = {18,28}; + +/** + * Defines z axis position where default nodes are and where user defined nodes should be placed. + * User defined nodes should be placed on Foreground or Background positions. + * + * @see EILIndoorLocationSceneUserNodeName + * @see EILIndoorLocationSceneTraceNodeName + * @see EILIndoorLocationSceneShapeNodeName + * @see EILIndoorLocationSceneBackgroundImageNodeName + */ +typedef enum : NSInteger { + EILIndoorLocationSceneZPositionBackground = -10, + EILIndoorLocationSceneZPositionLocationShape = 0, + EILIndoorLocationSceneZPositionTrace = 20, + EILIndoorLocationSceneZPositionForeground = 30, + EILIndoorLocationSceneZPositionBeacons = 40, + EILIndoorLocationSceneZPositionAvatar = 50 +} EILIndoorLocationSceneZPosition; + +/** + * A subclass of SKScene designed to draw EILLocation and user position inside it. + * Provides a build in mechanism for handling zoom in/out, rotation and pan gestures. + */ +@interface EILIndoorLocationScene : SKScene + +#pragma mark Properties +///----------------------------------------- +/// @name Properties +///----------------------------------------- + +/** Currently presented `EILLocation` object. */ +@property (nonatomic, strong, readonly, nullable) EILLocation *location; + +/** + * If YES, then a beacons will be displayed. + * Default: YES. + */ +@property (nonatomic, assign) BOOL showBeacons; + +/** + * If YES, then a trace will be displayed. + * Default: NO. + * @see EILIndoorLocationSceneTraceNodeName + */ +@property (nonatomic, assign) BOOL showTrace; + +/** + * If YES, then the location will be rotated with position updates making the position indicator always point up. + * If NO, then the position indicator will rotate together with position updates leaving the location unrotated. + * Changes after touching compass button. + * Default: NO. + * @see EILIndoorLocationSceneCompassButtonNodeName + */ +@property (nonatomic, assign) BOOL rotateLocationOnPositionUpdate; + +/** + * Value calculated after calling `drawLocation:`. + * Factor by which every location coordinate is multiplied before drawing. + * Value doesn't change while zooming in/out. + * + * Use it to transform scene coordinates to real coordinates. + * sceneCoordinate = realCoordinate * locationScale + * realCoordinate = sceneCoordinate / locationScale + */ +@property (nonatomic, assign, readonly) CGFloat locationScale; + +/** + * Block of code that will be invoked every time a node on `EILIndoorLocationScene` is touched. + * @param nodeName Name of node that was touched. + */ +@property (nonatomic, copy, nullable) void (^touchHandler)(NSString *nodeName); + +#pragma mark Styling properties +///----------------------------------------- +/// @name Styling properties +///----------------------------------------- + +/** + * Name of the image asset that should be used as an avatar. + * Avatar node will be recreated after each change of this property. + * @see EILIndoorLocationSceneUserNodeName + */ +@property (nonatomic, strong, nullable) NSString * _Nullable avatarImageName; + +/** + * Name of the image asset that should be used as a background. + * It will be resized to fit location size. + * If background image represents a floorplan it shouldn't contain any margins to fit properly. + * Background node will be recreated after each change of this property. + * @see EILIndoorLocationSceneBackgroundImageNodeName + */ +@property (nonatomic, strong, nullable) NSString * _Nullable backgroundImageName; + +/** + * Name of the image asset that should be used as a center user button. + * Center user button node will be recreated after each change of this property. + * @see EILIndoorLocationSceneCenterUserButtonNodeName + */ +@property (nonatomic, strong, nullable) NSString * _Nullable centerUserButtonImageName; + +/** + * Name of the image asset that should be used as a compass button. + * Compass button node will be recreated after each change of this property. + * @see EILIndoorLocationSceneCompassButtonNodeName + */ +@property (nonatomic, strong, nullable) NSString * _Nullable compassButtonImageName; + +/** + * strokeColor property value of the shape node that represents location border. + * Default: Black. + * @see EILIndoorLocationSceneShapeNodeName + */ +@property (nonatomic, strong) UIColor *locationBorderColor; + +/** + * lindeWidth property value of the shape node that represents location border. + * @see EILIndoorLocationSceneDefaultLocationBorderThickness + * @see EILIndoorLocationSceneShapeNodeName + */ +@property (nonatomic, assign) CGFloat locationBorderThickness; + +/** + * strokeColor property value of the shape nodes that represent linear objects of type `EILLocationLinearObjectTypeWindow`. + * Default: Blue. + */ +@property (nonatomic, strong) UIColor *windowColor; + +/** + * lindeWidth property value of the shape nodes that represent linear objects of type `EILLocationLinearObjectTypeWindow`. + * @see EILIndoorLocationSceneDefaultWindowThickness + */ +@property (nonatomic, assign) CGFloat windowThickness; + +/** + * strokeColor property value of the shape nodes that represent linear objects of type `EILLocationLinearObjectTypeDoor`. + * Default: White. + */ +@property (nonatomic, strong) UIColor *doorColor; + +/** + * lindeWidth property value of the shape nodes that represent linear objects of type `EILLocationLinearObjectTypeDoor`. + * @see EILIndoorLocationSceneDefaultDoorThickness + */ +@property (nonatomic, assign) CGFloat doorThickness; + +/** + * strokeColor property value of the shape node that represesnts trace. + * Default: Yellow. + * @see EILIndoorLocationSceneTraceNodeName + */ +@property (nonatomic, strong) UIColor *traceColor; + +/** + * lineWidth property value of the shape node that represents trace. + * @see EILIndoorLocationSceneDefaultTraceThickness + * @see EILIndoorLocationSceneTraceNodeName + */ +@property (nonatomic, assign) CGFloat traceThickness; + +/** + * size property value of the sprite nodes that represent beacons. + * If this value is supposed to be different than default, set it before calling `drawLocation:`. + * @see EILIndoorLocationSceneDefaultBeaconSize + */ +@property (nonatomic, assign) CGSize beaconSize; + +#pragma mark Drawing location +///----------------------------------------- +/// @name Drawing location +///----------------------------------------- + +/** + * Draws a graphical representation of `EILLocation` object. + * + * @param location Object representing current location. + */ +- (void)drawLocation:(EILLocation *)location; + +#pragma mark Handling position updates +///----------------------------------------- +/// @name Handling position updates +///----------------------------------------- + +/** + * Updates avatar position to the given position. + * If position is nil, avatar node is removed from scene. + * Sets `showAccuracy` to YES on `EILPositionNode` class object that represents avatar. + * + * @see EILIndoorLocationSceneUserNodeName + * @param position Object representing current position in the location. + * @param accuracy Value describing accuracy of position estimation. Calls `updateAccuracy:` on `EILPositionNode` class object that represents avatar. + */ +- (void)updateUserPosition:(nullable EILOrientedPoint *)position withAccuracy:(CGFloat)accuracy; + +/** + * Updates avatar position to the given position. + * If position is nil, avatar node is removed from scene. + * Sets `showAccuracy` to NO on `EILPositionNode` class object that represents avatar. + * + * @see EILIndoorLocationSceneUserNodeName + * @param position Object representing current position in the location. + */ +- (void)updateUserPosition:(nullable EILOrientedPoint *)position; + +/** + * Sets camera property position to current position of avatar node in an animated way. + * Called after touching center user button. + * @see EILIndoorLocationSceneCenterUserButtonNodeName + * @see EILIndoorLocationSceneUserNodeName + */ +- (void)centerOnUser; + +#pragma mark Drawing trace +///----------------------------------------- +/// @name Drawing trace +///----------------------------------------- + +/** + * Clears the trace by removing trace node. + * @see EILIndoorLocationSceneTraceNodeName + */ +- (void)clearTrace; + +@end + +NS_ASSUME_NONNULL_END diff --git a/EstimoteIndoorLocationSDK/Headers/EILIndoorSDK.h b/EstimoteIndoorLocationSDK/Headers/EILIndoorSDK.h index dc841a6..5344e38 100644 --- a/EstimoteIndoorLocationSDK/Headers/EILIndoorSDK.h +++ b/EstimoteIndoorLocationSDK/Headers/EILIndoorSDK.h @@ -1,7 +1,7 @@ // Copyright (c) 2015 Estimote. All rights reserved. /** Version of this iOS Indoor Location SDK. */ -#define EIL_IOS_INDOOR_SDK_VERSION_STRING @"2.2.1" +#define EIL_IOS_INDOOR_SDK_VERSION_STRING @"2.3.0" /** Library header, import this to import all of the public types in the Indoor SDK. */ @@ -21,6 +21,7 @@ #import "EILLocationBuilder.h" // UI. +#import "EILIndoorLocationScene.h" #import "EILIndoorLocationView.h" #import "EILPositionView.h" diff --git a/EstimoteIndoorLocationSDK/Headers/EILPoint.h b/EstimoteIndoorLocationSDK/Headers/EILPoint.h index c25c14f..91d2a60 100644 --- a/EstimoteIndoorLocationSDK/Headers/EILPoint.h +++ b/EstimoteIndoorLocationSDK/Headers/EILPoint.h @@ -5,7 +5,7 @@ NS_ASSUME_NONNULL_BEGIN /** Represents a geometrical point. Object is immutable. */ -@interface EILPoint : NSObject +@interface EILPoint : NSObject #pragma mark Properties ///----------------------------------------- diff --git a/EstimoteIndoorLocationSDK/Headers/EILPositionNode.h b/EstimoteIndoorLocationSDK/Headers/EILPositionNode.h new file mode 100644 index 0000000..8da6504 --- /dev/null +++ b/EstimoteIndoorLocationSDK/Headers/EILPositionNode.h @@ -0,0 +1,33 @@ +// Copyright © 2016 Estimote. All rights reserved. + +#import +#import "EILIndoorLocationManager.h" + +/** + * Name of the node that represents accuracy of position estimation. + * @see showAccuracy + * @see updateAccuracy: + */ +static NSString * const EILPositionNodeAccuracyNodeName = @"ACCURACY"; + +/** + * A subclass of SKSpriteNode designed to represent user avatar together with accuracy circle. + * Accuracy circle makes it easy to visualy mark the possible position estimation error. + */ +@interface EILPositionNode : SKSpriteNode + +/** + * If YES, then accuracy circle is displayed. + * @see EILPositionNodeAccuracyNodeName + */ +@property (nonatomic, assign) BOOL showAccuracy; + +/** + * Updates accuracy circle according to accuracy value. + * + * @param accuracy Accuracy of position estimation in scene scale. + * @see `locationScale` in `EILIndoorLocationScene` + */ +- (void)updateAccuracy:(CGFloat)accuracy; + +@end diff --git a/EstimoteIndoorLocationSDK/libEstimoteIndoorSDK.a b/EstimoteIndoorLocationSDK/libEstimoteIndoorSDK.a index a547287..f40d805 100644 Binary files a/EstimoteIndoorLocationSDK/libEstimoteIndoorSDK.a and b/EstimoteIndoorLocationSDK/libEstimoteIndoorSDK.a differ diff --git a/README.md b/README.md index 1163624..7e4385d 100644 --- a/README.md +++ b/README.md @@ -166,7 +166,7 @@ To obtain position updates, you need to set a ```delegate``` which will be recei indoorLocationManager.delegate = yourDelegate; [indoorLocationManager startPositionUpdatesForLocation:yourLocation]; ``` -In addition to position, updates provide also information about accuracy of determined position which can be visualized via EILPositionView as avatar with a circle of given radius within which the real position is expected to be. +In addition to position, updates provide also information about accuracy of determined position which can be visualized via EILPositionView or EILPositionNode as avatar with a circle of given radius within which the real position is expected to be. Note, that you need only one Indoor Location Manager to monitor multiple locations. However, position updates are available for only one location at the same time. If you need to enable position updates for new location, first you need to stop position updates: