IntersectWith became obsolete in 2012

IntersectWith became obsolete in 2012

JanetDavidson
Advocate Advocate
2,893 Views
6 Replies
Message 1 of 7

IntersectWith became obsolete in 2012

JanetDavidson
Advocate
Advocate

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)

 

 

 

0 Likes
Accepted solutions (1)
2,894 Views
6 Replies
Replies (6)
Message 2 of 7

chiefbraincloud
Collaborator
Collaborator

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
0 Likes
Message 3 of 7

JanetDavidson
Advocate
Advocate

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.

 

0 Likes
Message 4 of 7

chiefbraincloud
Collaborator
Collaborator

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
0 Likes
Message 5 of 7

StephenPreston
Alumni
Alumni
Accepted solution

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
0 Likes
Message 6 of 7

JanetDavidson
Advocate
Advocate

Stephen, Thanks. That was the trick.

It is hard for a girl to understand these things.

Regards,

Janet.

 

0 Likes
Message 7 of 7

Jozi68
Contributor
Contributor

I get the same error with the following code:

For i = 1 To NrV
                            Dim colI As New Point3dCollection
                            Dim colIT As New Point3dCollection
                            myLine.IntersectWith(pollie, Intersect.OnBothOperands, colI, 1, i)
                            myTempLine.IntersectWith(pollie, Intersect.OnBothOperands, colIT, 1, i)
                            If colI.Count > 0 And colIT.Count > 0 Then
                                For j = 0 To colI.Count - 1
                                    colIntersection.Add(colI(j))
                                Next j
                                For j = 0 To colIT.Count - 1
                                    colIntersectionT.Add(colIT(j))
                                Next j
                            End If
                        Next i

 Can someone please help me?

0 Likes