Difference between revisions of "NewtonUserMeshCollisionCollideDesc"
Line 5: | Line 5: | ||
dFloat m_boxP0[4]; // READ: lower bounding box of intersection query in local space | 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_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. | + | dFloat m_boxDistanceTravel[4]; // OUT (Optional): 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_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_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. | 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 | + | dFloat m_skinThickness; // OUT (Optional): this is the minimum skin separation specified by the material between these two colliding shapes |
void* m_userData; // READ: UserData of user mesh collision | void* m_userData; // READ: UserData of user mesh collision | ||
NewtonBody* m_objBody; // READ: Body that is colliding with user mesh | NewtonBody* m_objBody; // READ: Body that is colliding with user mesh |
Latest revision as of 09:04, 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 (Optional): 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 (Optional): 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;