template struct geom::LineSegment

Overview

Template line segment in an arbitrary dimension. More…

#include <GeometryStructures.h>

template <size_t N>
struct LineSegment {
    // typedefs

    typedef glm::vec<N, float> Vec;

    // fields

    Vec point1;
    Vec point2;

    // construction

    LineSegment();
    LineSegment(const Vec& init_point1, const Vec& init_point2);

    // methods

    float GetLength() const;
    float GetLengthSqr() const;
    Vec GetDirection() const;
    Vec ToVector() const;
};

Detailed Documentation

Template line segment in an arbitrary dimension.

Methods

float GetLength() const

Returns length of line segment = distance between point1 and point2.

float GetLengthSqr() const

Returns square length of line segment = square distance between point1 and point2.

Vec GetDirection() const

Returns direction of the line as a normalized vector from point1 to point2.

Vec ToVector() const

Converts the line to the vector from point1 to point2.