comparing object to a growing set of other objects

Hello to all,

In my program I have a set of N vectors (I mean cartesian 3D vectors, represented by C++ vector containers of properly defined structs that I called vectorType). These 3D vectors are ordered according to their length, shortest first.

I start with the shortest, and then go over all of them keeping only those which have an angular separation with each of the already kept ones that is bigger than a certain value. This comparison part is what I do not know how to do.

In pseudocode (V are the 3D vectors, V.at(0) being the shortest:

Code:

`std::vector< vectorType > W;`

W.push_back( V.at(0) );

for ( k=1; k<N; k++)

{

if ( angle(&V.at(k), &W.at(0)) > theta )

and

if ( angle(&V.at(k), &W.at(1)) > theta )

and

...

if ( angle(&V.at(k), &W.at(L)) > theta ) // L is current W.size()

then W.push_back( V.at(k) )

}

The part I don't know how to write is the multiple if statements (or whatever is better) for a growing number of elements to compare with.

If anyone could give me a hint of how to do that, it would be most appreciated.

Thanks,

mc61