Program Listing for File hexagon.h
↰ Return to documentation for file (src/primitives/hexagon.h)
#pragma once
#include <vector> // for vector
#include "primitives/polygon.h" // for RegularPolygon
#include "tal/vector3.h" // for Vector3
namespace sota {
class Hexagon : public RegularPolygon {
public:
Hexagon(Vector3 center, std::vector<Vector3> points, Vector3 normal) : RegularPolygon(center, points, normal) {}
Hexagon(Vector3 center, Vector3 normal) : RegularPolygon(center, normal) {}
Hexagon(const Hexagon& other) = default;
Hexagon(Hexagon&& other) = default;
Hexagon& operator=(const Hexagon& rhs) = default;
Hexagon& operator=(Hexagon&& rhs) = default;
void check() const override;
static std::vector<Vector3> calculate_points(Vector3 center, float diameter);
};
Hexagon make_hexagon_at_position(Vector3 position, float diameter);
Hexagon make_hexagon_at_origin(float diameter);
Hexagon make_unit_hexagon();
} // namespace sota