ProjGeom 1.0.11
Loading...
Searching...
No Matches
myck_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 MyCKPoint;
11class MyCKLine;
12
17class MyCKPoint : public PgObject<MyCKPoint, MyCKLine> {
18 public:
24 constexpr explicit MyCKPoint(std::array<int64_t, 3> coord)
26
32 constexpr auto perp() const -> MyCKLine;
33};
34
40 public:
46 constexpr explicit MyCKLine(std::array<int64_t, 3> coord)
48
54 constexpr auto perp() const -> MyCKPoint;
55};
56
65constexpr auto MyCKPoint::perp() const -> MyCKLine {
66 return MyCKLine({-2 * this->coord[0], this->coord[1], -2 * this->coord[2]});
67}
68
77constexpr auto MyCKLine::perp() const -> MyCKPoint {
78 return MyCKPoint({-this->coord[0], 2 * this->coord[1], -this->coord[2]});
79}
Cayley-Klein plane functions: perpendicularity, altitude, orthocenter, reflection.
Some Cayley-Klein Line.
Definition myck_object.hpp:39
constexpr auto perp() const -> MyCKPoint
Pole.
Definition myck_object.hpp:77
constexpr MyCKLine(std::array< int64_t, 3 > coord)
Construct a new My C K Line object.
Definition myck_object.hpp:46
Some Cayley-Klein Point.
Definition myck_object.hpp:17
constexpr MyCKPoint(std::array< int64_t, 3 > coord)
Construct a new My C K Point object.
Definition myck_object.hpp:24
constexpr auto perp() const -> MyCKLine
Polar.
Definition myck_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