File: Manifold.cpp

package info (click to toggle)
box2d 2.0.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 1,748 kB
  • ctags: 2,143
  • sloc: cpp: 15,308; xml: 1,249; cs: 648; makefile: 338; ansic: 28
file content (44 lines) | stat: -rw-r--r-- 801 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#pragma once

#include "stdafx.h"
#include "Vector.cpp"
//#include "ContactPoint.cpp"
#include "ManifoldPoint.cpp"

using namespace System::Collections::Generic;

namespace Box2D
{
	namespace Net
	{
		public ref class Manifold
		{
		internal:
			b2Manifold *fold;
			Manifold(b2Manifold *foldRef) : fold(foldRef) { }
		
		public:
			property Vector^ Normal
			{
				Vector^ get()
				{
					return gcnew Vector(fold->normal);
				}
			}

			property IList<ManifoldPoint^ >^ Points
			{
				IList<ManifoldPoint^ >^ get()
				{
					//TODO: implement
					List<ManifoldPoint^>^ list = gcnew List<ManifoldPoint^>;

					for(int x = 0; x < fold->pointCount; ++x)
						list->Add(gcnew ManifoldPoint(&fold->points[x]));

					return list;
				}
			}		
		};
	}
}