Difference between revisions of "NewtonUserMeshCollisionCollideDesc"

From Newton Wiki
Jump to: navigation, search
 
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;