public override void findNeighbors(Vector3 center, float radius, ArrayList results)
        {
            float num = radius * radius;

            for (int i = 0; i < this.bfpd.group.get_Count(); i++)
            {
                tokenType tokenType    = (tokenType)this.bfpd.group.get_Item(i);
                float     sqrMagnitude = (center - tokenType.position).get_sqrMagnitude();
                if (sqrMagnitude < num)
                {
                    results.Add(tokenType.tParentObject);
                }
            }
        }
Example #2
0
        // find all neighbors within the given sphere (as center and radius)
        public override void findNeighbors(Vector3 center, float radius, ArrayList results)
        {
            // loop over all tokens
            float r2 = radius * radius;

            //bfpd.group.ForEach(delegate(tokenType tToken)
            for (int i = 0; i < bfpd.group.Count; i++)
            {
                tokenType tToken = (tokenType)bfpd.group[i];

                //for (tokenIterator i = bfpd->group.begin(); i != bfpd->group.end(); i++)
                //{
                Vector3 offset = center - tToken.position;
                float   d2     = offset.sqrMagnitude;

                // push onto result vector when within given radius
                if (d2 < r2)
                {
                    results.Add(tToken.tParentObject);         //.push_back ((**i).object);
                }
            }
            ;
        }
 // allocate a token to represent a given client object in this database
 //public override tokenType allocateToken (Object parentObject)
 public override AbstractTokenForProximityDatabase allocateToken(SteeringVehicle parentObject)
 {
     tokenType tToken=new tokenType (parentObject, this);
     return (AbstractTokenForProximityDatabase)tToken;
 }
Example #4
0
        // allocate a token to represent a given client object in this database
        //public override tokenType allocateToken (Object parentObject)
        public override AbstractTokenForProximityDatabase allocateToken(SteeringVehicle parentObject)
        {
            tokenType tToken = new tokenType(parentObject, this);

            return((AbstractTokenForProximityDatabase)tToken);
        }