# TheOpenSpatialLibraryby southerlies

<PackageReference Include="TheOpenSpatialLibrary" Version="0.5.0" />

# Southerlies.Spatial

Namespace with 24 public types

### Classes

spaArgumentException The exception that is thrown when one of the arguments provided to a method is not valid.
spaArgumentNullException The exception that is thrown when a null reference is passed to a method that does not accept it as a valid argument.
spaArgumentOutOfRangeException The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.
spaDivisionByZeroException The exception that is thrown when there is an attempt to divide a value by zero.
spaException Represents errors that occur during execution.
spaIndexOutOfRangeException The exception that is thrown when an attempt is made to access an element of an array-based type with an index that is outside the bounds of the array(s).
spaMathException Represents errors that occur during execution.
spaNotANumberException The exception that is thrown when a floating-point value is positive infinity, negative infinity, or Not-a-Number (NaN).

### Structures

Quaternion Represents a a unit quaternion. Unit quaternions can describe rotations in 3D space. Components order The first three values of a Quaternion class, namely the , and represents the vector part of a unit quaternion; while the component is the angular part. The components, in the same order they are described above are accessible through the indexer property .
RotationMatrix Represents a 3x3 matrix containing 3D rotation double-precision components.
RPY Represents a RPY orientation description. Values are in radians. A RPY rotation is made by an ordered composition of rotations around fixed axis. Namely it results RPY == Rot(z, roll) * Rot(y, pitch) * Rot(x, yaw). Where the order of rotations goes from the left to the right.
TransformMatrix Represents a 4x4 matrix containing 3D euclidean transform (aka homogeneous matrix).
TranslationVector Represents a 3D vector using three double-precision floating-point numbers.

### Enumerations

ElementOrder It enumerates if data passed to a matrix shoud be considered as ordered by rows or columns.

### Static Classes

AnglesConversion Contains angle representations conversion.
Constants Contains common mathematical functions and constants.
DoubleExtensionMethods It adds extended properties or methods to the type.
IntExtensionMethods It adds extended properties or methods to the type.
MemberwiseAlmostEqual It implements extension methods to check equality, within a given tolerance, between math classes.
Numbers Recurring operation on numbers.
TranslationVectorExtensions Extension methods for .

### Interfaces

Rotation The capability of describing spatial rotations.
Transform The capability of describing spatial rotations coupled to translations.
Translation The capability of describing spatial translations or positions.