Skip to content

Instantly share code, notes, and snippets.

@ckhampus
Last active December 12, 2015 10:49
Show Gist options
  • Save ckhampus/4761831 to your computer and use it in GitHub Desktop.
Save ckhampus/4761831 to your computer and use it in GitHub Desktop.
Typemap b2Vec2 to Microsoft.Xna.Framework.Vector2.
%typemap(cstype, out="Microsoft.Xna.Framework.Vector2") const b2Vec2& "Microsoft.Xna.Framework.Vector2"
%typemap(csin, pre=" b2Vec2 temp$csinput = new b2Vec2($csinput.X, $csinput.Y);") const b2Vec2 & "$csclassname.getCPtr(temp$csinput)"
%typemap(cstype) b2Vec2 "Microsoft.Xna.Framework.Vector2"
%typemap(csout, excode=SWIGEXCODE) b2Vec2 %{
IntPtr cPtr = $imcall;$excode
$csclassname temp = null;
if (cPtr != IntPtr.Zero) {
temp = new $csclassname(cPtr, $owner);
return new Microsoft.Xna.Framework.Vector2(temp.x, temp.y);
}
return Microsoft.Xna.Framework.Vector2.Zero;
%}
%typemap(cstype, out="Microsoft.Xna.Framework.Vector2") b2Vec2* "Microsoft.Xna.Framework.Vector2"
%typemap(csvarin, excode=SWIGEXCODE2) b2Vec2* %{
/* csvarin typemap code */
set {
b2Vec2 temp$csinput = new b2Vec2($csinput.X, $csinput.Y);
$imcall;$excode
}
%}
%typemap(csvarout, excode=SWIGEXCODE2) b2Vec2* %{
/* csvarout typemap code */
get {
IntPtr cPtr = $imcall;
$csclassname temp = null;
if (cPtr != IntPtr.Zero) {
temp = new $csclassname(cPtr, $owner);$excode
return new Microsoft.Xna.Framework.Vector2(temp.x, temp.y);
}
return Microsoft.Xna.Framework.Vector2.Zero;
}
%}
%attributeval(b2Body, b2Vec2, LinearVelocity, GetLinearVelocity, SetLinearVelocity);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment