| 
    KiCad PCB EDA Suite
    
   | 
 
Hashing functions for EDA_ITEMs. More...
#include <cstdlib>#include <functional>Go to the source code of this file.
Enumerations | |
| enum | HASH_FLAGS {  HASH_POS = 0x01 , REL_COORD = 0x02 , REL_POS = 0x04 , HASH_ROT = 0x08 , HASH_LAYER = 0x10 , HASH_NET = 0x20 , HASH_REF = 0x40 , HASH_VALUE = 0x80 , HASH_ALL = 0xff }  | 
| Enable/disable properties that will be used for calculating the hash.  More... | |
Functions | |
| std::size_t | hash_fp_item (const EDA_ITEM *aItem, int aFlags=HASH_FLAGS::HASH_ALL) | 
| Calculate hash of an EDA_ITEM.   | |
Hashing functions for EDA_ITEMs.
Definition in file hash_eda.h.
| enum HASH_FLAGS | 
Enable/disable properties that will be used for calculating the hash.
The properties might be combined using the bitwise 'or' operator.
| Enumerator | |
|---|---|
| HASH_POS | |
| REL_COORD | Use coordinates relative to the parent object.  | 
| REL_POS | Use coordinates relative to the shape position.  | 
| HASH_ROT | |
| HASH_LAYER | |
| HASH_NET | |
| HASH_REF | |
| HASH_VALUE | |
| HASH_ALL | |
Definition at line 45 of file hash_eda.h.
| std::size_t hash_fp_item | ( | const EDA_ITEM * | aItem, | 
| int | aFlags = HASH_FLAGS::HASH_ALL ) | 
Calculate hash of an EDA_ITEM.
| aItem | is the item for which the hash will be computed. | 
Definition at line 58 of file hash_eda.cpp.
References PADSTACK::ALL_LAYERS, ARC, EDA_ANGLE::AsDegrees(), BEZIER, CHAMFERED_RECT, CIRCLE, SHAPE_POLY_SET::CIterateWithHoles(), CUSTOM, end, ERROR_INSIDE, PCB_BARCODE::GetAngle(), EDA_SHAPE::GetArcMid(), EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), PCB_SHAPE::GetCenter(), KIGFX::VIEW_ITEM::GetClass(), EDA_SHAPE::GetEnd(), PCB_BARCODE::GetErrorCorrection(), EDA_SHAPE::GetFillMode(), PCB_BARCODE::GetHeight(), EDA_TEXT::GetHorizJustify(), PCB_BARCODE::GetKind(), EDA_SHAPE::GetLineStyle(), PCB_BARCODE::GetMargin(), FOOTPRINT::GetOrientation(), BOARD_ITEM::GetParentFootprint(), EDA_SHAPE::GetPolyShape(), FOOTPRINT::GetPosition(), PCB_BARCODE::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_BARCODE::GetWidth(), PCB_SHAPE::GetWidth(), FOOTPRINT::GraphicalItems(), hash_board_item(), hash_combine(), hash_fp_item(), HASH_NET, HASH_POS, HASH_REF, HASH_ROT, HASH_VALUE, EDA_TEXT::IsBold(), EDA_TEXT::IsItalic(), EDA_TEXT::IsMirrored(), KI_FALLTHROUGH, NPTH, pad, FOOTPRINT::Pads(), PCB_BARCODE_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_PAD_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_VIA_T, POLY, PTH, REL_COORD, REL_POS, RotatePoint(), ROUNDRECT, table, PCB_BARCODE::Text(), text, TRAPEZOID, EDA_ITEM::Type(), UNIMPLEMENTED_FOR, via, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EDA_DATA::AddPackage(), PCB_IO_IPC2581::addPackage(), PCB_IO_IPC2581::addPadStack(), PCB_IO_IPC2581::addPadStack(), PCB_IO_IPC2581::addShape(), PCB_IO_IPC2581::generateBOMSection(), PCB_IO_IPC2581::generateLayerSetDrill(), hash_fp_item(), hashFootprint(), ODB_STEP_ENTITY::InitEdaData(), and PCB_IO_IPC2581::shapeHash().