- #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;
- }
- }
- */
- };
- }
- }