Я собираю упаковку Nim для Box2D с помощью c2nim
.
Box2D имеет свой собственный класс математического вектора, b2Vec2
. Если бы я использовал Box2D в сыром C ++, я бы просто использовал этот класс. Просто.
Но у Нима уже есть такая функциональность в basic2d
модуля Vector2d
тип.
Я хочу, чтобы интерфейс моей обертки использовал встроенный Vector2d
введите так, чтобы пользователям этой оболочки не приходилось мысленно совмещать два разных векторных типа. Это влечет за собой как-то использование Vector2d
в качестве интерфейса Nim для b2Vec2
, Как я могу это сделать?
Вещи примечания:
b2Vec2
а также Vector2d
сделаны только из двух 32-битных float
s.float
64-битные.Vector2d
является частью стандартной библиотеки Nim, поэтому я не могу изменить ее определение.b2Vec2
если я должен, но я бы хотел избежать этого, и я определенно не хочу, чтобы пользователи видели это.На самом деле, не похоже, что я могу это сделать, по крайней мере, между basic2d.Vector2d
а также b2Vec2
, Первый состоит из двух 64-разрядных чисел, а второй — из двух 32-разрядных чисел.
Других решений пока нет …