• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 %module btManifoldPoint
2 
3 %typemap(javadirectorin) btManifoldPoint, const btManifoldPoint, const btManifoldPoint &, btManifoldPoint & 	"btManifoldPoint.obtainForArgument($1, false)"
4 %typemap(javadirectorin) btManifoldPoint *, const btManifoldPoint *, btManifoldPoint * const &		"btManifoldPoint.obtainForArgument($1, false)"
5 
6 %typemap(javaout) 	btManifoldPoint *, const btManifoldPoint *, btManifoldPoint * const & {
7 	return btManifoldPoint.obtainTemp($jnicall, $owner);
8 }
9 
10 %typemap(javacode) btManifoldPoint %{
11 	private final static btManifoldPoint temp = new btManifoldPoint(0, false);
12 	/** Obtains a temporary instance, used by native methods that return a btManifoldPoint instance */
obtainTemp(long cPtr,boolean own)13 	protected static btManifoldPoint obtainTemp(long cPtr, boolean own) {
14 		temp.reset(cPtr, own);
15 		return temp;
16 	}
17 
18 	private static btManifoldPoint[] argumentInstances = new btManifoldPoint[] {new btManifoldPoint(0, false),
19 		new btManifoldPoint(0, false), new btManifoldPoint(0, false), new btManifoldPoint(0, false)};
20 	private static int argumentIndex = -1;
21 	/** Obtains a temporary instance, used for callback methods with one or more btManifoldPoint arguments */
obtainForArgument(final long swigCPtr,boolean owner)22 	protected static btManifoldPoint obtainForArgument(final long swigCPtr, boolean owner) {
23 		btManifoldPoint instance = argumentInstances[argumentIndex = (argumentIndex + 1) & 3];
24 		instance.reset(swigCPtr, owner);
25 		return instance;
26 	}
27 %}
28 
29 %ignore btManifoldPoint::m_localPointA;
30 %ignore btManifoldPoint::m_localPointB;
31 %ignore btManifoldPoint::m_positionWorldOnA;
32 %ignore btManifoldPoint::m_positionWorldOnB;
33 %ignore btManifoldPoint::m_normalWorldOnB;
34 %ignore btManifoldPoint::m_lateralFrictionDir1;
35 %ignore btManifoldPoint::m_lateralFrictionDir2;
36 %ignore btManifoldPoint::getPositionWorldOnA() const;
37 %ignore btManifoldPoint::getPositionWorldOnB() const;
38 //%rename(internalGetPositionWorldOnA) btManifoldPoint::getPositionWorldOnA() const;
39 //%rename(internalGetPositionWorldOnB) btManifoldPoint::getPositionWorldOnB() const;
40 
41 %{
42 #include <BulletCollision/NarrowPhaseCollision/btManifoldPoint.h>
43 %}
44 %include "BulletCollision/NarrowPhaseCollision/btManifoldPoint.h"
45 
46 %extend btManifoldPoint {
getUserValue()47 	int getUserValue() {
48 		int result;
49 		*(const void **)&result = $self->m_userPersistentData;
50 		return result;
51 	}
52 
setUserValue(int value)53 	void setUserValue(int value) {
54 		$self->m_userPersistentData = (void*)value;
55 	}
56 
getLocalPointA(btVector3 & out)57 	void getLocalPointA(btVector3 &out) {
58 		out = $self->m_localPointA;
59 	}
60 
setLocalPointA(const btVector3 & value)61 	void setLocalPointA(const btVector3 &value) {
62 		$self->m_localPointA = value;
63 	}
64 
getLocalPointB(btVector3 & out)65 	void getLocalPointB(btVector3 &out) {
66 		out = $self->m_localPointB;
67 	}
68 
setLocalPointB(const btVector3 & value)69 	void setLocalPointB(const btVector3 &value) {
70 		$self->m_localPointB = value;
71 	}
72 
getPositionWorldOnA(btVector3 & out)73 	void getPositionWorldOnA(btVector3 &out) {
74 		out = $self->m_positionWorldOnA;
75 	}
76 
setPositionWorldOnA(const btVector3 & value)77 	void setPositionWorldOnA(const btVector3 &value) {
78 		$self->m_positionWorldOnA = value;
79 	}
80 
getPositionWorldOnB(btVector3 & out)81 	void getPositionWorldOnB(btVector3 &out) {
82 		out = $self->m_positionWorldOnB;
83 	}
84 
setPositionWorldOnB(const btVector3 & value)85 	void setPositionWorldOnB(const btVector3 &value) {
86 		$self->m_positionWorldOnB = value;
87 	}
88 
getNormalWorldOnB(btVector3 & out)89 	void getNormalWorldOnB(btVector3 &out) {
90 		out = $self->m_normalWorldOnB;
91 	}
92 
setNormalWorldOnB(const btVector3 & value)93 	void setNormalWorldOnB(const btVector3 &value) {
94 		$self->m_normalWorldOnB = value;
95 	}
96 
getLateralFrictionDir1(btVector3 & out)97 	void getLateralFrictionDir1(btVector3 &out) {
98 		out = $self->m_lateralFrictionDir1;
99 	}
100 
setLateralFrictionDir1(const btVector3 & value)101 	void setLateralFrictionDir1(const btVector3 &value) {
102 		$self->m_lateralFrictionDir1 = value;
103 	}
104 
getLateralFrictionDir2(btVector3 & out)105 	void getLateralFrictionDir2(btVector3 &out) {
106 		out = $self->m_lateralFrictionDir2;
107 	}
108 
setLateralFrictionDir2(const btVector3 & value)109 	void setLateralFrictionDir2(const btVector3 &value) {
110 		$self->m_lateralFrictionDir2 = value;
111 	}
112 };