TwiceAsNice  2019-02-18
Private Member Functions | List of all members
INDI::AlignmentSubsystem::BuiltInMathPlugin Class Reference

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

#include <BuiltInMathPlugin.h>

Inheritance diagram for INDI::AlignmentSubsystem::BuiltInMathPlugin:
Inheritance graph
Collaboration diagram for INDI::AlignmentSubsystem::BuiltInMathPlugin:
Collaboration graph

Private Member Functions

void CalculateTransformMatrices (const TelescopeDirectionVector &Alpha1, const TelescopeDirectionVector &Alpha2, const TelescopeDirectionVector &Alpha3, const TelescopeDirectionVector &Beta1, const TelescopeDirectionVector &Beta2, const TelescopeDirectionVector &Beta3, gsl_matrix *pAlphaToBeta, gsl_matrix *pBetaToAlpha)
 Calculate tranformation matrices from the supplied vectors. More...
 

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. More...
 
virtual ~BasicMathPlugin ()
 Virtual destructor. More...
 
virtual bool Initialise (InMemoryDatabase *pInMemoryDatabase)
 Override for the base class virtual function. More...
 
virtual bool TransformCelestialToTelescope (const double RightAscension, const double Declination, double JulianOffset, TelescopeDirectionVector &ApparentTelescopeDirectionVector)
 Override for the base class virtual function. More...
 
virtual bool TransformTelescopeToCelestial (const TelescopeDirectionVector &ApparentTelescopeDirectionVector, double &RightAscension, double &Declination)
 Override for the base class virtual function. More...
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::AlignmentSubsystemForMathPlugins
virtual ~AlignmentSubsystemForMathPlugins ()
 Virtual destructor. More...
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::MathPlugin
 MathPlugin (MountAlignment_t ApproximateAlignment=ZENITH)
 Default constructor. More...
 
virtual ~MathPlugin ()
 Virtual destructor. More...
 
virtual MountAlignment_t GetApproximateMountAlignment ()
 Get the approximate alognment of the mount. More...
 
virtual void SetApproximateMountAlignment (MountAlignment_t ApproximateAlignment)
 Set the approximate alognment of the mount. More...
 
- Public Member Functions inherited from INDI::AlignmentSubsystem::TelescopeDirectionVectorSupportFunctions
virtual ~TelescopeDirectionVectorSupportFunctions ()
 Virtual destructor. More...
 
void AltitudeAzimuthFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, ln_hrz_posn &HorizontalCoordinates)
 Calculates an altitude and azimuth from the supplied normalised direction vector and declination. More...
 
void AltitudeAzimuthFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, lnh_hrz_posn &HorizontalCoordinates)
 Calculates an altitude and azimuth from the supplied normalised direction vector and declination. More...
 
void EquatorialCoordinatesFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, struct ln_equ_posn &EquatorialCoordinates)
 Calculates equatorial coordinates from the supplied telescope direction vector and declination. More...
 
void EquatorialCoordinatesFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, struct lnh_equ_posn &EquatorialCoordinates)
 Calculates equatorial coordinates from the supplied telescope direction vector and declination. More...
 
void LocalHourAngleDeclinationFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, struct ln_equ_posn &EquatorialCoordinates)
 Calculates a local hour angle and declination from the supplied telescope direction vector and declination. More...
 
void LocalHourAngleDeclinationFromTelescopeDirectionVector (const TelescopeDirectionVector TelescopeDirectionVector, struct lnh_equ_posn &EquatorialCoordinates)
 Calculates a local hour angle and declination from the supplied telescope direction vector and declination. More...
 
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. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromAltitudeAzimuth (ln_hrz_posn HorizontalCoordinates)
 Calculates a normalised direction vector from the supplied altitude and azimuth. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromAltitudeAzimuth (lnh_hrz_posn HorizontalCoordinates)
 Calculates a normalised direction vector from the supplied altitude and azimuth. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromEquatorialCoordinates (struct ln_equ_posn EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied equatorial coordinates. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromEquatorialCoordinates (struct lnh_equ_posn EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied equatorial coordinates. More...
 
const TelescopeDirectionVector TelescopeDirectionVectorFromLocalHourAngleDeclination (struct ln_equ_posn EquatorialCoordinates)
 Calculates a telescope direction vector from the supplied local hour angle and declination. More...
 
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. More...
 
- Protected Member Functions inherited from INDI::AlignmentSubsystem::BasicMathPlugin
void Dump3 (const char *Label, gsl_vector *pVector)
 Print out a 3 vector to debug. More...
 
void Dump3x3 (const char *Label, gsl_matrix *pMatrix)
 Print out a 3x3 matrix to debug. More...
 
double Matrix3x3Determinant (gsl_matrix *pMatrix)
 Caluclate the determinant of the supplied matrix. More...
 
bool MatrixInvert3x3 (gsl_matrix *pInput, gsl_matrix *pInversion)
 Calculate the inverse of the supplied matrix. More...
 
void MatrixMatrixMultiply (gsl_matrix *pA, gsl_matrix *pB, gsl_matrix *pC)
 Multiply matrix A by matrix B and put the result in C. More...
 
void MatrixVectorMultiply (gsl_matrix *pA, gsl_vector *pB, gsl_vector *pC)
 Multiply matrix A by vector B and put the result in vector C. More...
 
bool RayTriangleIntersection (TelescopeDirectionVector &Ray, TelescopeDirectionVector &TriangleVertex1, TelescopeDirectionVector &TriangleVertex2, TelescopeDirectionVector &TriangleVertex3)
 Test if a ray intersects a triangle in 3d space. More...
 
- Protected Attributes inherited from INDI::AlignmentSubsystem::BasicMathPlugin
gsl_matrix * pActualToApparentTransform
 
gsl_matrix * pApparentToActualTransform
 
ConvexHull ActualConvexHull
 
ConvexHull ApparentConvexHull
 
std::vector< TelescopeDirectionVectorActualDirectionCosines
 
- Protected Attributes inherited from INDI::AlignmentSubsystem::MathPlugin
MountAlignment_t ApproximateMountAlignment
 Describe the approximate alignment of the mount. More...
 
InMemoryDatabasepInMemoryDatabase
 

Detailed Description

This class implements the default math plugin.

Member Function Documentation

◆ CalculateTransformMatrices()

void INDI::AlignmentSubsystem::BuiltInMathPlugin::CalculateTransformMatrices ( const TelescopeDirectionVector Alpha1,
const TelescopeDirectionVector Alpha2,
const TelescopeDirectionVector Alpha3,
const TelescopeDirectionVector Beta1,
const TelescopeDirectionVector Beta2,
const TelescopeDirectionVector Beta3,
gsl_matrix *  pAlphaToBeta,
gsl_matrix *  pBetaToAlpha 
)
privatevirtual

Calculate tranformation matrices from the supplied vectors.

Parameters
[in]Alpha1Pointer to the first coordinate in the alpha reference frame
[in]Alpha2Pointer to the second coordinate in the alpha reference frame
[in]Alpha3Pointer to the third coordinate in the alpha reference frame
[in]Beta1Pointer to the first coordinate in the beta reference frame
[in]Beta2Pointer to the second coordinate in the beta reference frame
[in]Beta3Pointer to the third coordinate in the beta reference frame
[in]pAlphaToBetaPointer to a matrix to receive the Alpha to Beta transformation matrix
[in]pBetaToAlphaPointer to a matrix to receive the Beta to Alpha transformation matrix

Implements INDI::AlignmentSubsystem::BasicMathPlugin.


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