ProjGeom 1.0.11
Loading...
Searching...
No Matches
hyp_object.hpp
Go to the documentation of this file.
1
5#pragma once
6
7#include "ck_plane.hpp"
8#include "pg_object.hpp"
9
10class HyperbolicPoint;
11class HyperbolicLine;
12
17class HyperbolicPoint : public PgObject<HyperbolicPoint, HyperbolicLine> {
18 public:
24 constexpr explicit HyperbolicPoint(std::array<int64_t, 3> coord)
26
32 constexpr auto perp() const -> HyperbolicLine; // polar
33};
34
40 public:
46 constexpr explicit HyperbolicLine(std::array<int64_t, 3> coord)
48
54 constexpr auto perp() const -> HyperbolicPoint; // pole
55};
56
65constexpr auto HyperbolicPoint::perp() const -> HyperbolicLine {
66 return HyperbolicLine({this->coord[0], this->coord[1], -this->coord[2]});
67}
68
77constexpr auto HyperbolicLine::perp() const -> HyperbolicPoint {
78 return HyperbolicPoint({this->coord[0], this->coord[1], -this->coord[2]});
79}
Cayley-Klein plane functions: perpendicularity, altitude, orthocenter, reflection.
Hyperbolic Line.
Definition hyp_object.hpp:39
constexpr HyperbolicLine(std::array< int64_t, 3 > coord)
Construct a new Hyperbolic Line object.
Definition hyp_object.hpp:46
constexpr auto perp() const -> HyperbolicPoint
Pole.
Definition hyp_object.hpp:77
Hyperbolic Point.
Definition hyp_object.hpp:17
constexpr HyperbolicPoint(std::array< int64_t, 3 > coord)
Construct a new Hyperbolic Point object.
Definition hyp_object.hpp:24
constexpr auto perp() const -> HyperbolicLine
Polar.
Definition hyp_object.hpp:65
Core projective geometry object template (pg_object, PgObject, PgPoint, PgLine).
Projective Point/Line (int64_t specialization)
Definition pg_object.hpp:129
std::array< int64_t, 3 > coord
Definition pg_object.hpp:132