Followers 0

# Extracting box Vector3 from LPD3DXMESH box

## 8 posts in this topic

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.
0

##### 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.

0

##### 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.

0

##### 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?

0

##### 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.

0

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

##### 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

1

##### 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.

0

##### Share on other sites
btBoxShape.h: Line 26

///The btBoxShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space.

Thanks for the clarification, I was wrong ... btBoxShape *IS* AABB
Edited by Steve_Segreto
0

## Create an account

Register a new account