KiCad PCB EDA Suite
ATRACK6 Struct Reference

#include <altium_parser_pcb.h>

Public Member Functions

 ATRACK6 (ALTIUM_PARSER &aReader)
 

Public Attributes

bool is_locked
 
bool is_keepout
 
bool is_polygonoutline
 
ALTIUM_LAYER layer
 
uint16_t net
 
uint16_t component
 
uint16_t subpolyindex
 
wxPoint start
 
wxPoint end
 
uint32_t width
 

Detailed Description

Definition at line 623 of file altium_parser_pcb.h.

Constructor & Destructor Documentation

◆ ATRACK6()

ATRACK6::ATRACK6 ( ALTIUM_PARSER aReader)
explicit

Definition at line 749 of file altium_parser_pcb.cpp.

750 {
751  ALTIUM_RECORD recordtype = static_cast<ALTIUM_RECORD>( aReader.Read<uint8_t>() );
752 
753  if( recordtype != ALTIUM_RECORD::TRACK )
754  THROW_IO_ERROR( "Tracks6 stream has invalid recordtype" );
755 
756  // Subrecord 1
757  aReader.ReadAndSetSubrecordLength();
758 
759  layer = static_cast<ALTIUM_LAYER>( aReader.Read<uint8_t>() );
760 
761  uint8_t flags1 = aReader.Read<uint8_t>();
762  is_locked = ( flags1 & 0x04 ) == 0;
763  is_polygonoutline = ( flags1 & 0x02 ) != 0;
764 
765  uint8_t flags2 = aReader.Read<uint8_t>();
766  is_keepout = flags2 == 2;
767 
768  net = aReader.Read<uint16_t>();
769  subpolyindex = aReader.Read<uint16_t>();
770  component = aReader.Read<uint16_t>();
771  aReader.Skip( 4 );
772  start = aReader.ReadWxPoint();
773  end = aReader.ReadWxPoint();
774  width = aReader.ReadKicadUnit();
775 
776  aReader.SkipSubrecord();
777 
778  if( aReader.HasParsingError() )
779  THROW_IO_ERROR( "Tracks6 stream was not parsed correctly" );
780 }
wxPoint start
ALTIUM_RECORD
ALTIUM_LAYER layer
bool is_polygonoutline
void Skip(size_t aLength)
size_t ReadAndSetSubrecordLength()
uint16_t subpolyindex
wxPoint ReadWxPoint()
int32_t ReadKicadUnit()
uint32_t width
uint16_t net
uint16_t component
void SkipSubrecord()
#define THROW_IO_ERROR(msg)
Definition: ki_exception.h:38
bool HasParsingError()

References component, end, ALTIUM_PARSER::HasParsingError(), is_keepout, is_locked, is_polygonoutline, layer, net, ALTIUM_PARSER::Read(), ALTIUM_PARSER::ReadAndSetSubrecordLength(), ALTIUM_PARSER::ReadKicadUnit(), ALTIUM_PARSER::ReadWxPoint(), ALTIUM_PARSER::Skip(), ALTIUM_PARSER::SkipSubrecord(), start, subpolyindex, THROW_IO_ERROR, TRACK, and width.

Member Data Documentation

◆ component

uint16_t ATRACK6::component

Definition at line 631 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().

◆ end

wxPoint ATRACK6::end

Definition at line 635 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().

◆ is_keepout

bool ATRACK6::is_keepout

Definition at line 626 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().

◆ is_locked

bool ATRACK6::is_locked

Definition at line 625 of file altium_parser_pcb.h.

Referenced by ATRACK6().

◆ is_polygonoutline

bool ATRACK6::is_polygonoutline

Definition at line 627 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().

◆ layer

ALTIUM_LAYER ATRACK6::layer

Definition at line 629 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().

◆ net

uint16_t ATRACK6::net

Definition at line 630 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().

◆ start

wxPoint ATRACK6::start

Definition at line 634 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().

◆ subpolyindex

uint16_t ATRACK6::subpolyindex

Definition at line 632 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().

◆ width

uint32_t ATRACK6::width

Definition at line 636 of file altium_parser_pcb.h.

Referenced by ATRACK6(), and ALTIUM_PCB::ParseTracks6Data().


The documentation for this struct was generated from the following files: