.. _program_listing_file_src_primitives_hexagon.h: Program Listing for File hexagon.h ================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/primitives/hexagon.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include // 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 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 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