Guest
Is there a way to do diagonal select instead of a rectangle select in
Virtuoso?
Virtuoso?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
What do you mean by "diagonal select"?Is there a way to do diagonal select instead of a rectangle select in
Virtuoso?
On 12 May 2006 15:54:45 -0700, rickm@galaxy.nsc.com wrote:
Is there a way to do diagonal select instead of a rectangle select in
Virtuoso?
What do you mean by "diagonal select"?
Andrew.
--
Andrew Beckett
Principal European Technology Leader
Cadence Design Systems, UK.
I wrote a solution a while ago (it's on sourcelink) to allow you to select withAndrew,
My undertsanding is the capability to select shapes graphically
in a polygon area with diagonals borders instead of a rectangular area.
This feature, if existing, would be helpful indeed.
==================
Kholdoun TORKI
http://cmp.imag.fr
==================
Weird because it uses enterPolygon. Maybe you have this feeling because your snap mode is set toThe first works but does select a rectangle.
That's the callback to enterPolygon : win is obviously the window to work on, done should be trueThe second portion errors
saying that it needs 3 arguments but I cant figure out what it wants.
Can you please give me a brief explanation on how it works?
Indeed, Andrew mentioned that :If the points of triangle are 0:0 0:10 10:0 , everything is
selected in 0:0 10:10
That's the side-effect you are experiencing..However, it works by fracturing the polygon
into a set of trapezoids, and then using the bbox of each with
dbGetTrueOverlaps. The thing is that since each selection region is then
effectively a rectangle, it's not doing it purely in a triangular area.
select with the mouse is within a rectangle, I would like to select
things
within a triangle
If you read the comments at the top of the code, it points out this limitation.Then I have to ask....what value does the routine provide if it
accomplishes the same thing as a mouse select?
That would probably work with shapes, but I believe that the layer-AND operation wouldn't work for1. Create the bounding box of the selection polygon/triangle, which will be larger than the triangle.
2. Get the overlaps of the shapes with the bbox, which will be a superset of the overlaps you want.
3. Create a polygon shape on a temporary layer representing the actual selection triangle/polygon.
4. For each shape in the overlap set, do a layer AND with the selection polygon.
5. If the AND produces a non-empty set, then the shape actually overlaps the selection polygon.
In fact, thinking about this a bit more, I think it would probably be better toOn 17 May 2006 09:35:19 -0700, rickm@galaxy.nsc.com wrote:
Then I have to ask....what value does the routine provide if it
accomplishes the same thing as a mouse select?
If you read the comments at the top of the code, it points out this limitation.
The usefulness is that you can draw a more complex (orthogonal) polygon, drawing
a line around the shapes you want to select. You could do the same thing by
doing a sequence of shift-drag-left-mouse area selects to add to the selected
set, but drawing a polygon is more convenient in some cases.
Frank's suggestion of doing a dbLayerAnd with the original triangle is not a bad
one, although the code at the moment has the benefit of handling both partial
and full selection - it would be harder to support that. I suppose that if in
partial mode, it could check if any of the resulting and-ed polygon has any
vertices which exist in the original shape in the bBox, it could select just
those.
It's a bit more complicated, and if I have a moment sometime (not likely for a
couple of weeks), I might try extending my existing solution to handle
non-orthogonal regions.
Regards,
Andrew.