Horizon
hash.hpp
1 #pragma once
2 #include <glibmm/checksum.h>
3 #include "common/common.hpp"
4 
5 namespace horizon {
6 class GerberHash {
7 public:
8  GerberHash();
9  void update(const class Padstack &padstack);
10  std::string get_digest();
11  static std::string hash(const class Padstack &padstack);
12 
13 private:
14  Glib::Checksum checksum;
15 
16  void update(const class Hole &hole);
17  void update(const class Shape &shape);
18  void update(int64_t i);
19  void update(const Coordi &c);
20  void update(const class Placement &p);
21  void update(const class Polygon &p);
22 };
23 }; // namespace horizon
horizon::Polygon
Polygon used in Padstack, Package and Board for specifying filled Regions.
Definition: polygon.hpp:27
horizon::Shape
For commonly used Pad shapes.
Definition: shape.hpp:19
horizon::Coord< int64_t >
horizon::Padstack
Definition: padstack.hpp:21
horizon::GerberHash
Definition: hash.hpp:6
libzip::int64_t
zip_int64_t int64_t
zip_int64_t typedef.
Definition: zip.hpp:103
horizon::Placement
Definition: placement.hpp:8
horizon::Hole
A hole with diameter and position, that's it.
Definition: hole.hpp:19