bugpyFormex - Bugs: bug #36069, fillBorder method='planar' needs a...

 
 

bug #36069: fillBorder method='planar' needs a (1) compact() and a (2) renumber() somewhere

Submitted by:  gianluca de santis <gianlucadesi>
Submitted on:  Mon 02 Apr 2012 08:18:22 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: Functionality errorStatus: Ready For Test
Privacy: PublicAssigned to: Benedict Verhegghe <bverheg>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue 03 Apr 2012 07:53:07 AM UTC, comment #3:

I think the problem is not in the function fillBorder() but in the TriSurface method TriSurface.fillBorder().
I think line 946 of trisurface.py should be

return [ fillBorder(b.compact().renumber(),method,dir).setProp(mprop+i) for i,b in enumerate(self.border()) ]

I have uploaded an example to show what goes wrong.

(file #25550, file #25551)

gianluca de santis <gianlucadesi>
Project Member
Mon 02 Apr 2012 09:29:06 PM UTC, comment #2:

This has presumably been fixed in revision 2254.
Please test and close this bug if it works ok.

Benedict Verhegghe <bverheg>
Project AdministratorIn charge of this item.
Mon 02 Apr 2012 08:48:10 PM UTC, comment #1:

We can not add a compact() or renumber() to the fillBorder function or the TriSurface fillBorder method, because we want to be able to close a hole in a surface without adding any point and without changing the coords array. Therefore the coords can not be compacted.

The fillBorder function requires as input:
- a closed PolyLine,
- a 2-plex Mesh, with a Connectivity table such that the elements in order form a closed polyline,
- a simple Coords specifying the subsequent vertices of the polygonal border line.

Case 1 and 3 are compact. Case 2 can be non-compact, and the fillBorder function should return a Mesh with the original coords, but using proper node numbers. I guess something goes
wrong there. Haven't checked yet, but if the outcome is wrong, that is what we should fix.

Benedict Verhegghe <bverheg>
Project AdministratorIn charge of this item.
Mon 02 Apr 2012 08:18:22 PM UTC, original submission:

TriSurface method "fillBorder" with method "planar" does not work if border() is not "compact()". The compact I think it should be inside the method fillBorder or in the function fillBorder.

gianluca de santis <gianlucadesi>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #25550:  Aclip.off added by gianlucadesi (483KiB - application/octet-stream)
file #25551:  fill.py added by gianlucadesi (1KiB - text/x-python)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by bverheg (Posted a comment)
  • -unavailable- added by gianlucadesi (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 03 Apr 2012 01:21:47 PM UTCgianlucadesiOpen/ClosedOpen=>Closed
    Tue 03 Apr 2012 07:53:07 AM UTCgianlucadesiAttached File-=>Added Aclip.off, #25550
      Attached File-=>Added fill.py, #25551
    Mon 02 Apr 2012 09:29:06 PM UTCbverhegStatusNone=>Ready For Test
    Mon 02 Apr 2012 08:48:10 PM UTCbverhegItem GroupNone=>Functionality error
    Mon 02 Apr 2012 08:21:54 PM UTCgianlucadesiSummaryfillBorder method=\'planar\' needs a compact somewhere=>fillBorder method='planar' needs a (1) compact() and a (2) renumber() somewhere

    Back to the top


    Powered by Savane 3.1-cleanup1