Axiom.Core.WireBoundingBox.SetupBoundingBoxVertices C# (CSharp) Méthode

SetupBoundingBoxVertices() protected méthode

protected SetupBoundingBoxVertices ( Axiom.MathLib.AxisAlignedBox aab ) : void
aab Axiom.MathLib.AxisAlignedBox
Résultat void
		protected virtual void SetupBoundingBoxVertices( AxisAlignedBox aab )
		{
			Vector3 vmax = aab.Maximum;
			Vector3 vmin = aab.Minimum;

			float sqLen = System.Math.Max( vmax.LengthSquared, vmin.LengthSquared );
			//mRadius = System.Math.Sqrt(sqLen);

			float maxx = vmax.x;
			float maxy = vmax.y;
			float maxz = vmax.z;

			float minx = vmin.x;
			float miny = vmin.y;
			float minz = vmin.z;

			HardwareVertexBuffer buffer = vertexData.vertexBufferBinding.GetBuffer( PositionBinding );

			IntPtr posPtr = buffer.Lock( BufferLocking.Discard );

			unsafe
			{
				float* pPos = (float*)posPtr.ToPointer();

				// line 0
				*pPos++ = minx;
				*pPos++ = miny;
				*pPos++ = minz;
				*pPos++ = maxx;
				*pPos++ = miny;
				*pPos++ = minz;
				// line 1
				*pPos++ = minx;
				*pPos++ = miny;
				*pPos++ = minz;
				*pPos++ = minx;
				*pPos++ = miny;
				*pPos++ = maxz;
				// line 2
				*pPos++ = minx;
				*pPos++ = miny;
				*pPos++ = minz;
				*pPos++ = minx;
				*pPos++ = maxy;
				*pPos++ = minz;
				// line 3
				*pPos++ = minx;
				*pPos++ = maxy;
				*pPos++ = minz;
				*pPos++ = minx;
				*pPos++ = maxy;
				*pPos++ = maxz;
				// line 4
				*pPos++ = minx;
				*pPos++ = maxy;
				*pPos++ = minz;
				*pPos++ = maxx;
				*pPos++ = maxy;
				*pPos++ = minz;
				// line 5
				*pPos++ = maxx;
				*pPos++ = miny;
				*pPos++ = minz;
				*pPos++ = maxx;
				*pPos++ = miny;
				*pPos++ = maxz;
				// line 6
				*pPos++ = maxx;
				*pPos++ = miny;
				*pPos++ = minz;
				*pPos++ = maxx;
				*pPos++ = maxy;
				*pPos++ = minz;
				// line 7
				*pPos++ = minx;
				*pPos++ = maxy;
				*pPos++ = maxz;
				*pPos++ = maxx;
				*pPos++ = maxy;
				*pPos++ = maxz;
				// line 8
				*pPos++ = minx;
				*pPos++ = maxy;
				*pPos++ = maxz;
				*pPos++ = minx;
				*pPos++ = miny;
				*pPos++ = maxz;
				// line 9
				*pPos++ = maxx;
				*pPos++ = maxy;
				*pPos++ = minz;
				*pPos++ = maxx;
				*pPos++ = maxy;
				*pPos++ = maxz;
				// line 10
				*pPos++ = maxx;
				*pPos++ = miny;
				*pPos++ = maxz;
				*pPos++ = maxx;
				*pPos++ = maxy;
				*pPos++ = maxz;
				// line 11
				*pPos++ = minx;
				*pPos++ = miny;
				*pPos++ = maxz;
				*pPos++ = maxx;
				*pPos++ = miny;
				*pPos = maxz;
			}
			buffer.Unlock();
		}