61            return ( (hash<int>()( aP.
pos.
x )
 
   62                      ^ (hash<int>()( aP.
pos.
y ) << 1) ) >> 1 )
 
   63                   ^ (hash<void*>()( aP.
net ) << 1);
 
 
 
  116            if( !aAllowLockedSegs )
 
  126                if( item->IsVirtual() )
 
 
  157            if( item->IsVirtual() )
 
  160            if( item->Kind() == 
VIA_T )
 
  168        return ( realItems == 3 && vias == 1 && segs == 2 );
 
 
  193            if( item->IsVirtual() )
 
  196            if( item->Kind() == 
VIA_T )
 
  209        wxCHECK( seg1 && seg2, 
false );
 
  238        const size_t              size = citems.size();
 
  242        for( 
size_t i = 0; i < size; i++ )
 
  246            if( item != aCurrent )
 
  255                        if( !item->
IsLocked() || aAllowLockedSegs )
 
 
  279            if( item->OfKind( 
VIA_T ) )
 
  280                return static_cast<VIA*
>( item ); 
 
 
 
 
 
const PNS_LAYER_RANGE & Layers() const
 
virtual NET_HANDLE Net() const
 
PnsKind Kind() const
Return the type (kind) of the item.
 
bool OfKind(int aKindMask) const
 
const std::vector< ITEM * > & LinkList() const
 
NET_HANDLE Net() const override
 
ITEM_SET m_linkedItems
locked (non-movable) flag
 
bool operator==(const JOINT &rhs) const
 
int LinkCount(int aMask=-1) const
 
bool IsTrivialEndpoint() const
 
bool IsLineCorner(bool aAllowLockedSegs=false) const
Checks if a joint connects two segments of the same net, layer, and width.
 
void Lock(bool aLock=true)
 
const HASH_TAG & Tag() const
trivial accessors
 
void Link(ITEM *aItem)
Unlink a given board item from the joint (upon its removal from a NODE)
 
bool IsNonFanoutVia() const
 
ITEM * Clone() const override
Return a deep copy of the item.
 
bool IsTraceWidthChange() const
Link the joint to a given board item (when it's added to the NODE).
 
LINKED_ITEM * NextSegment(LINKED_ITEM *aCurrent, bool aAllowLockedSegs=false) const
 
const ITEM_SET & CLinks() const
 
HASH_TAG m_tag
< hash tag for unordered_multimap
 
bool Overlaps(const JOINT &rhs) const
 
bool IsStitchingVia() const
 
void Merge(const JOINT &aJoint)
 
bool Unlink(ITEM *aItem)
For trivial joints, return the segment adjacent to (aCurrent).
 
const VECTOR2I & Pos() const
 
JOINT(const VECTOR2I &aPos, const PNS_LAYER_RANGE &aLayers, NET_HANDLE aNet=nullptr)
 
virtual int Width() const
 
Represent a contiguous set of PCB layers.
 
bool Overlaps(const PNS_LAYER_RANGE &aOther) const
 
Push and Shove diff pair dimensions (gap) settings dialog.
 
bool operator==(JOINT::HASH_TAG const &aP1, JOINT::HASH_TAG const &aP2)
 
< Joints are hashed by their position, layers and net.
 
std::size_t operator()(const JOINT::HASH_TAG &aP) const
 
VECTOR2< int32_t > VECTOR2I