#pragma once #include "stdafx.h" #include "Vector.cpp" namespace Box2D { namespace Net { //TODO: is this class really necessary for the public interface? public ref class ManifoldPoint { internal: b2ManifoldPoint *point; ManifoldPoint(b2ManifoldPoint *pointRef) : point(pointRef) { } public: property Vector^ LocalPoint1 { Vector^ get() { return gcnew Vector(point->localPoint1); } void set(Vector^ value) { point->localPoint1 = value->getVec2(); } } property Vector^ LocalPoint2 { Vector^ get() { return gcnew Vector(point->localPoint2); } void set(Vector^ value) { point->localPoint2 = value->getVec2(); } } property float32 Separation { float32 get() { return point->separation; } void set(float32 value) { point->separation = value; } } property float32 NormalForce { float32 get() { return point->normalForce; } void set(float32 value) { point->normalForce = value; } } property float32 TangentForce { float32 get() { return point->tangentForce; } void set(float32 value) { point->tangentForce = value; } } //TODO: marshall b2ContactID /* property b2ContactID ID { b2ContactID get() { return point->id; } void set(b2ContactID value) { point->id = value; } } */ }; } }