ok i came up with an idea whilst messing around,

[code="delphi"]
stModel = record
pMesh: ID3DXMesh; // mesh object
pMeshMaterials: PD3DMaterial9Array; // Materials for mesh
pMeshTextures: PIDirect3DTexture9Array; // Textures for mesh
NumMaterials: Integer; // Number of mesh materials
x,y,z,a,s: Single;

//bounding box, collision data here. ?
//a linked list of co-ords to check against other stmodels for colli sions ?
end;
PstModel = ^stModel;
[/code]

ok so this is my model struct, holds info on each model i load into my engine, my idea is to have a linked list of co-ords that can be checked against other models in my engine for collision (obviuously once i get this to work i will add some sort of bounding range so no collision is checked if not in range (bounding box)) but my question now would be for when my model is loaded, how can i get a list of triangles and positions from the mesh interface?

by doing this, the position will not have to be changed unless the model is moved which then i can just update the co-ords, however most models will have a static positioning anyways.

hope someone can help.

;MM;