%module(directors="1") btCollisionWorld %feature("flatnested") btCollisionWorld::LocalShapeInfo; %feature("director") LocalShapeInfo; %feature("flatnested") btCollisionWorld::LocalRayResult; %feature("director") LocalRayResult; %feature("flatnested") btCollisionWorld::RayResultCallback; %feature("director") RayResultCallback; %feature("flatnested") btCollisionWorld::ClosestRayResultCallback; %feature("director") ClosestRayResultCallback; %feature("flatnested") btCollisionWorld::AllHitsRayResultCallback; %feature("director") AllHitsRayResultCallback; %feature("flatnested") btCollisionWorld::LocalConvexResult; %feature("director") LocalConvexResult; %feature("flatnested") btCollisionWorld::ConvexResultCallback; %feature("director") ConvexResultCallback; %feature("flatnested") btCollisionWorld::ClosestConvexResultCallback; %feature("director") ClosestConvexResultCallback; %feature("flatnested") btCollisionWorld::ContactResultCallback; %feature("director") ContactResultCallback; %ignore btCollisionWorld::ClosestRayResultCallback::m_rayFromWorld; %ignore btCollisionWorld::ClosestRayResultCallback::m_rayToWorld; %ignore btCollisionWorld::ClosestRayResultCallback::m_hitNormalWorld; %ignore btCollisionWorld::ClosestRayResultCallback::m_hitPointWorld; %extend btCollisionWorld::ClosestRayResultCallback { void getRayFromWorld(btVector3 &out) { out = $self->m_rayFromWorld; } void setRayFromWorld(btVector3 const &value) { $self->m_rayFromWorld = value; } void getRayToWorld(btVector3 &out) { out = $self->m_rayToWorld; } void setRayToWorld(btVector3 const &value) { $self->m_rayToWorld = value; } void getHitNormalWorld(btVector3 &out) { out = $self->m_hitNormalWorld; } void setHitNormalWorld(btVector3 const &value) { $self->m_hitNormalWorld = value; } void getHitPointWorld(btVector3 &out) { out = $self->m_hitPointWorld; } void setHitPointWorld(btVector3 const &value) { $self->m_hitPointWorld = value; } }; %ignore btCollisionWorld::AllHitsRayResultCallback::m_rayFromWorld; %ignore btCollisionWorld::AllHitsRayResultCallback::m_rayToWorld; %extend btCollisionWorld::AllHitsRayResultCallback { void getRayFromWorld(btVector3 &out) { out = $self->m_rayFromWorld; } void setRayFromWorld(btVector3 const &value) { $self->m_rayFromWorld = value; } void getRayToWorld(btVector3 &out) { out = $self->m_rayToWorld; } void setRayToWorld(btVector3 const &value) { $self->m_rayToWorld = value; } }; %ignore btCollisionWorld::LocalConvexResult::m_hitNormalLocal; %ignore btCollisionWorld::LocalConvexResult::m_hitPointLocal; %extend btCollisionWorld::LocalConvexResult { void getHitNormalLocal(btVector3 &out) { out = $self->m_hitNormalLocal; } void setHitNormalLocal(btVector3 const &value) { $self->m_hitNormalLocal = value; } void getHitPointLocal(btVector3 &out) { out = $self->m_hitPointLocal; } void setHitPointLocal(btVector3 const &value) { $self->m_hitPointLocal = value; } }; %ignore btCollisionWorld::ClosestConvexResultCallback::m_rayFromWorld; %ignore btCollisionWorld::ClosestConvexResultCallback::m_rayToWorld; %ignore btCollisionWorld::ClosestConvexResultCallback::m_hitNormalWorld; %ignore btCollisionWorld::ClosestConvexResultCallback::m_hitPointWorld; %extend btCollisionWorld::ClosestConvexResultCallback { void getConvexFromWorld(btVector3 &out) { out = $self->m_convexFromWorld; } void setRayFromWorld(btVector3 const &value) { $self->m_convexFromWorld = value; } void getConvexToWorld(btVector3 &out) { out = $self->m_convexToWorld; } void setConvexToWorld(btVector3 const &value) { $self->m_convexToWorld = value; } void getHitNormalWorld(btVector3 &out) { out = $self->m_hitNormalWorld; } void setHitNormalWorld(btVector3 const &value) { $self->m_hitNormalWorld = value; } void getHitPointWorld(btVector3 &out) { out = $self->m_hitPointWorld; } void setHitPointWorld(btVector3 const &value) { $self->m_hitPointWorld = value; } }; %{ #include <BulletCollision/CollisionDispatch/btCollisionWorld.h> %} %include "BulletCollision/CollisionDispatch/btCollisionWorld.h"