EILOrientedLineSegment Class Reference
| Inherits from | NSObject | 
|---|---|
| Conforms to | NSCoding | 
| Declared in | EILOrientedLineSegment.h EILOrientedLineSegment.m | 
Overview
Represents a geometrical line segment with additional information about orientation. Object is immutable.
Other Methods
  point1
	Coordinates of the first end point of the line segment.
@property (nonatomic, strong, readonly) EILPoint *point1Declared In
EILOrientedLineSegment.h
  point2
	Coordinates of the second end point of the line segment.
@property (nonatomic, strong, readonly) EILPoint *point2Declared In
EILOrientedLineSegment.h
  orientation
	Orientation associated with the line segment. If not defined takes EIL_ORIENTATION_UNDEFINED value. Value is in degrees, counted clockwise.
@property (nonatomic, assign, readonly) double orientationDeclared In
EILOrientedLineSegment.h
Creating and Initializing Line Segments
– initWithPoint1:point2:orientation:
	Returns a new oriented line segment object.
- (instancetype)initWithPoint1:(EILPoint *)point1 point2:(EILPoint *)point2 orientation:(double)orientationParameters
| point1 | An EILPoint object representing first end point of the line segment. | 
|---|---|
| point2 | An EILPoint object representing second end point of the line segment. | 
| orientation | Orientation of the line segment. | 
Return Value
A line segment initialized with (point1, point2, orientation).
Declared In
EILOrientedLineSegment.h
+ lineWithPoint1:point2:orientation:
	Returns a new oriented line segment object.
+ (instancetype)lineWithPoint1:(EILPoint *)point1 point2:(EILPoint *)point2 orientation:(double)orientationParameters
| point1 | An EILPoint object representing first end point of the line segment. | 
|---|---|
| point2 | An EILPoint object representing second end point of the line segment. | 
| orientation | Orientation of the line segment. | 
Return Value
A line segment initialized with (point1, point2, orientation).
Declared In
EILOrientedLineSegment.h
+ lineWithX1:y1:x2:y2:orientation:
	Returns a new oriented line segment object.
+ (instancetype)lineWithX1:(double)x1 y1:(double)y1 x2:(double)x2 y2:(double)y2 orientation:(double)orientationParameters
| x1 | A x coordinate of the first end point of the line segment. | 
|---|---|
| y1 | An y coordinate of the first end point of the line segment. | 
| x2 | A x coordinate of the second end point of the line segment. | 
| y2 | An y coordinate of the second end point of the line segment. | 
| orientation | Orientation of the line segment. | 
Return Value
A line segment initialized with ((x1,y1), (x2,y2), orientation).
Declared In
EILOrientedLineSegment.h
+ lineWithLine:
	Returns a new oriented line segment object based on the given oriented line segment.
+ (instancetype)lineWithLine:(EILOrientedLineSegment *)lineParameters
| line | An oriented line segment. | 
|---|
Return Value
An oriented line initialized with (line.point1, line.point2, line.orientation).
Declared In
EILOrientedLineSegment.h
Operations on line segment
– centerPoint
	Calculates a center point of the line. Has the same orientation as the line segment.
- (EILOrientedPoint *)centerPointReturn Value
A new oriented point representing center of the line segment.
Declared In
EILOrientedLineSegment.h
– leftPoint
	Calculates left point of the line.
- (EILOrientedPoint *)leftPointReturn Value
An oriented point representing left point of the line. It will have the same orientation as the line.
Discussion
If the orientation of the line is pointing at you, the left point will be on the left.
If the line does not have an orientation nil will be returned.
Declared In
EILOrientedLineSegment.h
– rightPoint
	Calculates right point of the line.
- (EILOrientedPoint *)rightPointReturn Value
An oriented point representing right point of the line. It will have the same orientation as the line.
Discussion
If the orientation of the line is pointing at you, the right point will be on the right.
If the line does not have an orientation nil will be returned.
Declared In
EILOrientedLineSegment.h
– length
	Calculates length of the line segment.
- (double)lengthReturn Value
A length of the line.
Declared In
EILOrientedLineSegment.h
– lineTranslatedBydX:dY:
	Translates the line segment by a given vector (dX, dY) and returns a new line segment.
- (EILOrientedLineSegment *)lineTranslatedBydX:(double)dX dY:(double)dYParameters
| dX | Value of translation on X axis. | 
|---|---|
| dY | Value of translation on Y axis. | 
Return Value
A new line segment translated by (dX, dY).
Declared In
EILOrientedLineSegment.h
Serialization
+ lineFromDictionary:
	Deserializes an oriented line segment from NSDictionary.
+ (nullable EILOrientedLineSegment *)lineFromDictionary:(NSDictionary *)dictParameters
| dict | NSDictionary to deserialize from. | 
|---|
Return Value
An oriented line segment created from NSDictionary.
Declared In
EILOrientedLineSegment.h
– toDictionary
	Serializes the oriented line segment to NSDictionary.
- (NSDictionary *)toDictionaryReturn Value
An oriented line segment representation in NSDictionary.
Declared In
EILOrientedLineSegment.h
Identifying and Comparing Objects
– isEqual:
	Returns a boolean value that indicates whether given oriented line segment is equal to this one.
- (BOOL)isEqual:(nullable id)otherParameters
| other | The object to be compared to this oriented line segment. May be nil. | 
|---|
Return Value
YES if oriented line segments are equal, otherwise NO.
Declared In
EILOrientedLineSegment.h
– isEqualToOrientedLine:
	- (BOOL)isEqualToOrientedLine:(nullable EILOrientedLineSegment *)lineSee Also
Declared In
EILOrientedLineSegment.h
– hash
	Returns an integer that can be used as a table address in a hash table structure.
- (NSUInteger)hashDeclared In
EILOrientedLineSegment.h
Describing Objects
– description
	Returns a string representation of the receiver.
- (NSString *)descriptionReturn Value
A string representation of the oriented line segment in form of ((x1,y1),(x2,y2), orientation)
Declared In
EILOrientedLineSegment.h
Encoding and Decoding
– initWithCoder:
	Returns an oriented line segment initialized from data in a given unarchiver.
- (nullable instancetype)initWithCoder:(NSCoder *)decoderParameters
| decoder | An unarchiver object. | 
|---|
Return Value
A new oriented line segment initialized using the data in decoder.
Declared In
EILOrientedLineSegment.h
– encodeWithCoder:
	Encodes the oriented line segment using a given archiver.
- (void)encodeWithCoder:(NSCoder *)coderParameters
| An | archiver object. | 
|---|
Declared In
EILOrientedLineSegment.h