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  static std::string hash(const class Padstack &padstack);
9 
10 private:
11  GerberHash();
12  void update(const class Padstack &padstack);
13  std::string get_digest();
14 
15  Glib::Checksum checksum;
16 
17  void update(const class Hole &hole);
18  void update(const class Shape &shape);
19  void update(int64_t i);
20  void update(const Coordi &c);
21  void update(const class Placement &p);
22  void update(const class Polygon &p);
23 };
24 }; // 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:18
horizon::Coord< int64_t >
libzip::int64_t
zip_int64_t int64_t
zip_int64_t typedef.
Definition: zip.hpp:103
horizon::Padstack
Definition: padstack.hpp:21
horizon::GerberHash
Definition: hash.hpp:6
horizon::Placement
Definition: placement.hpp:8
horizon::Hole
A hole with diameter and position, that's it.
Definition: hole.hpp:18