FindNodes() public abstract method

public abstract FindNodes ( AxisAlignedBox t, List &list, List visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode exclude ) : void
t Axiom.Math.AxisAlignedBox
list List
visitedPortals List
includeVisitors bool
recurseThruPortals bool
exclude PCZSceneNode
return void
Esempio n. 1
0
		public void FindNodesIn( PlaneBoundedVolume volumes, ref List<PCZSceneNode> list, PCZone startZone,
		                         PCZSceneNode exclude )
		{
			var visitedPortals = new List<Portal>();
			if ( null != startZone )
			{
				// start in startzone, and recurse through portals if necessary
				startZone.FindNodes( volumes, ref list, visitedPortals, true, true, exclude );
			}
			else
			{
				// no start zone specified, so check all zones
				foreach ( PCZone zone in this.zones )
				{
					zone.FindNodes( volumes, ref list, visitedPortals, false, false, exclude );
				}
			}
		}
Esempio n. 2
0
		public void FindNodesIn( Ray r, ref List<PCZSceneNode> list, PCZone startZone, PCZSceneNode exclude )
		{
			var visitedPortals = new List<Portal>();
			if ( null != startZone )
			{
				// start in startzone, and recurse through portals if necessary
				startZone.FindNodes( r, ref list, visitedPortals, true, true, exclude );
			}
			else
			{
				foreach ( PCZone zone in this.zones )
				{
					zone.FindNodes( r, ref list, visitedPortals, false, false, exclude );
				}
			}
		}
Esempio n. 3
0
		public void FindNodesIn( Sphere sphere,
								 ref List<PCZSceneNode> list,
								 PCZone startZone,
								 PCZSceneNode exclude )
		{
			List<Portal> visitedPortals = new List<Portal>();
			if ( null != startZone )
			{
				// start in startzone, and recurse through portals if necessary
				startZone.FindNodes( sphere, ref list, visitedPortals, true, true, exclude );
			}
			else
			{
				// no start zone specified, so check all zones
				foreach ( PCZone zone in zones )
				{
					zone.FindNodes( sphere, ref list, visitedPortals, false, false, exclude );
				}
			}
		}