std::int64_t Coord
Engine coordinate: signed 64-bit nanometres.
The dielectric between two adjacent copper layers, combined over every stackup layer between them.
std::string materials
"FR4" or "FR4+R-1551(W)"
double epsilon_r
series combination (see StackupLayer::epsilon_r); 0 = unknown
bool complete
thickness > 0 and every layer gave epsilon_r
std::string name
"F.Cu", "dielectric 1", "F.Mask", ...
bool is_mask() const
"Top Solder Mask" / "Bottom Solder Mask"
double loss_tangent
thickness-weighted mean over sublayers; 0 = not given
int copper_index
stack index for copper layers, -1 otherwise
std::string type
"copper", "core", "prepreg", "Top Solder Mask", ... as written
Coord thickness
nm; a dielectric with sublayers (addsublayer) sums them
std::string material
first sublayer's material ("FR4"), empty if not given
double epsilon_r
Relative permittivity; 0 = not given.
bool epsilon_complete
every sublayer gave epsilon_r
int position_of_copper(int copper_index) const
Stack position of copper layer copper_index in layers, -1 if the stackup does not list it.
std::vector< StackupLayer > layers
file order (top to bottom)
Coord copper_thickness(int copper_index) const
Copper thickness of copper layer copper_index, 0 if unknown.
DielectricGap between(int a, int b) const
Dielectric between copper layers a and b (stack indices, a < b, any distance apart; copper layers in ...
bool dielectric_constraints
std::string copper_finish
const StackupLayer * mask(bool front) const
Solder mask over the given outer side (front = true), nullptr if the stackup has none.
bool present
the board has a (stackup ...) block