Difference between revisions of "NewtonUserMeshCollisionCollideDesc"
(Created page with "<source lang="cpp"> typedef struct NewtonUserMeshCollisionCollideDesc { dFloat m_boxP0[4]; dFloat m_boxP1[4]; dFloat m_boxDistanceTravel[4]; int m...") |
|||
Line 3: | Line 3: | ||
typedef struct NewtonUserMeshCollisionCollideDesc | typedef struct NewtonUserMeshCollisionCollideDesc | ||
{ | { | ||
− | dFloat m_boxP0[4]; | + | dFloat m_boxP0[4]; // READ: lower bounding box of intersection query in local space |
− | dFloat m_boxP1[4]; | + | dFloat m_boxP1[4]; // READ: upper bounding box of intersection query in local space |
− | dFloat m_boxDistanceTravel[4]; | + | dFloat m_boxDistanceTravel[4]; // OUT: max distance that box bpxP0 and boxP1 can travel on this timestep, used this for continue collision mode. |
− | int m_threadNumber; | + | int m_threadNumber; // READ: index of newton thread that called callback |
− | int m_faceCount; | + | int m_faceCount; // OUT: App should set this to the number of faces in the returned polygon set. |
− | int m_vertexStrideInBytes; | + | int m_vertexStrideInBytes; // OUT: App should set here the size of each vertex. |
− | dFloat m_skinThickness; | + | dFloat m_skinThickness; // OUT: this is the minimum skin separation specified by the material between these two colliding shapes |
− | void* m_userData; | + | void* m_userData; // READ: UserData of user mesh collision |
− | NewtonBody* m_objBody; | + | NewtonBody* m_objBody; // READ: Body that is colliding with user mesh |
− | NewtonBody* m_polySoupBody; | + | NewtonBody* m_polySoupBody; // READ: User mesh collision |
− | NewtonCollision* m_objCollision; | + | NewtonCollision* m_objCollision; // READ: collision shape of body that is colliding with user mesh |
− | NewtonCollision* m_polySoupCollision; | + | NewtonCollision* m_polySoupCollision; // READ: collision shape of user mesh collision |
− | dFloat* m_vertex; | + | dFloat* m_vertex; // OUT: App should set this pointer to the vertex array for the intersection polygon set. |
− | int* m_faceIndexCount; | + | int* m_faceIndexCount; // OUT: App should set here the pointer to the vertex count of each face. |
− | int* m_faceVertexIndex; | + | int* m_faceVertexIndex; // OUT: App should set here the pointer index array for each vertex on a face. |
} NewtonUserMeshCollisionCollideDesc; | } NewtonUserMeshCollisionCollideDesc; | ||
</source> | </source> |
Revision as of 09:03, 3 October 2019
typedef struct NewtonUserMeshCollisionCollideDesc
{
dFloat m_boxP0[4]; // READ: lower bounding box of intersection query in local space
dFloat m_boxP1[4]; // READ: upper bounding box of intersection query in local space
dFloat m_boxDistanceTravel[4]; // OUT: max distance that box bpxP0 and boxP1 can travel on this timestep, used this for continue collision mode.
int m_threadNumber; // READ: index of newton thread that called callback
int m_faceCount; // OUT: App should set this to the number of faces in the returned polygon set.
int m_vertexStrideInBytes; // OUT: App should set here the size of each vertex.
dFloat m_skinThickness; // OUT: this is the minimum skin separation specified by the material between these two colliding shapes
void* m_userData; // READ: UserData of user mesh collision
NewtonBody* m_objBody; // READ: Body that is colliding with user mesh
NewtonBody* m_polySoupBody; // READ: User mesh collision
NewtonCollision* m_objCollision; // READ: collision shape of body that is colliding with user mesh
NewtonCollision* m_polySoupCollision; // READ: collision shape of user mesh collision
dFloat* m_vertex; // OUT: App should set this pointer to the vertex array for the intersection polygon set.
int* m_faceIndexCount; // OUT: App should set here the pointer to the vertex count of each face.
int* m_faceVertexIndex; // OUT: App should set here the pointer index array for each vertex on a face.
} NewtonUserMeshCollisionCollideDesc;