33#include <NDEVR/SoftwareService.h>
34#include <NDEVR/CoordinateProjection.h>
A specification of upper and lower bounds in N-dimensions.
Allows for the creation of Coordinate spaces.
static CoordinateConverterFactory * DefaultFactory()
Returns the default CoordinateConverterFactory instance.
virtual CoordinateConverter * createConverter(const CoordinateProjection &to_projection, const CoordinateProjection &from_projection)=0
Creates a new CoordinateConverter for converting between two projections.
static CoordinateConverterFactory * s_converter
The global default converter factory instance.
Forward declaration of the File class.
virtual Matrix< fltp08 > convert(const Matrix< fltp08 > &location, bool inverse=false) const =0
Converts a transformation matrix from one projection to another.
CoordinateProjection fromProjection()
Returns the source coordinate projection.
virtual void setDestinationProjection(const CoordinateProjection &to_projection)=0
Sets the destination coordinate projection.
virtual Vertex< 2, fltp08 > convert(const Vertex< 2, fltp08 > &location, bool inverse=false) const =0
Converts a 2D vertex from one projection to another.
CoordinateProjection m_from_projection
The source coordinate projection to convert from.
virtual Bounds< 2, fltp08 > convert(const Bounds< 2, fltp08 > &location, bool inverse=false) const =0
Converts a 2D bounding box from one projection to another.
CoordinateProjection m_to_projection
The destination coordinate projection to convert into.
CoordinateConverter(const CoordinateProjection &to_projection, const CoordinateProjection &from_projection)
Constructs a CoordinateConverter with the given source and destination projections.
virtual ~CoordinateConverter()
Virtual destructor for safe polymorphic deletion.
virtual Bounds< 3, fltp08 > convert(const Bounds< 3, fltp08 > &location, bool inverse=false) const =0
Converts a 3D bounding box from one projection to another.
virtual void setSourceProjection(const CoordinateProjection &from_projection)=0
Sets the source coordinate projection.
virtual Vertex< 3, fltp08 > convert(const Vertex< 3, fltp08 > &location, bool inverse=false) const =0
Converts a 3D vertex from one projection to another.
CoordinateProjection toProjection()
Returns the destination coordinate projection.
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
Templated logic for doing matrix multiplication.
Software Service Managers take a Software service to modify the behavior of the software.
Base interface for services that extend or modify software behavior through modules.
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.