# Extracting box Vector3 from LPD3DXMESH box

This topic is 1847 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I have LPD3DXMESH box that I load from .x file, I'm trying to setup physics for it.
[CODE]
LPD3DXMESH box;
btBoxShape *box = new btBoxShape(btVector3(???));
[/CODE]

How can I get btBoxShape Vector3 in order to create a box with the same length, width, height in bullet physics?

Basically, I am trying to convert LPD3DXMESH to btBoxShape.

##### Share on other sites

Maybe you have to compute the vertex info, getting it from ID3DXBaseMesh::GetVertexBuffer and calculate the with, length and height to pass them to the btBoxShape constructor.

##### Share on other sites

Hi,

I'm able to get the width, length and height by using D3DXComputeBoundingBox()

float width = max.x - min.x;
float length = max.y - min.y;
float height = max.z - min.z;

The problem is that I'm not sure how can I pass the values to btBoxShape, I tried:

btBoxShape* box = new btBoxShape(btVector3(width / 2.0f, length / 2.0f, height / 2.0f));

But, I'm not getting a box with the same size.

##### Share on other sites
Hi,

I'm able to get the width, length and height by using D3DXComputeBoundingBox()

float width = max.x - min.x;
float length = max.y - min.y;
float height = max.z - min.z;

The problem is that I'm not sure how can I pass the values to btBoxShape, I tried:

btBoxShape* box = new btBoxShape(btVector3(width / 2.0f, length / 2.0f, height / 2.0f));

But, I'm not getting a box with the same size.

Maybe you are getting an AABB and you are expecting a not axis aligned bounding box?

##### Share on other sites
Hi,

I'm able to get the width, length and height by using D3DXComputeBoundingBox()

float width = max.x - min.x;
float length = max.y - min.y;
float height = max.z - min.z;

The problem is that I'm not sure how can I pass the values to btBoxShape, I tried:

btBoxShape* box = new btBoxShape(btVector3(width / 2.0f, length / 2.0f, height / 2.0f));

But, I'm not getting a box with the same size.

Maybe you are getting an AABB and you are expecting a not axis aligned bounding box?

This is bound to be the problem - Bullet documentation describes the btBoxShape as an OBB and MSDN describes D3DXComputeBoundingBox as returning an AABB.

##### Share on other sites
You forgot a *bdum tish* after the "bound to be the problem" gag ;)

##### Share on other sites
You forgot a *bdum tish* after the "bound to be the problem" gag ;)

XD

Sorry, I had forgotten completely how to say OBB in English, so I said non AABB

##### Share on other sites

[quote name='Steve_Segreto' timestamp='1356293167' post='5013750']
This is bound to be the problem - Bullet documentation describes the btBoxShape as an OBB[/quote]Actually not. At least not in the documentation I remember. Could you point out the exact statement?

btBoxShape is an AABB. A btRigidBody using btBoxShape can be arbitrarly oriented, therefore making it an OBB.