Skip to content

These module docs are in beta and may be incomplete.

modm:math:geometry: Geometric Operations


// Class
class modm::Angle;
class modm::Circle2D< typename T >;
class modm::Line2D< typename T >;
class modm::LineSegment2D< typename T=int16_t >;
class modm::Location2D< typename T=int16_t >;
class modm::Matrix< typename T, uint8_t ROWS, uint8_t COLUMNS >;
class modm::PointSet2D< typename T >;
class modm::Polygon2D< typename T >;
class modm::Quaternion< class T >;
class modm::Ray2D< typename T=int16_t >;
class modm::Vector< T, 1 >;
class modm::Vector< T, 2 >;
class modm::Vector< T, 3 >;
class modm::Vector< T, 4 >;
class modm::Vector< typename T, uint8_t N >;
// Struct
struct modm::GeometricTraits< double >;
struct modm::GeometricTraits< float >;
struct modm::GeometricTraits< int16_t >;
struct modm::GeometricTraits< int32_t >;
struct modm::GeometricTraits< int8_t >;
struct modm::GeometricTraits< typename T  >;
struct modm::GeometricTraits< uint8_t >;
struct modm::detail::MakeSigned< Vector< T, N > >;
struct modm::detail::MakeUnsigned< Vector< T, N > >;
struct modm::detail::WideType< Vector< T, N > >;
// Function
IOStream& modm::operator<<(IOStream &os, const Location2D< T > &l);
IOStream& modm::operator<<(IOStream &os, const Vector< U, 2 > &c);
Quaternion<T> modm::operator*(const T &lhs, const Quaternion< T > &rhs);
Vector<U, 2> modm::operator*(float scale, const Vector< U, 2 > &vector);
Vector<U, 2> modm::operator/(float scale, const Vector< U, 2 > &vector);
static Vector<T, 1> modm::operator*(const U &lhs, const Vector< T, 1 > &rhs);
static Vector<T, 3> modm::operator*(const U &lhs, const Vector< T, 3 > &rhs);
static Vector<T,4> modm::operator*(const U &lhs, const Vector< T, 4 > &rhs);
static Vector<U, 3> modm::operator*(const Matrix< T, 3, 3 > &lhs, const Vector< U, 3 > &rhs);
static Vector<U,4> modm::operator*(const Matrix< T, 4, 4 > &lhs, const Vector< U, 4 > &rhs);
static constexpr float modm::toDegree(float angle);
static constexpr float modm::toRadian(float angle);
// Typedef
typedef Vector<float, 1> modm::Vector1f;
typedef Vector<float, 2> modm::Vector2f;
typedef Vector<float, 3> modm::Vector3f;
typedef Vector<float, 4> modm::Vector4f;
typedef Vector<int16_t, 1> modm::Vector1i;
typedef Vector<int16_t, 2> modm::Vector2i;
typedef Vector<int16_t, 3> modm::Vector3i;
typedef Vector<int16_t, 4> modm::Vector4i;
typedef Vector<uint16_t, 2> modm::Vector2u;
typedef Vector<uint16_t, 3> modm::Vector3u;
typedef Vector<uint16_t, 4> modm::Vector4u;
// Define
#define IMPLEMENT_VECTOR_ACCESSOR4(a, b, c, d)
#define M_1_PI
#define M_2_PI
#define M_PI
#define M_PI_2
#define M_PI_4
#define M_SQRT2
#define M_TWOPI


modm:math:geometry modm_math_geometry modm: math: geometry modm_architecture modm: architecture modm_math_geometry->modm_architecture modm_container modm: container modm_math_geometry->modm_container modm_io modm: io modm_math_geometry->modm_io modm_math modm: math modm_math_geometry->modm_math modm_math_matrix modm: math: matrix modm_math_geometry->modm_math_matrix modm_math_utils modm: math: utils modm_math_geometry->modm_math_utils modm_math_matrix->modm_math_geometry modm_driver_pat9125el modm: driver: pat9125el modm_driver_pat9125el->modm_math_geometry modm_ui_display modm: ui: display modm_ui_display->modm_math_geometry