Instrument Neutral Distributed Interface INDI 2.2.5
List of all members
INDI::AlignmentSubsystem::SVDMathPlugin Class Reference

This class implements the SVD math plugin. More...

#include <SVDMathPlugin.h>

Inheritance diagram for INDI::AlignmentSubsystem::SVDMathPlugin:
INDI::AlignmentSubsystem::BasicMathPlugin INDI::AlignmentSubsystem::AlignmentSubsystemForMathPlugins INDI::AlignmentSubsystem::MathPlugin INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions

Additional Inherited Members

- Public Types inherited from INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions
enum  AzimuthAngleDirection { CLOCKWISE , ANTI_CLOCKWISE }
 
enum  PolarAngleDirection { FROM_POLAR_AXIS , FROM_AZIMUTHAL_PLANE }
 
typedef enum INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::AzimuthAngleDirection AzimuthAngleDirection_t
 
typedef enum INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions::PolarAngleDirection PolarAngleDirection_t
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::BasicMathPlugin
 BasicMathPlugin ()
 Default constructor.
 
virtual ~BasicMathPlugin ()
 Virtual destructor.
 
virtual bool Initialise (InMemoryDatabase *pInMemoryDatabase) override
 Override for the base class virtual function.
 
virtual bool TransformCelestialToTelescopeJD (double RightAscension, double Declination, double JulianDate, TelescopeDirectionVector &ApparentTelescopeDirectionVector) override
 Override for the base class virtual function.
 
virtual bool TransformTelescopeToCelestialJD (const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination, double JulianDate) override
 Override for the base class virtual function.
 
virtual bool TransformCelestialToTelescope (const double RightAscension, const double Declination, double JulianOffset, TelescopeDirectionVector &ApparentTelescopeDirectionVector) override
 Compat shim - resolves JD and delegates to TransformCelestialToTelescopeJD.
 
virtual bool TransformTelescopeToCelestial (const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination, double JulianOffset=0) override
 Compat shim - resolves JD and delegates to TransformTelescopeToCelestialJD.
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::AlignmentSubsystemForMathPlugins
virtual ~AlignmentSubsystemForMathPlugins ()
 Virtual destructor.
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::MathPlugin
 MathPlugin (MountAlignment_t ApproximateAlignment=ZENITH)
 Default constructor.
 
virtual ~MathPlugin ()
 Virtual destructor.
 
virtual MountAlignment_t GetApproximateMountAlignment ()
 Get the approximate alignment of the mount.
 
virtual void SetApproximateMountAlignment (MountAlignment_t ApproximateAlignment)
 Set the approximate alignment of the mount.
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions
virtual ~TelescopeDirectionVectorSupportFunctions ()
 Virtual destructor.
 
void AltitudeAzimuthFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, INDI::IHorizontalCoordinates &HorizontalCoordinates)
 Calculates an altitude and azimuth from the supplied normalised direction vector and declination.
 
void EquatorialCoordinatesFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, INDI::IEquatorialCoordinates &EquatorialCoordinates)
 Calculates equatorial coordinates from the supplied telescope direction vector and declination.
 
void LocalHourAngleDeclinationFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, INDI::IEquatorialCoordinates &EquatorialCoordinates)
 Calculates a local hour angle and declination from the supplied telescope direction vector and declination.
 
void SphericalCoordinateFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, double &AzimuthAngle, AzimuthAngleDirection_t AzimuthAngleDirection, double &PolarAngle, PolarAngleDirection_t PolarAngleDirection)
 Calculates a spherical coordinate from the supplied telescope direction vector.
 
const TelescopeDirectionVector TelescopeDirectionVectorFromAltitudeAzimuth (INDI::IHorizontalCoordinates HorizontalCoordinates)
 Calculates a normalised direction vector from the supplied altitude and azimuth.
 
const TelescopeDirectionVector TelescopeDirectionVectorFromEquatorialCoordinates (INDI::IEquatorialCoordinates EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied equatorial coordinates.
 
const TelescopeDirectionVector TelescopeDirectionVectorFromLocalHourAngleDeclination (INDI::IEquatorialCoordinates EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied local hour angle and declination.
 
const TelescopeDirectionVector TelescopeDirectionVectorFromSphericalCoordinate (const double AzimuthAngle, AzimuthAngleDirection_t AzimuthAngleDirection, const double PolarAngle, PolarAngleDirection_t PolarAngleDirection)
 Calculates a telescope direction vector from the supplied spherical coordinate information.
 
- Static Public Member Functions inherited from INDI::AlignmentSubsystem::MathPlugin
static void SanitizePolarEntries (InMemoryDatabase *pInMemoryDatabase, MountAlignment_t mountAlignment)
 Sanitize alignment database entries that are near the pole (EQ) or zenith (altaz). At these singularities the roll-axis (HA or Az) component of the TDV is unconstrained, making any pointing model ill-conditioned.
 
- Protected Member Functions inherited from INDI::AlignmentSubsystem::BasicMathPlugin
void Dump3 (const char *Label, gsl_vector *pVector)
 Print out a 3 vector to debug.
 
void Dump3x3 (const char *Label, gsl_matrix *pMatrix)
 Print out a 3x3 matrix to debug.
 
double Matrix3x3Determinant (gsl_matrix *pMatrix)
 Calculate the determinant of the supplied matrix.
 
bool MatrixInvert3x3 (gsl_matrix *pInput, gsl_matrix *pInversion)
 Calculate the inverse of the supplied matrix.
 
void MatrixMatrixMultiply (gsl_matrix *pA, gsl_matrix *pB, gsl_matrix *pC)
 Multiply matrix A by matrix B and put the result in C.
 
void MatrixVectorMultiply (gsl_matrix *pA, gsl_vector *pB, gsl_vector *pC)
 Multiply matrix A by vector B and put the result in vector C.
 
bool RayTriangleIntersection (TelescopeDirectionVector &Ray, TelescopeDirectionVector &TriangleVertex1, TelescopeDirectionVector &TriangleVertex2, TelescopeDirectionVector &TriangleVertex3)
 Test if a ray intersects a triangle in 3d space.
 
- Protected Attributes inherited from INDI::AlignmentSubsystem::BasicMathPlugin
gsl_matrix * pActualToApparentTransform
 
gsl_matrix * pApparentToActualTransform
 
ConvexHull ActualConvexHull
 
ConvexHull ApparentConvexHull
 
std::vector< TelescopeDirectionVector > ActualDirectionCosines
 
- Protected Attributes inherited from INDI::AlignmentSubsystem::MathPlugin
MountAlignment_t ApproximateMountAlignment
 Describe the approximate alignment of the mount. This information is normally used in a one star alignment calculation.
 
InMemoryDatabase * pInMemoryDatabase
 

Detailed Description

This class implements the SVD math plugin.

Definition at line 20 of file SVDMathPlugin.h.


The documentation for this class was generated from the following files: