39#ifndef ORCAD_RECORDS_H_
40#define ORCAD_RECORDS_H_
285 std::map<std::string, std::string>
props;
292 std::vector<ORCAD_PIN_INST>
pins;
326 std::map<std::string, std::string>
props;
328 std::unique_ptr<ORCAD_SYMBOL_DEF>
nested;
368 std::optional<ORCAD_POINT>
end;
424 std::vector<ORCAD_SYMBOL_PIN>
pins;
425 std::optional<ORCAD_BBOX>
bbox;
426 std::map<std::string, std::string>
props;
503 std::vector<ORCAD_BLOCK_PIN>
pins;
608 std::vector<ORCAD_GRAPHIC_INST>
ports;
616 std::vector<ORCAD_DRAWN_INSTANCE>
blocks;
660 std::map<std::string, ORCAD_SYMBOL_DEF>
symbols;
Generic cubic Bezier representation.
Plain ellipse / elliptical-arc data.
Manage an 8-bit channel image.
std::function< void(const wxString &aMsg)> ORCAD_WARN_FN
Warning sink shared by all parser entry points (recoverable-issue channel).
ORCAD_PRIM
Graphic primitive type ids, stored as a doubled u8 pair (t, t) before each primitive body inside symb...
@ ORCAD_PRIM_COMMENT_TEXT
@ ORCAD_PRIM_BITMAP
plain DIB (BITMAPINFOHEADER + pixels)
@ ORCAD_PRIM_OLE_IMAGE
OLE compound document embed.
@ ORCAD_PRIM_SYMBOL_VECTOR
nested prefix-framed vector graphic
ORCAD_PORT_TYPE
Pin electrical type codes (u32 portType field of a symbol pin).
ORCAD_ST
Structure type ids as they appear in the u8 type byte of the long/short prefixes.
@ ORCAD_ST_HIERARCHY_LINK
block dbId -> child folder link
@ ORCAD_ST_STH_IN_PAGES0
nested symbol body inside Graphic*Inst
@ ORCAD_ST_T0X34
raw record, not prefix-framed
@ ORCAD_ST_TITLEBLOCK_SYMBOL
@ ORCAD_ST_T0X10
scalar pin instance (absolute pos)
@ ORCAD_ST_T0X35
raw record, not prefix-framed
@ ORCAD_ST_PLACED_INSTANCE
@ ORCAD_ST_GRAPHIC_ARC_INST
@ ORCAD_ST_SYMBOL_PIN_SCALAR
@ ORCAD_ST_DRAWN_INSTANCE
hierarchical block instance
@ ORCAD_ST_GLOBAL
placed power symbol
@ ORCAD_ST_GRAPHIC_BITMAP_INST
@ ORCAD_ST_OFFPAGE_CONNECTOR
@ ORCAD_ST_GRAPHIC_LINE_INST
@ ORCAD_ST_GLOBAL_SYMBOL
power symbol definition
@ ORCAD_ST_BOOKMARK_SYMBOL
@ ORCAD_ST_GRAPHIC_COMMENT_TEXT_INST
@ ORCAD_ST_GRAPHIC_ELLIPSE_INST
@ ORCAD_ST_GRAPHIC_BOX_INST
@ ORCAD_ST_ERC_OBJECT
placed ERC marker (no-connect)
@ ORCAD_ST_SYMBOL_PIN_BUS
@ ORCAD_ST_GRAPHIC_POLYLINE_INST
@ ORCAD_ST_GRAPHIC_BEZIER_INST
@ ORCAD_ST_GRAPHIC_POLYGON_INST
@ ORCAD_ST_ALIAS
net alias attached to a wire
@ ORCAD_ST_SYMBOL_DISPLAY_PROP
@ ORCAD_ST_T0X11
bus pin instance (absolute pos)
@ ORCAD_ST_GRAPHIC_OLE_INST
@ ORCAD_ST_OFFPAGE_SYMBOL
@ ORCAD_ST_PIN_SHAPE_SYMBOL
ORCAD_PRIM_KIND
Decoded primitive kind after parsing.
Net alias attached to a wire (becomes a local label).
int rotation
0..3 quarter turns
Axis-aligned box in OrCAD DBU; corner order as stored (not normalized).
One interface pin of a hierarchical block, at its absolute page position.
Bus entry (structure type 29).
Everything parsed from one .DSN, as handed to ORCAD_CONVERTER.
ORCAD_LIBRARY_INFO library
ORCAD_OCC_SCOPE occurrenceRoot
Occurrence tree from the root folder Hierarchy stream.
std::map< std::string, ORCAD_SYMBOL_DEF > symbols
cache, keyed by cache name
std::map< std::string, ORCAD_PACKAGE > packages
keyed by package name
std::string name
design (root schematic) name
std::map< std::string, std::vector< ORCAD_RAW_PAGE > > childFolderPages
Child schematic folder pages, keyed by lower-cased folder name; instantiated once per hierarchical bl...
std::vector< ORCAD_RAW_PAGE > pages
root schematic folder pages
One device of a package: the pin-number map of a unit (structure type 32).
std::vector< std::string > pinNumbers
std::vector< bool > pinIgnore
One displayed property of an instance (Part Reference, Value, user fields).
int fontIdx
1-based into ORCAD_LIBRARY_INFO::fonts; 0 = default
int rotation
0..3 quarter turns
std::string name
resolved property name (empty when index invalid)
Structure type 12: a hierarchical block instance placed on a page.
int x1
block rectangle top-left, page DBU
std::vector< ORCAD_BLOCK_PIN > pins
std::vector< ORCAD_DISPLAY_PROP > displayProps
std::string childName
child folder, when embedded
One text font from the Library stream (a Win32 LOGFONTA record, 60 bytes: lfHeight i32 at +0,...
int height
raw lfHeight (typically negative)
Shared body of Port / Global / OffPageConnector / TitleBlock / ERCObject and the Graphic*Inst shapes ...
std::unique_ptr< ORCAD_SYMBOL_DEF > nested
SthInPages0 body, else nullptr.
std::map< std::string, std::string > props
int rotation
0..3 quarter turns
std::string name
cache symbol name
std::vector< ORCAD_DISPLAY_PROP > displayProps
std::string logicalName
ports: resolved net/port name
int typeId
ORCAD_ST value.
Decoded Library stream: format version, fonts, and the string table that all property name/value indi...
std::string introduction
fixed 32-byte NUL-terminated buffer
std::vector< std::string > strings
global string table
std::vector< ORCAD_FONT > fonts
std::vector< std::pair< std::string, std::string > > partAliases
std::string schematicName
root schematic folder name
std::vector< std::string > partFields
the 8 named part fields
std::vector< uint32_t > members
A hierarchical block occurrence: one placement of a child schematic folder on a parent page.
uint32_t targetDbId
type-12 drawn-instance dbId on the parent page
ORCAD_OCC_SCOPE scope
the child's occurrences under this path
std::string childFolder
child schematic folder name
One node of the design occurrence tree parsed from the root Hierarchy stream.
std::vector< ORCAD_OCC_BLOCK > blocks
hierarchical block occurrences
std::map< uint32_t, std::string > partRefs
type-13 dbId -> occurrence refdes
A package: refdes prefix, footprint and per-unit devices (structure type 31).
std::vector< ORCAD_DEVICE > devices
The 156-byte PageSettings block embedded in the Library stream and in every Page stream: 8 bytes crea...
T0x10: one pin of a placed instance, carrying the pin's absolute page position (the connection point ...
std::vector< ORCAD_DISPLAY_PROP > displayProps
uint32_t wordA
two flag/id words after (x, y)
A placed part instance on a page (structure type 13).
std::string sourcePackage
package base name
std::vector< ORCAD_DISPLAY_PROP > displayProps
ORCAD_BBOX bbox
placed box, page DBU
int rotation
0..3 quarter turns
std::map< std::string, std::string > props
short-prefix property pairs
bool mirror
orientation bit 2
std::string value
resolved Part Value
std::vector< ORCAD_PIN_INST > pins
successfully parsed T0x10 records
Integer point in OrCAD DBU.
bool operator==(const ORCAD_POINT &aOther) const
bool operator!=(const ORCAD_POINT &aOther) const
One graphic primitive of a symbol body or nested page graphic.
int fillStyle
0 solid, 1 none, 2 hatch pattern
std::string text
kind == TEXT
std::vector< ORCAD_PRIMITIVE > children
kind == GROUP, translated by (x1, y1)
std::vector< ORCAD_POINT > points
polygon/polyline/bezier vertices
std::vector< uint8_t > data
kind == IMAGE: raw embedded payload
int lineStyle
0 solid, 1 dash, 2 dot, 3 dash-dot, 4 dash-dot-dot, 5 default
std::optional< ORCAD_POINT > start
arc start point
std::optional< ORCAD_POINT > end
arc end point
int lineWidth
Capture width enum: 0 thin, 1 medium, 2 wide, 3 default.
ORCAD_RAW_PAGE & operator=(ORCAD_RAW_PAGE &&)=default
std::vector< ORCAD_GRAPHIC_INST > ports
ORCAD_RAW_PAGE(ORCAD_RAW_PAGE &&)=default
std::vector< ORCAD_GRAPHIC_INST > globals
placed power symbols
ORCAD_RAW_PAGE(const ORCAD_RAW_PAGE &)=delete
ORCAD_RAW_PAGE & operator=(const ORCAD_RAW_PAGE &)=delete
std::map< uint32_t, std::string > netmap
net db id -> net name
std::vector< ORCAD_WIRE > wires
uint32_t width
mils, or um when isMetric
std::vector< ORCAD_NET_GROUP > netGroups
bus net id -> member net ids
std::vector< ORCAD_DRAWN_INSTANCE > blocks
hierarchical blocks (detection only)
std::vector< ORCAD_PLACED_INSTANCE > instances
std::vector< ORCAD_GRAPHIC_INST > graphics
free comment text/shapes/images
std::vector< ORCAD_GRAPHIC_INST > offpage
off-page connectors
std::vector< ORCAD_GRAPHIC_INST > titleBlocks
std::vector< ORCAD_BUS_ENTRY > busEntries
std::string pageSize
page-size name string, e.g. "B"
std::vector< ORCAD_GRAPHIC_INST > ercObjects
no-connect markers
A symbol definition from the design Cache (LibraryPart / GlobalSymbol / PortSymbol / OffPageSymbol / ...
std::string name
cache name, e.g. "C.Normal"
std::vector< ORCAD_SYMBOL_PIN > pins
std::vector< ORCAD_PRIMITIVE > primitives
bool synthesized
placeholder built from T0x10 data
std::map< std::string, std::string > props
int typeId
ORCAD_ST value.
std::optional< ORCAD_BBOX > bbox
symbol-space body box
std::vector< ORCAD_SYMBOL_DEF > variants
Stale same-name cache entries (older library versions), in cache order, EXCLUDING this entry itself.
int generalFlags
LibraryPart GeneralProperties flags (-1 = absent); bit0 = pin numbers visible, bit2 = pin names hidde...
One pin of a symbol definition (structure types 26/27).
int position
slot in the parent symbol pin vector
bool isBus
true for structure type 21
std::vector< ORCAD_ALIAS > aliases