OGRECave/ogre

C# SWIG binding issues

Open

#1,760 opened on Nov 2, 2020

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C++ (1,032 forks)auto 404
SWIGgood first issue

Repository metrics

Stars
 (4,617 stars)
PR merge metrics
 (PR metrics pending)

Description

System Information

  • Ogre Version: 1.12.10
  • Operating System / Platform: Windows

Detailled description

Not all C# types are currently mapped correctly, in particular input and output typemaps as defined here: http://web.mit.edu/svn/src/swig-1.3.25/Lib/csharp/typemaps.i

This makes it so when implementing a RenderQueueListener and overriding renderQueueStarted you get the following method:

public override void renderQueueStarted(byte queueGroupId, string invocation, SWIGTYPE_p_bool skipThisInvocation)

instead of the expected:

public override void renderQueueStarted(byte queueGroupId, string invocation, out bool skipThisInvocation)

Collections also do not seem to be supported. For example, getRoot().getSceneManagers() returns the type SWIGTYPE_p_std__mapT_std__string_Ogre__SceneManager_p_std__lessT_std__string_t_t which cannot be enumerated.

Contributor guide