Further bug fixes in generic DRC domain

This commit is contained in:
Matthias Koefferlein 2023-11-18 12:35:34 +01:00
parent 37334d40b9
commit c368710253
5 changed files with 10 additions and 9 deletions

View File

@ -245,7 +245,7 @@ CompoundTransformationReducer::reduce_trans (const db::Trans &trans) const
{
db::Trans t = trans;
for (std::vector<const db::TransformationReducer *>::const_iterator v = m_vars.begin (); v != m_vars.end (); ++v) {
(*v)->reduce_trans (t);
t = (*v)->reduce_trans (t);
}
return t;
}
@ -255,7 +255,7 @@ CompoundTransformationReducer::reduce_trans (const db::ICplxTrans &trans) const
{
db::ICplxTrans t = trans;
for (std::vector<const db::TransformationReducer *>::const_iterator v = m_vars.begin (); v != m_vars.end (); ++v) {
(*v)->reduce_trans (t);
t = (*v)->reduce_trans (t);
}
return t;
}
@ -265,7 +265,7 @@ CompoundTransformationReducer::reduce (const db::Trans &trans) const
{
db::Trans t = trans;
for (std::vector<const db::TransformationReducer *>::const_iterator v = m_vars.begin (); v != m_vars.end (); ++v) {
(*v)->reduce (t);
t = (*v)->reduce (t);
}
return t;
}
@ -275,7 +275,7 @@ CompoundTransformationReducer::reduce (const db::ICplxTrans &trans) const
{
db::ICplxTrans t = trans;
for (std::vector<const db::TransformationReducer *>::const_iterator v = m_vars.begin (); v != m_vars.end (); ++v) {
(*v)->reduce (t);
t = (*v)->reduce (t);
}
return t;
}
@ -403,7 +403,7 @@ CompoundRegionMultiInputOperationNode::child (unsigned int index) const
const TransformationReducer *
CompoundRegionMultiInputOperationNode::vars () const
{
return (m_vars.is_empty () ? &m_vars : 0);
return (m_vars.is_empty () ? 0 : &m_vars);
}
bool

View File

@ -1801,8 +1801,9 @@ Output *region_cop_impl (DeepRegion *region, db::CompoundRegionOperationNode &no
compound_local_operation<db::PolygonRef, db::PolygonRef, TR> op (&node);
// Prepare cell variants if needed
db::VariantsCollectorBase vc (op.vars ());
if (op.wants_variants ()) {
auto op_vars = op.vars ();
db::VariantsCollectorBase vc (op_vars);
if (op.wants_variants () && op_vars) {
vc.collect (polygons.layout (), polygons.initial_cell ());
// NOTE: m_merged_polygons is mutable, so why is the const_cast needed?
const_cast<db::DeepLayer &> (polygons).separate_variants (vc);

View File

@ -402,7 +402,7 @@ private:
bool m_inverse;
parameter_type m_parameter;
db::MagnificationReducer m_isotropic_vars;
db::MagnificationAndOrientationReducer m_anisotropic_vars;
db::XYAnisotropyAndMagnificationReducer m_anisotropic_vars;
bool check (const db::Box &box) const;
};
@ -472,7 +472,7 @@ private:
bool m_inverse;
parameter_type m_parameter;
db::MagnificationReducer m_isotropic_vars;
db::MagnificationAndOrientationReducer m_anisotropic_vars;
db::XYAnisotropyAndMagnificationReducer m_anisotropic_vars;
};
/**

Binary file not shown.

Binary file not shown.