Integer = 0 To 9
val *= 2
lst.Add(val)
Next
Since val is a ValueType, when we assign it to the list we actually put a copy of val into the list. Thus, the list contains the following memory layout:
[0] = 2
[1] = 4
[2] = 8
[3] = 16
[4] = 32
[5] = 64
[6] = 128
[7] = 256
[8] = 512
[9] = 1024
Now let's assume we do the same, but with OnLines:
Dim ln As New OnLine(A, B)
Dim lst As New List(Of OnLine)
For i As Integer = 0 To 9
ln.Transform(xform)
lst.Add(ln)
Next
When we declare ln on line 1, it is assigned an address in memory, say "24 Bell Ave." Then we modify that one line over and over, and keep on adding the same address to lst. Thus, the memory layout of lst is now:
[0] = "24 Bell Ave."
[1] = "24 Bell Ave."
[2] = "24 Bell Ave."
[3] = "24 Bell Ave."
[4] = "24 Bell Ave."
[5] = "24 Bell Ave."
[6] = "24 Bell Ave."
[7] = "24 Bell Ave."
[8] = "24 Bell Ave."
[9] = "24 Bell Ave."
To do this properly, we need to create a unique line for every element in lst:
Dim lst As New List(Of OnLine)
For i As Integer = 0 To 9
Dim ln As New OnLine(A, B)
ln.Transform(xform)
lst.Add(ln)
Next
Now, ln is constructed not just once, but whenever the loop runs. And every time it is constructed, a new piece of memory is reserved for it and a new address is created. So now the list memory layout is:
[0] = "24 Bell Ave."
[1] = "12 Pike St."
[2] = "377 The Pines"
[3] = "3670 Woodland Park Ave."
[4] = "99 Zoo Ln."
[5] = "13a District Rd."
[6] = "2 Penny Lane"
[7] = "10 Broadway"
[8] = "225 Franklin Ave."
[9] = "420 Paper St."
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 6:26am on September 9, 2010
a follow up question... how do I wrap a list onto itself at a certain frequency?
i.e. I want the list {1;2;3;4;5;6;7;8;9}
to become {1,4,7; 2,6,8; 3,6,9} wrapped every 3rd item
Added by Joshua Jordan at 5:30pm on November 17, 2012
i mean, i want a slider that can do 3 sides, 4 sides, 5, 6, 7, 8, 9 and 10. for the grids because I dont want to use a fixed grid shape such as square grid (4 sides only).
9 8 7 6
5 4 3 2 1 0
I am triangulating this surface. I want to select just the red vertices. As you can note, I just need the inner vertices of this surface. I could do it mannually, but if I want to change the mesh density later, I will have to pick all of them manually again later.
Can someone help me?
Tks
…
he sunPath component works. For example if you want to simulate the hours from 8 to 16 it means you want 8 hours from 8 to 9, from 9 to 10,.... from 15 to 16 (8 hours duration period) so you get from the sunPath component (using default timeStep 1) the 9 sun position/vectors 8 9 10 11 12 13 14 15 16 (in the image the yellow suns). The things is that if you ask for a smaller timeStep for example 3 = 20 mins then the additional sun position (in the image the orange suns) are added also after the time limit of h16 so probably when you don't want/need. I understand that when you input a time period there is the ambiguity if the hours are the just 9 (the 9 inputs) or the 8 hours included between pairs of hours, but I would make in a way that it is possible to chose if the extra timeStep after the last hour are added or not. Thank you for your comments.
…