KiCad PCB EDA Suite
Loading...
Searching...
No Matches
hash_eda.cpp File Reference
#include <hash_eda.h>
#include <hash.h>
#include <footprint.h>
#include <pcb_text.h>
#include <pcb_textbox.h>
#include <pcb_shape.h>
#include <pad.h>
#include <pcb_track.h>
#include <macros.h>
#include <functional>

Go to the source code of this file.

Functions

static size_t hash_board_item (const BOARD_ITEM *aItem, int aFlags)
 
size_t hash_fp_item (const EDA_ITEM *aItem, int aFlags)
 Calculate hash of an EDA_ITEM.
 

Function Documentation

◆ hash_board_item()

static size_t hash_board_item ( const BOARD_ITEM aItem,
int  aFlags 
)
inlinestatic

Definition at line 41 of file hash_eda.cpp.

References BOARD_ITEM::GetLayerSet(), and HASH_LAYER.

Referenced by hash_fp_item().

◆ hash_fp_item()

size_t hash_fp_item ( const EDA_ITEM aItem,
int  aFlags = HASH_FLAGS::HASH_ALL 
)

Calculate hash of an EDA_ITEM.

Parameters
aItemis the item for which the hash will be computed.
Returns
Hash value.

Definition at line 52 of file hash_eda.cpp.

References ARC, EDA_ANGLE::AsDegrees(), BEZIER, CHAMFERED_RECT, CIRCLE, SHAPE_POLY_SET::CIterateWithHoles(), CUSTOM, ERROR_INSIDE, EDA_SHAPE::GetArcMid(), EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), PCB_SHAPE::GetCenter(), EDA_SHAPE::GetEnd(), EDA_TEXT::GetHorizJustify(), EDA_SHAPE::GetLineStyle(), FOOTPRINT::GetOrientation(), BOARD_ITEM::GetParentFootprint(), EDA_SHAPE::GetPolyShape(), FOOTPRINT::GetPosition(), PCB_SHAPE::GetPosition(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), EDA_TEXT::GetText(), EDA_TEXT::GetTextAngle(), EDA_TEXT::GetTextHeight(), EDA_TEXT::GetTextWidth(), EDA_TEXT::GetVertJustify(), PCB_SHAPE::GetWidth(), FOOTPRINT::GraphicalItems(), hash_board_item(), hash_combine(), hash_fp_item(), HASH_NET, HASH_POS, HASH_REF, HASH_ROT, hash_val(), HASH_VALUE, EDA_TEXT::IsBold(), EDA_SHAPE::IsFilled(), EDA_TEXT::IsItalic(), EDA_TEXT::IsMirrored(), KI_FALLTHROUGH, NPTH, pad, FOOTPRINT::Pads(), PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_PAD_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_VIA_T, POLY, PTH, REL_COORD, REL_POS, RotatePoint(), ROUNDRECT, text, TRAPEZOID, EDA_ITEM::Type(), via, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by PCB_IO_IPC2581::addPackage(), PCB_IO_IPC2581::addPadStack(), PCB_IO_IPC2581::addShape(), PCB_IO_IPC2581::generateBOMSection(), PCB_IO_IPC2581::generateLayerSetDrill(), hash_fp_item(), hashFootprint(), and PCB_IO_IPC2581::shapeHash().