mirror of https://github.com/KLayout/klayout.git
Color support also for multi height mapping of a single layer
This commit is contained in:
parent
5d1b12391b
commit
6dd35693d6
Binary file not shown.
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 75 KiB |
|
|
@ -143,5 +143,38 @@ end
|
|||
<li> Up/down/left/right keys: move the pivot on the horizontal plane </li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Note: if the Shift key does not switch to top level view, click into the
|
||||
scene view once.
|
||||
</p>
|
||||
|
||||
<h2>Colors in the 2.5d View</h2>
|
||||
|
||||
<p>
|
||||
While the 2.5d view window is open, the layout view is still active. Layer
|
||||
colors are applied also to the 2.5d view. Changing the fill color will change
|
||||
the 2.5d view's face color. The frame color will be applied to the wire frame.
|
||||
If a hollow stipple is selected, only the wire frame is shown. If a layer is
|
||||
made invisible in the layout view, the corresponding blocks will also be
|
||||
made invisible in the 2.5d view.
|
||||
</p>
|
||||
|
||||
<h2>Other controls</h2>
|
||||
|
||||
<p>
|
||||
The left zoom slider changes the overall scale factor. The right slider only changes the z (height) axis zoom factor.
|
||||
This is useful as in many cases, the real height profile will result in a rather flat arrangement. Increasing the
|
||||
z zoom factor will exaggerate the vertical axis hence making height variations more pronounced.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The edit boxes next to the scale sliders allow entering the scale factors manually.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The button bar at the top right side holds the view presets. Use them to reset the window to
|
||||
front view, top view etc.
|
||||
</p>
|
||||
|
||||
</doc>
|
||||
|
||||
|
|
|
|||
|
|
@ -657,8 +657,6 @@ D25ViewWidget::prepare_view ()
|
|||
double z0 = zi->zstart ();
|
||||
double z1 = zi->zstop ();
|
||||
|
||||
lay::color_t color = lp->fill_color (true);
|
||||
|
||||
m_vertex_chunks.push_back (triangle_chunks_type ());
|
||||
m_line_chunks.push_back (line_chunks_type ());
|
||||
|
||||
|
|
@ -667,7 +665,7 @@ D25ViewWidget::prepare_view ()
|
|||
info.vertex_chunk = &m_vertex_chunks.back ();
|
||||
info.line_chunk = &m_line_chunks.back ();
|
||||
|
||||
m_layer_to_info [std::make_pair (lp->cellview_index (), lp->layer_index ())] = m_layers.size ();
|
||||
m_layer_to_info.insert (std::make_pair (std::make_pair (lp->cellview_index (), lp->layer_index ()), m_layers.size ()));
|
||||
m_layers.push_back (info);
|
||||
|
||||
const lay::CellView &cv = mp_view->cellview ((unsigned int) lp->cellview_index ());
|
||||
|
|
@ -698,12 +696,17 @@ D25ViewWidget::refresh_view ()
|
|||
}
|
||||
|
||||
for (lay::LayerPropertiesConstIterator lp = mp_view->begin_layers (); ! lp.at_end (); ++lp) {
|
||||
std::map<std::pair<size_t, size_t>, size_t>::const_iterator l = m_layer_to_info.find (std::make_pair (lp->cellview_index (), lp->layer_index ()));
|
||||
if (l != m_layer_to_info.end ()) {
|
||||
|
||||
std::pair<size_t, size_t> key = std::make_pair (lp->cellview_index (), lp->layer_index ());
|
||||
|
||||
std::multimap<std::pair<size_t, size_t>, size_t>::const_iterator l = m_layer_to_info.find (key);
|
||||
while (l != m_layer_to_info.end () && l->first == key) {
|
||||
if (l->second < m_layers.size ()) {
|
||||
lp_to_info (*lp, m_layers [l->second]);
|
||||
}
|
||||
++l;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
refresh ();
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ private:
|
|||
};
|
||||
|
||||
std::vector<LayerInfo> m_layers;
|
||||
std::map<std::pair<size_t, size_t>, size_t> m_layer_to_info;
|
||||
std::multimap<std::pair<size_t, size_t>, size_t> m_layer_to_info;
|
||||
|
||||
void initializeGL ();
|
||||
void paintGL ();
|
||||
|
|
|
|||
Loading…
Reference in New Issue