3#include <NDEVR/CoordinateConverter.h>
A specification of upper and lower bounds in N-dimensions.
Allows for the creation of Coordinate spaces.
Forward declaration of the File class.
CoordinateConverter(const CoordinateProjection &to_projection, const CoordinateProjection &from_projection)
Constructs a CoordinateConverter with the given source and destination projections.
Templated logic for doing matrix multiplication.
A factory that creates Proj4CoordinateConverter instances and can register as the default engine.
static void SetupAsDefaultEngine()
Registers this factory as the default coordinate conversion engine.
virtual CoordinateConverter * createConverter(const CoordinateProjection &to_projection, const CoordinateProjection &from_projection) override
Creates a new coordinate converter for the given projections.
void setDestinationProjection(const CoordinateProjection &to_projection) override
Sets the destination coordinate projection.
Vertex< 2, fltp08 > convert(const Vertex< 2, fltp08 > &location, bool inverse=false) const override
Converts a 2D vertex between coordinate systems.
Proj4CoordinateConverter(const CoordinateProjection &to_projection, const CoordinateProjection &from_projection)
Constructs a converter between two coordinate projections.
void * m_context
The PROJ threading context.
Matrix< fltp08 > convert(const Matrix< fltp08 > &location, bool inverse=false) const override
Converts a transformation matrix between coordinate systems.
void * m_transform
The PROJ transformation object.
Bounds< 2, fltp08 > convert(const Bounds< 2, fltp08 > &location, bool inverse=false) const override
Converts a 2D bounding box between coordinate systems.
void setSourceProjection(const CoordinateProjection &from_projection) override
Sets the source coordinate projection.
void destroyTransform()
Destroys the internal PROJ transform and context.
~Proj4CoordinateConverter()
Destroys the converter and releases PROJ resources.
Vertex< 3, fltp08 > convert(const Vertex< 3, fltp08 > &location, bool inverse=false) const override
Converts a 3D vertex between coordinate systems.
Bounds< 3, fltp08 > convert(const Bounds< 3, fltp08 > &location, bool inverse=false) const override
Converts a 3D bounding box between coordinate systems.
void rebuildTransform()
Rebuilds the internal PROJ transform from current projections.
A point in N-dimensional space, used primarily for spatial location information.
The primary namespace for the NDEVR SDK.
Basic data about a particular coordinate projection.