• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    .NET

    Reply
    Distinguished Contributor
    JanetDavidson
    Posts: 139
    Registered: ‎08-23-2011
    Accepted Solution

    IntersectWith became obsolete in 2012

    524 Views, 5 Replies
    08-23-2011 11:03 AM

    Hello everybody.

    I had this piece of code in 2010. Now when I re-reference the dll to 2012 . I get a warning message showing:

     

    Public Sub IntersectWith( blah blah blah ) is obsolete. "Use the overload taking IntPrt instead.".  I don't know how . Anybody can help me with this ?

    Already appreciated .

     

    Janet,

     

     

    Here is code.

     

    Dim intpts As New Point3dCollection()

    List_Entities(I).IntersectWith(List_Entities(I + 1), Intersect.OnBothOperands, intpts, 0, 0)

     

     

     

    Please use plain text.
    *Expert Elite*
    chiefbraincloud
    Posts: 736
    Registered: ‎02-13-2008

    Re: IntersectWith became obsolete in 2012

    08-23-2011 12:48 PM in reply to: JanetDavidson

    I had the same thing come up, and while the "obsolete" version still works for now, it eventually won't.  As it turned out , the function where I had this warning come up was not being used, so my fix has not been tested.

     

    Anyway, seeing that you were just passing zero (as I was) I think you just want to pass New IntPtr(0).

    Dave O.                                                                                Sig-Logos32.png
    Please use plain text.
    Distinguished Contributor
    JanetDavidson
    Posts: 139
    Registered: ‎08-23-2011

    Re: Intersections became obsolete in 2012

    08-23-2011 01:40 PM in reply to: chiefbraincloud

    Thanks for Reply ,Chief.

    What I need is just finding all intersections of objects Not only intpts(0). Is there anything wrong with the Zero I assigned for

    thisGraphicSystemMarker  and otherGraphicSystemMarker ?. Is that what you referring to ?

    Maybe this will clear my intention better.

     

     Dim intpts As New Point3dCollection()
                    List_Entities(I).IntersectWith(List_Entities(I + 1), Intersect.OnBothOperands, intpts, 0, 0)
                    If intpts.Count = 1 Then
                        ' Do this
    else
       ' do something else.
    end if.

     

    Please use plain text.
    *Expert Elite*
    chiefbraincloud
    Posts: 736
    Registered: ‎02-13-2008

    Re: Intersections became obsolete in 2012

    08-23-2011 01:47 PM in reply to: JanetDavidson

    My reply says New IntPtr (0), not intpts(0)...

     

    I mean to pass New IntPtr(0) for the graphics system markers, but like I said, it doesn't give any compile errors, but I have not tested it to make sure that it works as expected.

    Dave O.                                                                                Sig-Logos32.png
    Please use plain text.
    ADN Support Specialist
    Posts: 261
    Registered: ‎05-22-2006

    Re: Intersections became obsolete in 2012

    08-23-2011 02:08 PM in reply to: JanetDavidson

    Using your code example, changing the function call to this should work:

     

    List_Entities(I).IntersectWith(List_Entities(I + 1), Intersect.OnBothOperands, intpts, IntPtr.Zero, IntPtr.Zero)

     

    Cheers,

    Stephen Preston
    Autodesk Developer Network
    Please use plain text.
    Distinguished Contributor
    JanetDavidson
    Posts: 139
    Registered: ‎08-23-2011

    Re: Intersections became obsolete in 2012

    08-23-2011 07:27 PM in reply to: StephenPreston

    Stephen, Thanks. That was the trick.

    It is hard for a girl to understand these things.

    Regards,

    Janet.

     

    Please use plain text.